模型概述
模型特點
模型能力
使用案例
🚀 Llama 3.2-Vision模型
Llama 3.2-Vision是一系列多模態大語言模型,有11B和90B兩種規格。它能處理圖像和文本輸入,在視覺識別、圖像推理、圖像描述等任務上表現出色,優於許多開源和閉源的多模態模型。
🚀 快速開始
環境準備
確保你已經安裝了transformers
庫,並且版本在4.45.0及以上。你可以使用以下命令進行更新:
pip install --upgrade transformers
運行推理
以下是一個使用transformers
庫進行推理的示例代碼:
import requests
import torch
from PIL import Image
from transformers import MllamaForConditionalGeneration, AutoProcessor
model_id = "meta-llama/Llama-3.2-11B-Vision"
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)
prompt = "<|image|><|begin_of_text|>If I had to write a haiku for this one"
inputs = processor(image, prompt, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=30)
print(processor.decode(output[0]))
✨ 主要特性
- 多模態處理:支持圖像和文本輸入,可用於視覺問答、圖像描述等多種任務。
- 高性能表現:在多個行業基準測試中,優於許多開源和閉源的多模態模型。
- 語言支持廣泛:文本任務支持英語、德語、法語等多種語言;圖像+文本應用僅支持英語。
- 可定製性強:開發者可根據需求對模型進行微調,以適應不同的應用場景。
📦 安裝指南
使用transformers
庫
確保你的transformers
庫版本在4.45.0及以上,可使用以下命令進行更新:
pip install --upgrade transformers
使用原始llama
代碼庫
本倉庫包含兩個版本的Llama-3.2-11B-Vision,可分別用於transformers
庫和原始llama
代碼庫。如需使用原始llama
代碼庫,請按照倉庫中的說明進行操作。
你可以使用以下命令下載原始檢查點:
huggingface-cli download meta-llama/Llama-3.2-11B-Vision --include "original/*" --local-dir Llama-3.2-11B-Vision
💻 使用示例
基礎用法
import requests
import torch
from PIL import Image
from transformers import MllamaForConditionalGeneration, AutoProcessor
model_id = "meta-llama/Llama-3.2-11B-Vision"
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)
prompt = "<|image|><|begin_of_text|>If I had to write a haiku for this one"
inputs = processor(image, prompt, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=30)
print(processor.decode(output[0]))
高級用法
在實際應用中,你可以根據具體需求調整模型的參數,如max_new_tokens
、temperature
等,以獲得更好的生成效果。
📚 詳細文檔
模型信息
屬性 | 詳情 |
---|---|
模型開發者 | Meta |
模型架構 | 基於Llama 3.1文本模型構建,使用優化的Transformer架構,微調版本採用監督微調(SFT)和基於人類反饋的強化學習(RLHF) |
訓練數據 | 60億個圖像和文本對,指令調優數據包括公開可用的視覺指令數據集和超過300萬個合成生成的示例 |
參數數量 | 11B(10.6)和90B(88.8) |
輸入模態 | 文本 + 圖像 |
輸出模態 | 文本 |
上下文長度 | 128k |
GQA | 是 |
數據截止日期 | 2023年12月 |
支持語言 | 文本任務支持英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語;圖像+文本應用僅支持英語 |
模型發佈日期 | 2024年9月25日 |
狀態 | 基於離線數據集訓練的靜態模型,未來可能會發布改進版本 |
許可證 | Llama 3.2社區許可證 |
反饋渠道 | 可在模型README中找到提供反饋的說明;如需獲取更多技術信息,請訪問此處 |
預期用途
- 商業和研究用途:指令調優模型適用於視覺識別、圖像推理、圖像描述和基於圖像的對話等任務;預訓練模型可用於各種圖像推理任務。
- 其他潛在用途:包括視覺問答(VQA)、文檔視覺問答(DocVQA)、圖像描述、圖像-文本檢索和視覺定位等。
使用範圍限制
- 不得違反適用的法律法規(包括貿易合規法律)。
- 不得違反可接受使用政策和Llama 3.2社區許可證的規定。
- 不得使用模型卡片中未明確支持的語言。
🔧 技術細節
硬件和軟件
- 訓練因素:使用自定義訓練庫、Meta的自定義GPU集群和生產基礎設施進行預訓練;微調、標註和評估也在生產基礎設施上進行。
- 訓練能耗:在H100-80GB(TDP為700W)類型的硬件上,累計使用了202萬個GPU小時進行訓練。
- 訓練溫室氣體排放:基於位置的估計總溫室氣體排放量為584噸CO2eq;由於Meta自2020年以來在全球運營中實現了淨零溫室氣體排放,並100%使用可再生能源,因此基於市場的總溫室氣體排放量為0噸CO2eq。
訓練數據
- 概述:Llama 3.2-Vision在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模型在負責任部署方面的示例可在社區故事網頁中找到。Meta的方法是構建最有用的模型,使世界受益於技術力量,通過調整模型安全性以應對通用用例中的標準危害。開發者應根據自己的用例定製安全性,定義自己的政策,並在Llama系統中部署必要的保障措施。Llama 3.2的開發遵循了負責任使用指南中概述的最佳實踐。
- Llama 3.2指令調優:主要目標是為研究社區提供研究安全微調魯棒性的有價值資源,為開發者提供一個隨時可用、安全且強大的模型,以減少部署安全AI系統的工作量。實施了與Llama 3相同的安全緩解措施,更多信息可在Llama 3 論文中瞭解。
- Llama 3.2系統:大型語言模型(包括Llama 3.2)不應單獨部署,而應作為整體AI系統的一部分,並根據需要添加額外的安全保障措施。開發者在構建代理系統時應部署系統保障措施,以實現正確的有用性-安全性平衡,並減輕系統固有的安全和風險。Meta提供了保障措施,包括Llama Guard、Prompt Guard和Code Shield,開發者應將其與Llama模型或其他大語言模型一起部署。
新功能和用例
- 技術進步:Llama的發佈通常會引入新功能,除了適用於所有生成式AI用例的最佳實踐外,還需要特定的考慮。對於Llama 3.2支持的先前版本的功能,請參閱Llama 3.1模型卡片。
- 圖像推理:Llama 3.2-Vision模型具有多模態(文本和圖像)輸入能力,可實現圖像推理應用。在負責任的發佈過程中,採取了專門的措施,包括評估和緩解措施,以解決模型在圖像中唯一識別個人的風險。與其他大語言模型風險一樣,模型可能並不總是對對抗性提示具有魯棒性,開發者應在其應用的背景下評估識別和其他適用風險,並考慮部署Llama Guard 3-11B-Vision作為其系統的一部分或採取其他適當的緩解措施。
評估
- 大規模評估:構建了專門的對抗性評估數據集,並評估了由Llama模型和Purple Llama保障措施組成的系統,以過濾輸入提示和輸出響應。建議為特定用例構建專門的評估數據集。
- 紅隊測試:定期進行紅隊測試,通過對抗性提示發現風險,並利用這些經驗改進基準測試和安全調優數據集。與關鍵風險領域的專家合作,瞭解這些現實危害的性質以及此類模型可能對社會造成的意外危害。根據這些對話,為紅隊設定了一組對抗性目標,如提取有害信息或重新編程模型以潛在地造成危害。紅隊由網絡安全、對抗性機器學習、負責任AI和內容完整性方面的專家組成,以及具有特定地理市場內容完整性問題背景的多語言內容專家。
關鍵風險
- CBRNE(化學、生物、放射、核和爆炸武器):對於Llama 3.1,為評估與化學和生物武器擴散相關的風險,進行了提升測試,以評估使用Llama 3.1模型是否會顯著增強惡意行為者使用此類武器進行攻擊的能力。對於Llama 3.2-Vision模型,進行了額外的針對性評估,發現與Llama 3.1相比,由於其增加的圖像理解能力,Llama 3.2不太可能增加科學能力。
- 兒童安全:由專家團隊進行兒童安全風險評估,以評估模型產生可能導致兒童安全風險的輸出的能力,並通過微調提供必要和適當的風險緩解措施。在Llama 3模型開發過程中,利用這些專家紅隊測試擴展了評估基準的覆蓋範圍。對於Llama 3,使用基於目標的方法進行了新的深入測試,以評估模型在多個攻擊向量下的風險,包括Llama 3訓練的額外語言。還與內容專家合作進行紅隊測試,評估潛在違規內容,同時考慮特定市場的細微差別和經驗。
- 網絡攻擊:對於Llama 3.1 405B,進行了網絡攻擊提升研究,調查大語言模型是否能在技能水平和速度方面增強人類在黑客任務中的能力。攻擊自動化研究專注於評估大語言模型作為自主代理在網絡攻擊行動中的能力,特別是在勒索軟件攻擊的背景下。由於Llama 3.2的視覺能力通常與網絡提升無關,因此認為對Llama 3.1進行的測試也適用於Llama 3.2。
社區
- 行業合作:生成式AI安全需要專業知識和工具,Meta相信開放社區的力量可以加速其發展。Meta是AI聯盟、AI合作組織和MLCommons等開放聯盟的積極成員,積極為安全標準化和透明度做出貢獻。鼓勵社區採用MLCommons概念驗證評估等分類法,以促進安全和內容評估的合作和透明度。Meta的Purple Llama工具已開源,供社區使用,並廣泛分佈在包括雲服務提供商在內的生態系統合作伙伴中。鼓勵社區為Github倉庫做出貢獻。
- 資助計劃:設立了Llama影響資助計劃,以識別和支持Meta的Llama模型在教育、氣候和開放創新三個類別中的最有前景的應用。數百份申請中的20名決賽選手可在此處找到。
- 反饋機制:建立了一套資源,包括輸出報告機制和漏洞賞金計劃,以在社區的幫助下不斷改進Llama技術。
📄 許可證
使用Llama 3.2受Llama 3.2社區許可證(自定義商業許可協議)的約束。
Llama 3.2社區許可協議
協議概述
本協議規定了使用、複製、分發和修改Llama材料的條款和條件。通過點擊“我接受”或使用或分發Llama材料的任何部分,即表示同意受本協議約束。
許可權利和再分發
- 權利授予:授予非排他性、全球性、不可轉讓和免版稅的有限許可,以使用、複製、分發、複製、創建衍生作品和修改Llama材料。
- 再分發和使用:
- 若分發或提供Llama材料(或其任何衍生作品),或包含它們的產品或服務,需提供本協議的副本,並在相關網站、用戶界面、博客文章、關於頁面或產品文檔上顯著顯示“Built with Llama”。若使用Llama材料創建、訓練、微調或改進AI模型並進行分發,需在模型名稱開頭包含“Llama”。
- 若從被許可方處獲得Llama材料或其衍生作品作為集成終端用戶產品的一部分,本協議第2條不適用。
- 分發Llama材料時,需在所有副本中保留歸因聲明。
- 使用Llama材料必須遵守適用法律法規和可接受使用政策。
額外商業條款
若在Llama 3.2版本發佈日期,被許可方或其關聯方提供的產品或服務的月活躍用戶數在前一個日曆月超過7億,則必須向Meta請求許可,Meta可自行決定是否授予。在Meta明確授予權利之前,不得行使本協議下的任何權利。
保修免責聲明
除非適用法律要求,Llama材料及其任何輸出和結果按“原樣”提供,不提供任何形式的保證。Meta不承擔任何明示或暗示的保證責任,包括所有權、不侵權、適銷性或特定用途適用性的保證。用戶獨自負責確定使用或再分發Llama材料的適當性,並承擔使用相關的所有風險。
責任限制
在任何情況下,Meta或其關聯方均不對因本協議引起的任何利潤損失或任何間接、特殊、後果性、偶發性、懲戒性或懲罰性損害承擔責任,即使Meta或其關聯方已被告知可能發生此類損害。
知識產權
- 商標許可:本協議未授予商標許可,除非合理和慣常使用或本協議第5(a)條規定,雙方不得使用對方或其關聯方的名稱或標誌。Meta授予使用“Llama”標誌的許可,僅用於遵守第1.b.i條的最後一句。用戶需遵守Meta的品牌指南,使用標誌產生的所有商譽歸Meta所有。
- 衍生作品所有權:對於用戶對Llama材料進行的衍生作品和修改,用戶是其所有者,但需遵守Meta對Llama材料及其衍生作品的所有權。
- 訴訟終止許可:若用戶對Meta或任何實體提起訴訟或其他程序,聲稱Llama材料或其輸出構成對其知識產權或其他權利的侵權,則本協議授予的所有許可自訴訟或索賠提起之日起終止。用戶需賠償並使Meta免受因用戶使用或分發Llama材料引起的任何第三方索賠。
期限和終止
本協議自用戶接受或訪問Llama材料之日起生效,直至根據本協議條款終止。若用戶違反本協議的任何條款,Meta可終止本協議。協議終止後,用戶應刪除並停止使用Llama材料。第3、4和7條在協議終止後仍然有效。
適用法律和管轄權
本協議受加利福尼亞州法律管轄,不考慮法律選擇原則,《聯合國國際貨物銷售合同公約》不適用於本協議。因本協議引起的任何爭議,加利福尼亞州法院具有專屬管轄權。
Llama 3.2可接受使用政策
Meta致力於促進其工具和功能(包括Llama 3.2)的安全和公平使用。使用Llama 3.2即表示同意本可接受使用政策,最新版本可在此處找到。
禁止使用情況
- 違反法律或他人權利:不得使用Llama 3.2從事、促進、煽動或便利任何非法或有害活動,包括暴力、恐怖主義、兒童剝削、人口販運、性侵犯、非法信息分發、騷擾、歧視、未經授權的專業實踐、收集敏感信息、侵權、創建惡意代碼、規避安全措施等。
- 導致人身傷害風險:不得使用Llama 3.2從事、促進、煽動或協助可能導致人員死亡或身體傷害的活動,包括軍事、戰爭、核工業、槍支和非法武器、非法藥物、關鍵基礎設施操作、自我傷害或傷害他人等。
- 欺騙或誤導他人:不得使用Llama 3.2故意欺騙或誤導他人,包括生成欺詐、虛假信息、誹謗內容、垃圾郵件、冒充他人、虛假在線互動等。
- 未披露危險信息:必須向最終用戶適當披露AI系統的任何已知危險。
- 與非法工具交互:不得與旨在生成非法內容或從事非法或有害行為的第三方工具、模型或軟件進行交互,或表示此類工具、模型或軟件的輸出與Meta或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
對於Llama 3.2中包含的任何多模態模型,若用戶是居住在歐盟的個人或主要營業地點在歐盟的公司,則不授予Llama 3.2社區許可協議第1(a)條規定的權利。此限制不適用於包含此類多模態模型的產品或服務的最終用戶。
🔖 倫理考慮和侷限性
核心價值觀
Llama 3.2的核心價值觀是開放性、包容性和實用性。它旨在為所有人服務,適用於廣泛的用例,因此設計為對不同背景、經驗和觀點的人都可訪問。Llama 3.2尊重所有用戶的尊嚴和自主權,特別是在推動創新和進步的自由思想和表達價值觀方面。
潛在風險
Llama 3.2是一項新技術,與任何新技術一樣,使用它存在風險。到目前為止進行的測試尚未涵蓋,也不可能涵蓋所有場景。因此,與所有大語言模型一樣,Llama 3.2的潛在輸出無法提前預測,模型可能在某些情況下對用戶提示產生不準確、有偏見或其他令人反感的響應。
建議
在部署Llama 3.2模型的任何應用之前,開發者應針對其特定應用進行安全測試和微調。請參考可用資源,包括負責任使用指南、信任與安全解決方案和其他資源,以瞭解更多關於負責任開發的信息。








