すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:LLMは事前トレーニングを継続

最終更新日:Nov 19, 2024

特定のタスクまたはドメインに合わせて調整された継続的な事前トレーニングにより、実際の使用における大規模言語モデル (LLM) のパフォーマンスが向上します。 このトピックでは、例としてQwen2-72Bモデルを使用して、LLMで継続的な事前トレーニングを実行する方法について説明します。

背景情報

このトピックでは、Pai-Megatron-Patchツールキットを使用して、継続的な事前トレーニングを実行します。 Pai-Megatron-Patchは、Megatronフレームワークを使用してLLMとビジョン言語モデル (VLM) を簡単にトレーニングするために設計されたトレーニングツールキットです。 Pai-Megatron-Patchは、LLMにGPUの計算能力を効果的に利用することを目的としており、Megatron-LMによって提供される高速化技術を使用して、一般的に使用されるLLMの便利なトレーニングを可能にします。

データの準備

Pai-Megatron-Patchは、MMAP形式の事前トレーニングデータを使用します。これは、特に大規模なデータセットシナリオでデータの読み込みを修正するために事前トークン化されています。 次のいずれかの方法で、MMAP形式のデータを準備できます。

  • 生データをMMAP形式に自分で変換します。「pretrain_data_前処理」をご参照ください。

  • Visualized Modeling (デザイナー) の [データをmmapフォーマットに変換] コンポーネントを使用します。 詳細については、「機械学習デザイナーの概要」をご参照ください。

  • トライアル用の小規模データセットのダウンロード:

    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でデータを使用するには、MMAPファイルの名前がdataset.binおよびdataset.idxである必要があります。

PAI-QuickStartを使用して継続的な事前トレーニング

以下のステップは、Qwen2-72Bについて準備されたデータを用いて継続的な事前訓練を行う。

  1. モデルギャラリーページに移動します。

    1. PAI コンソールにログインします。

    2. 上部のナビゲーションバーで、リージョンを選択します。

    3. 左側のナビゲーションペインで、[ワークスペース] をクリックします。 [ワークスペース] ページで、管理するワークスペースを見つけ、ワークスペースの名前をクリックします。

    4. 左側のナビゲーションウィンドウで、[クイックスタート] > [モデルギャラリー] を選択します。

  2. モデルギャラリーページで、Qwen2-72B-Base (メガトロン) のモデルカードを見つけて、モデルカードをクリックします。

  3. Qwen2-72B-Base (メガトロン) ページで、右上隅の電車をクリックします。 Trainパネルで、次の主要なパラメータを設定します。

    • 出力設定: ModelOutputパスを指定します。 NASデータセットのみがサポートされています。 データセットの作成方法については、「データセットの作成と管理」をご参照ください。 トレーニング中、Megatronチェックポイントはパスのチェックポイントサブフォルダに保存されます。

    • コンピューティングリソース: Qwen2-72Bの継続的な事前トレーニングには、4つのノードと、A100/A800/H100/H800 (80 GBのメモリ) 以上の32個のGPUが必要です。

    • ハイパーパラメータ: トレーニングアルゴリズムは、次のハイパーパラメータをサポートしています。 データとリソースに基づいてハイパーパラメータを調整したり、デフォルトの設定を使用したりできます。

      ハイパーパラメータ

      デフォルト値

      タイプ

      説明

      job_name

      qwen2-72b-cpt

      String

      トレーニングジョブタイプ。 変更は必要ありません。

      batch_size

      1

      int

      1つの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

      チェックポイントを保存する頻度。

      train_tokens

      1638400

      int

      トレーニングジョブで消費されるトークンの総数。 各反復で消費されるトークンの数は、global_batch_sizeにsequence_lengthを掛けたものです。

      warmup_tokens

      163840

      int

      トレーニングジョブのウォームアップ段階で消費されるトークンの数。

  4. [微調整] をクリックしてトレーニングを開始します。 PAI-QuickStartは、トレーニングジョブのステータスとログを監視できるモデルトレーニングページにリダイレクトします。

(オプション) チェックポイントをHuggingFace形式に変換

Qwen2-72Bのプレトライアン処理は、Megatron Dense Checkpointフォーマットを使用する。 この形式のチェックポイントをHuggingFace形式に変換するには、「Megatron-CoreからHuggingfaceへの変換」をご参照ください。