Model Overview
Model Features
Model Capabilities
Use Cases
🚀 Transformers庫中的Llama 4模型
Llama 4是一系列原生多模態AI模型,支持文本和多模態交互。它採用混合專家架構,在文本和圖像理解方面表現卓越,適用於商業和研究領域。
🚀 快速開始
安裝依賴
請確保你已安裝 transformers v4.51.0
,若未安裝,可使用以下命令進行升級:
pip install -U transformers
使用示例
from transformers import AutoProcessor, Llama4ForConditionalGeneration
import torch
model_id = "meta-llama/Llama-4-Maverick-17B-128E-Instruct"
processor = AutoProcessor.from_pretrained(model_id)
model = Llama4ForConditionalGeneration.from_pretrained(
model_id,
attn_implementation="flex_attention",
device_map="auto",
torch_dtype=torch.bfloat16,
)
url1 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
url2 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/cat_style_layout.png"
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": url1},
{"type": "image", "url": url2},
{"type": "text", "text": "Can you describe how these two images are similar, and how they differ?"},
]
},
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=256,
)
response = processor.batch_decode(outputs[:, inputs["input_ids"].shape[-1]:])[0]
print(response)
print(outputs[0])
✨ 主要特性
- 多語言支持:支持阿拉伯語、英語、法語、德語、印地語、印尼語、意大利語、葡萄牙語、西班牙語、他加祿語、泰語和越南語等多種語言。
- 多模態能力:原生支持文本和圖像輸入,可用於視覺識別、圖像推理、圖像描述等任務。
- 高性能表現:在多個基準測試中,相較於前代模型有顯著提升,如在推理、代碼生成、多語言理解和圖像問答等任務上。
- 靈活的量化方案:提供不同的量化權重版本,如BF16、FP8和int4,可根據硬件資源進行選擇。
- 安全保障:採用多方面的安全策略,包括模型微調、系統保護和評估機制,以降低潛在風險。
📦 安裝指南
請確保你已安裝 transformers v4.51.0
,若未安裝,可使用以下命令進行升級:
pip install -U transformers
💻 使用示例
基礎用法
from transformers import AutoProcessor, Llama4ForConditionalGeneration
import torch
model_id = "meta-llama/Llama-4-Maverick-17B-128E-Instruct"
processor = AutoProcessor.from_pretrained(model_id)
model = Llama4ForConditionalGeneration.from_pretrained(
model_id,
attn_implementation="flex_attention",
device_map="auto",
torch_dtype=torch.bfloat16,
)
url1 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
url2 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/cat_style_layout.png"
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": url1},
{"type": "image", "url": url2},
{"type": "text", "text": "Can you describe how these two images are similar, and how they differ?"},
]
},
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=256,
)
response = processor.batch_decode(outputs[:, inputs["input_ids"].shape[-1]:])[0]
print(response)
print(outputs[0])
📚 詳細文檔
模型信息
屬性 | 詳情 |
---|---|
模型開發者 | Meta |
模型架構 | 自迴歸語言模型,採用混合專家(MoE)架構,並集成早期融合技術以實現原生多模態能力 |
支持語言 | 阿拉伯語、英語、法語、德語、印地語、印尼語、意大利語、葡萄牙語、西班牙語、他加祿語、泰語和越南語 |
模型發佈日期 | 2025年4月5日 |
狀態 | 這是一個基於離線數據集訓練的靜態模型。隨著我們根據社區反饋改進模型行為,未來可能會發布調優後的版本 |
許可證 | 自定義商業許可證,Llama 4社區許可協議,詳情見:https://github.com/meta-llama/llama-models/blob/main/models/llama4/LICENSE |
問題反饋 | 有關模型的問題或建議,請參考Llama README。如需瞭解更多關於生成參數和在應用中使用Llama 4的技術信息,請訪問這裡 |
預期用途
- 預期用例:Llama 4適用於多語言的商業和研究用途。指令調優模型可用於類似助手的聊天和視覺推理任務,而預訓練模型可用於自然語言生成。在視覺方面,Llama 4模型還針對視覺識別、圖像推理、圖像描述和回答關於圖像的一般問題進行了優化。Llama 4社區許可證允許這些用例的使用。
- 超出範圍:禁止以任何違反適用法律法規(包括貿易合規法律)的方式使用。禁止以可接受使用政策和Llama 4社區許可證禁止的任何其他方式使用。禁止在本模型卡片中未明確支持的語言或能力範圍內使用。
硬件和軟件
- 訓練因素:使用自定義訓練庫、Meta的定製GPU集群和生產基礎設施進行預訓練。微調、量化、標註和評估也在生產基礎設施上進行。
- 訓練能源使用:模型預訓練在H100 - 80GB(TDP為700W)類型的硬件上累計使用了738萬個GPU小時的計算資源。訓練時間是每個模型訓練所需的總GPU時間,功耗是所用每個GPU設備的峰值功率容量,並根據電源使用效率進行了調整。
- 訓練溫室氣體排放:估計基於位置的總溫室氣體排放量為1999噸CO2eq。自2020年以來,Meta在其全球運營中保持淨零溫室氣體排放,並以100%的清潔能源匹配其電力使用;因此,基於市場的總溫室氣體排放量為0噸CO2eq。
訓練數據
- 概述:Llama 4 Scout在約40萬億個多模態數據令牌上進行預訓練,Llama 4 Maverick在約22萬億個多模態數據令牌上進行預訓練。這些數據來自公開可用的、有許可證的數據以及Meta產品和服務中的信息,包括Instagram和Facebook上的公開帖子以及人們與Meta AI的交互。
- 數據新鮮度:預訓練數據的截止日期為2024年8月。
基準測試
預訓練模型
類別 | 基準測試 | 樣本數 | 指標 | 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/em | 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量化的代碼,以最小化性能下降。
安全保障
模型級微調
- 微調數據:採用多方面的數據收集方法,將供應商提供的人工生成數據與合成數據相結合,以降低潛在的安全風險。開發了許多基於大語言模型(LLM)的分類器,以精心選擇高質量的提示和響應,加強數據質量控制。
- 拒絕率:在Llama 3模型的基礎上,著重降低Llama 4對良性提示的拒絕率。在安全數據策略中包括了邊界和對抗性提示,並修改了安全數據響應以遵循語氣指南。
- 語氣:擴展了Llama 3在拒絕語氣方面的工作,使模型聽起來更自然。目標是去除說教和過度道德化的語言,並糾正格式問題,包括正確使用標題、列表、表格等。
- 系統提示:Llama 4是一個更易於引導的模型,意味著可以輕鬆調整響應以滿足特定的開發者需求。有效的系統提示可以顯著提高大語言模型的性能。特別是,使用系統提示可以有效減少常見於LLM中的錯誤拒絕和模板化或“說教”語言模式。它們還可以提高對話性和適當格式的使用。
Llama 4系統保護
提供系統級的保護措施,如Llama Guard、Prompt Guard和Code Shield,開發者應將這些保護措施與Llama模型或其他LLM一起部署。所有參考實現演示默認包含這些保護措施,以便開發者可以直接受益於系統級的安全保障。
評估
- 常見用例評估:評估Llama模型在常見用例和特定能力方面的安全性。常見用例評估衡量了最常見構建的應用程序(包括聊天機器人、視覺問答)的系統安全風險。構建了專門的對抗性評估數據集,並評估了由Llama模型和Llama Guard 3組成的系統,以過濾輸入提示和輸出響應。
- 能力評估:衡量Llama模型特定能力固有的漏洞,為此設計了專門的基準測試,包括長上下文、多語言、編碼或記憶等方面。
紅隊測試
定期進行紅隊測試,目標是通過對抗性提示發現風險,並利用這些經驗教訓改進基準測試和安全調優數據集。與關鍵風險領域的主題專家早期合作,瞭解模型可能對社會造成意外危害的方式。
關鍵風險
- CBRNE(化學、生物、放射、核和爆炸材料)幫助性:評估Llama 4在化學和生物武器擴散方面的風險,應用專家設計和其他有針對性的評估,以確定使用Llama 4是否會顯著增加惡意行為者計劃或實施使用此類武器的攻擊的能力。
- 兒童安全:在模型中使用數據過濾等預訓練方法作為減輕兒童安全風險的第一步。由專家團隊評估訓練後模型的兒童安全風險,並據此進行額外的模型微調。
- 網絡攻擊啟用:調查Llama 4是否有足夠的能力導致災難性的威脅場景結果。進行威脅建模練習,以確定在關鍵攻擊向量方面自動化操作或增強人類能力所需的特定模型能力。
社區
- 安全標準化:積極參與開放聯盟,如AI Alliance、Partnership on AI和MLCommons,為安全標準化和透明度做出貢獻。鼓勵社區採用MLCommons概念驗證評估等分類法,以促進安全和內容評估的協作和透明度。
- 開源工具:我們的信任工具已開源,供社區使用,並廣泛分佈在包括雲服務提供商在內的生態系統合作伙伴中。鼓勵社區為我們的Github倉庫做出貢獻。
- 影響贈款計劃:設立了Llama影響贈款計劃,以識別和支持Meta的Llama模型在教育、氣候和開放創新三個類別中對社會有益的最有吸引力的應用。
- 資源支持:提供了一系列資源,包括輸出報告機制和漏洞賞金計劃,以在社區的幫助下不斷改進Llama技術。
🔧 技術細節
模型架構
Llama 4模型是自迴歸語言模型,採用混合專家(MoE)架構,並集成早期融合技術以實現原生多模態能力。
訓練數據
Llama 4 Scout在約40萬億個多模態數據令牌上進行預訓練,Llama 4 Maverick在約22萬億個多模態數據令牌上進行預訓練。這些數據來自公開可用的、有許可證的數據以及Meta產品和服務中的信息,包括Instagram和Facebook上的公開帖子以及人們與Meta AI的交互。
量化方案
提供不同的量化權重版本,如BF16、FP8和int4,可根據硬件資源進行選擇。
安全策略
採用多方面的安全策略,包括模型微調、系統保護和評估機制,以降低潛在風險。
📄 許可證
本項目採用自定義商業許可證,Llama 4社區許可協議,詳情見:https://github.com/meta-llama/llama-models/blob/main/models/llama4/LICENSE
考慮事項和限制
我們的AI基於言論自由的價值觀,幫助人們使用我們的技術進行探索、辯論和創新。我們尊重人們的自主權,使他們能夠選擇如何體驗、交互和構建AI。我們的AI促進思想的開放交流。
Llama 4旨在為所有人服務,並適用於廣泛的用例。因此,它設計為對具有不同背景、經驗和觀點的人都可訪問。Llama 4以用戶的實際情況來對待他們及其需求,不插入不必要的判斷,同時認識到即使在某些情況下可能看似有問題的內容,在其他情況下也可能有寶貴的用途。它尊重所有用戶的自主權,特別是在推動創新和進步的自由思想和表達價值觀方面。
Llama 4是一項新技術,與任何新技術一樣,其使用存在風險。到目前為止進行的測試尚未涵蓋,也不可能涵蓋所有場景。因此,與所有大語言模型一樣,Llama 4的潛在輸出無法提前預測,並且在某些情況下,模型可能會對用戶提示產生不準確或其他令人反感的響應。因此,在部署Llama 4模型的任何應用程序之前,開發者應針對其特定的模型應用進行安全測試和調優。我們也鼓勵開源社區將Llama用於研究目的,並構建解決新興風險的先進工具。請參考可用資源,包括我們的《開發者使用指南:AI保護》、Llama保護解決方案和其他資源以瞭解更多信息。









