language:
- en
- de
- fr
- it
- pt
- hi
- es
- th
license: llama3.1
base_model: meta-llama/Meta-Llama-3.1-8B-Instruct
pipeline_tag: text-generation
tags:
- facebook
- meta
- pytorch
- llama
- llama-3
- Llama 3.1のファインチューニングサポートに関するブログを読む:unsloth.ai/blog/llama4
- その他のファインチューニングノートブックはドキュメントでご覧ください。
- ファインチューニングしたモデルをGGUF、Ollama、llama.cpp、vLLMまたはü§óHFにエクスポート。
Llama 3.1モデル情報
Meta Llama 3.1コレクションは、8B、70B、405Bサイズの多言語大規模言語モデル(LLM)のコレクションで、事前学習済みおよび命令調整済みの生成モデルを含みます(テキスト入力/テキスト出力)。Llama 3.1の命令調整済みテキスト専用モデル(8B、70B、405B)は、多言語対話ユースケース向けに最適化されており、一般的な業界ベンチマークで多くのオープンソースおよびクローズドチャットモデルを凌駕します。
モデル開発者: Meta
モデルアーキテクチャ: Llama 3.1は、最適化されたトランスフォーマーアーキテクチャを使用する自己回帰型言語モデルです。調整済みバージョンは、教師ありファインチューニング(SFT)と人間のフィードバックによる強化学習(RLHF)を使用して、人間の好みに合わせて有用性と安全性を調整しています。
|
トレーニングデータ
|
パラメータ
|
入力モダリティ
|
出力モダリティ
|
コンテキスト長
|
GQA
|
トークン数
|
知識カットオフ
|
Llama 3.1(テキスト専用)
|
新たに公開されたオンラインデータの組み合わせ。
|
8B
|
多言語テキスト
|
多言語テキストとコード
|
128k
|
はい
|
15T+
|
2023年12月
|
70B
|
多言語テキスト
|
多言語テキストとコード
|
128k
|
はい
|
405B
|
多言語テキスト
|
多言語テキストとコード
|
128k
|
はい
|
サポート言語: 英語、ドイツ語、フランス語、イタリア語、ポルトガル語、ヒンディー語、スペイン語、タイ語。
Llama 3.1モデルファミリー。トークン数は事前学習データのみを指します。すべてのモデルバージョンは、推論スケーラビリティを向上させるためにGrouped-Query Attention(GQA)を使用しています。
モデルリリース日: 2024年7月23日。
ステータス: これはオフラインデータセットでトレーニングされた静的モデルです。調整済みモデルの将来のバージョンは、コミュニティフィードバックによりモデルの安全性を向上させるにつれてリリースされます。
ライセンス: カスタム商用ライセンスであるLlama 3.1 Community Licenseは、https://github.com/meta-llama/llama-models/blob/main/models/llama3_1/LICENSEで利用可能です。
モデルに関する質問やコメントを送信する場所 モデルに関するフィードバックやコメントを提供する方法の指示は、モデルのREADMEに記載されています。生成パラメータに関するより技術的な情報や、Llama 3.1をアプリケーションで使用するためのレシピについては、こちらをご覧ください。
意図された使用
意図された使用ケース Llama 3.1は、複数の言語での商用および研究用を意図しています。命令調整済みテキスト専用モデルはアシスタントのようなチャットを意図しており、事前学習済みモデルはさまざまな自然言語生成タスクに適応できます。Llama 3.1モデルコレクションは、合成データ生成や蒸留を含む他のモデルを改善するためにそのモデルの出力を活用する能力もサポートします。Llama 3.1 Community Licenseはこれらの使用ケースを許可しています。
範囲外 適用可能な法律または規制(貿易コンプライアンス法を含む)に違反する方法での使用。許容可能な使用ポリシーおよびLlama 3.1 Community Licenseで禁止されている他の方法での使用。このモデルカードで明示的に参照されているサポート言語以外の言語での使用**。
**注: Llama 3.1は、8つのサポート言語よりも広範な言語でトレーニングされています。開発者は、Llama 3.1 Community Licenseおよび許容可能な使用ポリシーに準拠している限り、8つのサポート言語以外の言語でLlama 3.1モデルをファインチューニングすることができます。そのような場合、追加の言語でのLlama 3.1の使用が安全かつ責任ある方法で行われることを保証する責任があります。
使用方法
このリポジトリには、transformersおよび元のllama
コードベースで使用するための2つのバージョンのMeta-Llama-3.1-8B-Instructが含まれています。
transformersでの使用
transformers >= 4.43.0
以降では、Transformersのpipeline
抽象化を使用するか、generate()
関数でAutoクラスを活用して会話型推論を実行できます。
pip install --upgrade transformers
でtransformersのインストールを更新してください。
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3.1-8B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
messages = [
{"role": "system", "content": "あなたは海賊のチャットボットで、常に海賊言葉で応答します!"},
{"role": "user", "content": "あなたは誰?"},
]
outputs = pipeline(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])
注: モデルをローカルで使用する方法、torch.compile()
、補助生成、量子化などの詳細なレシピは、huggingface-llama-recipes
で見つけることができます。
transformersでのツール使用
LLaMA-3.1は複数のツール使用形式をサポートしています。プロンプトフォーマットの完全なガイドはこちらでご覧いただけます。
ツール使用は、Transformersのチャットテンプレートでもサポートされています。
以下は、単一の簡単なツールを示すクイック例です:
def get_current_temperature(location: str) -> float:
"""
場所の現在の温度を取得します。
引数:
location: 温度を取得する場所、"都市, 国"の形式
戻り値:
指定された場所の現在の温度を指定された単位でfloatとして返します。
"""
return 22.
messages = [
{"role": "system", "content": "あなたは天気クエリに応答するボットです。"},
{"role": "user", "content": "ねえ、今のパリの気温は?"}
]
inputs = tokenizer.apply_chat_template(messages, tools=[get_current_temperature], add_generation_prompt=True)
その後、この入力から通常通りテキストを生成できます。モデルがツール呼び出しを生成した場合、次のようにチャットに追加する必要があります:
tool_call = {"name": "get_current_temperature", "arguments": {"location": "パリ, フランス"}}
messages.append({"role": "assistant", "tool_calls": [{"type": "function", "function": tool_call}]})
そして、ツールを呼び出し、結果をtool
ロールで追加します:
messages.append({"role": "tool", "name": "get_current_temperature", "content": "22.0"})
その後、再度generate()
を実行して、モデルにツール結果をチャットで使用させることができます。これはツール呼び出しの非常に簡単な紹介でした。詳細については、
LLaMAプロンプトフォーマットドキュメントとTransformersのツール使用ドキュメントをご覧ください。
llama
での使用
リポジトリの指示に従ってください。
オリジナルのチェックポイントをダウンロードするには、huggingface-cli
を使用した以下の例のコマンドを参照してください:
huggingface-cli download meta-llama/Meta-Llama-3.1-8B-Instruct --include "original/*" --local-dir Meta-Llama-3.1-8B-Instruct
ハードウェアとソフトウェア
トレーニング要因 事前学習には、カスタムトレーニングライブラリ、MetaのカスタムビルドGPUクラスター、および本番インフラを使用しました。ファインチューニング、アノテーション、評価も本番インフラで実行されました。
トレーニングには累積で H100-80GB(TDP 700W)タイプのハードウェアで39.3M GPU時間の計算が使用されました。トレーニング時間は各モデルのトレーニングに必要な総GPU時間であり、電力消費は使用されたGPUデバイスごとのピーク電力容量で、電力使用効率に調整されています。
トレーニング温室効果ガス排出量 ロケーションベースの温室効果ガス排出量の推定総量は、トレーニングで11,390トンCO2eqでした。2020年以降、Metaはグローバルオペレーションで温室効果ガス排出量をネットゼロに維持し、電力使用の100%を再生可能エネルギーでマッチングしているため、トレーニングの市場ベースの温室効果ガス排出量は0トンCO2eqでした。
|
トレーニング時間(GPU時間)
|
トレーニング電力消費(W)
|
トレーニングロケーションベース温室効果ガス排出量
(トンCO2eq)
|
トレーニング市場ベース温室効果ガス排出量
(トンCO2eq)
|
Llama 3.1 8B
|
1.46M
|
700
|
420
|
0
|
Llama 3.1 70B
|
7.0M
|
700
|
2,040
|
0
|
Llama 3.1 405B
|
30.84M
|
700
|
8,930
|
0
|
合計
|
39.3M
|
|
11,390
|
0
|