模型概述
模型特點
模型能力
使用案例
🚀 Llama-3.1-8B-Instruct GGUF模型
Llama-3.1-8B-Instruct GGUF模型採用了超低位量化技術,在保持低內存佔用的同時,有效提升了模型的性能和準確性。該模型適用於多種硬件環境,能滿足不同場景下的使用需求。
🚀 快速開始
使用transformers庫
從transformers >= 4.43.0
版本開始,你可以使用Transformers的pipeline
抽象或藉助Auto
類的generate()
函數進行對話推理。
確保通過以下命令更新你的transformers庫:
pip install --upgrade transformers
以下是使用示例代碼:
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3.1-8B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"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 = pipeline(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])
你還可以在huggingface-llama-recipes
找到關於如何在本地使用該模型、使用torch.compile()
、輔助生成、量化等方面的詳細指南。
使用工具調用功能
LLaMA-3.1支持多種工具使用格式。你可以在這裡查看完整的提示格式化指南。
在Transformers中,工具使用也可以通過聊天模板實現。以下是一個簡單工具調用的示例:
# 首先,定義一個工具
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!
# 接下來,創建一個聊天並應用聊天模板
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}]})
然後調用工具並將結果以tool
角色添加到聊天中,如下所示:
messages.append({"role": "tool", "name": "get_current_temperature", "content": "22.0"})
之後,你可以再次調用generate()
讓模型在聊天中使用工具結果。請注意,這只是對工具調用的簡要介紹,更多信息請參閱LLaMA提示格式文檔和Transformers的工具使用文檔。
使用llama
代碼庫
請遵循倉庫中的說明進行操作。
要下載原始檢查點,請使用以下示例命令,藉助huggingface-cli
:
huggingface-cli download meta-llama/Meta-Llama-3.1-8B-Instruct --include "original/*" --local-dir Meta-Llama-3.1-8B-Instruct
✨ 主要特性
超低位量化技術
我們最新的量化方法為超低位模型(1 - 2位)引入了精度自適應量化,並在Llama-3-8B上通過基準測試驗證了其改進效果。該方法採用特定層策略,在保持極高內存效率的同時保留了準確性。
基準測試優勢
在所有測試中,均使用標準困惑度評估管道、2048令牌上下文窗口,並在所有量化中使用相同的提示集。通過對比不同量化方式,我們的方法在多個指標上表現出色,如在IQ1_M中困惑度大幅降低43.9%,IQ2_S在僅增加0.2GB的情況下困惑度降低36.9%等。
多模型格式支持
提供多種模型格式,包括BF16、F16、量化模型(Q4_K、Q6_K、Q8等)以及極低比特量化模型(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0),用戶可以根據硬件能力和內存限制選擇合適的模型格式。
📦 安裝指南
確保通過以下命令更新你的transformers庫:
pip install --upgrade transformers
💻 使用示例
基礎用法
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3.1-8B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"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 = pipeline(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])
高級用法
# 工具調用示例
# 首先,定義一個工具
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!
# 接下來,創建一個聊天並應用聊天模板
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)
# 生成文本
outputs = pipeline(
inputs,
max_new_tokens=256,
)
# 處理工具調用
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"})
# 再次生成文本
outputs = pipeline(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])
📚 詳細文檔
選擇合適的模型格式
選擇正確的模型格式取決於你的硬件能力和內存限制。以下是不同模型格式的詳細介紹:
模型格式 | 精度 | 內存使用 | 設備要求 | 最佳用例 |
---|---|---|---|---|
BF16 | 最高 | 高 | 支持BF16的GPU/CPU | 高速推理且減少內存佔用 |
F16 | 高 | 高 | 支持FP16的設備 | 當BF16不可用時的GPU推理 |
Q4_K | 中低 | 低 | CPU或低VRAM設備 | 內存受限環境的最佳選擇 |
Q6_K | 中 | 中等 | 內存較多的CPU | 量化模型中準確性較好的選擇 |
Q8_0 | 高 | 中等 | 有足夠VRAM的CPU或GPU | 量化模型中準確性最高的選擇 |
IQ3_XS | 極低 | 極低 | 超低內存設備 | 極致內存效率但準確性較低 |
Q4_0 | 低 | 低 | ARM或低內存設備 | llama.cpp可針對ARM設備進行優化 |
包含的文件及詳情
Llama-3.1-8B-Instruct-bf16.gguf
:模型權重保存為BF16格式。如果你想將模型重新量化為其他格式,或者你的設備支持BF16加速,可使用此文件。Llama-3.1-8B-Instruct-f16.gguf
:模型權重保存為F16格式。如果你的設備支持FP16,尤其是在BF16不可用時,可使用此文件。Llama-3.1-8B-Instruct-bf16-q8_0.gguf
:輸出和嵌入層保持為BF16,其他層量化為Q8_0。適用於支持BF16且需要量化版本的設備。Llama-3.1-8B-Instruct-f16-q8_0.gguf
:輸出和嵌入層保持為F16,其他層量化為Q8_0。Llama-3.1-8B-Instruct-q4_k.gguf
:輸出和嵌入層量化為Q8_0,其他層量化為Q4_K。適合內存有限的CPU推理。Llama-3.1-8B-Instruct-q4_k_s.gguf
:最小的Q4_K變體,以犧牲一定準確性為代價減少內存使用。適用於極低內存設置。Llama-3.1-8B-Instruct-q6_k.gguf
:輸出和嵌入層量化為Q8_0,其他層量化為Q6_K。Llama-3.1-8B-Instruct-q8_0.gguf
:完全Q8量化的模型,準確性更高,但需要更多內存。Llama-3.1-8B-Instruct-iq3_xs.gguf
:IQ3_XS量化,針對極致內存效率進行優化。適用於超低內存設備。Llama-3.1-8B-Instruct-iq3_m.gguf
:IQ3_M量化,提供中等塊大小以提高準確性。適用於低內存設備。Llama-3.1-8B-Instruct-q4_0.gguf
:純Q4_0量化,針對ARM設備進行優化。適用於低內存環境,若追求更高準確性可優先選擇IQ4_NL。
模型測試與協作
如果你覺得這些模型有用,請點擊“點贊”!同時,歡迎幫助我測試我的AI網絡監控助手,該助手具備量子就緒安全檢查功能: 👉 免費網絡監控器
測試方法
- 點擊任意頁面右下角的聊天圖標。
- 選擇一個AI助手類型:
TurboLLM
(GPT-4-mini)FreeLLM
(開源)TestLLM
(僅支持CPU的實驗性模型)
測試內容
我正在探索小型開源模型在AI網絡監控中的極限,具體包括:
- 針對即時網絡服務進行函數調用。
- 研究模型在處理以下任務時的最小規模:
- 自動化Nmap掃描
- 量子就緒檢查
- Metasploit集成
不同助手特點
- TestLLM:當前的實驗性模型(在6個CPU線程上運行llama.cpp):
- ✅ 零配置設置
- ⏳ 30秒加載時間(推理速度較慢,但無API成本)
- 🔧 尋求幫助! 如果你對邊緣設備AI感興趣,讓我們一起合作!
- TurboLLM:使用gpt-4-mini進行:
- 即時網絡診斷
- 自動化滲透測試 (Nmap/Metasploit)
- 🔑 通過下載我們的免費網絡監控代理獲取更多令牌。
- HugLLM:開源模型(約80億參數):
- 比TurboLLM多2倍的令牌
- AI日誌分析
- 🌐 在Hugging Face推理API上運行
示例AI命令
"Give me info on my websites SSL certificate"
"Check if my server is using quantum safe encyption for communication"
"Run a quick Nmap vulnerability test"
🔧 技術細節
模型信息
Meta Llama 3.1是一系列多語言大語言模型(LLM),包括8B、70B和405B大小的預訓練和指令微調生成模型(文本輸入/文本輸出)。Llama 3.1指令微調文本模型(8B、70B、405B)針對多語言對話用例進行了優化,在常見行業基準測試中優於許多可用的開源和閉源聊天模型。
屬性 | 詳情 |
---|---|
模型開發者 | Meta |
模型架構 | Llama 3.1是一種自迴歸語言模型,採用優化的Transformer架構。微調版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF)來符合人類對有用性和安全性的偏好。 |
訓練數據 | Llama 3.1在約15萬億個公開可用來源的令牌數據上進行預訓練。微調數據包括公開可用的指令數據集以及超過2500萬個合成生成的示例。 |
支持語言 | 英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語。 |
模型發佈日期 | 2024年7月23日 |
狀態 | 這是一個基於離線數據集訓練的靜態模型。隨著我們通過社區反饋改進模型安全性,未來將發佈微調模型的新版本。 |
許可證 | 自定義商業許可證,Llama 3.1社區許可證,可在此處獲取。 |
硬件和軟件
訓練因素
我們使用自定義訓練庫、Meta定製的GPU集群和生產基礎設施進行預訓練。微調、註釋和評估也在生產基礎設施上進行。
訓練計算資源
訓練總共使用了3930萬個H100 - 80GB(TDP為700W)類型硬件的GPU小時計算資源,具體如下表所示。訓練時間是訓練每個模型所需的總GPU時間,功耗是每個GPU設備的峰值功率容量,並根據功率使用效率進行了調整。
模型 | 訓練時間(GPU小時) | 訓練功耗(W) | 基於位置的訓練溫室氣體排放量(噸CO2eq) | 基於市場的訓練溫室氣體排放量(噸CO2eq) |
---|---|---|---|---|
Llama 3.1 8B | 146萬 | 700 | 420 | 0 |
Llama 3.1 70B | 700萬 | 700 | 2040 | 0 |
Llama 3.1 405B | 3084萬 | 700 | 8930 | 0 |
總計 | 3930萬 | - | 11390 | 0 |
確定訓練能源使用和溫室氣體排放量的方法可在此處找到。由於Meta正在公開發布這些模型,其他人不會產生訓練能源使用和溫室氣體排放。
基準測試分數
基礎預訓練模型
類別 | 基準測試 | 樣本數 | 指標 | 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社區許可證,可在此處獲取。
許可證協議主要內容
許可權利和再分發
- 權利授予:您被授予在Llama材料中體現的Meta知識產權或Meta擁有的其他權利下的非排他性、全球性、不可轉讓且免版稅的有限許可,以使用、複製、分發、拷貝、創作衍生作品並對Llama材料進行修改。
- 再分發和使用:
- 如果您分發或提供Llama材料(或其任何衍生作品),或包含其中任何內容的產品或服務(包括另一個AI模型),您應(A)隨任何此類Llama材料提供本協議的副本;(B)在相關網站、用戶界面、博客文章、關於頁面或產品文檔上顯著顯示“Built with Llama”。如果您使用Llama材料或Llama材料的任何輸出或結果來創建、訓練、微調或以其他方式改進一個AI模型,並進行分發或提供,您還應在任何此類AI模型名稱的開頭包含“Llama”。
- 如果您作為集成最終用戶產品的一部分從被許可方處接收Llama材料或其任何衍生作品,則本協議第2條不適用於您。
- 您必須在分發的所有Llama材料副本中保留以下歸屬聲明,該聲明應包含在作為此類副本一部分分發的“Notice”文本文件中:“Llama 3.1 is licensed under the Llama 3.1 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved.”
- 您對Llama材料的使用必須遵守適用的法律法規(包括貿易合規法律法規),並遵守Llama材料的可接受使用政策(可在https://llama.meta.com/llama3_1/use-policy獲取),該政策特此通過引用併入本協議。
額外商業條款
如果在Llama 3.1版本發佈日期,被許可方或其關聯方提供的產品或服務的月活躍用戶在前一個日曆月超過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之間,您是並將是此類衍生作品和修改的所有者。
- 如果您對Meta或任何實體提起訴訟或其他程序(包括在訴訟中的交叉索賠或反訴),聲稱Llama材料或Llama 3.1的輸出或結果,或上述任何部分構成侵犯您擁有或可許可的知識產權或其他權利,則本協議授予您的任何許可應自提起此類訴訟或索賠之日起終止。您將賠償並使Meta免受因您使用或分發Llama材料而引起的或與之相關的任何第三方索賠。
期限和終止
本協議的期限自您接受本協議或訪問Llama材料時開始,並將持續有效,直至根據本協議的條款和條件終止。如果您違反本協議的任何條款或條件,Meta可終止本協議。本協議終止後,您應刪除並停止使用Llama材料。第3、4和7條在本協議終止後仍然有效。
適用法律和管轄權
本協議將受加利福尼亞州法律管轄並依其解釋,不考慮法律選擇原則,《聯合國國際貨物銷售合同公約》不適用於本協議。加利福尼亞州的法院對因本協議引起的任何爭議具有專屬管轄權。
Llama 3.1可接受使用政策
Meta致力於促進其工具和功能(包括Llama 3.1)的安全和公平使用。如果您訪問或使用Llama 3.1,即表示您同意本可接受使用政策(“政策”)。本政策的最新版本可在https://llama.meta.com/llama3_1/use-policy找到。
禁止使用情況
我們希望每個人都能安全、負責任地使用Llama 3.1。您同意您不會使用或允許他人使用Llama 3.1進行以下行為:
- 違反法律或他人權利,包括:
- 從事、促進、生成、促成、鼓勵、計劃、煽動或進一步推動非法或違法活動或內容,例如:
- 暴力或恐怖主義
- 對兒童的剝削或傷害,包括招攬、創建、獲取或傳播兒童剝削內容或未報告兒童性虐待材料
- 人口販運、剝削和性暴力
- 向未成年人非法分發信息或材料,包括淫穢材料,或未對此類信息或材料採用法律要求的年齡限制
- 性招攬
- 任何其他犯罪活動
- 從事、促進、煽動或便利對個人或群體的騷擾、虐待、威脅或欺凌
- 從事、促進、煽動或便利在就業、就業福利、信貸、住房、其他經濟福利或其他基本商品和服務的提供方面的歧視或其他非法或有害行為
- 從事未經授權或無執照的任何專業實踐,包括但不限於金融、法律、醫療/健康或相關專業實踐
- 在未獲得適用法律要求的權利和同意的情況下,收集、處理、披露、生成或推斷個人的健康、人口統計或其他敏感個人或私人信息
- 從事或便利任何侵犯、盜用或以其他方式侵犯任何第三方權利的行為或生成任何內容,包括使用Llama材料的任何產品或服務的輸出或結果
- 創建、生成或便利創建惡意代碼、惡意軟件、計算機病毒或進行任何可能禁用、使負擔過重、干擾或損害網站或計算機系統的正常運行、完整性、操作或外觀的其他操作
- 從事、促進、生成、促成、鼓勵、計劃、煽動或進一步推動非法或違法活動或內容,例如:
- 從事、促進、煽動、便利或協助計劃或開展對個人造成死亡或身體傷害風險的活動,包括與以下方面相關的Llama 3.1使用:
- 軍事、戰爭、核工業或應用、間諜活動、用於受美國國務院維護的《國際武器貿易條例》(ITAR)管制的材料或活動
- 槍支和非法武器(包括武器開發)
- 非法藥物和受管制/受控物質
- 關鍵基礎設施、運輸技術或重型機械的操作
- 自我傷害或對他人的傷害,包括自殺、自殘和飲食失調
- 任何旨在煽動或促進暴力、虐待或對個人造成身體傷害的內容
- 故意欺騙或誤導他人,包括與以下方面相關的Llama 3.1使用:
- 生成、促進或進一步推動欺詐或虛假信息的創建或傳播
- 生成、促進或進一步推動誹謗性內容,包括創建誹謗性聲明、圖像或其他內容
- 生成、促進或進一步分發垃圾郵件
- 在未經同意、授權或合法權利的情況下冒充他人
- 表示Llama 3.1的使用或輸出是人類生成的
- 生成或便利虛假的在線互動,包括虛假評論和其他虛假在線互動方式
- 未能向最終用戶適當披露您的AI系統的任何已知危險
請通過以下方式報告任何違反本政策、軟件“漏洞”或其他可能導致違反本政策的問題:
- 報告模型問題:https://github.com/meta-llama/llama-models/issues
- 報告模型生成的風險內容:developers.facebook.com/llama_output_feedback
- 報告漏洞和安全問題:facebook.com/whitehat/info
- 報告違反可接受使用政策或未經授權使用Meta Llama 3的情況:LlamaUseReport@meta.com
責任與安全
負責任的發佈
作為我們負責任發佈方法的一部分,我們採用了三管齊下的策略來管理信任和安全風險:
- 使開發人員能夠為其目標受眾和Llama支持的用例部署有用、安全和靈活的體驗。
- 保護開發人員免受旨在利用Llama功能可能造成傷害的對抗性用戶的侵害。
- 為社區提供保護,幫助防止我們的模型被濫用。
負責任的部署
Llama是一種基礎技術,旨在用於各種用例。關於Meta的Llama模型如何負責任地部署的示例,可在我們的社區故事網頁找到。我們的方法是構建最有用的模型,通過使我們的模型安全與通用用例對齊,解決一系列標準危害,讓世界從技術力量中受益。然後,開發人員可以根據自己的用例定製安全性,定義自己的政策,並在其Llama系統中部署必要的保障措施。Llama 3.1是按照我們的《負責任使用指南》中概述的最佳實踐開發的,你可以參考《負責任使用指南》瞭解更多信息。
Llama 3.1指令微調
我們進行安全微調的主要目標是為研究社區提供一個有價值的資源,用於研究安全微調的魯棒性,同時為開發人員提供一個隨時可用、安全且強大的模型,用於各種應用,以減少開發人員部署安全AI系統的工作量。有關實施的安全緩解措施的更多詳細信息,請閱讀Llama 3論文。
微調數據
我們採用多方面的數據收集方法,將供應商提供的人類生成數據與合成數據相結合,以減輕潛在的安全風險。我們開發了許多基於大語言模型(LLM)的分類器,使我們能夠精心選擇高質量的提示和響應,加強數據質量控制。
拒絕和語氣
在Llama 3的基礎上,我們非常重視模型對良性提示的拒絕以及拒絕語氣。我們在安全數據策略中納入了邊界和對抗性提示,並修改了安全數據響應以遵循語氣指南。
Llama 3.1系統
大型語言模型,包括Llama 3.1,並非設計用於單獨部署,而是應作為整體AI系統的一部分,根據需要配備額外的安全護欄。開發人員在構建自主系統時應部署系統保障措施。保障措施對於實現正確的有用性 - 安全性對齊以及減輕系統固有的安全和風險以及模型或系統與外部工具的任何集成至關重要。
作為我們負責任發佈方法的一部分,我們為社區提供了保障措施,開發人員應將其與Llama模型或其他LLM一起部署,包括Llama Guard 3、Prompt Guard和Code Shield。我們所有的參考實現演示默認包含這些保障措施,以便開發人員可以立即從系統級安全中受益。
新功能
請注意,此版本引入了新功能,包括更長的上下文窗口、多語言輸入和輸出以及開發人員可能與第三方工具的集成。使用這些新功能除了適用於所有生成式AI用例的最佳實踐外,還需要特定的考慮因素。
工具使用
就像在標準軟件開發中一樣,開發人員負責將LLM與他們選擇的工具和服務集成。他們應該為自己的用例定義明確的政策,並評估他們使用的第三方服務的完整性,以瞭解使用此功能時的安全和風險限制。請參考《負責任使用指南》,瞭解安全部署第三方保障措施的最佳實踐。
多語言支持
Llama 3.1除英語外還支持7種語言:法語、德語、印地語、意大利語、葡萄牙語、西班牙語和泰語。Llama可能能夠輸出其他語言的文本,但這些語言可能未達到安全和有用性的性能閾值。我們強烈建議開發人員在未根據其政策和《負責任使用指南》中分享的最佳實踐實施微調系統控制的情況下,不要使用此模型進行不支持語言的對話。
評估
我們評估了Llama模型在常見用例以及特定功能方面的表現。常見用例評估衡量了大多數常見構建應用程序(包括聊天機器人、編碼助手、工具調用)的系統安全風險。我們構建了專門的對抗性評估數據集,並評估了由Llama模型和Llama Guard 3組成的系統,以過濾輸入提示和輸出響應。在上下文中評估應用程序很重要,我們建議為你的用例構建專門的評估數據集。如果適用於應用程序,Prompt Guard和Code Shield也可用。
功能評估衡量了Llama模型特定功能固有的漏洞,為此我們精心設計了專門的基準測試,包括長上下文、多語言、工具調用、編碼或記憶。
紅隊測試
對於上述兩種情況,我們進行了定期的紅隊測試,目標是通過對抗性提示發現風險,並利用這些經驗教訓改進我們的基準測試和安全微調數據集。
我們早期與關鍵風險領域的主題專家合作,瞭解這些現實世界危害的性質以及此類模型可能如何對社會造成意外危害。基於這些對話,我們為紅隊制定了一組對抗性目標,例如提取有害信息或重新編程模型以可能造成危害。紅隊由網絡安全、對抗性機器學習、負責任AI和完整性方面的專家以及在特定地理市場的完整性問題方面有背景的多語言內容專家組成。
關鍵和其他風險
我們特別緻力於減輕以下關鍵風險領域:
- CBRNE(化學、生物、放射性、核和爆炸物材料)有用性:為了評估與化學和生物武器擴散相關的風險,我們進行了提升測試,旨在評估使用Llama 3.1模型是否會顯著增強惡意行為者計劃或實施使用此類武器的攻擊的能力。
- 兒童安全:我們使用專家團隊進行了兒童安全風險評估,以評估模型產生可能導致兒童安全風險的輸出的能力,並通過微調提供任何必要和適當的風險緩解建議。我們利用這些專家紅隊測試擴展了我們在Llama 3模型開發過程中的評估基準的覆蓋範圍。對於Llama 3,我們使用基於目標的方法進行了新的深入測試,以評估模型在多個攻擊向量上的風險,包括Llama 3訓練的其他語言。我們還與內容專家合作進行紅隊測試,評估可能違反規定的內容,同時考慮特定市場的細微差別或經驗。
- 網絡攻擊啟用:我們的網絡攻擊提升研究調查了LLM是否可以增強人類在黑客任務中的能力,包括技能水平和速度。我們的攻擊自動化研究專注於評估LLM作為自主代理在網絡攻擊行動中的能力,特別是在勒索軟件攻擊的背景下。此評估與之前將LLM視為交互式助手的研究不同。主要目標是評估這些模型是否可以有效地作為獨立代理執行復雜的網絡攻擊而無需人類干預。我們對Llama - 3.1 - 405B在網絡攻擊者的社會工程提升方面的研究旨在評估AI模型在協助網絡威脅行為者進行魚叉式網絡釣魚活動中的有效性。請閱讀我們的Llama 3.1網絡安全白皮書以瞭解更多信息。
社區
生成式AI安全需要專業知識和工具,我們相信開放社區的力量可以加速其發展。我們是開放聯盟的積極成員,包括AI聯盟、AI合作組織和MLCommons,積極為安全標準化和透明度做出貢獻。我們鼓勵社區採用像MLCommons概念驗證評估這樣的分類法,以促進安全和內容評估的合作和透明度。我們的Purple Llama工具已開源供社區使用,並廣泛分發給包括雲服務提供商在內的生態系統合作伙伴。我們鼓勵社區為我們的GitHub倉庫做出貢獻。
我們還設立了Llama影響贈款計劃,以識別和支持Meta的Llama模型在三個類別中對社會有益的最有吸引力的應用:教育、氣候和開放創新。數百份申請中的20名決賽選手可在此處找到。
最後,我們建立了一套資源,包括輸出報告機制和漏洞賞金計劃,以在社區的幫助下不斷改進Llama技術。
倫理考慮和侷限性
Llama 3.1的核心價值觀是開放性、包容性和有用性。它旨在為所有人服務,並適用於廣泛的用例。因此,它設計為對不同背景、經驗和觀點的人都可訪問。Llama 3.1以用戶的實際情況和需求為出發點,不插入不必要的判斷或規範性,同時認識到即使在某些情況下可能看似有問題的內容,在其他情況下也可能有價值。它尊重所有用戶的尊嚴和自主權,特別是在推動創新和進步的自由思想和表達價值觀方面。
然而,Llama 3.1是一項新技術,與任何新技術一樣,其使用存在風險。到目前為止進行的測試尚未涵蓋,也不可能涵蓋所有場景。出於這些原因,與所有LLM一樣,Llama 3.1的潛在輸出無法提前預測,並且模型在某些情況下可能會對用戶提示產生不準確、有偏見或其他令人反感的響應。因此,在部署Llama 3.1模型的任何應用程序之前,開發人員應針對其特定應用程序進行安全測試和微調。請參考可用資源,包括我們的《負責任使用指南》、《信任與安全》解決方案以及其他資源,以瞭解更多關於負責任開發的信息。



