🚀 Meta-Llama-3-8B-Instruct
Meta-Llama-3-8B-Instructは、Metaが開発・公開した大規模言語モデルです。このモデルは、商用および研究用途に最適化されており、会話や自然言語生成タスクで高い性能を発揮します。
🚀 クイックスタート
Meta-Llama-3-8B-Instructは、商用および英語での研究用途を目的としています。命令調整済みモデルはアシスタントのようなチャットに最適化されており、事前学習モデルは様々な自然言語生成タスクに適用できます。
✨ 主な機能
- 高性能: Llama 3の命令調整済みモデルは、会話用途に最適化されており、多くのオープンソースチャットモデルを上回る性能を発揮します。
- 安全性: これらのモデルを開発する際には、有用性と安全性の最適化に力を入れました。
- 拡張性: 8Bと70Bの2つのサイズのパラメータで提供され、Grouped-Query Attention (GQA) を使用して推論の拡張性を向上させています。
📦 インストール
このリポジトリには、transformersとオリジナルのllama3
コードベースで使用するための2つのバージョンのMeta-Llama-3-8B-Instructが含まれています。
Transformersを使用する場合
以下のコードスニペットを参照してください。
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device="auto",
)
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 = [
pipeline.tokenizer.eos_token_id,
pipeline.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 download meta-llama/Meta-Llama-3-8B-Instruct --include "original/*" --local-dir Meta-Llama-3-8B-Instruct
💻 使用例
基本的な使用法
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device="auto",
)
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 = [
pipeline.tokenizer.eos_token_id,
pipeline.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):])
高度な使用法
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device="auto",
)
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 = [
pipeline.tokenizer.eos_token_id,
pipeline.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):])
📚 ドキュメント
モデルの詳細
プロパティ |
詳細 |
モデル開発者 |
Meta |
バリエーション |
Llama 3は、事前学習と命令調整の2つのバリエーションで、8Bと70Bの2つのサイズのパラメータで提供されます。 |
入力 |
モデルはテキストのみを入力とします。 |
出力 |
モデルはテキストとコードのみを生成します。 |
モデルアーキテクチャ |
Llama 3は、最適化されたトランスフォーマーアーキテクチャを使用する自己回帰型言語モデルです。調整済みバージョンは、教師付き微調整 (SFT) と人間のフィードバックを用いた強化学習 (RLHF) を使用して、有用性と安全性に関する人間の嗜好に合わせて調整されています。 |
モデル |
学習データ |
パラメータ |
コンテキスト長 |
GQA |
トークン数 |
知識カットオフ |
Llama 3 |
公開されているオンラインデータの新しいミックス |
8B |
8k |
はい |
15T+ |
2023年3月 |
Llama 3 |
公開されているオンラインデータの新しいミックス |
70B |
8k |
はい |
15T+ |
2023年12月 |
意図された使用法
- 意図された使用ケース: Llama 3は、英語での商用および研究用途を目的としています。命令調整済みモデルはアシスタントのようなチャットに最適化されており、事前学習モデルは様々な自然言語生成タスクに適用できます。
- 範囲外: 適用される法律や規制 (貿易コンプライアンス法律を含む) に違反する方法での使用。許容使用ポリシーとLlama 3コミュニティライセンスによって禁止されている他の方法での使用。英語以外の言語での使用。
ハードウェアとソフトウェア
モデル |
時間 (GPU時間) |
消費電力 (W) |
排出された二酸化炭素 (tCO2eq) |
Llama 3 8B |
130万 |
700 |
390 |
Llama 3 70B |
640万 |
700 |
1900 |
合計 |
770万 |
|
2290 |
学習データ
- 概要: Llama 3は、公開されているソースからの15兆を超えるトークンのデータで事前学習されています。微調整データには、公開されている命令データセットと、1000万を超える人間によるアノテーション付きの例が含まれています。事前学習データセットと微調整データセットのどちらにも、Metaのユーザーデータは含まれていません。
- データの鮮度: 事前学習データは、7Bモデルの場合は2023年3月、70Bモデルの場合は2023年12月をそれぞれカットオフとしています。
ベンチマーク
このセクションでは、標準的な自動ベンチマークにおけるLlama 3モデルの結果を報告します。
🔧 技術詳細
学習要因
事前学習には、カスタム学習ライブラリ、MetaのResearch SuperCluster、および本番クラスターを使用しました。微調整、アノテーション、および評価も、サードパーティのクラウドコンピュート上で実行されました。
二酸化炭素排出量
事前学習中の二酸化炭素排出量は、H100-80GBタイプのハードウェアで累積770万GPU時間の計算を利用しています。推定総排出量は2290tCO2eqで、その100%がMetaの持続可能性プログラムによって相殺されています。
📄 ライセンス
カスタム商用ライセンスは、こちらで入手できます。
⚠️ 重要提示
このモデルは、商用および英語での研究用途を目的としています。適用される法律や規制 (貿易コンプライアンス法律を含む) に違反する方法での使用や、許容使用ポリシーとLlama 3コミュニティライセンスによって禁止されている他の方法での使用は禁止されています。
💡 使用建议
開発者は、Llama 3モデルを英語以外の言語に微調整することができますが、Llama 3コミュニティライセンスと許容使用ポリシーに準拠する必要があります。