通義千問1.5(Qwen1.5)大語言模型在PAI-QuickStart的微調與部署實踐

阿里云大数据AI技术發表於2024-03-04

作者:汪誠愚(熊兮)、高一鴻(子洪)、黃俊(臨在)

Qwen1.5(通義千問1.5)是阿里雲最近推出的開源大型語言模型系列。作為“通義千問”1.0系列的進階版,該模型推出了多個規模,從0.5B到72B,滿足不同的計算需求。此外,該系列模型還包括了Base和Chat等多個版本的開源模型,為全球的開發者社群提供了空前的便捷性。阿里雲的人工智慧平臺PAI,作為一站式的機器學習和深度學習平臺,對Qwen1.5模型系列提供了全面的技術支援。無論是開發者還是企業客戶,都可以透過PAI-QuickStart輕鬆實現Qwen1.5系列模型的微調和快速部署。

1、 Qwen1.5系列模型介紹

通義千問1.5在先前釋出1.0版本模型的基礎上進行了大幅更新,主要體現在如下三個方面:

  • 多語言能力提升:Qwen1.5在多語言處理能力上進行了顯著最佳化,支援更廣泛的語言型別和更復雜的語言場景。
  • 人類偏好對齊:透過採用直接策略最佳化(DPO)和近端策略最佳化(PPO)等技術,增強了模型與人類偏好的對齊度。
  • 長序列支援:所有規模的Qwen1.5模型均支援高達32768個tokens的上下文長度,大幅提升了處理長文字的能力。

在效能評測方面,Qwen1.5在多項基準測試中均展現出優異的效能。無論是在語言理解、程式碼生成、推理能力,還是在多語言處理和人類偏好對齊等方面,Qwen1.5系列模型均表現出了強大的競爭力。

2、 PAI-QuickStart 介紹

快速開始(PAI-QuickStart)是阿里雲人工智慧平臺PAI的產品元件,它整合了國內外 AI 開源社群中優質的預訓練模型,涵蓋了包括大語言模型,文字生成圖片、語音識別等各個領域。透過 PAI 對於這些模型的適配,使用者可以透過零程式碼和 SDK 的方式實現從訓練到部署再到推理的全過程,大大簡化了模型的開發流程,為開發者和企業使用者帶來了更快、更高效、更便捷的 AI 開發和應用體驗。

3、 執行環境要求

  • 本示例目前支援在阿里雲北京、上海、深圳、杭州地域,使用PAI-QuickStart產品執行。
  • 資源配置要求:

- Qwen1.5-0.5B/1.4B/4B/7B量級模型:最低使用V100/P00/T4(16GB視訊記憶體)及以上卡型執行訓練任務(QLoRA輕量化微調);

- Qwen1.5-14B量級模型:最低使用V100(32GB視訊記憶體)/A10及以上卡型執行訓練任務(QLoRA輕量化微調)。

4、 透過PAI-QuickStart使用模型

開發者可以在 PAI 控制檯的“快速開始”入口,找到Qwen1.5系列模型,以Qwen1.5-7B-Chat為例,模型卡片如下圖所示:

通義千問1.5(Qwen1.5)大語言模型在PAI-QuickStart的微調與部署實踐


4.1 模型部署和呼叫

PAI 提供的Qwen1.5-7B-Chat預置了模型的部署配置資訊,使用者僅需提供推理服務的名稱以及部署配置使用的資源資訊即可將模型部署到PAI-EAS推理服務平臺。當前模型需要使用公共資源組進行部署。

通義千問1.5(Qwen1.5)大語言模型在PAI-QuickStart的微調與部署實踐

部署的推理服務支援使用ChatLLM WebUI進行實時互動,示例如下:

通義千問1.5(Qwen1.5)大語言模型在PAI-QuickStart的微調與部署實踐

4.2 模型微調訓練

PAI 為Qwen1.5-7B-Chat模型配置了微調演算法,支援使用者以開箱即用得方式對Qwen1.5-7B-Chat進行微調。訓練演算法支援使用 Json 格式輸入,每條資料由問題、答案組成,分用“instruction”、“output”欄位表示,例如:

[
    {
        "instruction": "寫一首以“寓居夜感”為題的詩:",
        "output": "獨坐晚涼侵,客窗秋意深。風沙疑化霧,夜氣欲成霖。家務勞人倦,濃茶代酒斟。哀鴻鳴四野,一併助長吟。"    
     },
    {
        "instruction": "寫一首以“次答友人思鄉詩”為題的詩:",
        "output": "閱盡滄桑萬事空,何如歸臥夕陽中。幷州最是傷心地,四十餘年噩夢同。"    
     }
]

當完成資料的準備,使用者可以將資料上傳到物件儲存 OSS Bucket 中。演算法需要使用V100/P00/T4(16GB視訊記憶體)的GPU資源,請確保選擇使用的資源配額內有充足的計算資源。

通義千問1.5(Qwen1.5)大語言模型在PAI-QuickStart的微調與部署實踐

訓練演算法支援的超參資訊如下,使用者可以根據使用的資料,計算資源等調整超參,或是使用演算法預設配置的超參。

通義千問1.5(Qwen1.5)大語言模型在PAI-QuickStart的微調與部署實踐

點選“訓練”按鈕,PAI-QuickStart 開始進行訓練,使用者可以檢視訓練任務狀態和訓練日誌。

通義千問1.5(Qwen1.5)大語言模型在PAI-QuickStart的微調與部署實踐 通義千問1.5(Qwen1.5)大語言模型在PAI-QuickStart的微調與部署實踐

如果需要將模型部署至PAI-EAS,可以在同一頁面的模型部署卡面選擇資源組,並且點選“部署”按鈕實現一鍵部署。模型呼叫方式和上文直接部署模型的呼叫方式相同。

4.3 透過Python SDK使用

PAI 提供了Python SDK,支援開發者方便得使用Python在PAI完成模型的開發到上線的。透過PAI Python SDK,開發者可以輕鬆呼叫PAI-快速開始提供的模型,完成相應模型的微調訓練和部署。

部署推理服務的示例程式碼如下:

from pai.model import RegisteredModel
# 獲取PAI提供的模型
model = RegisteredModel(
    model_name="qwen1.5-7b-chat",
    model_provider="pai"
)
# 直接部署模型
predictor = model.deploy(
    service="qwen7b_chat_example"
)
# 使用者可以透過推理服務的詳情頁,開啟部署的Web應用服務
print(predictor.console_uri)

微調訓練的示例程式碼如下:

# 獲取模型的微調訓練演算法
est = model.get_estimator()
# 獲取PAI提供的公共讀資料和預訓練模型
training_inputs = model.get_estimator_inputs()
# 使用使用者自定義資料
# training_inputs.update(
#     {
#         "train": "<訓練資料集OSS或是本地路徑>",
#         "validation": "<驗證資料集的OSS或是本地路徑>"
#     }
# )
# 使用預設資料提交訓練任務
est.fit(
    inputs=training_inputs
)
# 檢視訓練產出模型的OSS路徑
print(est.model_data())

透過快速開始的模型卡片詳情頁,使用者可以透過“在DSW開啟”入口,獲取一個完整的Notebooks示例,瞭解如何透過PAI Python SDK使用的細節。

5、 結論

Qwen1.5(通義千問1.5)的推出標誌著阿里雲在開源大語言模型領域的最新進展。這個系列推出了不同規模的開源模型,可廣泛用於多樣化的下游應用場景。開發者可以藉助PAI-QuickStart輕鬆地對Qwen1.5模型進行定製和部署。此外,PAI QuickStart還彙集了一系列先進的模型,覆蓋多個專業領域,歡迎廣大開發者們體驗和應用這些豐富的資源。

相關資源連結:

  • Qwen1.5 介紹:

https://qwenlm.github.io/zh/blog/qwen1.5/

  • PAI 快速開始:

  • PAI Python SDK Github:


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70004426/viewspace-3008039/,如需轉載,請註明出處,否則將追究法律責任。

相關文章