人工知能と自然言語処理の分野において、大規模言語モデル (LLM) は技術進歩の中核を担っています。実世界のアプリケーションでは、特定のタスクやドメインで継続的な事前学習を行うことが、モデルのパフォーマンスを向上させる鍵となります。このソリューションでは、Qwen2 モデルを例に、継続的な事前学習の実行方法を説明します。
継続的な事前学習のためのデータ準備
大規模モデルの継続的な事前学習ソリューションでは、Pai-Megatron-Patch ツールキットを使用します。このツールキットは、Megatron フレームワークを用いた LLM や視覚言語モデル (VLM) のトレーニングを簡素化し、GPU 計算能力の効率的な利用を可能にします。Pai-Megatron-Patch を使用することで、開発者は Megatron-LM のさまざまな高速化技術を容易に適用し、一般的な大規模言語モデルをトレーニングできます。
さらに、Pai-Megatron-Patch は MMAP フォーマットの事前学習データを使用します。このフォーマットは事前トークン化済みであるため、特に大規模なデータセットにおいて、データ読み込み時間を大幅に短縮します。データ変換チュートリアルに従って、生データを MMAP フォーマットに変換してください。PAI-Designer には、組み込みの「テキストデータを mmap フォーマットに変換」コンポーネントも用意されています。データ変換チュートリアルまたは PAI-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.idxPAI-QuickStart を使用したモデルの継続的な事前学習
データを準備した後、PAI-QuickStart で直接モデルの継続的な事前学習を実行できます。このソリューションでは、Qwen2-72B モデルを例に、準備したトレーニングデータでモデルをトレーニングする方法を説明します。
モデルギャラリーページに移動します。
PAI コンソールにログインします。
左上のコーナーで、必要に応じてリージョンを選択します。
左側のナビゲーションウィンドウで、Workspaces を選択し、ワークスペース名をクリックしてワークスペースに入ります。
左側のナビゲーションウィンドウで、QuickStart > Model Gallery を選択します。
モデルギャラリーページで、右側のモデルリストから Qwen2-72B-Pretrained (Megatron Version) モデルカードをクリックして、モデル詳細ページに移動します。
モデル詳細ページの右上隅にある Train をクリックします。主要な設定は次のとおりです:
トレーニング出力設定:出力チャンネルとしてサポートされているのは Network Attached Storage (NAS) データセット (データセットの作成) のみです。出力フォルダ内の `checkpoint` サブフォルダには、トレーニングプロセス中に保存された Megatron チェックポイントが格納されます。
計算リソース設定:Qwen2-72B モデルの継続的な事前学習には、32 × A100/A800/H800 (80 GB) GPU 以上の仕様を持つ 4 ノードの計算リソースが必要です。
ハイパーパラメーター設定:次の表は、トレーニングアルゴリズムでサポートされているハイパーパラメーターを示しています。データと計算リソースに基づいてハイパーパラメーターを調整するか、デフォルト設定を使用してください。
ハイパーパラメーター
デフォルト値
タイプ
説明
job_name
qwen2-72b-cpt
string
モデルトレーニングタスクのタイプを指定します。このパラメーターは変更しないでください。
batch_size
1
int
1 回のトレーニング反復で各 GPU カードが処理するデータ量。
global_batch_size
32
int
1 回のトレーニング反復で全ての 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
各チェックポイントを保存する間のトレーニング反復回数。
train_tokens
1638400
int
トレーニングタスクで消費されるトークンの総数。1 回の反復で消費されるトークン数は、`global_batch_size` × `sequence_length` として計算されます。
warmup_tokens
163840
int
トレーニングタスクのウォームアップフェーズ中に消費されるトークンの総数。
Train をクリックします。PAI-QuickStart は自動的にモデルトレーニングページにリダイレクトし、トレーニングを開始します。トレーニングタスクのステータスとログを表示できます。
(任意) モデルチェックポイントの Hugging Face フォーマットへの変換
Qwen2-72B モデルの事前学習フォーマットは Megatron Dense Checkpoint です。このフォーマットのチェックポイントを Hugging Face モデルフォーマットに変換するには、「Megatron-Core モデルフォーマット変換」をご参照ください。