中文字幕无码久久精品,13—14同岁无码A片,99热门精品一区二区三区无码,菠萝菠萝蜜在线观看视频高清1

您當前的位置是:  首頁 > 資訊 > 國內(nèi) >
 首頁 > 資訊 > 國內(nèi) >

Llama 2基于UCloud UK8S的創(chuàng)新應(yīng)用

2023-08-24 15:42:15   作者:   來源:   評論:0  點擊:


  在上期文章中,我們簡要回顧了Llama模型的概況,本期文章我們將詳細探討【關(guān)于Llama 2】,你需要知道的那些事兒。

  1、Llama 2的性能有多好?

  作為Meta新發(fā)布的SOTA開源大型語言模型,Llama 2是Llama模型的延續(xù)和升級。Llama 2家族模型包括了Llama 2預(yù)訓(xùn)練模型和Llama 2-chat微調(diào)模型,分別有7B、13B和70B參數(shù)量的版本,覆蓋了不同的應(yīng)用場景需求。

  1.1 訓(xùn)練數(shù)據(jù)

  Llama 2在預(yù)訓(xùn)練語料上比Llama增加了40%,增至2萬億個token,且訓(xùn)練數(shù)據(jù)中的文本來源更加的多樣化。此外,Llama 2對應(yīng)的微調(diào)模型是在超過100萬條人工標注的數(shù)據(jù)下訓(xùn)練而成。

圖1: Llama 2模型概覽 [1]

  1.2 模型評估

  從模型評估上看,Llama 2在眾多的基準測試中,如推理、編程、對話能力和知識測驗上,都優(yōu)于一代Llama和現(xiàn)有的開源大模型。

圖2: Llama 2在不同基準測試上的得分

  雖然Llama 2-70B在推理任務(wù)上表現(xiàn)接近GPT-3.5,但是在綜合性能上還是無法與OpenAI的GPT-4和Google的PaLM-2-L等閉源大模型相媲美,尤其在編程基準上遠落后于兩者。

圖3: Llama 2,GPT和PaLM三者在不同基準測試上的得分

  2、解鎖Llama 2的模型結(jié)構(gòu)

  2.1 Llama 2模型架構(gòu)

  Llama 2在預(yù)訓(xùn)練設(shè)置和模型架構(gòu)上和一代模型非常相似。

  如圖4和圖5所示,Llama系列模型都使用了自回歸Transformer架構(gòu),即Transformer's decoder-only架構(gòu)。兩代模型的一致性體現(xiàn)在:

  a. 預(yù)歸一化(Pre-normalization):對每一個transformer的子層輸入都進行歸一化,使用RMSNorm歸一化函數(shù)

  b. SwiGLU激活函數(shù):在前饋神經(jīng)網(wǎng)絡(luò)(FFN)使用SwiGLU 激活函數(shù)替換了Transformer中的 ReLU 激活函數(shù)來提升性能

  c. 旋轉(zhuǎn)嵌入編碼(Rotary Positional Embeddings,RoPE):RoPE可以兼顧相對位置和絕對位置的信息以提高模型的泛化能力

  2.2 Llama 2訓(xùn)練亮點

  除了上文提到的訓(xùn)練數(shù)據(jù)的增加,Llama 2在訓(xùn)練過程方面也有兩個亮點值得我們關(guān)注。第一,上下文長度的擴大提升了模型的理解能力;第二,分組查詢注意力機制提高了模型的推理速度。

  2.2.1 上下文窗口擴大

  Llama 2的上下文長度比Llama擴大了一倍,從2048個token拓展至4096個token。更長的上下文窗口意味著更多的聊天用例可被采用,進而模型的理解能力得以提升。

  2.2.2 Grouped-Query注意力

  在Attention的實現(xiàn)上,Llama 2 30B以上的模型采用了分組查詢注意力機制(Grouped-Query Attention,GQA),見圖5和圖6。

圖6: Llama 2使用GQA [2]

  自回歸模型的解碼通過緩存序列先前標記的鍵(K)值(V)對來加速注意力的計算。然而隨著Batch Size和上下文窗口的增大,多頭注意力模型(Multi-head Attenrion,MHA)的內(nèi)存成本會隨之顯著增大。

圖7: "GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints" [3]

  GQA的優(yōu)勢在于其將Query進行分組,組內(nèi)共享KV,這樣使得K和V的預(yù)測可以跨多個頭共享,從而顯著降低計算和內(nèi)存需求,提升推理速度 。

  2.3 Llama 2-chat微調(diào)流程

  Meta致力于在偏好數(shù)據(jù)上訓(xùn)練獎勵模型,然后采用強化學(xué)習進行優(yōu)化,從而提高生成的質(zhì)量。

  2.3.1 SFT + RLHF by RS and PPO

  和InstructGPT類似,在Llama 2-chat對話模型微調(diào)流程分為:

  a. 自監(jiān)督訓(xùn)練后獲得Llama 2基座模型

  b. 監(jiān)督微調(diào)(Supervised fine-tuning,SFT)

  c. 人類反饋強化學(xué)習(Reinforcement learning with human feedback,RLHF):拒絕采樣 + 近端策略優(yōu)化

  RLHF使用了拒絕采樣(Rejection Sampling fine-tuning,RS)和近端策略優(yōu)化(Proximal Policy Optimization,PPO)兩個優(yōu)化算法。拒絕采樣的原理為模型輸出時采樣K個結(jié)果,用當前時刻最好的獎勵模型打分,選擇獎勵值最高的一個。在強化學(xué)習階段進行梯度更新,并結(jié)合PPO進行RS加PPO的優(yōu)化處理。

圖8: Llama 2-chat的微調(diào)過程[1]

  Meta一共迭代了5個RLHF版本,分別從V1-V5,但僅公布了最新的V5版本。V5版本迭代的步驟下圖所示。

圖9: RLHF-V5迭代流程

  2.3.2 Quality Is All You Need

  Meta使用用戶偏好數(shù)據(jù)訓(xùn)練的兩個獨立的獎勵模型Helpfulness RM和Safty RM,分別對有用性和安全性進行了優(yōu)化。在SFT的過程中,Llama 2的官方論文[2]著重強調(diào)了只需少量高質(zhì)量的SFT偏好數(shù)據(jù)就能顯著提升結(jié)果質(zhì)量(Quality Is All You Need)。此外,這篇論文也是第一篇指出“RLHF從根本上提高了大模型性能的上限”的論文。

圖10:Llama 2論文中強調(diào)的“Quality Is All You Need"[2]

  綜上,Llama 2訓(xùn)練流程給我們最重要的一個啟示是:

  獎勵模型不僅是RLHF的關(guān)鍵,也是整個大模型效果的關(guān)鍵;數(shù)據(jù)質(zhì)量又是獎勵模型的關(guān)鍵。[4]

  03、Llama 2在UCloud UK8S上的實踐

  3.1 下載模型

  3.1.1 下載模型

  從HuggingFace上克隆Llama 2的模型 [5]:https://huggingface.co/meta-llama。本文使用的是Llama 2-chat-7b模型。

  3.1.2 安裝WebUI工具

  oobabooga開源的text-generation-webui [6] 一個大模型的可視化工具包,安裝方法如下:

  a. 進入Text Generation的github

  (https://github.com/oobabooga/text-generation-webui)

  b. 選擇一鍵安裝包安裝或者手動安裝

  c. 我們將Llama 2模型文件放入text-generation-webui/models目錄下,文件結(jié)構(gòu)如下圖:

  3.2 構(gòu)建鏡像

  根據(jù)Uhub容器鏡像庫的說明:

  (https://docs.ucloud.cn/uhub/guide)

  1. 首先,在Uhub上創(chuàng)建鏡像庫

  2. 其次,在云主機創(chuàng)建鏡像,并打標

  3. 最后,將云主機鏡像推到Uhub中

3.3 配置UK8S集群

  1. 創(chuàng)建UFS文件系統(tǒng)并掛載。(https://docs.ucloud.cn/ufs/ufs_guide/create)

  2. 創(chuàng)建UK8S容器云。參考文檔(https://docs.ucloud.cn/uk8s/),創(chuàng)建集群時,Node的配置可參照下圖:

  集群創(chuàng)建之后,點擊“詳情”按鈕,將“外網(wǎng)憑證”拷貝到~/.kube/config文件中。同時,需要安裝和配置Kubectl命令行工具。

 。╤ttps://docs.ucloud.cn/uk8s/manageviakubectl/connectviakubectl?id=安裝及配置kubectl)

  3. 在UK8S中使用UFS

  用創(chuàng)建好的UFS作為UK8S集群的共享存儲。

  根據(jù)在UK8S中使用UFS文檔,創(chuàng)建PV和PVC。

 。╤ttps://docs.ucloud.cn/uk8s/volume/ufs?id=在uk8s中使用ufs)

  a. 創(chuàng)建Pod:編寫配置文件ufspod.yml

  執(zhí)行配置文件

  b. 進入Pod

  查詢Pod Name:

  在Pod內(nèi)部啟動一個Bash Shell:

  c. 在線推理

  運行server.py文件

  至此,我們就可以在Web端和Llama 2進行對話了。

  本期我們介紹了【關(guān)于Llama 2】你需要知道的那些事兒。Llama系列模型由于其體積小且開源的特性,在AI社區(qū)的熱度和口碑都居于高位,可以預(yù)見短期內(nèi)將有更多基于Llama 2定制化的微調(diào)模型和相關(guān)服務(wù)涌現(xiàn)。

  下期文章我們將聚焦“LangChain+大模型+向量數(shù)據(jù)庫”在云端的部署和推理,敬請期待~

  4、參考文獻

  [1] Llama 2 官方公告:https://ai.meta.com/llama/

  [2] Llama 2 官方論文:https://huggingface.co/papers/2307.09288

  [3] "GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints " by Google Research:https://arxiv.org/pdf/2305.13245.pdf

  [4] "Llama 2: an incredible open LLM" by Nathan Lambert: https://www.interconnects.ai/p/llama-2-from-meta

  [5] Llama 2 models: https://huggingface.co/meta-llama

  [6] Text generation web UI github: https://github.com/oobabooga/text-generation-webui

【免責聲明】本文僅代表作者本人觀點,與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內(nèi)容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

相關(guān)閱讀:

專題

CTI論壇會員企業(yè)