模型概述
模型特點
模型能力
使用案例
🚀 Llama 3.2-Vision 多模態大語言模型
Llama 3.2-Vision 是一系列多模態大語言模型,支持圖像和文本輸入,文本輸出。它在視覺識別、圖像推理、圖像描述和圖像問答等任務上表現出色,能為商業和研究領域提供強大支持。
🚀 快速開始
使用 transformers
庫
從 transformers >= 4.45.0
版本開始,你可以使用包含圖像的對話消息進行推理。
確保通過以下命令更新 transformers
庫:
pip install --upgrade transformers
以下是使用示例:
import requests
import torch
from PIL import Image
from transformers import MllamaForConditionalGeneration, AutoProcessor
model_id = "meta-llama/Llama-3.2-11B-Vision-Instruct"
model = MllamaForConditionalGeneration.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_id)
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
image = Image.open(requests.get(url, stream=True).raw)
messages = [
{"role": "user", "content": [
{"type": "image"},
{"type": "text", "text": "If I had to write a haiku for this one, it would be: "}
]}
]
input_text = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(
image,
input_text,
add_special_tokens=False,
return_tensors="pt"
).to(model.device)
output = model.generate(**inputs, max_new_tokens=30)
print(processor.decode(output[0]))
使用 llama
代碼庫
請遵循 倉庫 中的說明進行操作。
你可以使用 huggingface-cli
下載原始檢查點:
huggingface-cli download meta-llama/Llama-3.2-11B-Vision-Instruct --include "original/*" --local-dir Llama-3.2-11B-Vision-Instruct
✨ 主要特性
- 多模態處理:支持圖像和文本輸入,輸出文本,可用於視覺問答、圖像描述等多種任務。
- 高性能表現:在常見行業基準測試中,優於許多開源和閉源的多模態模型。
- 多語言支持:文本任務支持英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語。
📦 安裝指南
使用 transformers
庫
確保通過以下命令更新 transformers
庫:
pip install --upgrade transformers
使用 llama
代碼庫
請遵循 倉庫 中的說明進行操作。
你可以使用 huggingface-cli
下載原始檢查點:
huggingface-cli download meta-llama/Llama-3.2-11B-Vision-Instruct --include "original/*" --local-dir Llama-3.2-11B-Vision-Instruct
💻 使用示例
基礎用法
import requests
import torch
from PIL import Image
from transformers import MllamaForConditionalGeneration, AutoProcessor
model_id = "meta-llama/Llama-3.2-11B-Vision-Instruct"
model = MllamaForConditionalGeneration.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_id)
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
image = Image.open(requests.get(url, stream=True).raw)
messages = [
{"role": "user", "content": [
{"type": "image"},
{"type": "text", "text": "If I had to write a haiku for this one, it would be: "}
]}
]
input_text = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(
image,
input_text,
add_special_tokens=False,
return_tensors="pt"
).to(model.device)
output = model.generate(**inputs, max_new_tokens=30)
print(processor.decode(output[0]))
高級用法
目前文檔中未提供高級用法示例,你可以參考相關文檔或根據需求進行探索。
📚 詳細文檔
模型信息
屬性 | 詳情 |
---|---|
模型開發者 | Meta |
模型架構 | 基於 Llama 3.1 文本模型構建,使用優化的變壓器架構,微調版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF)。 |
訓練數據 | 預訓練使用 60 億圖像和文本對,指令微調數據包括公開可用的視覺指令數據集和超過 300 萬個合成生成的示例。 |
支持語言 | 文本任務支持英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語;圖像 + 文本應用僅支持英語。 |
模型發佈日期 | 2024 年 9 月 25 日 |
狀態 | 靜態模型,未來可能會發布改進版本。 |
許可證 | Llama 3.2 社區許可證 |
反饋 | 可參考模型 README 提供反饋,技術信息可參考 此處。 |
預期用途
Llama 3.2-Vision 適用於商業和研究用途,具體用例包括:
- 視覺問答和推理:回答關於圖像的問題。
- 文檔視覺問答:理解文檔的文本和佈局,並回答相關問題。
- 圖像描述:為圖像生成描述性文本。
- 圖像 - 文本檢索:根據圖像或文本描述進行檢索。
- 視覺定位:根據自然語言描述定位圖像中的對象或區域。
硬件和軟件
- 訓練因素:使用自定義訓練庫、Meta 的自定義 GPU 集群和生產基礎設施進行預訓練,微調、標註和評估也在生產基礎設施上進行。
- 訓練能源使用:累計使用 202 萬 GPU 小時的 H100-80GB(TDP 為 700W)類型硬件進行訓練。
- 訓練溫室氣體排放:估計總基於位置的溫室氣體排放量為 584 噸 CO2eq,基於市場的溫室氣體排放量為 0 噸 CO2eq。
訓練數據
- 概述:預訓練使用 60 億圖像和文本對,指令微調數據包括公開可用的視覺指令數據集和超過 300 萬個合成生成的示例。
- 數據新鮮度:預訓練數據截止到 2023 年 12 月。
基準測試 - 圖像推理
基礎預訓練模型
類別 | 基準測試 | 樣本數 | 指標 | Llama 3.2 11B | Llama 3.2 90B |
---|---|---|---|---|---|
圖像理解 | VQAv2 (val) | 0 | 準確率 | 66.8 | 73.6 |
Text VQA (val) | 0 | 寬鬆準確率 | 73.1 | 73.5 | |
DocVQA (val, unseen) | 0 | ANLS | 62.3 | 70.7 | |
視覺推理 | MMMU (val, 0-shot) | 0 | 微觀平均準確率 | 41.7 | 49.3 |
ChartQA (test) | 0 | 準確率 | 39.4 | 54.2 | |
InfographicsQA (val, unseen) | 0 | ANLS | 43.2 | 56.8 | |
AI2 Diagram (test) | 0 | 準確率 | 62.4 | 75.3 |
指令微調模型
模態 | 能力 | 基準測試 | 樣本數 | 指標 | Llama 3.2 11B | Llama 3.2 90B |
---|---|---|---|---|---|---|
圖像 | 大學水平問題和數學推理 | MMMU (val, CoT) | 0 | 微觀平均準確率 | 50.7 | 60.3 |
MMMU-Pro, Standard (10 opts, test) | 0 | 準確率 | 33.0 | 45.2 | ||
MMMU-Pro, Vision (test) | 0 | 準確率 | 23.7 | 33.8 | ||
MathVista (testmini) | 0 | 準確率 | 51.5 | 57.3 | ||
圖表和圖表理解 | ChartQA (test, CoT) | 0 | 寬鬆準確率 | 83.4 | 85.5 | |
AI2 Diagram (test) | 0 | 準確率 | 91.1 | 92.3 | ||
DocVQA (test) | 0 | ANLS | 88.4 | 90.1 | ||
通用視覺問答 | VQAv2 (test) | 0 | 準確率 | 75.2 | 78.1 | |
文本 | 通用 | MMLU (CoT) | 0 | 宏觀平均準確率 | 73.0 | 86.0 |
數學 | MATH (CoT) | 0 | 最終精確匹配率 | 51.9 | 68.0 | |
推理 | GPQA | 0 | 準確率 | 32.8 | 46.7 | |
多語言 | MGSM (CoT) | 0 | 精確匹配率 | 68.9 | 86.9 |
責任與安全
負責任的部署
- 方法:Llama 是一種基礎技術,可用於多種用例。Meta 的 Llama 模型負責任部署的示例可在 社區故事網頁 中找到。開發者應根據具體用例定製安全策略,並在 Llama 系統中部署必要的安全防護措施。
- Llama 3.2 Instruct:安全微調的主要目標是為研究社區提供有價值的資源,為開發者提供安全強大的模型。採用多方面的數據收集方法,結合人類生成數據和合成數據,使用基於大語言模型的分類器選擇高質量的提示和響應。
- Llama 3.2 系統:大語言模型應作為整體 AI 系統的一部分進行部署,並配備額外的安全防護措施。Meta 提供了 安全防護措施,開發者應在 Llama 模型或其他大語言模型中部署這些措施。
新功能和用例
- 技術進步:Llama 版本通常會引入新功能,需要額外考慮。對於 Llama 3.2 支持的先前版本功能,請參考 Llama 3.1 模型卡片。
- 圖像推理:Llama 3.2-Vision 模型具有多模態輸入能力,可用於圖像推理應用。在負責任的發佈過程中,採取了專門措施來解決模型在圖像中唯一識別個人的風險。
評估
- 大規模評估:構建了專門的對抗性評估數據集,評估由 Llama 模型和 Purple Llama 安全防護措施組成的系統。建議為具體用例構建專門的評估數據集。
- 紅隊測試:進行定期的紅隊測試,以發現風險並改進基準測試和安全調優數據集。與關鍵風險領域的專家合作,瞭解現實世界的危害,並制定對抗性目標。
關鍵風險
- CBRNE(化學、生物、放射、核和爆炸武器):對 Llama 3.2-Vision 模型進行了額外的針對性評估,發現與 Llama 3.1 相比,其圖像理解能力不太可能增加科學能力。
- 兒童安全:使用專家團隊進行兒童安全風險評估,通過 Llama 3 模型開發擴展評估基準的覆蓋範圍。與內容專家合作,進行紅隊測試,評估潛在違規內容。
- 網絡攻擊:認為 Llama 3.1 的測試結果也適用於 Llama 3.2,因為 Llama 3.2 的視覺能力與網絡提升一般無關。
社區
- 行業合作:積極參與開源聯盟,為安全標準化和透明度做出貢獻。鼓勵社區採用 MLCommons 概念驗證評估等分類法,促進安全和內容評估的協作和透明度。
- 資助計劃:設立 Llama 影響資助 計劃,支持 Meta 的 Llama 模型在教育、氣候和開放創新三個類別中的應用。
- 報告機制:建立了 輸出報告機制 和 漏洞賞金計劃,藉助社區力量不斷改進 Llama 技術。
倫理考慮和限制
- 價值觀:Llama 3.2 的核心價值觀是開放、包容和有用。旨在為所有人服務,適用於廣泛的用例。尊重所有用戶的尊嚴和自主權,尤其是自由思想和表達的價值觀。
- 測試:Llama 3.2 是一項新技術,其潛在輸出無法提前預測,可能會產生不準確、有偏見或其他令人反感的響應。在部署 Llama 3.2 模型的應用程序之前,開發者應進行針對特定應用的安全測試和調優。
🔧 技術細節
模型架構
Llama 3.2-Vision 基於 Llama 3.1 文本模型構建,使用優化的變壓器架構。微調版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF),以符合人類對有用性和安全性的偏好。為支持圖像識別任務,模型使用了單獨訓練的視覺適配器,該適配器由一系列交叉注意力層組成,將圖像編碼器的表示輸入到核心大語言模型中。
訓練數據
預訓練使用 60 億圖像和文本對,指令微調數據包括公開可用的視覺指令數據集和超過 300 萬個合成生成的示例。預訓練數據截止到 2023 年 12 月。
訓練過程
使用自定義訓練庫、Meta 的自定義 GPU 集群和生產基礎設施進行預訓練,微調、標註和評估也在生產基礎設施上進行。訓練累計使用 202 萬 GPU 小時的 H100-80GB(TDP 為 700W)類型硬件,估計總基於位置的溫室氣體排放量為 584 噸 CO2eq,基於市場的溫室氣體排放量為 0 噸 CO2eq。
📄 許可證
使用 Llama 3.2 受 Llama 3.2 社區許可證 (自定義商業許可協議)的約束。
Llama 3.2 社區許可協議
請參考文檔中的詳細內容,瞭解使用、複製、分發和修改 Llama 材料的條款和條件。
Llama 3.2 可接受使用政策
使用 Llama 3.2 需遵守 可接受使用政策,禁止用於違反法律、侵犯他人權利、造成傷害或其他不當行為。
如果你發現模型違反可接受使用政策或存在其他問題,可以通過以下方式進行報告:
- 報告模型問題:https://github.com/meta-llama/llama-models/issues
- 報告模型生成的風險內容:developers.facebook.com/llama_output_feedback
- 報告漏洞和安全問題:facebook.com/whitehat/info
- 報告違反可接受使用政策或未經授權使用 Llama 3.2 的情況:LlamaUseReport@meta.com









