モデル概要
モデル特徴
モデル能力
使用事例
🚀 Llama-4-Maverick-17B-128E-Instruct-FP8
Llama 4シリーズのモデルは、ネイティブなマルチモーダルAIモデルで、テキストとマルチモーダル体験を可能にします。これらのモデルは、エキスパート混合アーキテクチャを利用して、テキストと画像の理解において業界をリードする性能を提供します。
🚀 クイックスタート
このモデルを使用するには、まず必要なライブラリをインストールし、モデルをダウンロードしてから、コード例を参考にモデルを実行します。以下のセクションで詳細な手順を説明します。
✨ 主な機能
- Llama 4シリーズのモデルは、ネイティブなマルチモーダルAIモデルで、テキストと画像の理解において業界をリードする性能を提供します。
- エキスパート混合アーキテクチャを利用して、効率的なモデルを実現しています。
- 複数の言語に対応しており、商用および研究用途に適しています。
📦 インストール
transformersライブラリのインストール
pip install -U transformers
vLLMのインストール
vLLMのインストールについては、公式ドキュメントを参照してください。
💻 使用例
vLLMを使用したデプロイ
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer
model_id = "RedHatAI/Llama-4-Maverick-17B-128E-Instruct-FP8"
number_gpus = 4
sampling_params = SamplingParams(temperature=0.7, top_p=0.8, max_tokens=256)
tokenizer = AutoTokenizer.from_pretrained(model_id)
prompt = "Give me a short introduction to large language model."
llm = LLM(model=model_id, tensor_parallel_size=number_gpus)
outputs = llm.generate(prompt, sampling_params)
generated_text = outputs[0].outputs[0].text
print(generated_text)
Red Hat AI Inference Serverでのデプロイ
podman run --rm -it --device nvidia.com/gpu=all -p 8000:8000 \
--ipc=host \
--env "HUGGING_FACE_HUB_TOKEN=$HF_TOKEN" \
--env "HF_HUB_OFFLINE=0" -v ~/.cache/vllm:/home/vllm/.cache \
--name=vllm \
registry.access.redhat.com/rhaiis/rh-vllm-cuda \
vllm serve \
--tensor-parallel-size 8 \
--max-model-len 32768 \
--enforce-eager --model RedHatAI/Llama-4-Maverick-17B-128E-Instruct-FP8
Red Hat Enterprise Linux AIでのデプロイ
# モデルのダウンロード
ilab model download --repository docker://registry.redhat.io/rhelai1/llama-4-maverick-17b-128e-instruct-fp8:1.5
# モデルのサービング
ilab model serve --model-path ~/.cache/instructlab/models/llama-4-maverick-17b-128e-instruct-fp8
# モデルとのチャット
ilab model chat --model ~/.cache/instructlab/models/llama-4-maverick-17b-128e-instruct-fp8
Red Hat Openshift AIでのデプロイ
# ServingRuntimeの設定
# vllm-servingruntime.yamlとして保存
apiVersion: serving.kserve.io/v1alpha1
kind: ServingRuntime
metadata:
name: vllm-cuda-runtime # OPTIONAL CHANGE: set a unique name
annotations:
openshift.io/display-name: vLLM NVIDIA GPU ServingRuntime for KServe
opendatahub.io/recommended-accelerators: '["nvidia.com/gpu"]'
labels:
opendatahub.io/dashboard: 'true'
spec:
annotations:
prometheus.io/port: '8080'
prometheus.io/path: '/metrics'
multiModel: false
supportedModelFormats:
- autoSelect: true
name: vLLM
containers:
- name: kserve-container
image: quay.io/modh/vllm:rhoai-2.20-cuda # CHANGE if needed. If AMD: quay.io/modh/vllm:rhoai-2.20-rocm
command:
- python
- -m
- vllm.entrypoints.openai.api_server
args:
- "--port=8080"
- "--model=/mnt/models"
- "--served-model-name={{.Name}}"
env:
- name: HF_HOME
value: /tmp/hf_home
ports:
- containerPort: 8080
protocol: TCP
# モデルをvllmサーバーにアタッチする。これはNVIDIA用のテンプレートです
# inferenceservice.yamlとして保存
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
annotations:
openshift.io/display-name: Llama-4-Maverick-17B-128E-Instruct-FP8 # OPTIONAL CHANGE
serving.kserve.io/deploymentMode: RawDeployment
name: Llama-4-Maverick-17B-128E-Instruct-FP8 # モデル名を指定します。この値はペイロードでモデルを呼び出すために使用されます
labels:
opendatahub.io/dashboard: 'true'
spec:
predictor:
maxReplicas: 1
minReplicas: 1
model:
modelFormat:
name: vLLM
name: ''
resources:
limits:
cpu: '2' # これはモデル固有の設定です
memory: 8Gi # これはモデル固有の設定です
nvidia.com/gpu: '1' # これはアクセラレータ固有の設定です
requests: # このブロックについても同様のコメントが適用されます
cpu: '1'
memory: 4Gi
nvidia.com/gpu: '1'
runtime: vllm-cuda-runtime # 上記のServingRuntime名と一致する必要があります
storageUri: oci://registry.redhat.io/rhelai1/modelcar-llama-4-maverick-17b-128e-instruct-fp8:1.5
tolerations:
- effect: NoSchedule
key: nvidia.com/gpu
operator: Exists
# まず、モデルをデプロイするプロジェクトにいることを確認してください
# oc project <project-name>
# モデルを実行するために両方のリソースを適用します
# ServingRuntimeを適用する
oc apply -f vllm-servingruntime.yaml
# InferenceServiceを適用する
oc apply -f qwen-inferenceservice.yaml
# 以下の<inference-service-name>と<cluster-ingress-domain>を置き換えてください:
# - 不確かな場合は、`oc get inferenceservice`を実行してURLを見つけてください。
# curlを使用してサーバーを呼び出す:
curl https://<inference-service-name>-predictor-default.<domain>/v1/chat/completions
-H "Content-Type: application/json" \
-d '{
"model": "Llama-4-Maverick-17B-128E-Instruct-FP8",
"stream": true,
"stream_options": {
"include_usage": true
},
"max_tokens": 1,
"messages": [
{
"role": "user",
"content": "How can a bee fly when its wings are so small?"
}
]
}'
transformersライブラリを使用した推論
from transformers import AutoTokenizer, Llama4ForConditionalGeneration
import torch
model_id = "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8"
tokenizer = AutoTokenizer.from_pretrained(model_id)
messages = [
{"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt", return_dict=True)
model = Llama4ForConditionalGeneration.from_pretrained(
model_id,
tp_plan="auto",
torch_dtype="auto",
)
outputs = model.generate(**inputs.to(model.device), max_new_tokens=100)
outputs = tokenizer.batch_decode(outputs[:, inputs["input_ids"].shape[-1]:])
print(outputs[0])
📚 ドキュメント
モデル情報
属性 | 详情 |
---|---|
モデル開発者 | Meta |
モデルアーキテクチャ | Llama 4のモデルは、エキスパート混合(MoE)アーキテクチャを使用し、ネイティブなマルチモーダル性のために早期融合を組み込んだ自己回帰型言語モデルです。 |
サポート言語 | アラビア語、英語、フランス語、ドイツ語、ヒンディー語、インドネシア語、イタリア語、ポルトガル語、スペイン語、タガログ語、タイ語、ベトナム語 |
モデルリリース日 | 2025年4月5日 |
ステータス | これはオフラインデータセットでトレーニングされた静的モデルです。コミュニティからのフィードバックを元にモデルの振る舞いを改善するにつれて、微調整されたモデルの将来のバージョンがリリースされる可能性があります。 |
ライセンス | カスタム商用ライセンスであるLlama 4 Community License Agreementがこちらで利用可能です。 |
トレーニングデータ
Llama 4 Scoutは約40兆トークン、Llama 4 Maverickは約22兆トークンのマルチモーダルデータで事前学習されています。これらのデータは、公開されているデータ、ライセンスを取得したデータ、およびMetaの製品やサービスからの情報の混合です。
ベンチマーク
事前学習モデル
カテゴリ | ベンチマーク | ショット数 | メトリック | Llama 3.1 70B | Llama 3.1 405B | Llama 4 Scout | Llama 4 Maverick |
---|---|---|---|---|---|---|---|
推論と知識 | MMLU | 5 | macro_avg/acc_char | 79.3 | 85.2 | 79.6 | 85.5 |
MMLU-Pro | 5 | macro_avg/em | 53.8 | 61.6 | 58.2 | 62.9 | |
MATH | 4 | em_maj1@1 | 41.6 | 53.5 | 50.3 | 61.2 | |
コード | MBPP | 3 | pass@1 | 66.4 | 74.4 | 67.8 | 77.6 |
マルチリンガル | TydiQA | 1 | average/f1 | 29.9 | 34.3 | 31.5 | 31.7 |
画像 | ChartQA | 0 | relaxed_accuracy | マルチモーダルサポートなし | 83.4 | 85.3 | |
DocVQA | 0 | anls | 89.4 | 91.6 |
命令微調整モデル
カテゴリ | ベンチマーク | ショット数 | メトリック | Llama 3.3 70B | Llama 3.1 405B | Llama 4 Scout | Llama 4 Maverick |
---|---|---|---|---|---|---|---|
画像推論 | MMMU | 0 | accuracy | マルチモーダルサポートなし | 69.4 | 73.4 | |
MMMU Pro^ | 0 | accuracy | 52.2 | 59.6 | |||
MathVista | 0 | accuracy | 70.7 | 73.7 | |||
画像理解 | ChartQA | 0 | relaxed_accuracy | 88.8 | 90.0 | ||
DocVQA (test) | 0 | anls | 94.4 | 94.4 | |||
コーディング | LiveCodeBench (10/01/2024-02/01/2025) | 0 | pass@1 | 33.3 | 27.7 | 32.8 | 43.4 |
推論と知識 | MMLU Pro | 0 | macro_avg/acc | 68.9 | 73.4 | 74.3 | 80.5 |
GPQA Diamond | 0 | accuracy | 50.5 | 49.0 | 57.2 | 69.8 | |
マルチリンガル | MGSM | 0 | average/em | 91.1 | 91.6 | 90.6 | 92.3 |
長文脈 | MTOB (half book) eng->kgv/kgv->eng | - | chrF | コンテキストウィンドウは128K | 42.2/36.6 | 54.0/46.4 | |
MTOB (full book) eng->kgv/kgv->eng | - | chrF | 39.7/36.3 | 50.8/46.7 |
^MMMU Proの報告された数値は、標準タスクとビジョンタスクの平均です。
量子化
Llama 4 ScoutモデルはBF16重みでリリースされていますが、オンザフライのint4量子化で単一のH100 GPUに収まります。Llama 4 Maverickモデルは、BF16とFP8量子化重みの両方でリリースされています。FP8量子化重みは、単一のH100 DGXホストに収まり、品質を維持します。また、性能劣化を最小限に抑えるオンザフライのint4量子化のコードも提供しています。
セーフガード
Llama 4のリリースにあたり、以下の3つの戦略を実施してリスクを管理しています。
- 開発者がLlamaでサポートされるユースケースに対して、ターゲットオーディエンスにとって役立つ、安全で柔軟なエクスペリエンスを展開できるようにする。
- 開発者を、Llamaの機能を悪用して潜在的に危害を引き起こそうとする敵対的なユーザーから保護する。
- コミュニティに対して、モデルの誤用を防止するための保護策を提供する。
モデルレベルの微調整
安全微調整の主な目的は、開発者に様々なアプリケーションに適した、すぐに使える安全で強力なモデルを提供し、安全なAIシステムを展開するための作業量を減らすことです。また、この取り組みは、研究コミュニティに安全微調整の堅牢性を研究するための貴重なリソースを提供します。
微調整データ データ収集には多面的なアプローチを採用し、ベンダーからの人間が生成したデータと合成データを組み合わせて、潜在的な安全リスクを軽減しています。多くの大規模言語モデル(LLM)ベースの分類器を開発し、高品質のプロンプトと応答を慎重に選択し、データ品質管理を強化しています。
拒否率 Llama 3モデルで始めた取り組みを基に、Llama 4では良性なプロンプトに対するモデルの拒否率を下げることに重点を置いています。安全データ戦略には境界線上のプロンプトと敵対的なプロンプトの両方を含め、安全データの応答をトーンガイドラインに沿うように修正しています。
トーン Llama 3での拒否トーンに関する作業を拡張し、モデルがより自然なトーンで応答するようにしています。説教的で過度に道徳的な言葉を取り除き、ヘッダー、リスト、テーブルなどの正しいフォーマットを修正しています。
システムプロンプト Llama 4はより制御しやすいモデルであり、応答を特定の開発者の成果に合わせやすくなっています。効果的なシステムプロンプトは、大規模言語モデルの性能を大幅に向上させることができます。特に、システムプロンプトを使用することで、誤った拒否やLLMで一般的なテンプレート化された、または「説教的」な言語パターンを減らすことができます。また、会話性と適切なフォーマットの使用を改善することもできます。
意図された使用法
意図されたユースケース
Llama 4は、複数の言語での商用および研究用途を想定しています。命令微調整されたモデルは、アシスタントのようなチャットや視覚的推論タスクに適しており、事前学習モデルは自然言語生成に適応させることができます。ビジョンに関しては、Llama 4モデルは視覚認識、画像推論、キャプショニング、および画像に関する一般的な質問への回答にも最適化されています。Llama 4モデルコレクションは、合成データ生成や蒸留など、他のモデルを改善するためにそのモデルの出力を利用する機能もサポートしています。Llama 4 Community Licenseはこれらのユースケースを許可しています。
範囲外の使用法
- 適用される法律や規制(貿易コンプライアンス法律を含む)に違反する方法での使用。
- 許容使用ポリシーおよびLlama 4 Community Licenseで禁止されている他の方法での使用。
- このモデルカードで明示的にサポートされているとして参照されている言語や機能を超える使用。
注意事項
- Llama 4は、サポートされている12の言語よりも広範な言語でトレーニングされています(事前学習には合計200の言語が含まれています)。開発者は、Llama 4モデルをサポートされている12の言語を超える言語で微調整することができますが、Llama 4 Community Licenseおよび許容使用ポリシーに準拠する必要があります。開発者は、追加の言語でLlama 4を安全かつ責任を持って使用することを保証する責任があります。
- Llama 4は、最大5枚の入力画像で画像理解をテストされています。これを超える画像理解機能を利用する場合、開発者は展開におけるリスクを軽減する責任があり、特定のアプリケーションに合わせた追加のテストと微調整を行う必要があります。
🔧 技術詳細
トレーニング要因
事前学習には、カスタムトレーニングライブラリ、MetaがカスタムビルドしたGPUクラスター、および本番環境インフラストラクチャを使用しました。微調整、量子化、アノテーション、および評価も本番環境インフラストラクチャで行われました。
トレーニングエネルギー使用量
モデルの事前学習には、以下の表に示すように、H100-80GB(TDP 700W)タイプのハードウェアで合計738万GPU時間の計算が利用されました。トレーニング時間は各モデルのトレーニングに必要な総GPU時間であり、電力消費量は使用される各GPUデバイスのピーク電力容量で、電力使用効率を考慮して調整されています。
モデル名 | トレーニング時間 (GPU時間) | トレーニング電力消費量 (W) | トレーニングによる温室効果ガス排出量 (CO2eqトン) | 市場ベースのトレーニングによる温室効果ガス排出量 (CO2eqトン) |
---|---|---|---|---|
Llama 4 Scout | 500万 | 700 | 1354 | 0 |
Llama 4 Maverick | 238万 | 700 | 645 | 0 |
合計 | 738万 | - | 1999 | 0 |
トレーニングエネルギー使用量と温室効果ガス排出量を決定するために使用された方法論はこちらで確認できます。Metaがこれらのモデルをオープンにリリースしているため、他の人がトレーニングエネルギー使用量と温室効果ガス排出量を負担することはありません。
📄 ライセンス
カスタム商用ライセンスであるLlama 4 Community License Agreementがこちらで利用可能です。









