如果您希望以零代碼的方式在PAI上完成Llama2系列大語言模型的訓練和推理,您可以使用快速開始的一鍵部署,快速啟動Llama2系列模型的線上推理服務,並通過WebUI和API兩種方式調用,或者使用自己的資料集對預訓練模型進行微調訓練,實現定製化的情境和任務。
背景資訊
Llama2是由Meta開源的、以英語為主的預訓練大語言模型,支援任意自然語言文本作為輸入,併產生文字形式的輸出。Llama2模型的參數範圍從70億到700億不等,包括7b、13b、70b三種規格,並在每個規格下都有專門適配對話情境的最佳化模型Llama2-chat。快速開始支援Llama2系列模型的線上推理,同時也可以作為上遊模型訓練以達到更好的定製情境效果。
快速開始提供的llama-2-7b-chat模型來源於HuggingFace提供的Llama-2-7b-chat模型,它也是主要基於Transformer架構的大語言模型,使用多種混合的開來源資料集進行訓練,因此適合用於大多數的英文通用領域情境。
本文以llama-2-7b-chat模型為例,為您介紹如何通過快速開始將模型部署到EAS,建立並調用推理服務。
使用限制
目前快速開始支援的地區包括華北2(北京)、華東2(上海)、華東1(杭州)、華南1(深圳)、華北6(烏蘭察布)。
如需開通華北6(烏蘭察布)地區,請聯絡您的商務經理。
使用費用
使用OSS儲存會產生相關費用,計費詳情請參見OSS計費概述。
快速開始本身不收費,但使用快速開始進行模型部署和訓練時,會產生對應的模型部署(EAS)費用和任務訓練(DLC)費用,計費詳情請參見模型線上服務(EAS)計費說明、分布式訓練(DLC)計費說明。
前提條件
已開通PAI(EAS、DLC)並建立了預設的工作空間,操作詳情請參見開通PAI並建立預設工作空間。
- 說明
Bucket所屬地區與PAI的地區一致。Bucket一旦建立,則無法更改其所屬地區。
閱讀並承諾遵守Llama模型的自訂可商用開源協議。
說明如果無法訪問,您可能需要設定代理後再嘗試重新訪問。
操作步驟
llama-2-7b-chat模型適用於大多數非專業情境,如果直接部署模型後的預測結果不滿足您的業務需求,或者當您需要應用特定領域的專業知識時,您可以對模型進行微調訓練,協助模型提高在自訂領域的能力,使其更符合您的實際業務需求。
大語言模型可以在對話過程中直接學習到比較簡單的知識,請您根據自己的需求選擇是否訓練。當前快速開始支援的訓練方式基於LoRA。LoRA訓練相較於其他訓練方式(如SFT等)會顯著降低訓練成本和時間。
直接部署模型
登入PAI控制台,在左側導覽列單擊快速開始。
選擇工作空間後,單擊進入快速開始。
在模型列表頁面的搜尋方塊中輸入llama-2-7b-chat,然後單擊搜尋。
說明您也可以根據實際業務選擇需求選擇其他模型,模型需要至少64 GiB記憶體和24 GiB及以上的顯存,請確保您選擇的計算資源滿足以上要求,否則可能導致部署失敗。
單擊llama-2-7b-chat模型卡片,進入模型詳情頁面,單擊模型部署。
在模型部署詳情頁面下方,單擊部署。
在彈出的計費提醒對話方塊中,單擊確定。
頁面自動跳轉到服務詳情頁面。當服務狀態變為運行中時,代表推理服務已部署成功。
服務部署成功後,您可以通過WebUI或API兩種方式調用服務。
在服務詳情頁面單擊查看WEB應用。
調用推理服務。
WebUI方式:在Chat頁簽中的對話方塊中輸入對話內容後,單擊Send,即可開始對話。
API方式:單擊WebUI頁面底部Use via API,查看API調用詳情。
微調訓練模型
登入PAI控制台,在左側導覽列單擊快速開始。
選擇工作空間後,單擊進入快速開始。
在模型列表頁面的搜尋方塊中輸入llama-2-7b-chat,然後單擊搜尋。
說明您也可以根據實際業務選擇需求選擇其他模型,模型需要至少64 GiB記憶體和24 GiB及以上的顯存,請確保您選擇的計算資源滿足以上要求,否則可能導致部署失敗。
單擊llama-2-7b-chat模型卡片,進入模型詳情頁面,單擊微調訓練。
配置模型訓練相關參數。
快速開始已經預設配置了計算資源配置和超參數配置,可以滿足大多數的使用情境,您也可以根據自己的實際業務進行修改。本實踐教程中需要配置的關鍵參數說明請參見下表。
參數
說明
訓練設定
輸出路徑
選擇OSS Bucket路徑,用來儲存訓練產生的模型檔案。
說明如果您在工作空間詳情頁面配置了工作空間儲存路徑,這裡會預設填充該路徑,無需手動設定。如何配置工作空間儲存路徑,請參見管理工作空間。
資料集配置
訓練資料集
為方便您試用體驗Llama2模型,快速開始已提供了預設的訓練資料,您可以直接使用。如果您不使用預設資料集,需要按照模型文檔中的訓練資料格式準備好訓練資料,然後通過以下兩種方式上傳訓練資料:
訓練資料支援JSON格式輸入,每條資料由問題、答案和ID組成,分別用
instruction
、output
和id
欄位表示,例如:[ { "instruction": "以下文本是否屬於世界主題?為什麼美國人很少舉行閱兵?", "output": "是", "id": 0 }, { "instruction": "以下文本是否屬於世界主題?重磅!事業單位車改時間表已出!", "output": "不是", "id": 1 } ]
為了更好地驗證模型訓練的效果,除了PAI已提供的訓練資料集之外,也推薦您準備一份驗證資料集,該資料集將用於在訓練中評估模型訓練的效果,以及訓練的參數最佳化調整。
單擊訓練,提交訓練作業。
在彈出的計費提醒對話方塊中,單擊確定。
頁面自動跳轉到任務詳情頁面。當任務狀態變為成功時,代表模型已經訓練完成。
已經完成訓練的模型會被儲存到OSS上,可在基本資料地區的輸出路徑中查看具體位置。
說明如果使用預設的資料集、超參數和計算資源配置,訓練大概耗時1小時30分鐘。如果使用自訂的訓練資料和配置項,訓練完成時間可能有所差異,通常應該會在數小時內完成。
部署微調模型。
部署以及調用微調模型的流程和直接部署模型相同,操作詳情請參見直接部署模型。
後續操作
您可以在快速開始頁面單擊任務管理,查看訓練任務和部署任務的詳情。