模型概述
模型特點
模型能力
使用案例
🚀 Llama-3.1-8B-Instruct
Llama-3.1-8B-Instruct 是 Meta 推出的多語言大語言模型,具備強大的文本生成能力。它經過預訓練和指令微調,適用於多種語言的商業和研究場景,在常見行業基準測試中表現出色。
🚀 快速開始
本倉庫包含兩個版本的 Meta-Llama-3.1-8B-Instruct,可配合 transformers
庫或原始的 llama
代碼庫使用。
部署
此模型可在 vLLM、Red Hat Enterprise Linux AI 和 Openshift AI 上高效部署,示例如下:
在 vLLM 上部署
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer
model_id = "RedHatAI/Llama-3.1-8B-Instruct"
number_gpus = 4
sampling_params = SamplingParams(temperature=0.7, top_p=0.8, max_tokens=256)
tokenizer = AutoTokenizer.from_pretrained(model_id)
prompt = "Give me a short introduction to large language model."
llm = LLM(model=model_id, tensor_parallel_size=number_gpus)
outputs = llm.generate(prompt, sampling_params)
generated_text = outputs[0].outputs[0].text
print(generated_text)
vLLM 還支持 OpenAI 兼容的服務,更多詳情請參閱 文檔。
在 Red Hat AI Inference Server 上部署
$ podman run --rm -it --device nvidia.com/gpu=all -p 8000:8000 \
--ipc=host \
--env "HUGGING_FACE_HUB_TOKEN=$HF_TOKEN" \
--env "HF_HUB_OFFLINE=0" -v ~/.cache/vllm:/home/vllm/.cache \
--name=vllm \
registry.access.redhat.com/rhaiis/rh-vllm-cuda \
vllm serve \
--tensor-parallel-size 8 \
--max-model-len 32768 \
--enforce-eager --model RedHatAI/Llama-3.1-8B-Instruct
更多詳情請參閱 Red Hat AI Inference Server 文檔。
在 Red Hat Enterprise Linux AI 上部署
# 通過 docker 從 Red Hat Registry 下載模型
# 注意:若未指定 --model-dir,模型將下載到 ~/.cache/instructlab/models
ilab model download --repository docker://registry.redhat.io/rhelai1/llama-3-1-8b-instruct:1.5
# 通過 ilab 提供模型服務
ilab model serve --model-path ~/.cache/instructlab/models/llama-3-1-8b-instruct
# 與模型進行對話
ilab model chat --model ~/.cache/instructlab/models/llama-3-1-8b-instruct
更多詳情請參閱 Red Hat Enterprise Linux AI 文檔。
在 Red Hat Openshift AI 上部署
# 使用 ServingRuntime 設置 vllm 服務器
# 保存為:vllm-servingruntime.yaml
apiVersion: serving.kserve.io/v1alpha1
kind: ServingRuntime
metadata:
name: vllm-cuda-runtime # 可選修改:設置唯一名稱
annotations:
openshift.io/display-name: vLLM NVIDIA GPU ServingRuntime for KServe
opendatahub.io/recommended-accelerators: '["nvidia.com/gpu"]'
labels:
opendatahub.io/dashboard: 'true'
spec:
annotations:
prometheus.io/port: '8080'
prometheus.io/path: '/metrics'
multiModel: false
supportedModelFormats:
- autoSelect: true
name: vLLM
containers:
- name: kserve-container
image: quay.io/modh/vllm:rhoai-2.20-cuda # 如有需要可更改。若使用 AMD:quay.io/modh/vllm:rhoai-2.20-rocm
command:
- python
- -m
- vllm.entrypoints.openai.api_server
args:
- "--port=8080"
- "--model=/mnt/models"
- "--served-model-name={{.Name}}"
env:
- name: HF_HOME
value: /tmp/hf_home
ports:
- containerPort: 8080
protocol: TCP
# 將模型附加到 vllm 服務器。這是一個 NVIDIA 模板
# 保存為:inferenceservice.yaml
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
annotations:
openshift.io/display-name: llama-3-1-8b-instruct # 可選修改
serving.kserve.io/deploymentMode: RawDeployment
name: llama-3-1-8b-instruct # 指定模型名稱。此值將用於在有效負載中調用模型
labels:
opendatahub.io/dashboard: 'true'
spec:
predictor:
maxReplicas: 1
minReplicas: 1
model:
modelFormat:
name: vLLM
name: ''
resources:
limits:
cpu: '2' # 這是特定於模型的
memory: 8Gi # 這是特定於模型的
nvidia.com/gpu: '1' # 這是特定於加速器的
requests: # 此塊同理
cpu: '1'
memory: 4Gi
nvidia.com/gpu: '1'
runtime: vllm-cuda-runtime # 必須與上述 ServingRuntime 名稱匹配
storageUri: oci://registry.redhat.io/rhelai1/modelcar-llama-3-1-8b-instruct:1.5
tolerations:
- effect: NoSchedule
key: nvidia.com/gpu
operator: Exists
# 確保首先進入要部署模型的項目
# oc project <項目名稱>
# 應用兩個資源以運行模型
# 應用 ServingRuntime
oc apply -f vllm-servingruntime.yaml
# 應用 InferenceService
oc apply -f qwen-inferenceservice.yaml
# 替換下面的 <推理服務名稱> 和 <集群入口域名>:
# - 若不確定,請運行 `oc get inferenceservice` 查找 URL。
# 使用 curl 調用服務器:
curl https://<推理服務名稱>-predictor-default.<域名>/v1/chat/completions
-H "Content-Type: application/json" \
-d '{
"model": "llama-3-1-8b-instruct",
"stream": true,
"stream_options": {
"include_usage": true
},
"max_tokens": 1,
"messages": [
{
"role": "user",
"content": "How can a bee fly when its wings are so small?"
}
]
}'
更多詳情請參閱 Red Hat Openshift AI 文檔。
配合 transformers 使用
從 transformers >= 4.43.0
版本開始,你可以使用 Transformers 的 pipeline
抽象或藉助 generate()
函數的 Auto 類進行對話推理。
確保通過 pip install --upgrade transformers
更新你的 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()
、輔助生成、量化等的詳細指南。
使用 transformers 進行工具調用
LLaMA-3.1 支持多種工具使用格式。你可以在 此處 查看完整的提示格式指南。
通過 Transformers 中的 聊天模板 也支持工具使用。以下是一個展示單個簡單工具的快速示例:
# 首先,定義一個工具
def get_current_temperature(location: str) -> float:
"""
獲取指定位置的當前溫度。
參數:
location: 要獲取溫度的位置,格式為 "城市, 國家"
返回:
指定位置的當前溫度,以浮點數表示。
"""
return 22. # 實際函數應獲取真實溫度!
# 接下來,創建一個聊天並應用聊天模板
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
✨ 主要特性
- 多語言支持:支持英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語等多種語言。
- 高性能表現:在常見行業基準測試中,優於許多現有的開源和閉源聊天模型。
- 靈活的使用場景:適用於商業和研究用途,可用於對話、自然語言生成等多種任務。
📦 安裝指南
文檔未提及具體安裝步驟,可參考上述快速開始部分的部署和使用說明。
💻 使用示例
基礎用法
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:
"""
獲取指定位置的當前溫度。
參數:
location: 要獲取溫度的位置,格式為 "城市, 國家"
返回:
指定位置的當前溫度,以浮點數表示。
"""
return 22. # 實際函數應獲取真實溫度!
# 創建一個聊天並應用聊天模板
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"})
# 再次生成文本
outputs = pipeline(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])
📚 詳細文檔
模型信息
屬性 | 詳情 |
---|---|
模型開發者 | Meta |
模型架構 | Llama 3.1 是一個自迴歸語言模型,使用了優化的 Transformer 架構。微調版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF)來與人類的有用性和安全性偏好對齊。 |
訓練數據 | 新的公開可用在線數據混合。 |
支持語言 | 英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語。 |
模型發佈日期 | 2024 年 7 月 23 日。 |
狀態 | 這是一個基於離線數據集訓練的靜態模型。隨著我們通過社區反饋改進模型安全性,未來將發佈微調模型的新版本。 |
許可證 | 自定義商業許可證,Llama 3.1 社區許可證,可在 此處 獲取。 |
預期用途
預期用例
Llama 3.1 旨在用於多種語言的商業和研究用途。僅經過指令微調的文本模型適用於類似助手的聊天,而預訓練模型可用於各種自然語言生成任務。Llama 3.1 模型系列還支持利用其模型輸出改進其他模型,包括合成數據生成和蒸餾。Llama 3.1 社區許可證允許這些用例。
超出範圍的使用
- 以任何違反適用法律法規(包括貿易合規法律)的方式使用。
- 以任何違反可接受使用政策和 Llama 3.1 社區許可證的方式使用。
- 使用此模型卡中未明確支持的語言。
⚠️ 重要提示
Llama 3.1 已在比 8 種支持語言更廣泛的語言集合上進行了訓練。開發者可以針對 8 種支持語言之外的語言微調 Llama 3.1 模型,前提是他們遵守 Llama 3.1 社區許可證和可接受使用政策,並負責確保以安全和負責任的方式使用 Llama 3.1 處理其他語言。
硬件和軟件
訓練因素
我們使用自定義訓練庫、Meta 定製的 GPU 集群和生產基礎設施進行預訓練。微調、標註和評估也在生產基礎設施上進行。
訓練計算資源
訓練總共使用了 3930 萬 GPU 小時的 H100 - 80GB(TDP 為 700W)類型硬件計算資源,具體如下表所示。訓練時間是訓練每個模型所需的總 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.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 支持的用例部署有用、安全和靈活的體驗。
- 保護開發者免受試圖利用 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 和完整性方面的專家以及在特定地理市場具有完整性問題背景的多語言內容專家組成。
關鍵和其他風險
我們特別緻力於減輕以下關鍵風險領域:
1. CBRNE(化學、生物、放射性、核和爆炸物材料)有用性 為了評估與化學和生物武器擴散相關的風險,我們進行了提升測試,旨在評估使用 Llama 3.1 模型是否會顯著增強惡意行為者使用此類武器計劃或實施攻擊的能力。
2. 兒童安全 我們使用專家團隊進行了兒童安全風險評估,以評估模型產生可能導致兒童安全風險的輸出的能力,並通過微調提供必要和適當的風險緩解建議。我們利用這些專家紅隊測試擴展了我們在 Llama 3 模型開發過程中的評估基準測試範圍。對於 Llama 3,我們使用基於目標的方法進行了新的深入測試,以評估模型在多個攻擊向量上的風險,包括 Llama 3 訓練的其他語言。我們還與內容專家合作進行紅隊測試,評估潛在違規內容,同時考慮特定市場的細微差別或經驗。
3. 網絡攻擊支持 我們的網絡攻擊提升研究調查了大語言模型是否能在技能水平和速度方面增強人類在黑客任務中的能力。
我們的攻擊自動化研究專注於評估大語言模型作為自主代理在網絡攻擊行動中的能力,特別是在勒索軟件攻擊的背景下。此評估與之前將大語言模型視為交互式助手的研究不同。主要目標是評估這些模型是否能在沒有人類干預的情況下有效作為獨立代理執行復雜的網絡攻擊。
我們對 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 是一項新技術,與任何新技術一樣,其使用存在風險。到目前為止進行的測試並未涵蓋,也不可能涵蓋所有場景。因此,與所有大語言模型一樣,Llama 3.1 的潛在輸出無法提前預測,模型在某些情況下可能會產生不準確、有偏見或其他令人反感的響應。因此,在部署 Llama 3.1 模型的任何應用之前,開發者應針對其特定應用對模型進行安全測試和調優。請參考可用資源,包括我們的 《負責任使用指南》、信任和安全 解決方案以及其他 資源,以瞭解更多關於負責任開發的信息。
🔧 技術細節
文檔未提供足夠詳細的技術實現細節。
📄 許可證
Llama 3.1 使用自定義商業許可證,即 Llama 3.1 社區許可證,可在 此處 獲取。



