模型概述
模型特點
模型能力
使用案例
🚀 Meta Llama 3.1 多語言大語言模型
Meta Llama 3.1 是一系列多語言大語言模型,涵蓋 8B、70B 和 405B 三種參數規模。這些模型經過預訓練和指令微調,在多語言對話場景中表現出色,在行業基準測試中超越了許多開源和閉源的聊天模型。
🚀 快速開始
若你想了解如何使用 Llama 3.1 模型,可參考模型 README 獲取反饋或評論說明。如需更多關於生成參數和在應用中使用 Llama 3.1 的技術信息,請訪問 此處。
✨ 主要特性
- 多語言支持:支持英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語。
- 高性能表現:在常見行業基準測試中,超越了許多開源和閉源的聊天模型。
- 工具使用支持:支持多種工具使用格式,可通過 Transformers 中的聊天模板實現。
📦 安裝指南
文檔未提供具體安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
# First, define a tool
def get_current_temperature(location: str) -> float:
"""
Get the current temperature at a location.
Args:
location: The location to get the temperature for, in the format "City, Country"
Returns:
The current temperature at the specified location in the specified units, as a float.
"""
return 22. # A real function should probably actually get the temperature!
# Next, create a chat and apply the chat template
messages = [
{"role": "system", "content": "You are a bot that responds to weather queries."},
{"role": "user", "content": "Hey, what's the temperature in Paris right now?"}
]
inputs = tokenizer.apply_chat_template(messages, tools=[get_current_temperature], add_generation_prompt=True)
高級用法
tool_call = {"name": "get_current_temperature", "arguments": {"location": "Paris, France"}}
messages.append({"role": "assistant", "tool_calls": [{"type": "function", "function": tool_call}]})
messages.append({"role": "tool", "name": "get_current_temperature", "content": "22.0"})
📚 詳細文檔
模型信息
屬性 | 詳情 |
---|---|
模型開發者 | Meta |
模型架構 | Llama 3.1 是一種自迴歸語言模型,採用優化的 Transformer 架構。微調版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF),以符合人類對有用性和安全性的偏好。 |
訓練數據 | 預訓練數據來自公開可用的來源,約 15 萬億個標記。微調數據包括公開可用的指令數據集,以及超過 2500 萬個合成生成的示例。 |
參數規模 | 8B、70B 和 405B |
輸入模態 | 多語言文本 |
輸出模態 | 多語言文本和代碼 |
上下文長度 | 128k |
GQA | 是 |
標記計數 | 15T+ |
知識截止日期 | 2023 年 12 月 |
支持語言 | 英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語 |
模型發佈日期 | 2024 年 7 月 23 日 |
狀態 | 這是一個基於離線數據集訓練的靜態模型。隨著我們通過社區反饋改進模型安全性,未來將發佈微調模型的新版本。 |
許可證 | 自定義商業許可證,Llama 3.1 社區許可證,可在 此處 獲取。 |
預期用途
- 預期用例:Llama 3.1 旨在用於多語言的商業和研究用途。經過指令微調的純文本模型適用於類似助手的聊天場景,而預訓練模型可用於各種自然語言生成任務。Llama 3.1 模型系列還支持利用其模型輸出改進其他模型,包括合成數據生成和蒸餾。Llama 3.1 社區許可證允許這些用例。
- 超出範圍的使用:以任何違反適用法律法規(包括貿易合規法律)的方式使用。以可接受使用政策和 Llama 3.1 社區許可證禁止的任何其他方式使用。在本模型卡片中未明確提及支持的語言之外使用。
硬件和軟件
- 訓練因素:我們使用自定義訓練庫、Meta 定製的 GPU 集群和生產基礎設施進行預訓練。微調、註釋和評估也在生產基礎設施上進行。
- 訓練計算量:在 H100 - 80GB(TDP 為 700W)類型的硬件上,累計使用了 3930 萬 GPU 小時的計算資源。
- 訓練溫室氣體排放:基於位置的估計總溫室氣體排放量為 11390 噸 CO2eq。自 2020 年以來,Meta 在全球運營中保持淨零溫室氣體排放,並以可再生能源匹配 100% 的電力使用,因此基於市場的總溫室氣體排放量為 0 噸 CO2eq。
訓練數據
- 概述:Llama 3.1 在來自公開可用來源的約 15 萬億個標記的數據上進行預訓練。微調數據包括公開可用的指令數據集,以及超過 2500 萬個合成生成的示例。
- 數據新鮮度:預訓練數據截止到 2023 年 12 月。
基準測試分數
基礎預訓練模型
類別 | 基準測試 | 樣本數 | 指標 | Llama 3 8B | Llama 3.1 8B | Llama 3 70B | Llama 3.1 70B | Llama 3.1 405B |
---|---|---|---|---|---|---|---|---|
通用 | MMLU | 5 | macro_avg/acc_char | 66.7 | 66.7 | 79.5 | 79.3 | 85.2 |
通用 | MMLU - Pro (CoT) | 5 | macro_avg/acc_char | 36.2 | 37.1 | 55.0 | 53.8 | 61.6 |
通用 | AGIEval English | 3 - 5 | average/acc_char | 47.1 | 47.8 | 63.0 | 64.6 | 71.6 |
通用 | CommonSenseQA | 7 | acc_char | 72.6 | 75.0 | 83.8 | 84.1 | 85.8 |
通用 | Winogrande | 5 | acc_char | - | 60.5 | - | 83.3 | 86.7 |
通用 | BIG - Bench Hard (CoT) | 3 | average/em | 61.1 | 64.2 | 81.3 | 81.6 | 85.9 |
通用 | ARC - Challenge | 25 | acc_char | 79.4 | 79.7 | 93.1 | 92.9 | 96.1 |
知識推理 | TriviaQA - Wiki | 5 | em | 78.5 | 77.6 | 89.7 | 89.8 | 91.8 |
閱讀理解 | SQuAD | 1 | em | 76.4 | 77.0 | 85.6 | 81.8 | 89.3 |
閱讀理解 | QuAC (F1) | 1 | f1 | 44.4 | 44.9 | 51.1 | 51.1 | 53.6 |
閱讀理解 | BoolQ | 0 | acc_char | 75.7 | 75.0 | 79.0 | 79.4 | 80.0 |
閱讀理解 | DROP (F1) | 3 | f1 | 58.4 | 59.5 | 79.7 | 79.6 | 84.8 |
指令微調模型
類別 | 基準測試 | 樣本數 | 指標 | Llama 3 8B Instruct | Llama 3.1 8B Instruct | Llama 3 70B Instruct | Llama 3.1 70B Instruct | Llama 3.1 405B Instruct |
---|---|---|---|---|---|---|---|---|
通用 | MMLU | 5 | macro_avg/acc | 68.5 | 69.4 | 82.0 | 83.6 | 87.3 |
通用 | MMLU (CoT) | 0 | macro_avg/acc | 65.3 | 73.0 | 80.9 | 86.0 | 88.6 |
通用 | MMLU - Pro (CoT) | 5 | micro_avg/acc_char | 45.5 | 48.3 | 63.4 | 66.4 | 73.3 |
通用 | IFEval | 76.8 | 80.4 | 82.9 | 87.5 | 88.6 | ||
推理 | ARC - C | 0 | acc | 82.4 | 83.4 | 94.4 | 94.8 | 96.9 |
推理 | GPQA | 0 | em | 34.6 | 30.4 | 39.5 | 46.7 | 50.7 |
代碼 | HumanEval | 0 | pass@1 | 60.4 | 72.6 | 81.7 | 80.5 | 89.0 |
代碼 | MBPP ++ base version | 0 | pass@1 | 70.6 | 72.8 | 82.5 | 86.0 | 88.6 |
代碼 | Multipl - E HumanEval | 0 | pass@1 | - | 50.8 | - | 65.5 | 75.2 |
代碼 | Multipl - E MBPP | 0 | pass@1 | - | 52.4 | - | 62.0 | 65.7 |
數學 | GSM - 8K (CoT) | 8 | em_maj1@1 | 80.6 | 84.5 | 93.0 | 95.1 | 96.8 |
數學 | MATH (CoT) | 0 | final_em | 29.1 | 51.9 | 51.0 | 68.0 | 73.8 |
工具使用 | API - Bank | 0 | acc | 48.3 | 82.6 | 85.1 | 90.0 | 92.0 |
工具使用 | BFCL | 0 | acc | 60.3 | 76.1 | 83.0 | 84.8 | 88.5 |
工具使用 | Gorilla Benchmark API Bench | 0 | acc | 1.7 | 8.2 | 14.7 | 29.7 | 35.3 |
工具使用 | Nexus (0 - shot) | 0 | macro_avg/acc | 18.1 | 38.5 | 47.8 | 56.7 | 58.7 |
多語言 | Multilingual MGSM (CoT) | 0 | em | - | 68.9 | - | 86.9 | 91.6 |
多語言基準測試
類別 | 基準測試 | 語言 | Llama 3.1 8B | Llama 3.1 70B | Llama 3.1 405B |
---|---|---|---|---|---|
通用 | MMLU (5 - shot, macro_avg/acc) | 葡萄牙語 | 62.12 | 80.13 | 84.95 |
通用 | MMLU (5 - shot, macro_avg/acc) | 西班牙語 | 62.45 | 80.05 | 85.08 |
通用 | MMLU (5 - shot, macro_avg/acc) | 意大利語 | 61.63 | 80.4 | 85.04 |
通用 | MMLU (5 - shot, macro_avg/acc) | 德語 | 60.59 | 79.27 | 84.36 |
通用 | MMLU (5 - shot, macro_avg/acc) | 法語 | 62.34 | 79.82 | 84.66 |
通用 | MMLU (5 - shot, macro_avg/acc) | 印地語 | 50.88 | 74.52 | 80.31 |
通用 | MMLU (5 - shot, macro_avg/acc) | 泰語 | 50.32 | 72.95 | 78.21 |
工具使用支持
LLaMA - 3.1 支持多種工具使用格式。你可以在 此處 查看完整的提示格式指南。工具使用也可通過 Transformers 中的 聊天模板 實現。
責任與安全
負責任的部署
Llama 是一種基礎技術,旨在用於各種用例。有關 Meta 的 Llama 模型如何負責任地部署的示例,可在我們的 社區故事網頁 中找到。我們的方法是構建最有用的模型,使世界能夠從技術力量中受益,通過調整模型安全性以應對通用用例中的標準危害。開發者應根據自己的用例定製安全性,定義自己的政策,並在其 Llama 系統中部署必要的保障措施。Llama 3.1 是按照我們的《負責任使用指南》中概述的最佳實踐開發的,你可以參考 《負責任使用指南》 瞭解更多信息。
Llama 3.1 指令微調
我們進行安全微調的主要目標是為研究社區提供一個有價值的資源,用於研究安全微調的魯棒性,同時為開發者提供一個隨時可用、安全且強大的模型,用於各種應用,以減少開發者部署安全 AI 系統的工作量。有關實施的安全緩解措施的更多詳細信息,請閱讀 Llama 3 論文。
Llama 3.1 系統
大型語言模型,包括 Llama 3.1,並非設計為單獨部署,而是應作為整體 AI 系統的一部分,並根據需要添加額外的安全護欄。開發者在構建自主系統時應部署系統保障措施。保障措施對於實現正確的有用性 - 安全性對齊以及減輕系統固有的安全和風險以及模型或系統與外部工具集成時的風險至關重要。
新功能
本次發佈引入了新功能,包括更長的上下文窗口、多語言輸入和輸出,以及開發者可能與第三方工具的集成。使用這些新功能除了需要遵循適用於所有生成式 AI 用例的最佳實踐外,還需要進行特定的考慮。
評估
我們對 Llama 模型進行了常見用例和特定功能的評估。常見用例評估衡量了系統在最常見構建的應用程序(包括聊天機器人、編碼助手、工具調用)中的安全風險。我們構建了專門的對抗性評估數據集,並評估了由 Llama 模型和 Llama Guard 3 組成的系統,以過濾輸入提示和輸出響應。在上下文中評估應用程序很重要,我們建議為你的用例構建專門的評估數據集。如果與應用程序相關,Prompt Guard 和 Code Shield 也可用。
關鍵和其他風險
我們特別關注減輕以下關鍵風險領域:
- CBRNE(化學、生物、放射性、核和爆炸物材料)有用性:為評估與化學和生物武器擴散相關的風險,我們進行了提升測試,旨在評估使用 Llama 3.1 模型是否會顯著增強惡意行為者使用這些類型武器策劃或實施攻擊的能力。
- 兒童安全:使用專家團隊進行了兒童安全風險評估,以評估模型產生可能導致兒童安全風險的輸出的能力,並通過微調提供必要和適當的風險緩解建議。我們利用這些專家紅隊測試來擴展我們在 Llama 3 模型開發過程中評估基準的覆蓋範圍。
- 網絡攻擊支持:我們的網絡攻擊提升研究調查了大語言模型是否能在技能水平和速度方面增強人類在黑客任務中的能力。
社區
生成式 AI 安全需要專業知識和工具,我們相信開放社區的力量可以加速其發展。我們是開放聯盟的積極成員,包括 AI 聯盟、AI 合作組織和 MLCommons,積極為安全標準化和透明度做出貢獻。我們鼓勵社區採用像 MLCommons 概念驗證評估這樣的分類法,以促進安全和內容評估方面的合作和透明度。我們的 Purple Llama 工具已開源供社區使用,並廣泛分發給包括雲服務提供商在內的生態系統合作伙伴。我們鼓勵社區為我們的 Github 倉庫 做出貢獻。
🔧 技術細節
文檔未提供具體技術細節,故跳過此章節。
📄 許可證
自定義商業許可證,Llama 3.1 社區許可證,可在 此處 獲取。
倫理考慮和侷限性
Llama 3.1 的核心價值觀是開放性、包容性和有用性。它旨在為所有人服務,並適用於廣泛的用例。因此,它設計為可供不同背景、經驗和觀點的人使用。Llama 3.1 以用戶的實際需求為出發點,不插入不必要的判斷或規範性,同時認識到即使在某些情況下可能看似有問題的內容,在其他情況下也可能有價值。它尊重所有用戶的尊嚴和自主權,特別是在推動創新和進步的自由思想和表達價值觀方面。
然而,Llama 3.1 是一項新技術,與任何新技術一樣,其使用存在風險。到目前為止進行的測試尚未涵蓋,也不可能涵蓋所有場景。出於這些原因,與所有大語言模型一樣,Llama 3.1 的潛在輸出無法提前預測,並且在某些情況下,模型可能會對用戶提示產生不準確、有偏見或其他令人反感的響應。因此,在部署 Llama 3.1 模型的任何應用程序之前,開發者應針對其特定應用進行安全測試和微調。請參考可用資源,包括我們的 《負責任使用指南》、信任與安全 解決方案以及其他 資源,以瞭解更多關於負責任開發的信息。



