🚀 Meta Llama 3 - 8B Instruct 8-bit量子化モデル
このモデルは、Meta Llama 3 - 8B Instruct大規模言語モデル(LLM)の8-bit量子化バージョンです。量子化によりモデルサイズが縮小され、推論速度が向上するため、計算リソースが限られたデバイスでのデプロイに適しています。元のLLAMA3-Instruct 8Bモデルは、大量のテキストとコードのデータセットで学習された自己回帰型トランスフォーマーベースのLLMです。命令に従うように微調整されており、対話タスクで優れた性能を発揮します。
🚀 クイックスタート
このリポジトリには、transformersと元のllama3
コードベースで使用するための、Meta-Llama-3-70B-Instructの2つのバージョンが含まれています。
✨ 主な機能
- Metaが開発・リリースしたMeta Llama 3ファミリーの大規模言語モデル(LLM)は、8Bと70Bのサイズの事前学習済みおよび命令微調整済みの生成テキストモデルのコレクションです。
- Llama 3の命令微調整モデルは、対話ユースケースに最適化されており、一般的な業界ベンチマークで多くのオープンソースチャットモデルを上回っています。
- これらのモデルを開発する際には、有用性と安全性の最適化に細心の注意を払いました。
📦 インストール
Transformersを使用する場合
以下のコードスニペットを参照して、Transformersでの使用方法を確認してください。
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3-70B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device="cuda",
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
prompt = pipeline.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = pipeline(
prompt,
max_new_tokens=256,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
print(outputs[0]["generated_text"][len(prompt):])
llama3
を使用する場合
リポジトリの指示に従ってください。元のチェックポイントをダウンロードするには、以下の例のコマンドを使用してhuggingface-cli
を活用してください。
huggingface-cli download meta-llama/Meta-Llama-3-70B-Instruct --include "original/*" --local-dir Meta-Llama-3-70B-Instruct
💻 使用例
基本的な使用法
上記のTransformersを使用する場合のコードが基本的な使用例です。
高度な使用法
高度な使用法に関する具体的なコード例は元のREADMEに記載されていませんが、生成パラメータやアプリケーションでの使用方法に関するより詳細な技術情報はこちらを参照してください。
📚 詳細ドキュメント
モデル詳細
属性 |
详情 |
モデル開発者 |
Meta |
バリエーション |
Llama 3は、事前学習済みと命令微調整済みのバリエーションで、8Bと70Bの2つのサイズがあります。 |
入力 |
モデルはテキストのみを入力とします。 |
出力 |
モデルはテキストとコードのみを生成します。 |
モデルアーキテクチャ |
Llama 3は、最適化されたトランスフォーマーアーキテクチャを使用する自己回帰型言語モデルです。微調整バージョンは、教師あり微調整(SFT)と人間のフィードバックを用いた強化学習(RLHF)を使用して、有用性と安全性に関する人間の好みに合わせて調整されています。 |
トレーニングデータ
- 概要:Llama 3は、公開されているソースからの15兆以上のトークンのデータで事前学習されました。微調整データには、公開されている命令データセットと、1000万以上の人間によるアノテーション付きの例が含まれています。事前学習データセットも微調整データセットも、Metaのユーザーデータを含んでいません。
- データの新鮮さ:事前学習データは、それぞれ7Bモデルについては2023年3月、70Bモデルについては2023年12月を切り捨てています。
ベンチマーク
このセクションでは、標準的な自動ベンチマークにおけるLlama 3モデルの結果を報告します。すべての評価では、内部評価ライブラリを使用しています。方法論の詳細については、こちらを参照してください。
事前学習ベースモデル
カテゴリ |
ベンチマーク |
Llama 3 8B |
Llama2 7B |
Llama2 13B |
Llama 3 70B |
Llama2 70B |
一般 |
MMLU (5-shot) |
66.6 |
45.7 |
53.8 |
79.5 |
69.7 |
一般 |
AGIEval English (3 - 5 shot) |
45.9 |
28.8 |
38.7 |
63.0 |
54.8 |
一般 |
CommonSenseQA (7-shot) |
72.6 |
57.6 |
67.6 |
83.8 |
78.7 |
一般 |
Winogrande (5-shot) |
76.1 |
73.3 |
75.4 |
83.1 |
81.8 |
一般 |
BIG-Bench Hard (3-shot, CoT) |
61.1 |
38.1 |
47.0 |
81.3 |
65.7 |
一般 |
ARC-Challenge (25-shot) |
78.6 |
53.7 |
67.6 |
93.0 |
85.3 |
知識推論 |
TriviaQA-Wiki (5-shot) |
78.5 |
72.1 |
79.6 |
89.7 |
87.5 |
読解力 |
SQuAD (1-shot) |
76.4 |
72.2 |
72.1 |
85.6 |
82.6 |
読解力 |
QuAC (1-shot, F1) |
44.4 |
39.6 |
44.9 |
51.1 |
49.4 |
読解力 |
BoolQ (0-shot) |
75.7 |
65.5 |
66.9 |
79.0 |
73.1 |
読解力 |
DROP (3-shot, F1) |
58.4 |
37.9 |
49.8 |
79.7 |
70.2 |
命令微調整モデル
ベンチマーク |
Llama 3 8B |
Llama 2 7B |
Llama 2 13B |
Llama 3 70B |
Llama 2 70B |
MMLU (5-shot) |
68.4 |
34.1 |
47.8 |
82.0 |
52.9 |
GPQA (0-shot) |
34.2 |
21.7 |
22.3 |
39.5 |
21.0 |
HumanEval (0-shot) |
62.2 |
7.9 |
14.0 |
81.7 |
25.6 |
GSM-8K (8-shot, CoT) |
79.6 |
25.7 |
77.4 |
93.0 |
57.5 |
MATH (4-shot, CoT) |
30.0 |
3.8 |
6.7 |
50.4 |
11.6 |
責任と安全性
AIに対するオープンなアプローチは、より良く、より安全な製品、より速いイノベーション、およびより大きな全体的な市場につながると考えています。責任あるAI開発にコミットしており、誤用や危害を制限し、オープンソースコミュニティをサポートするための一連の措置を講じています。
基盤モデルは、多様なアプリケーションで使用するために構築された幅広い機能を持つ技術です。すべてのユースケースに対するすべての開発者の安全レベルの好みを、そのまま満たすように設計されているわけではありません。
むしろ、責任あるLLMアプリケーションのデプロイは、モデルの事前学習、微調整、およびセーフガードで構成されるシステムのデプロイから、アプリケーションの開発全体を通じて一連の安全ベストプラクティスを実装することによって達成されます。
Llama 3のリリースの一環として、開発者がアプリケーションのモデルおよびシステムレベルの安全性を実装するための手順とベストプラクティスを概説するために、責任ある使用ガイドを更新しました。また、Meta Llama Guard 2やCode Shieldなどのセーフガードを含む一連のリソースを提供しています。これらのツールは、高い有用性を維持しながら、LLMシステムの残留リスクを大幅に削減することが証明されています。開発者には、これらのセーフガードを必要に応じて調整してデプロイすることをお勧めし、始めるための参照実装を提供しています。
Llama 3-Instruct
責任ある使用ガイドに概説されているように、モデルの有用性とモデルのアライメントの間のトレードオフは、避けられない可能性があります。開発者は、特定のユースケースと対象ユーザーに対して、アライメントと有用性のメリットをどのように重み付けするかについて慎重に判断する必要があります。開発者は、Llamaモデルを使用する際に残留リスクに注意し、必要に応じて追加の安全ツールを活用して、ユースケースに適した適切な安全基準を達成する必要があります。
安全性
命令微調整モデルについては、広範なレッドチーミングエクササイズを実施し、敵対的評価を行い、安全対策技術を実装して残留リスクを低減しました。他の大規模言語モデルと同様に、残留リスクが残る可能性があり、開発者はユースケースの文脈でこれらのリスクを評価することを推奨します。同時に、AI安全ベンチマーク標準を透明性が高く、厳格で、解釈可能なものにするためにコミュニティと協力しています。
拒否
残留リスクに加えて、良性のプロンプトに対するモデルの拒否にも大きな重点を置いています。過度な拒否は、ユーザー体験に影響を与えるだけでなく、特定の状況では有害になる可能性さえあります。開発者コミュニティからのフィードバックを受け取り、微調整を改善して、Llama 3がLlama 2よりも誤ってプロンプトに応答を拒否する可能性を大幅に低減しました。
内部ベンチマークを構築し、誤った拒否を制限するための対策を開発し、Llama 3をこれまでで最も有用なモデルにしました。
責任あるリリース
上記の責任ある使用に関する考慮事項に加えて、リリース決定を行う前に、誤用や重大なリスクに対する追加の対策を講じる必要がある厳格なプロセスに従っています。
誤用
Llama 3にアクセスまたは使用する場合は、許容使用ポリシーに同意する必要があります。このポリシーの最新版は、https://llama.meta.com/llama3/use-policy/にあります。
重大なリスク
CBRNE(化学、生物学的、放射線、核、および高威力爆薬)
この分野でのモデルの安全性について、2段階の評価を行っています。
- モデル学習中の反復的なテストを行い、CBRNE脅威やその他の敵対的リスクに関する応答の安全性を評価します。
- 外部のCBRNE専門家を関与させて、ウェブ検索(モデルを使用しない)で達成できることを参照して、モデルが正確に専門知識を提供し、潜在的なCBRNE誤用の障壁を減らす能力を評価するアップリフトテストを実施します。
📄 ライセンス
カスタム商用ライセンスは、https://llama.meta.com/llama3/licenseで入手できます。