AIToday
大規模言語モデルAIコーディングオープンソースAIAmazon AI Blog掲載日時: 2026年10月22日 6:00

AWS、TrainiumでQwen3を学習する手順を公開

LINEで送る
AWS、TrainiumでQwen3を学習する手順を公開

3つのポイント

  1. 何が起きたか

    AWSは1台のtrn2.48xlarge上でQwen3を3通りに学習する手順を公開した。

  2. なぜ重要か

    注意点として、これは性能向上を主張するものではなく、あくまで文書化された一例だ。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

この投稿は、ジョブの起動方法ではなくモデルの構築方法が異なる3つの設定を中心に構成されている。1つ目ではTransformers v5がAutoModelForCausalLMを通じてQwen3の実装を提供し、設定はHub IDを指定するだけだ。2つ目はconfig.model_specを変更してtorchtitanのネイティブQwen3Modelに差し替え、qwen3_32b()から始めてモデル仕様を4B版に置き換える。テストしたビルドには汎用の4Bビルダーがないためだ。3つ目はさらに進み、mixture-of-expertsブロックをqwen3_nki_moe_config()によるNKIのgrouped-expertsカーネルに置き換え、1台のtrn2.48xlargeに収まるよう4層・64エキスパートに縮小している。

カスタムカーネルの節が最も手順的だ。nkilibのカーネルをwrap_nkiでラップしてPyTorchオペレータとして登録し、2つ目のオペレータが保存されたルーティングのメタデータを使って逆伝播を処理する。数値チェックではrope_hfとtorchtitanのPyTorch rotary embeddingをfloat32入力で比較し、クエリとキーの最大絶対差は0.0だったと報告している。著者らはこの部分を、性能向上ではなく登録と自動微分の統合を示すものと位置づけている。

3つの経路を結びつけるのはランチャーとオーバーライドの仕組みだ。データ並列シャーディングは64ランクにわたりdata_parallel_shard_degree = -1で設定され、テンソル並列は同じ多次元DeviceMesh上に重ねられる。オーバーライドは完全修飾名で範囲を限定するため、例えばfqns=["layers.1[0-9].attention.rope"]は10層から19層のrotary embeddingを対象にする。2つのオーバーライドが同じノードを指定するとtorchtitanは停止する。これは、Hub定義の実装とネイティブ実装の切り替えやカスタムカーネルの組み込みが、別の学習スタックではなく設定変更で済むワークフローを示している。

よくある質問
この手順に必要なハードウェアは何か。
trn2.48xlargeインスタンス1台で、Trainium2アクセラレータ16基と物理NeuronCore 128基を備え、LNC=2で論理NeuronCore 64基として動作する。
ゼロからではなく公開済みのQwen3の重みをファインチューニングできるか。
できる。チェックポイント読み込みを有効にし、initial_load_pathをローカルのQwen3資産に向ければ公開済みの重みを読み込め、最終チェックポイントはHugging Face safetensorsとして保存される。
公開済みの重みが正しく読み込まれたか確認する方法は。
最初の学習ステップの損失を見るのが手早い。検証済みの実行では、公開済みの重みでステップ1の損失が6.54だったのに対し、ランダム初期化では12.43だった。
Amazon AI Blog元記事を読む
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

関連記事

次の記事へOpenAI、サイバー防御強化へ青写真を公表