在人工智慧和自然語言處理領域,大語言模型(LLM)已經成為推動技術進步的核心力量。但在實際應用中,針對特定任務或領域的繼續預訓練往往是提升模型效能的關鍵。本方案以通義千問2(Qwen2)模型為例,為您介紹如何對模型進行繼續預訓練。
準備繼續預訓練資料
大模型的持續預訓練解決方案採用了Pai-Megatron-Patch工具包。該工具包專為簡化使用Megatron架構訓練大語言模型(LLM)和視覺語言模型(VLM)而設計,旨在高效利用GPU計算能力。通過Pai-Megatron-Patch,開發人員可以輕鬆應用Megatron-LM提供的多種加速技術來訓練常見的大型語言模型。
此外,Pai-Megatron-Patch使用MMAP格式的預訓練資料,這種格式經過預先的tokenize處理,大大縮短了資料讀入時間,尤其在資料量龐大時優勢明顯。您可以通過其資料轉換教程,將未經處理資料轉化為MMAP格式,同時在PAI-Designer中也預置了“文本資料轉mmap格式”組件。不管是通過資料轉換教程還是通過Designer組件,在使用時,PAI-QuickStart限制MMAP格式資料檔案名為dataset.bin和dataset.idx。為方便試用,PAI提供了已經處理好的小規模資料,您可直接下載使用:
wget https://atp-modelzoo-wlcb-pai.oss-cn-wulanchabu.aliyuncs.com/release/models/pai-megatron-patch/llama3-datasets/wudao_llama3bpe_content_document.bin
wget https://atp-modelzoo-wlcb-pai.oss-cn-wulanchabu.aliyuncs.com/release/models/pai-megatron-patch/llama3-datasets/wudao_llama3bpe_content_document.idx
mv wudao_llama3bpe_content_document.bin dataset.bin
mv wudao_llama3bpe_content_document.idx dataset.idx使用PAI-QuickStart進行模型繼續預訓練
完成資料準備後,您可以在PAI-QuickStart中直接進行模型的繼續預訓練。本方案以Qwen2-72B模型為例,介紹如何使用已準備好的訓練資料進行模型訓練。
進入Model Gallery頁面。
登入PAI控制台。
在頂部左上方根據實際情況選擇地區。
在左側導覽列選擇工作空間列表,單擊指定工作空間名稱,進入對應工作空間內。
在左側導覽列選擇快速開始 > Model Gallery。
在Model Gallery頁面右側的模型列表中,單擊通義千問2-72B-預訓練(Megatron版)模型卡片,進入模型詳情頁面。
在模型詳情頁單擊右上方訓練。關鍵配置如下:
訓練輸出配置:僅支援NAS資料集(建立資料集)作為輸出Channel。在輸出檔案夾中,checkpoint子檔案夾儲存訓練過程中儲存的各個Megatron Checkpoint。
計算資源配置:Qwen2-72B模型繼續預訓練消耗的計算資源為4機32*A100/A800/H800(80G)或以上規格。
超參數配置:訓練演算法支援的超參資訊如下,您可以根據使用的資料,計算資源等調整超參,或是使用演算法預設配置的超參。
超參數
預設值
類型
含義
job_name
qwen2-72b-cpt
string
指定模型訓練任務類型,不需要修改。
batch_size
1
int
每張GPU卡在一次訓練迭代的資料量。
global_batch_size
32
int
全部GPU卡在一次訓練迭代的資料量,計算方式為batch_size*GPU卡數。
learning_rate
5e-5
float
模型訓練的學習率。
min_learning_rate
5e-6
float
模型訓練的最小學習率。
sequence_length
1024
int
文本序列長度。
pad_length
128
int
文本序列填充長度。
save_interval
1000
int
每次儲存Checkpoint的訓練迭代次數。
train_tokens
1638400
int
訓練任務總消耗的token數,其中,每個迭代消耗的token數為global_batch_size*sequence_length。
warmup_tokens
163840
int
訓練任務warmup階段總消耗的token數。
單擊訓練,PAI-QuickStart自動跳轉到模型訓練頁面,並開始進行訓練,您可以查看訓練任務狀態和訓練日誌。
(可選)將模型Checkpoint轉換為HuggingFace格式
Qwen2-72B模型預訓練格式為Megatron Dense Checkpoint。如果需要將此格式的Checkpoint轉換為 Huggingface模型,請參見Megatron-Core模型格式轉換。