Meta Llama 3 リリースノート

MetaはLlama 3をリリースしました。これは8Bと70Bパラメータサイズで利用可能な新世代のオープンアクセス大規模言語モデル(LLM)です。このリリースは、訓練データの大幅な増加とトークナイザーの再設計により、オープンソースAIの能力を大きく前進させます。

モデルのバリエーションと仕様

Llama 3は4つの主要構成で提供され、いずれもコンテキスト長8Kトークンで、コンシューマー向けハードウェアと互換性があります。

  • Meta-Llama-3-8B: 効率的なデプロイを想定したベースの事前学習モデル。
  • Meta-Llama-3-8B-Instruct: 8Bモデルのインストラクションチューニング版。
  • Meta-Llama-3-70B: 大規模アプリケーション向けのベース事前学習モデル。
  • Meta-Llama-3-70B-Instruct: 70Bモデルのインストラクションチューニング版。

さらに、MetaはLlama Guard 2をリリースしました。これはLlama 3 8Bをベースに安全性に特化してファインチューニングされたモデルです。リスク分類に基づき、LLMのプロンプトと応答の両方を分類して安全でないコンテンツを検出するよう、プロダクション環境向けに設計されています。

Llama 2 に対する技術的改善

Llama 3は、パフォーマンスと効率性を向上させるために、いくつかのアーキテクチャ的およびデータ駆動の強化を導入しています。

拡張されたトークナイザーと語彙

Llama 3は新しいトークナイザーを使用し、語彙サイズを128,256トークンに拡大しました(Llama 2の32,000トークンから増加)。この拡張により、テキストエンコーディングがより効率的になり、マルチリンガル能力が強化される可能性があります。また、埋め込みの入力・出力行列が大きくなったため、小型モデルのパラメータ数が7Bから8Bに増加しました。

訓練規模とデータキュレーション

モデルは15兆トークン以上(前世代の約8倍)のデータで訓練され、公開されているオンラインデータの新しいミックスが使用されました。訓練は24,000 GPUを利用した2つのクラスターで実施されました。

アーキテクチャ最適化

8Bモデルは現在、Grouped-Query Attention(GQA)を実装しており、長いコンテキストを扱う際の効率が向上します。

インストラクションチューニングプロセス

Llama 3 Instructモデルは、1,000万件以上の人手で注釈付けされたデータサンプルを用いて対話向けに最適化されました。チューニングプロセスは、教師ありファインチューニング(SFT)、リジェクションサンプリング、近接方策最適化(PPO)、および直接方策最適化(DPO)を組み合わせています。

パフォーマンス評価

Open LLM Leaderboardによると、Llama 3は前バージョンに比べて大幅な改善を示しています。Llama 3 8Bは13.41のスコアを取得し、Llama 2 7Bの8.72を上回りました。Llama 3 70Bモデルは26.37のスコアを達成し、Llama 2 70Bの18.25を凌駕しています。

デプロイと統合

Llama 3はHugging Faceエコシステムに完全に統合され、デプロイと推論のための複数のパスを提供します。

  • 🤗 Transformers: リリース4.40に対応し、safetensorsbitsandbytesによる4ビット量子化、Flash Attention 2をサポートします。Llama 3モデルはCUDAグラフを使用したtorch.compile()にも対応しており、推論時に最大4倍の速度向上が期待できます。
  • Inference Endpoints: Text Generation Inference(TGI)を通じてデプロイ可能で、継続的バッチ処理やトークンストリーミングなどのプロダクション向け機能を提供します。
  • Cloud Providers: Google Cloud(Vertex AI と GKE)および Amazon SageMaker(AWS Jumpstart)を通じてワンクリックデプロイが利用可能です。

ファインチューニングとプロンプティング

プロンプト形式

ベースモデルには特定のフォーマットはありませんが、Instructバージョンは効果的に機能するために厳格な会話構造が必要です:

<|begin_of_text|><|start_header_id|>system<|end_header_id|>

{{ system_prompt }}<|eot_id|><|start_header_id|>user<|end_header_id|>

{{ user_msg_1 }}<|eot_id|><|start_header_id|>assistant<|end_header_id|>

{{ model_answer_1 }}<|eot_id|>

効率的なファインチューニング

Llama 3は、🤗 TRL(Transformer Reinforcement Learning)ライブラリを使用してコンシューマーGPU上でファインチューニングできます。4ビット量子化とQLoRAを活用することで、8Bモデルは単一のA10G GPUで約4時間で訓練可能です。

ライセンス

Llama 3は再配布、ファインチューニング、派生作品を許可する寛容なライセンスを使用しています。Llama 3の新たな要件として、明示的な帰属が求められます。派生モデルは名前の先頭に「Llama 3」を付け、派生作品やサービスで「Built with Meta Llama 3」と記載しなければなりません。

Sources