• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 資訊 > 國內 >
     首頁(yè) > 資訊 > 國內 >

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

    2023-08-24 15:42:15   作者:   來(lái)源:   評論:0  點(diǎn)擊:


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

      1、Llama 2的性能有多好?

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

      1.1 訓練數據

      Llama 2在預訓練語(yǔ)料上比Llama增加了40%,增至2萬(wàn)億個(gè)token,且訓練數據中的文本來(lái)源更加的多樣化。此外,Llama 2對應的微調模型是在超過(guò)100萬(wàn)條人工標注的數據下訓練而成。

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

      1.2 模型評估

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

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

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

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

      2、解鎖Llama 2的模型結構

      2.1 Llama 2模型架構

      Llama 2在預訓練設置和模型架構上和一代模型非常相似。

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

      a. 預歸一化(Pre-normalization):對每一個(gè)transformer的子層輸入都進(jìn)行歸一化,使用RMSNorm歸一化函數

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

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

      2.2 Llama 2訓練亮點(diǎn)

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

      2.2.1 上下文窗口擴大

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

      2.2.2 Grouped-Query注意力

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

    圖6: Llama 2使用GQA [2]

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

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

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

      2.3 Llama 2-chat微調流程

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

      2.3.1 SFT + RLHF by RS and PPO

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

      a. 自監督訓練后獲得Llama 2基座模型

      b. 監督微調(Supervised fine-tuning,SFT)

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

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

    圖8: Llama 2-chat的微調過(guò)程[1]

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

    圖9: RLHF-V5迭代流程

      2.3.2 Quality Is All You Need

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

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

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

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

      03、Llama 2在UCloud UK8S上的實(shí)踐

      3.1 下載模型

      3.1.1 下載模型

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

      3.1.2 安裝WebUI工具

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

      a. 進(jìn)入Text Generation的github

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

      b. 選擇一鍵安裝包安裝或者手動(dòng)安裝

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

      3.2 構建鏡像

      根據Uhub容器鏡像庫的說(shuō)明:

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

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

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

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

    3.3 配置UK8S集群

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

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

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

      (https://docs.ucloud.cn/uk8s/manageviakubectl/connectviakubectl?id=安裝及配置kubectl)

      3. 在UK8S中使用UFS

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

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

      (https://docs.ucloud.cn/uk8s/volume/ufs?id=在uk8s中使用ufs)

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

      執行配置文件

      b. 進(jìn)入Pod

      查詢(xún)Pod Name:

      在Pod內部啟動(dòng)一個(gè)Bash Shell:

      c. 在線(xiàn)推理

      運行server.py文件

      至此,我們就可以在Web端和Llama 2進(jìn)行對話(huà)了。

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

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

      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

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

    相關(guān)閱讀:

    專(zhuān)題

    CTI論壇會(huì )員企業(yè)

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 阳山县| 陇南市| 抚松县| 铅山县| 万安县| 滦南县| 宕昌县| 绥化市| 建水县| 吴忠市| 麻城市| 长汀县| 陕西省| 晋州市| 德钦县| 汉源县| 衡南县| 洮南市| 申扎县| 内黄县| 呼图壁县| 和林格尔县| 安化县| 五大连池市| 安平县| 浦北县| 依兰县| 自贡市| 新乡市| 扶绥县| 澄迈县| 夹江县| 云林县| 宁远县| 平谷区| 兴文县| 容城县| 织金县| 富源县| 无极县| 乌海市| http://444 http://444 http://444 http://444 http://444 http://444