模型概述
模型特點
模型能力
使用案例
🚀 Llama 3.2 多語言大語言模型
Llama 3.2 是一系列多語言大語言模型,提供 1B 和 3B 兩種規格。它在常見行業基準測試中表現出色,適用於商業和研究場景,能處理多種自然語言生成任務。
🚀 快速開始
使用 transformers 庫
從 transformers >= 4.43.0 版本開始,你可以使用 Transformers 管道抽象或藉助 Auto 類和 generate() 函數進行對話推理。
確保通過 pip install --upgrade transformers
更新你的 transformers 庫。
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-3B"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto"
)
pipe("The key to life is")
使用 llama
代碼庫
請遵循 倉庫 中的說明。
要下載原始檢查點,請參考以下使用 huggingface-cli
的示例命令:
huggingface-cli download meta-llama/Llama-3.2-3B --include "original/*" --local-dir Llama-3.2-3B
✨ 主要特性
- 多語言支持:官方支持英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語,且在更多語言上進行了訓練。
- 高性能表現:在常見行業基準測試中,超越了許多開源和閉源聊天模型。
- 多種應用場景:適用於商業和研究,可用於知識檢索、摘要生成、移動寫作助手等。
- 量化模型:可適應計算資源有限的設備端應用。
📦 安裝指南
確保通過 pip install --upgrade transformers
更新你的 transformers 庫,以使用 Llama 3.2 模型。
💻 使用示例
基礎用法
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-3B"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto"
)
pipe("The key to life is")
📚 詳細文檔
模型信息
屬性 | 詳情 |
---|---|
模型開發者 | Meta |
模型架構 | 自迴歸語言模型,採用優化的 Transformer 架構,調優版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF)。 |
支持語言 | 英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語,可在更多語言上微調。 |
模型發佈日期 | 2024 年 9 月 25 日 |
狀態 | 基於離線數據集訓練的靜態模型,未來可能發佈改進版本。 |
許可證 | Llama 3.2 社區許可證 |
預期用途
預期用例
- 商業和研究用途,支持多種語言。
- 指令調優的純文本模型適用於類助手聊天和代理應用,如知識檢索、摘要生成等。
- 預訓練模型可用於各種自然語言生成任務。
- 量化模型適用於計算資源有限的設備端應用。
超出範圍
- 違反適用法律法規(包括貿易合規法律)的使用。
- 違反可接受使用政策和 Llama 3.2 社區許可證的使用。
- 使用模型未明確支持的語言。
硬件和軟件
訓練因素
使用自定義訓練庫、Meta 定製的 GPU 集群和生產基礎設施進行預訓練,微調、量化、註釋和評估也在生產基礎設施上進行。
訓練能源使用
訓練累計使用了 916k GPU 小時的 H100 - 80GB(TDP 為 700W)類型硬件。
訓練溫室氣體排放
估計基於位置的溫室氣體排放總量為 240 噸 CO2eq。自 2020 年以來,Meta 在全球運營中保持淨零溫室氣體排放,並 100% 使用可再生能源匹配電力消耗。
訓練數據
Llama 3.2 在來自公開來源的多達 9 萬億個標記的數據上進行預訓練。對於 1B 和 3B 的 Llama 3.2 模型,在模型開發的預訓練階段融入了 Llama 3.1 8B 和 70B 模型的邏輯。預訓練數據截止到 2023 年 12 月。
量化
量化方案
- 所有 Transformer 塊中的線性層權重量化為 4 位分組方案(組大小為 32),激活採用 8 位每標記動態量化。
- 分類層權重量化為 8 位每通道,激活採用 8 位每標記動態量化。
- 嵌入層採用 8 位每通道量化。
量化感知訓練和 LoRA
量化感知訓練(QAT)結合低秩適應(LoRA)模型僅經過後訓練階段,使用與全精度模型相同的數據。
SpinQuant
應用了 SpinQuant 和生成式後訓練量化(GPTQ)。
基準測試
英文文本基準測試
類別 | 基準測試 | 樣本數 | 指標 | 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 1B Vanilla PTQ** | Llama 3.2 1B Spin Quant | Llama 3.2 1B QLoRA | Llama 3.2 3B | Llama 3.2 3B Vanilla PTQ** | Llama 3.2 3B Spin Quant | Llama 3.2 3B QLoRA | Llama 3.1 8B |
---|---|---|---|---|---|---|---|---|---|---|---|
通用 | MMLU (5 - shot, macro_avg/acc) | 葡萄牙語 | 39.8 | 34.9 | 38.9 | 40.2 | 54.5 | 50.9 | 53.3 | 53.4 | 62.1 |
西班牙語 | 41.5 | 36.0 | 39.8 | 41.8 | 55.1 | 51.9 | 53.6 | 53.6 | 62.5 | ||
意大利語 | 39.8 | 34.9 | 38.1 | 40.6 | 53.8 | 49.9 | 52.1 | 51.7 | 61.6 | ||
德語 | 39.2 | 34.9 | 37.5 | 39.6 | 53.3 | 50.0 | 52.2 | 51.3 | 60.6 | ||
法語 | 40.5 | 34.8 | 39.2 | 40.8 | 54.6 | 51.2 | 53.3 | 53.3 | 62.3 | ||
印地語 | 33.5 | 30.0 | 32.1 | 34.0 | 43.3 | 40.4 | 42.0 | 42.1 | 50.9 | ||
泰語 | 34.7 | 31.2 | 32.4 | 34.9 | 44.5 | 41.3 | 44.0 | 42.2 | 50.3 |
**注:僅用於比較,模型未發佈。
推理時間
類別 | 解碼速度(標記/秒) | 首標記時間(秒) | 預填充速度(標記/秒) | 模型大小(PTE 文件大小,MB) | 內存大小(RSS,MB) |
---|---|---|---|---|---|
1B BF16(基線) | 19.2 | 1.0 | 60.3 | 2358 | 3185 |
1B SpinQuant | 50.2(2.6 倍) | 0.3(-76.9%) | 260.5(4.3 倍) | 1083(-54.1%) | 1921(-39.7%) |
1B QLoRA | 45.8(2.4 倍) | 0.3(-76.0%) | 252.0(4.2 倍) | 1127(-52.2%) | 2255(-29.2%) |
3B BF16(基線) | 7.6 | 3.0 | 21.2 | 6129 | 7419 |
3B SpinQuant | 19.7(2.6 倍) | 0.7(-76.4%) | 89.7(4.2 倍) | 2435(-60.3%) | 3726(-49.8%) |
3B QLoRA | 18.5(2.4 倍) | 0.7(-76.1%) | 88.8(4.2 倍) | 2529(-58.7%) | 4060(-45.3%) |
責任與安全
負責任的部署
- Llama 3.2 Instruct:目標是為研究社區提供安全微調魯棒性研究的資源,為開發者提供安全強大的模型。採用多方面的數據收集方法,注重模型拒絕良性提示和拒絕語氣。
- Llama 3.2 系統:大語言模型應作為整體 AI 系統的一部分部署,開發者應部署系統安全防護措施。Meta 提供了 安全防護措施,參考實現默認包含這些防護措施。
新功能和用例
Llama 發佈通常會引入新功能,需要額外考慮。Llama 3.2 1B 和 3B 模型適用於高約束環境,開發者應確保系統安全符合用例要求。
評估
進行了專門的對抗性評估數據集建設和評估,開展了紅隊測試,與專家合作確定對抗性目標。
關鍵風險
對 CBRNE(化學、生物、放射、核和爆炸武器)、兒童安全和網絡攻擊等關鍵風險領域進行了評估和緩解。
社區
- 行業合作:積極參與開放聯盟,鼓勵社區採用 MLCommons 概念驗證評估。
- 資助計劃:設立 Llama 影響資助 計劃,支持社會有益應用。
- 反饋機制:提供 輸出報告機制 和 漏洞賞金計劃。
🔧 技術細節
模型架構
Llama 3.2 是自迴歸語言模型,採用優化的 Transformer 架構。調優版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF),以符合人類對有用性和安全性的偏好。
量化方案設計
考慮了模型質量、預填充/解碼速度和內存佔用等指標,結合 PyTorch 的 ExecuTorch 推理框架和 Arm CPU 後端進行設計。
量化感知訓練和 LoRA 流程
利用 BF16 Llama 3.2 模型檢查點初始化 QAT,進行額外的 SFT 訓練,凍結骨幹網絡,應用 LoRA 適配器進行另一輪 SFT 訓練。
基準測試評估方法
使用內部評估庫進行標準自動基準測試,評估不同模型在多種任務上的性能。
📄 許可證
使用 Llama 3.2 受 Llama 3.2 社區許可證 約束,這是一個自定義的商業許可協議。
許可證協議詳情
請參考 LLAMA 3.2 社區許可協議,其中包含了使用、複製、分發和修改 Llama 材料的條款和條件。
可接受使用政策
使用 Llama 3.2 必須遵守 可接受使用政策,禁止用於違反法律、道德和安全的活動。
反饋與問題報告
有關如何提供反饋或對模型發表評論的說明,請參閱 Llama 模型 README。如需瞭解更多關於生成參數和在應用中使用 Llama 3.2 的技術信息,請訪問 此處。
⚠️ 重要提示
使用 Llama 3.2 時,請確保遵守 Llama 3.2 社區許可證和可接受使用政策,不得用於任何違反適用法律法規的活動。
💡 使用建議
在使用模型前,仔細閱讀相關文檔和許可證協議。對於特定應用場景,可根據需求對模型進行微調。遇到問題或發現異常情況,及時通過反饋機制報告。



