模型概述
模型特點
模型能力
使用案例
🚀 Meta Llama 3.2 多語言大語言模型
Meta Llama 3.2 是一系列多語言大語言模型,包含 1B 和 3B 規模的預訓練及指令調優生成模型。這些模型在多語言對話場景,如智能檢索和摘要任務中表現出色,在行業基準測試中超越了許多開源和閉源聊天模型。
🚀 快速開始
使用 transformers
庫
從 transformers >= 4.43.0
版本開始,你可以使用 transformers
庫的 pipeline
抽象或 Auto
類結合 generate()
函數進行對話推理。
確保通過以下命令更新 transformers
庫:
pip install --upgrade transformers
以下是一個使用示例:
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-1B-Instruct"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
outputs = pipe(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])
更多關於如何在本地使用模型、使用 torch.compile()
、輔助生成、量化等詳細方法,請參考 huggingface-llama-recipes。
使用 llama
庫
請遵循 倉庫 中的說明。
若要下載原始檢查點,可使用以下 huggingface-cli
命令示例:
huggingface-cli download meta-llama/Llama-3.2-1B-Instruct --include "original/*" --local-dir Llama-3.2-1B-Instruct
✨ 主要特性
- 多語言支持:官方支持英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語,並且在更廣泛的語言數據集上進行了訓練。
- 優化架構:採用優化的變壓器架構,調優版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF),以更好地符合人類對有用性和安全性的偏好。
- 高性能表現:在多個標準自動基準測試中表現出色,超越了許多現有模型。
📦 安裝指南
使用 transformers
庫
確保你已經安裝了 transformers
庫,並且版本不低於 4.43.0。可以使用以下命令進行安裝或更新:
pip install --upgrade transformers
使用 llama
庫
請參考 倉庫 中的安裝說明。
💻 使用示例
基礎用法
以下是使用 transformers
庫進行對話推理的基礎示例:
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-1B-Instruct"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the capital of France?"},
]
outputs = pipe(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"])
高級用法
在實際應用中,你可以根據具體需求調整模型的參數,例如 max_new_tokens
、temperature
等,以獲得不同的輸出效果。以下是一個高級用法示例:
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-1B-Instruct"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a professional travel advisor."},
{"role": "user", "content": "I want to travel to Paris. Can you give me some suggestions?"},
]
outputs = pipe(
messages,
max_new_tokens=512,
temperature=0.7,
top_p=0.9,
)
print(outputs[0]["generated_text"])
📚 詳細文檔
模型信息
- 模型開發者:Meta
- 模型架構:Llama 3.2 是一種自迴歸語言模型,採用優化的變壓器架構。調優版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF)。
- 支持語言:官方支持英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語。開發者可以在遵守許可證和使用政策的前提下,對模型進行微調以支持其他語言。
- 模型發佈日期:2024 年 9 月 25 日
- 狀態:這是一個基於離線數據集訓練的靜態模型,未來可能會發布改進版本。
- 許可證:使用 Llama 3.2 需遵循 Llama 3.2 社區許可證。
預期用途
- 預期用例:適用於多語言的商業和研究用途,如智能聊天、知識檢索、摘要生成、移動 AI 寫作助手等。
- 超出範圍:禁止用於違反適用法律法規(包括貿易合規法律)、違反使用政策和許可證的情況,以及在未明確支持的語言上使用。
硬件和軟件
- 訓練因素:使用自定義訓練庫、Meta 定製的 GPU 集群和生產基礎設施進行預訓練,微調、標註和評估也在生產基礎設施上進行。
- 訓練能源使用:訓練共使用了 916k GPU 小時的 H100 - 80GB(TDP 為 700W)類型硬件。
- 訓練溫室氣體排放:估計基於位置的總溫室氣體排放量為 240 噸 CO2eq,基於市場的總溫室氣體排放量為 0 噸 CO2eq。
訓練數據
Llama 3.2 在來自公開來源的多達 9 萬億個標記的數據上進行了預訓練。在模型開發的預訓練階段,將 Llama 3.1 8B 和 70B 模型的輸出(logits)作為標記級目標。預訓練數據的截止時間為 2023 年 12 月。
基準測試
基礎預訓練模型
類別 | 基準測試 | 樣本數 | 指標 | Llama 3.2 1B | Llama 3.2 3B | Llama 3.1 8B |
---|---|---|---|---|---|---|
通用 | MMLU | 5 | macro_avg/acc_char | 32.2 | 58 | 66.7 |
AGIEval English | 3 - 5 | average/acc_char | 23.3 | 39.2 | 47.8 | |
ARC - Challenge | 25 | acc_char | 32.8 | 69.1 | 79.7 | |
閱讀理解 | SQuAD | 1 | em | 49.2 | 67.7 | 77 |
QuAC (F1) | 1 | f1 | 37.9 | 42.9 | 44.9 | |
DROP (F1) | 3 | f1 | 28.0 | 45.2 | 59.5 | |
長上下文 | Needle in Haystack | 0 | em | 96.8 | 1 | 1 |
指令調優模型
能力 | 基準測試 | 樣本數 | 指標 | Llama 3.2 1B | Llama 3.2 3B | Llama 3.1 8B |
---|---|---|---|---|---|---|
通用 | MMLU | 5 | macro_avg/acc | 49.3 | 63.4 | 69.4 |
重寫 | Open - rewrite eval | 0 | micro_avg/rougeL | 41.6 | 40.1 | 40.9 |
摘要 | TLDR9+ (test) | 1 | rougeL | 16.8 | 19.0 | 17.2 |
指令遵循 | IFEval | 0 | avg(prompt/instruction acc loose/strict) | 59.5 | 77.4 | 80.4 |
數學 | GSM8K (CoT) | 8 | em_maj1@1 | 44.4 | 77.7 | 84.5 |
MATH (CoT) | 0 | final_em | 30.6 | 47.3 | 51.9 | |
推理 | ARC - C | 0 | acc | 59.4 | 78.6 | 83.4 |
GPQA | 0 | acc | 27.2 | 32.8 | 32.8 | |
Hellaswag | 0 | acc | 41.2 | 69.8 | 78.7 | |
工具使用 | BFCL V2 | 0 | acc | 25.7 | 67.0 | 70.9 |
Nexus | 0 | macro_avg/acc | 13.5 | 34.3 | 38.5 | |
長上下文 | InfiniteBench/En.QA | 0 | longbook_qa/f1 | 20.3 | 19.8 | 27.3 |
InfiniteBench/En.MC | 0 | longbook_choice/acc | 38.0 | 63.3 | 72.2 | |
NIH/Multi - needle | 0 | recall | 75.0 | 84.7 | 98.8 | |
多語言 | MGSM (CoT) | 0 | em | 24.5 | 58.2 | 68.9 |
多語言基準測試
類別 | 基準測試 | 語言 | Llama 3.2 1B | Llama 3.2 3B | Llama 3.1 8B |
---|---|---|---|---|---|
通用 | MMLU (5 - shot, macro_avg/acc) | 葡萄牙語 | 39.82 | 54.48 | 62.12 |
西班牙語 | 41.5 | 55.1 | 62.5 | ||
意大利語 | 39.8 | 53.8 | 61.6 | ||
德語 | 39.2 | 53.3 | 60.6 | ||
法語 | 40.5 | 54.6 | 62.3 | ||
印地語 | 33.5 | 43.3 | 50.9 | ||
泰語 | 34.7 | 44.5 | 50.3 |
責任與安全
負責任的部署
- 方法:Llama 是一種基礎技術,旨在用於各種用例。Meta 的 Llama 模型的負責任部署示例可在 社區故事網頁 中找到。
- Llama 3.2 指令調優:目標是為研究社區提供研究安全微調魯棒性的有價值資源,為開發者提供安全強大的模型。採用多方面的數據收集方法,結合人類生成數據和合成數據,開發了多個基於大語言模型的分類器來選擇高質量的提示和響應。
- Llama 3.2 系統:大語言模型(包括 Llama 3.2)不應單獨部署,而應作為整體 AI 系統的一部分,並配備必要的安全護欄。Meta 提供了 安全防護措施,開發者應在部署 Llama 模型或其他大語言模型時使用。
新功能和用例
Llama 3.2 1B 和 3B 模型預計將部署在高度受限的環境中,如移動設備。開發者應確保系統的安全性符合用例要求,建議使用輕量級的系統安全防護措施。
評估
- 擴展評估:構建了專門的對抗性評估數據集,評估由 Llama 模型和 Purple Llama 安全防護措施組成的系統。建議為具體用例構建專門的評估數據集。
- 紅隊測試:定期進行紅隊測試,目標是通過對抗性提示發現風險,並利用這些經驗改進基準測試和安全調優數據集。
關鍵風險
- CBRNE(化學、生物、放射、核和爆炸武器):對 Llama 3.1 70B 和 405B 進行了提升測試,以評估與化學和生物武器擴散相關的風險,該測試也適用於較小的 1B 和 3B 模型。
- 兒童安全:使用專家團隊進行兒童安全風險評估,通過 Llama 3 模型開發擴展了評估基準的覆蓋範圍。
- 網絡攻擊:對 Llama 3.1 405B 進行了網絡攻擊提升研究和攻擊自動化研究,認為這些測試也適用於 Llama 3.2 模型。
社區
- 行業合作:積極參與開放聯盟,如 AI 聯盟、AI 合作組織和 MLCommons,為安全標準化和透明度做出貢獻。鼓勵社區採用 MLCommons 概念驗證評估等分類法。
- 資助計劃:設立了 Llama 影響資助計劃,支持對社會有益的應用。
- 反饋機制:建立了 輸出報告機制 和 漏洞賞金計劃,以持續改進 Llama 技術。
倫理考慮和限制
- 價值觀:Llama 3.2 的核心價值觀是開放性、包容性和有用性,旨在為廣泛的用戶和用例服務。
- 測試:作為新技術,Llama 3.2 的使用存在風險,測試無法覆蓋所有場景。在部署應用之前,開發者應進行針對特定應用的安全測試和調優。
🔧 技術細節
模型架構
Llama 3.2 採用優化的變壓器架構,是一種自迴歸語言模型。調優版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF)來對齊人類偏好。
訓練過程
在預訓練階段,使用來自公開來源的多達 9 萬億個標記的數據。將 Llama 3.1 8B 和 70B 模型的輸出(logits)作為標記級目標,在剪枝後使用知識蒸餾恢復性能。在訓練後,使用與 Llama 3.1 類似的方法,通過多輪對齊生成最終的聊天模型,每輪包括監督微調(SFT)、拒絕採樣(RS)和直接偏好優化(DPO)。
📄 許可證
使用 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 材料的任何部分或元素,您同意受本協議約束。
-
許可權利和再分發
- 權利授予:您被授予在 Meta 體現在 Llama 材料中的知識產權或其他權利下的非排他性、全球性、不可轉讓且免版稅的有限許可,以使用、複製、分發、拷貝、創作衍生作品並對 Llama 材料進行修改。
- 再分發和使用
- 如果您分發或提供 Llama 材料(或其任何衍生作品),或包含其中任何內容的產品或服務(包括其他 AI 模型),您應(A)隨任何此類 Llama 材料提供本協議的副本;(B)在相關網站、用戶界面、博客文章、關於頁面或產品文檔上顯著顯示“Built with Llama”。如果您使用 Llama 材料或其任何輸出或結果來創建、訓練、微調或以其他方式改進一個 AI 模型,並進行分發或提供,您還應在任何此類 AI 模型名稱的開頭包含“Llama”。
- 如果您作為集成最終用戶產品的一部分從被許可方處接收 Llama 材料或其任何衍生作品,則本協議第 2 條不適用於您。
- 您必須在您分發的所有 Llama 材料副本中保留以下歸屬聲明,該聲明應包含在作為此類副本一部分分發的“Notice”文本文件中:“Llama 3.2 is licensed under the Llama 3.2 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved.”
- 您對 Llama 材料的使用必須遵守適用的法律法規(包括貿易合規法律法規),並遵守 Llama 材料的可接受使用政策(可在 https://www.llama.com/llama3_2/use-policy 上找到),該政策特此通過引用併入本協議。
-
額外商業條款:如果在 Llama 3.2 版本發佈日期,被許可方或其關聯方提供的產品或服務的月活躍用戶在前一個日曆月超過 7 億,則您必須向 Meta 請求許可,Meta 可自行決定是否授予您許可,並且在 Meta 明確授予您此類權利之前,您無權行使本協議下的任何權利。
-
保修免責聲明:除非適用法律要求,否則 Llama 材料及其任何輸出和結果按“現狀”提供,不提供任何形式的保證,Meta 明確排除所有形式的保證,包括但不限於所有權、不侵權、適銷性或特定用途適用性的保證。您獨自負責確定使用或再分發 Llama 材料的適當性,並承擔與您使用 Llama 材料及其任何輸出和結果相關的任何風險。
-
責任限制:在任何情況下,Meta 或其關聯方均不對因本協議引起的任何利潤損失或任何間接、特殊、後果性、偶發性、示範性或懲罰性損害承擔責任,無論責任理論如何,即使 Meta 或其關聯方已被告知此類損害的可能性。
-
知識產權
- 本協議未授予商標許可,與 Llama 材料相關的情況下,除非在描述和再分發 Llama 材料的合理和慣常使用中需要,或如本節 5(a) 所述,否則 Meta 和被許可方均不得使用對方或其任何關聯方擁有或關聯的任何名稱或標記。Meta 特此授予您僅在遵守第 1.b.i 條最後一句的要求時使用“Llama”(“標記”)的許可。您將遵守 Meta 的品牌指南(目前可在 https://about.meta.com/brand/resources/meta/company-brand/ 上找到)。因您使用標記而產生的所有商譽將歸屬於 Meta。
- 鑑於 Meta 對 Llama 材料及其衍生作品的所有權,就您對 Llama 材料進行的任何衍生作品和修改而言,您是且將是此類衍生作品和修改的所有者。
- 如果您對 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 材料的任何產品或服務的輸出或結果。
- 創建、生成或便利創建惡意代碼、惡意軟件、計算機病毒或做任何可能禁用、使負擔過重、干擾或損害網站或計算機系統的正常運行、完整性、操作或外觀的事情。
- 從事或便利任何故意規避或移除使用限制或其他安全措施的行為,或啟用 Meta 禁用的功能。
- 從事、促進、煽動、便利或協助策劃或開展對個人造成死亡或身體傷害風險的活動,包括與軍事、戰爭、核工業或應用、間諜活動、受美國國務院維護的《國際武器貿易條例》(ITAR)或 1989 年《美國生物武器反恐法》或 1997 年《化學武器公約執行法》約束的材料或活動相關的 Llama 3.2 使用。
- 故意欺騙或誤導他人,包括生成、促進或進一步推動欺詐或虛假信息的創建或推廣、生成、促進或進一步推動誹謗性內容、生成、促進或進一步分發垃圾郵件、未經同意、授權或合法權利冒充他人、表示 Llama 3.2 的使用或輸出是人類生成的、生成或便利虛假的在線互動。
- 未能向最終用戶適當披露您的 AI 系統的任何已知危險。
- 與旨在生成非法內容或從事非法或有害行為的第三方工具、模型或軟件進行交互,並/或表示此類工具、模型或軟件的輸出與 Meta 或 Llama 3.2 相關聯。
對於 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



