模型概述
模型特點
模型能力
使用案例
🚀 Llama 3.2-Vision模型
Llama 3.2-Vision是多模態大語言模型集合,包含11B和90B兩種規格。它經過預訓練和指令調優,在視覺識別、圖像推理、圖像描述和圖像問答等任務上表現出色,在行業基準測試中超越了許多開源和閉源的多模態模型。
🚀 快速開始
你可以使用transformers
庫或原始的llama
代碼庫來運行Llama 3.2-90B-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-90B-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]))
使用原始llama
代碼庫
請按照倉庫中的說明進行操作。
你可以使用huggingface-cli
下載原始檢查點:
huggingface-cli download meta-llama/Llama-3.2-90B-Vision --include "original/*" --local-dir Llama-3.2-90B-Vision
✨ 主要特性
- 多模態能力:支持圖像和文本輸入,輸出文本,適用於多種圖像推理任務。
- 多種語言支持:文本任務支持英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語;圖像+文本應用僅支持英語。
- 高性能表現:在多個標準自動基準測試中表現出色,超越了許多現有模型。
- 可定製性:開發者可以根據需要對模型進行微調。
📦 安裝指南
使用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-90B-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]))
高級用法
開發者可以根據具體需求對模型進行微調,以適應不同的任務和場景。
📚 詳細文檔
模型信息
屬性 | 詳情 |
---|---|
模型開發者 | Meta |
模型架構 | 基於Llama 3.1文本模型構建,使用優化的Transformer架構,調優版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF) |
訓練數據 | 6B圖像和文本對,指令調優數據包括公開可用的視覺指令數據集和超過300萬個合成生成的示例 |
支持語言 | 文本任務:英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語;圖像+文本應用:僅英語 |
模型發佈日期 | 2024年9月25日 |
狀態 | 靜態模型,未來可能會發布改進版本 |
許可證 | Llama 3.2社區許可證 |
反饋 | 有關模型的問題或評論,請參考模型README;有關生成參數和使用方法的技術信息,請參考這裡 |
預期用途
- 預期用例:商業和研究用途,包括視覺問答、文檔視覺問答、圖像描述、圖像文本檢索和視覺定位等。
- 超出範圍:違反適用法律法規的使用,違反可接受使用政策和Llama 3.2社區許可證的使用,使用模型不支持的語言。
硬件和軟件
- 訓練因素:使用自定義訓練庫、Meta的自定義GPU集群和生產基礎設施進行預訓練,微調、註釋和評估也在生產基礎設施上進行。
- 訓練能源使用:在H100-80GB(TDP為700W)類型的硬件上累計使用了202萬個GPU小時進行訓練。
- 訓練溫室氣體排放:基於位置的估計總溫室氣體排放量為584噸CO2eq,基於市場的總溫室氣體排放量為0噸CO2eq。
訓練數據
- 概述:Llama 3.2-Vision在6B圖像和文本對上進行預訓練,指令調優數據包括公開可用的視覺指令數據集和超過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 3.2 Instruct:安全微調的主要目標是為研究社區提供有價值的資源,為開發者提供安全強大的模型。採用多方面的數據收集方法,注重模型拒絕良性提示和拒絕語氣。
- Llama 3.2系統:大型語言模型不應單獨部署,而應作為整體AI系統的一部分,並根據需要添加額外的安全護欄。開發者在構建代理系統時應部署系統安全措施。
新功能和用例
- 技術進步: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影響資助計劃,支持對社會有益的應用。
- 報告機制:建立了輸出報告機制和漏洞賞金計劃,以持續改進Llama技術。
倫理考慮和侷限性
- 價值觀:Llama 3.2的核心價值觀是開放性、包容性和實用性。旨在為所有人服務,適用於廣泛的用例。
- 測試:Llama 3.2是新技術,使用時存在風險。在部署模型應用之前,開發者應進行安全測試和調優。請參考負責任使用指南、信任和安全解決方案和其他資源瞭解更多信息。
🔧 技術細節
模型架構
Llama 3.2-Vision基於Llama 3.1文本模型構建,使用優化的Transformer架構。調優版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF)來與人類的有用性和安全性偏好對齊。為支持圖像識別任務,模型使用了一個單獨訓練的視覺適配器,該適配器由一系列交叉注意力層組成,將圖像編碼器表示輸入到核心大語言模型中。
訓練數據
模型在6B圖像和文本對上進行預訓練,指令調優數據包括公開可用的視覺指令數據集和超過300萬個合成生成的示例。預訓練數據截止到2023年12月。
訓練方法
使用自定義訓練庫、Meta的自定義GPU集群和生產基礎設施進行預訓練,微調、註釋和評估也在生產基礎設施上進行。訓練過程中使用了監督微調(SFT)和基於人類反饋的強化學習(RLHF)。
📄 許可證
使用Llama 3.2受Llama 3.2社區許可證(自定義商業許可協議)的約束。
LLAMA 3.2社區許可協議
Llama 3.2版本發佈日期:2024年9月25日
“協議”指的是本文中規定的使用、複製、分發和修改Llama材料的條款和條件。
“文檔”指的是Meta在https://llama.meta.com/doc/overview 上分發的隨Llama 3.2附帶的規格、手冊和文檔。
“被許可方”或“您”指的是您,或者您的僱主,或者任何其他個人或實體(如果您代表該個人或實體簽訂本協議),且該個人或實體達到適用法律、規則或法規要求的提供法律同意的年齡,並且如果您代表他們簽訂本協議,具有約束您的僱主或該其他個人或實體的法律權力。
“Llama 3.2”指的是基礎大語言模型以及軟件和算法,包括機器學習模型代碼、訓練好的模型權重、支持推理的代碼、支持訓練的代碼、支持微調的代碼以及Meta在https://www.llama.com/llama-downloads 上分發的上述內容的其他元素。
“Llama材料”指的是Meta根據本協議提供的專有Llama 3.2和文檔(及其任何部分)的統稱。
“Meta”或“我們”指的是Meta Platforms Ireland Limited(如果您位於歐洲經濟區或瑞士,或者如果您是一個實體,您的主要營業地位於歐洲經濟區或瑞士)以及Meta Platforms, Inc.(如果您位於歐洲經濟區或瑞士以外)。
通過點擊下面的“我接受”,或者通過使用或分發Llama材料的任何部分或元素,您同意受本協議的約束。
- 許可權利和再分發
a. 權利授予。您被授予在Meta體現在Llama材料中的知識產權或其他權利下的非排他性、全球性、不可轉讓且免版稅的有限許可,以使用、複製、分發、拷貝、創作衍生作品並對Llama材料進行修改。
b. 再分發和使用
i. 如果您分發或提供Llama材料(或其任何衍生作品),或者包含其中任何內容的產品或服務(包括另一個AI模型),您應(A)隨任何此類Llama材料提供本協議的副本;並且(B)在相關網站、用戶界面、博客文章、關於頁面或產品文檔上顯著顯示“Built with Llama”。如果您使用Llama材料或Llama材料的任何輸出或結果來創建、訓練、微調或以其他方式改進一個AI模型,並進行分發或提供該模型,您還應在任何此類AI模型名稱的開頭包含“Llama”。
ii. 如果您作為集成最終用戶產品的一部分從被許可方處接收Llama材料或其任何衍生作品,則本協議第2條不適用於您。
iii. 您必須在您分發的所有Llama材料副本中,在作為此類副本一部分分發的“通知”文本文件中保留以下歸屬聲明:“Llama 3.2根據Llama 3.2社區許可證獲得許可,版權所有 © Meta Platforms, Inc. 保留所有權利。”
iv. 您對Llama材料的使用必須符合適用的法律和法規(包括貿易合規法律和法規),並遵守Llama材料的可接受使用政策(可在https://www.llama.com/llama3_2/use-policy 上獲取),該政策特此通過引用併入本協議。
-
額外商業條款。如果在Llama 3.2版本發佈日期,被許可方或被許可方的關聯方提供的產品或服務在前一個日曆月的月活躍用戶數超過7億,則您必須向Meta請求許可,Meta可自行決定是否授予您許可,並且在Meta明確授予您此類權利之前,您無權行使本協議下的任何權利。
-
warranty免責聲明。除非適用法律要求,Llama材料及其任何輸出和結果均按“現狀”提供,不提供任何形式的保證,Meta否認所有形式的保證,包括但不限於所有權、不侵權、適銷性或特定用途適用性的保證。您獨自負責確定使用或再分發Llama材料的適當性,並承擔與您使用Llama材料及其任何輸出和結果相關的任何風險。
-
責任限制。在任何情況下,Meta或其關聯方均不對因本協議引起的任何利潤損失或任何間接、特殊、後果性、偶發性、懲戒性或懲罰性損害承擔責任,無論責任理論為何,包括合同、侵權、疏忽、產品責任或其他方面,即使Meta或其關聯方已被告知此類損害的可能性。
-
知識產權
a. 本協議未授予商標許可,並且與Llama材料相關,Meta和被許可方均不得使用對方或其任何關聯方擁有或關聯的任何名稱或標記,除非在描述和再分發Llama材料時進行合理和慣常使用所需,或如本節5(a)所述。Meta特此授予您僅在遵守第1.b.i條最後一句的要求時使用“Llama”(“標記”)的許可。您將遵守Meta的品牌指南(目前可在https://about.meta.com/brand/resources/meta/company-brand/ 上獲取)。因您使用標記而產生的所有商譽將歸屬於Meta的利益。
b. 鑑於Meta對Llama材料及其為Meta製作的衍生作品的所有權,就您製作的Llama材料的任何衍生作品和修改而言,在您和Meta之間,您是且將是此類衍生作品和修改的所有者。
c. 如果您對Meta或任何實體提起訴訟或其他程序(包括在訴訟中的反訴或反請求),聲稱Llama材料或Llama 3.2的輸出或結果,或上述任何部分,構成侵犯您擁有或可許可的知識產權或其他權利,則本協議授予您的任何許可將自提起此類訴訟或請求之日起終止。您將賠償並使Meta免受因您使用或分發Llama材料而引起的或與之相關的任何第三方索賠。
-
期限和終止。本協議的期限將自您接受本協議或訪問Llama材料時開始,並將持續有效,直至根據本文的條款和條件終止。如果您違反本協議的任何條款或條件,Meta可終止本協議。本協議終止後,您應刪除並停止使用Llama材料。第3、4和7條在本協議終止後仍然有效。
-
適用法律和管轄權。本協議將受加利福尼亞州法律管轄並依其解釋,不考慮法律選擇原則,並且《聯合國國際貨物銷售合同公約》不適用於本協議。加利福尼亞州的法院對因本協議引起的任何爭議具有專屬管轄權。
Llama 3.2可接受使用政策
Meta致力於促進其工具和功能(包括Llama 3.2)的安全和公平使用。如果您訪問或使用Llama 3.2,您同意本可接受使用政策(“政策”)。本政策的最新版本可在https://www.llama.com/llama3_2/use-policy上找到。
禁止使用
我們希望每個人都能安全、負責地使用Llama 3.2。您同意您不會使用或允許他人使用Llama 3.2進行以下行為:
- 違反法律或他人權利,包括:
- 從事、促進、生成、促成、鼓勵、策劃、煽動或進一步推動非法或違法活動或內容,例如:
- 暴力或恐怖主義
- 對兒童的剝削或傷害,包括招攬、創作、獲取或傳播兒童剝削性內容或未能報告兒童性虐待材料
- 人口販運、剝削和性暴力
- 向未成年人非法分發信息或材料,包括淫穢材料,或未能對此類信息或材料採用法律要求的年齡限制
- 性招攬
- 任何其他犯罪活動
- 從事、促進、煽動或促成對個人或群體的騷擾、虐待、威脅或欺凌
- 從事、促進、煽動或促成在就業、就業福利、信貸、住房、其他經濟福利或其他基本商品和服務的提供方面的歧視或其他非法或有害行為
- 從事未經授權或無執照的任何職業實踐,包括但不限於金融、法律、醫療/健康或相關專業實踐
- 收集、處理、披露、生成或推斷個人的私人或敏感信息,包括個人的身份、健康或人口統計信息,除非您已根據適用法律獲得這樣做的權利
- 從事或促成任何侵犯、盜用或以其他方式違反任何第三方權利的行為或生成任何內容,包括使用Llama材料的任何產品或服務的輸出或結果
- 創建、生成或促成惡意代碼、惡意軟件、計算機病毒的創建,或做任何其他可能使網站或計算機系統無法正常工作、負擔過重、干擾或損害其正常運行、完整性、操作或外觀的事情
- 從事任何行動或促成任何行動,故意規避或移除使用限制或其他安全措施,或啟用Meta禁用的功能
- 從事、促進、生成、促成、鼓勵、策劃、煽動或進一步推動非法或違法活動或內容,例如:
- 從事、促進、煽動、促成或協助策劃或開展對個人造成死亡或身體傷害風險的活動,包括與以下方面相關的Llama 3.2的使用: 8. 軍事、戰爭、核工業或應用、間諜活動、用於受美國國務院維護的《國際武器貿易條例》(ITAR)約束的材料或活動,或用於1989年美國《生物武器反恐法》或1997年《化學武器公約實施法》約束的材料或活動 9. 槍支和非法武器(包括武器開發) 10. 非法藥物和受管制/受控物質 11. 關鍵基礎設施、運輸技術或重型機械的操作 12. 自我傷害或傷害他人,包括自殺、切割和飲食失調 13. 任何旨在煽動或促進暴力、虐待或對個人造成身體傷害的內容
- 故意欺騙或誤導他人,包括與以下方面相關的Llama 3.2的使用: 14. 生成、促進或進一步推動欺詐或虛假信息的創建或推廣 15. 生成、促進或進一步推動誹謗性內容,包括創建誹謗性聲明、圖像或其他內容 16. 生成、促進或進一步分發垃圾郵件 17. 在未經同意、授權或合法權利的情況下冒充他人 18. 表示Llama 3.2的使用或輸出是人類生成的 19. 生成或促成虛假的在線互動,包括虛假評論和其他虛假在線互動方式
- 未能向最終用戶適當披露您的AI系統的任何已知危險
- 與旨在生成非法內容或從事非法或有害行為的第三方工具、模型或軟件進行交互,和/或表示此類工具、模型或軟件的輸出與Meta或Llama 3.2相關聯
對於Llama 3.2中包含的任何多模態模型,如果您是居住在歐盟的個人或主要營業地在歐盟的公司,則本協議第1(a)條授予的權利不適用於您。此限制不適用於包含任何此類多模態模型的產品或服務的最終用戶。
請通過以下方式之一報告任何違反本政策、軟件“漏洞”或其他可能導致違反本政策的問題:
- 報告模型問題:https://github.com/meta-llama/llama-models/issues
- 報告模型生成的危險內容:developers.facebook.com/llama_output_feedback
- 報告漏洞和安全問題:facebook.com/whitehat/info
- 報告違反可接受使用政策或未經授權使用Llama 3.2的情況:LlamaUseReport@meta.com








