Llama 3.1 リリースノート:多言語対応、長コンテキスト、そして 405B モデル

Meta は Llama 3.1 をリリースしました。これは Llama ファミリーの新しいバージョンで、8B と 70B に加えて、巨大な 405B パラメータのデンスモデルを導入しています。このリリースは、コンテキストウィンドウを 128K トークンに拡張し、ネイティブな多言語サポートを追加し、ライセンスを更新してモデル出力を他の LLM の改善に利用できるようにした点で重要です。

モデルバリエーションと主要機能

Llama 3.1 は 8 つのオープンウェイトモデルで構成されており、3 つのベースモデルと 5 つのファインチューニングバリアントがあります。すべてのモデルは 128K トークンのコンテキスト長をサポートし、英語、ドイツ語、フランス語、イタリア語、ポルトガル語、ヒンディー語、スペイン語、タイ語の 8 言語を処理できます。

生成モデル

  • Llama 3.1 8B: 消費者向け GPU での効率的なデプロイと開発に最適化されています。
  • Llama 3.1 70B: 大規模な AI ネイティブアプリケーション向けに設計されています。
  • Llama 3.1 405B: 合成データ生成、蒸留、そして「LLM as a Judge」として機能することを目的とした非常に大規模なデンスモデルです。

これらのサイズはすべて、ベース(事前学習)と指示チューニングの両方のバージョンで利用可能です。

安全性と分類モデル

  • Llama Guard 3: Llama 3.1 8B 上でファインチューニングされたセーフガードモデルで、リスク分類法に基づいて LLM の入力と応答を分類します。128K のコンテキスト長をサポートし、多言語対応です。
  • Prompt Guard: プロンプトインジェクションや脱獄試行を検出するよう設計された、279M パラメータの BERT ベースの分類器です。

技術仕様とトレーニング

Llama 3.1 モデルは、カスタム GPU クラスタを使用して 15 兆トークン以上でトレーニングされ、合計 3,930 万 GPU 時間が消費されました。トレーニングの内訳は以下の通りです:

  • 8B: 1.46M GPU 時間
  • 70B: 7.0M GPU 時間
  • 405B: 30.84M GPU 時間

Llama 3.1 Instruct モデルは、公開データセットと、教師ありファインチューニング(SFT)および人間のフィードバックによる強化学習(RLHF)を通じて生成された 2500 万以上の合成例を使用して、指示に従うように最適化されました。

メモリとハードウェア要件

Llama 3.1 を実行するには、モデルサイズと精度に応じて大容量の VRAM が必要です。

推論メモリ(チェックポイントロード)

モデルサイズ FP16 FP8 INT4
8B 16 GB 8 GB 4 GB
70B 140 GB 70 GB 35 GB
405B 810 GB 405 GB 203 GB

KV キャッシュメモリ(FP16)

コンテキスト長が増加するにつれて、KV キャッシュは重要なメモリ要因となります。128K トークンの場合、メモリ要件は以下の通りです:

  • 8B: 15.62 GB
  • 70B: 39.06 GB
  • 405B: 123.05 GB

トレーニングメモリ(推定)

モデルサイズ フルファインチューニング LoRA Q-LoRA
8B 60 GB 16 GB 6 GB
70B 500 GB 160 GB 48 GB
405B 3.25 TB 950 GB 250 GB

ツール使用とプロンプト

Llama 3.1 Instruct モデルはエージェント的なユースケース向けにファインチューニングされ、ツール呼び出しをサポートします。

組み込みツール呼び出し

システムプロンプトに Environment: ipython を含めることで、モデルはコードインタプリタモードを有効にします。<|python_tag|><|eom_id|> デリミタを使用して Python コードを生成できます。組み込みツールには brave_searchwolfram_alphacode_interpreter が含まれます。

カスタムツール呼び出し

モデルはカスタム JSON 関数呼び出しをサポートします。ツールが呼び出されると、モデルは関数名とパラメータを JSON 形式で出力します。その後、ツールからの応答は <|python_tag|> デリミタを使用してモデルに戻され、最終的な回答が生成されます。

ライセンスと合成データ

Llama 3.1 は前バージョンよりも寛容なライセンスを採用しています。主な変更点は、モデル出力を他の LLM の改善に明示的に利用できるようにしたことです。これにより合成データ生成と蒸留が可能となり、405B モデルは小規模で専門的な LLM の教師モデルとして特に価値があります。

エコシステム統合

Llama 3.1 は transformers >= 4.43.2 を通じて Hugging Face エコシステムに統合されています。

  • Quantization: 405B モデル用の公式 FP8 量子化ウェイトが提供されており、8xH100 GPU 上での実行が可能です。さらに、Hugging Face はメモリ削減のために追加の AWQ と GPTQ INT4 バリアントを提供しています。
  • Deployment: Hugging Face Inference API(PRO ユーザー向け)、Inference Endpoints、そして AWS、Google Cloud、Microsoft Azure、DELL などのパートナーを通じてサポートが利用可能です。

Sources