模型概述
模型特點
模型能力
使用案例
🚀 Llama 2 7B Chat - GGUF
本項目提供了 Meta Llama 2 的 Llama 2 7B Chat 模型的 GGUF 格式文件。GGUF 是一種新型的模型格式,具有諸多優勢,能讓你更高效地使用該模型進行文本生成任務。
🚀 快速開始
下載模型文件
- 自動下載:LM Studio、LoLLMS Web UI、Faraday.dev 等客戶端/庫會自動為你下載模型,並提供可用模型列表供你選擇。
- 在
text-generation-webui
中下載:在“Download Model”處輸入模型倉庫地址TheBloke/Llama-2-7b-Chat-GGUF
,並在下方指定要下載的文件名,如llama-2-7b-chat.q4_K_M.gguf
,然後點擊“Download”。 - 命令行下載:推薦使用
huggingface-hub
Python 庫。首先安裝:
pip3 install huggingface-hub>=0.17.1
然後使用以下命令下載單個模型文件到當前目錄:
huggingface-cli download TheBloke/Llama-2-7b-Chat-GGUF llama-2-7b-chat.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
如果你想同時下載多個文件,可以使用模式匹配:
huggingface-cli download TheBloke/Llama-2-7b-Chat-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
若要加速高速連接(1Gbit/s 及以上)的下載,可安裝 hf_transfer
:
pip3 install hf_transfer
並設置環境變量:
HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/Llama-2-7b-Chat-GGUF llama-2-7b-chat.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows CLI 用戶在運行下載命令前使用 set HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1
。
運行模型
在 llama.cpp
中運行
確保你使用的是 2023 年 8 月 27 日之後的 llama.cpp
版本(提交號為 d0cee0d36d5be95a0d9088b674dbb27354107221)。運行命令示例如下:
./main -ngl 32 -m llama-2-7b-chat.q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "[INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>
{prompt}[/INST]"
-ngl 32
:指定要卸載到 GPU 的層數,若沒有 GPU 加速可移除該參數。-c 4096
:指定所需的序列長度。對於擴展序列模型(如 8K、16K、32K),必要的 RoPE 縮放參數會從 GGUF 文件中讀取並由llama.cpp
自動設置。 若要進行聊天式對話,將-p <PROMPT>
參數替換為-i -ins
。其他參數及使用方法請參考 llama.cpp 文檔。
在 text-generation-webui
中運行
更多說明請參考 text-generation-webui/docs/llama.cpp.md。
從 Python 代碼運行
你可以使用 llama-cpp-python 或 ctransformers 庫從 Python 中使用 GGUF 模型。
使用 ctransformers
加載模型
首先安裝包:
# 無 GPU 加速的基礎 ctransformers
pip install ctransformers>=0.2.24
# 或使用 CUDA GPU 加速
pip install ctransformers[cuda]>=0.2.24
# 或使用 ROCm GPU 加速
CT_HIPBLAS=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
# 或為 macOS 系統使用 Metal GPU 加速
CT_METAL=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
簡單的示例代碼:
from ctransformers import AutoModelForCausalLM
# 設置 gpu_layers 為要卸載到 GPU 的層數,若系統無 GPU 加速則設置為 0
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Llama-2-7b-Chat-GGUF", model_file="llama-2-7b-chat.q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
與 LangChain 一起使用
以下是使用 llama-cpp-python
或 ctransformers
與 LangChain 的指南:
✨ 主要特性
GGUF 格式優勢
GGUF 是 llama.cpp 團隊在 2023 年 8 月 21 日推出的新格式,它取代了不再受 llama.cpp 支持的 GGML 格式。GGUF 相比 GGML 有眾多優勢,如更好的分詞功能、對特殊標記的支持,還支持元數據,並且具有可擴展性。
多客戶端和庫支持
以下是已知支持 GGUF 的客戶端和庫:
- llama.cpp:GGUF 的源項目,提供 CLI 和服務器選項。
- text-generation-webui:最廣泛使用的 Web UI,具有許多功能和強大的擴展,支持 GPU 加速。
- KoboldCpp:功能齊全的 Web UI,支持跨所有平臺和 GPU 架構的 GPU 加速,尤其適合講故事。
- LM Studio:適用於 Windows 和 macOS(Silicon)的易於使用且強大的本地 GUI,支持 GPU 加速。
- LoLLMS Web UI:一個很棒的 Web UI,具有許多有趣和獨特的功能,包括一個完整的模型庫,便於模型選擇。
- Faraday.dev:一個有吸引力且易於使用的基於角色的聊天 GUI,適用於 Windows 和 macOS(Silicon 和 Intel),支持 GPU 加速。
- ctransformers:一個 Python 庫,支持 GPU 加速、LangChain 集成和與 OpenAI 兼容的 AI 服務器。
- llama-cpp-python:一個 Python 庫,支持 GPU 加速、LangChain 集成和與 OpenAI 兼容的 API 服務器。
- candle:一個 Rust ML 框架,專注於性能,包括 GPU 支持和易用性。
📦 安裝指南
安裝依賴庫
如果你想使用 Python 代碼運行模型,需要安裝相應的庫。以 ctransformers
為例:
# 無 GPU 加速的基礎 ctransformers
pip install ctransformers>=0.2.24
# 或使用 CUDA GPU 加速
pip install ctransformers[cuda]>=0.2.24
# 或使用 ROCm GPU 加速
CT_HIPBLAS=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
# 或為 macOS 系統使用 Metal GPU 加速
CT_METAL=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
同時,若要使用命令行下載模型文件,需要安裝 huggingface-hub
:
pip3 install huggingface-hub>=0.17.1
若要加速下載,還可安裝 hf_transfer
:
pip3 install hf_transfer
💻 使用示例
基礎用法
在 Python 中使用 ctransformers
加載模型並進行簡單推理:
from ctransformers import AutoModelForCausalLM
# 設置 gpu_layers 為要卸載到 GPU 的層數,若系統無 GPU 加速則設置為 0
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Llama-2-7b-Chat-GGUF", model_file="llama-2-7b-chat.q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
高級用法
在 llama.cpp
中進行聊天式對話:
./main -ngl 32 -m llama-2-7b-chat.q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -i -ins
📚 詳細文檔
模型信息
屬性 | 詳情 |
---|---|
模型創建者 | Meta Llama 2 |
原始模型 | Llama 2 7B Chat |
模型類型 | llama |
許可證 | llama2 |
論文鏈接 | Llama-2: Open Foundation and Fine-tuned Chat Models |
可用倉庫
- 用於 GPU 推理的 AWQ 模型
- 用於 GPU 推理的 GPTQ 模型,具有多種量化參數選項
- 用於 CPU+GPU 推理的 2、3、4、5、6 和 8 位 GGUF 模型
- Meta Llama 2 原始未量化的 fp16 格式 PyTorch 模型,用於 GPU 推理和進一步轉換
提示模板
[INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>
{prompt}[/INST]
兼容性
這些量化的 GGUFv2 文件與 2023 年 8 月 27 日之後的 llama.cpp 兼容(提交號為 d0cee0d36d5be95a0d9088b674dbb27354107221),也與許多第三方 UI 和庫兼容,具體列表見本文檔開頭。
量化方法說明
點擊查看詳情
新的量化方法如下:
- GGML_TYPE_Q2_K:“type-1” 2 位量化,超級塊包含 16 個塊,每個塊有 16 個權重。塊的尺度和最小值用 4 位量化,最終每個權重有效使用 2.5625 位(bpw)。
- GGML_TYPE_Q3_K:“type-0” 3 位量化,超級塊包含 16 個塊,每個塊有 16 個權重。尺度用 6 位量化,最終使用 3.4375 bpw。
- GGML_TYPE_Q4_K:“type-1” 4 位量化,超級塊包含 8 個塊,每個塊有 32 個權重。尺度和最小值用 6 位量化,最終使用 4.5 bpw。
- GGML_TYPE_Q5_K:“type-1” 5 位量化,與 GGML_TYPE_Q4_K 具有相同的超級塊結構,最終使用 5.5 bpw。
- GGML_TYPE_Q6_K:“type-0” 6 位量化,超級塊有 16 個塊,每個塊有 16 個權重。尺度用 8 位量化,最終使用 6.5625 bpw。
請參考下面的“提供的文件”表,查看哪些文件使用了哪些方法以及如何使用。
提供的文件
文件名 | 量化方法 | 位數 | 大小 | 所需最大 RAM | 使用場景 |
---|---|---|---|---|---|
llama-2-7b-chat.Q2_K.gguf | Q2_K | 2 | 2.83 GB | 5.33 GB | 最小,但質量損失顯著,不推薦用於大多數情況 |
llama-2-7b-chat.Q3_K_S.gguf | Q3_K_S | 3 | 2.95 GB | 5.45 GB | 非常小,但質量損失高 |
llama-2-7b-chat.Q3_K_M.gguf | Q3_K_M | 3 | 3.30 GB | 5.80 GB | 非常小,但質量損失高 |
llama-2-7b-chat.Q3_K_L.gguf | Q3_K_L | 3 | 3.60 GB | 6.10 GB | 小,但質量損失較大 |
llama-2-7b-chat.Q4_0.gguf | Q4_0 | 4 | 3.83 GB | 6.33 GB | 舊版本;小,但質量損失非常高,建議使用 Q3_K_M |
llama-2-7b-chat.Q4_K_S.gguf | Q4_K_S | 4 | 3.86 GB | 6.36 GB | 小,但質量損失更大 |
llama-2-7b-chat.Q4_K_M.gguf | Q4_K_M | 4 | 4.08 GB | 6.58 GB | 中等,質量平衡,推薦使用 |
llama-2-7b-chat.Q5_0.gguf | Q5_0 | 5 | 4.65 GB | 7.15 GB | 舊版本;中等,質量平衡,建議使用 Q4_K_M |
llama-2-7b-chat.Q5_K_S.gguf | Q5_K_S | 5 | 4.65 GB | 7.15 GB | 大,質量損失低,推薦使用 |
llama-2-7b-chat.Q5_K_M.gguf | Q5_K_M | 5 | 4.78 GB | 7.28 GB | 大,質量損失非常低,推薦使用 |
llama-2-7b-chat.Q6_K.gguf | Q6_K | 6 | 5.53 GB | 8.03 GB | 非常大,質量損失極低 |
llama-2-7b-chat.Q8_0.gguf | Q8_0 | 8 | 7.16 GB | 9.66 GB | 非常大,質量損失極低,但不推薦使用 |
注意:上述 RAM 數字假設沒有進行 GPU 卸載。如果將層卸載到 GPU,這將減少 RAM 使用並使用 VRAM 代替。
🔧 技術細節
訓練數據
Llama 2 在來自公開可用來源的 2 萬億個標記的數據上進行了預訓練。微調數據包括公開可用的指令數據集,以及超過一百萬個新的人工標註示例。預訓練和微調數據集均不包括 Meta 用戶數據。預訓練數據截止到 2022 年 9 月,但一些微調數據更新至 2023 年 7 月。
評估結果
在標準學術基準測試中,Llama 2 模型在多個方面表現優於 Llama 1 模型。以下是具體的評估結果:
綜合學術基準測試整體性能
模型 | 大小 | 代碼 | 常識推理 | 世界知識 | 閱讀理解 | 數學 | MMLU | BBH | AGI 評估 |
---|---|---|---|---|---|---|---|---|---|
Llama 1 | 7B | 14.1 | 60.8 | 46.2 | 58.5 | 6.95 | 35.1 | 30.3 | 23.9 |
Llama 1 | 13B | 18.9 | 66.1 | 52.6 | 62.3 | 10.9 | 46.9 | 37.0 | 33.9 |
Llama 1 | 33B | 26.0 | 70.0 | 58.4 | 67.6 | 21.4 | 57.8 | 39.8 | 41.7 |
Llama 1 | 65B | 30.7 | 70.7 | 60.5 | 68.6 | 30.8 | 63.4 | 43.5 | 47.6 |
Llama 2 | 7B | 16.8 | 63.9 | 48.9 | 61.3 | 14.6 | 45.3 | 32.6 | 29.3 |
Llama 2 | 13B | 24.5 | 66.9 | 55.4 | 65.8 | 28.7 | 54.8 | 39.4 | 39.1 |
Llama 2 | 70B | 37.5 | 71.9 | 63.6 | 69.4 | 35.2 | 68.9 | 51.2 | 54.2 |
預訓練大語言模型在自動安全基準測試中的評估
TruthfulQA | Toxigen | ||
---|---|---|---|
Llama 1 | 7B | 27.42 | 23.00 |
Llama 1 | 13B | 41.74 | 23.08 |
Llama 1 | 33B | 44.19 | 22.57 |
Llama 1 | 65B | 48.71 | 21.77 |
Llama 2 | 7B | 33.29 | 21.25 |
Llama 2 | 13B | 41.86 | 26.10 |
Llama 2 | 70B | 50.18 | 24.60 |
微調大語言模型在不同安全數據集上的評估
TruthfulQA | Toxigen | ||
---|---|---|---|
Llama-2-Chat | 7B | 57.04 | 0.00 |
Llama-2-Chat | 13B | 62.18 | 0.00 |
Llama-2-Chat | 70B | 64.14 | 0.01 |
硬件和軟件
- 訓練因素:使用自定義訓練庫、Meta 的研究超級集群和生產集群進行預訓練。微調、標註和評估也在第三方雲計算上進行。
- 碳足跡:預訓練在 A100 - 80GB 類型的硬件上累計使用了 330 萬 GPU 小時的計算資源(TDP 為 350 - 400W)。估計總排放量為 539 tCO2eq,其中 100% 由 Meta 的可持續發展計劃抵消。
模型 | 時間(GPU 小時) | 功耗(W) | 碳排放(tCO₂eq) |
---|---|---|---|
Llama 2 7B | 184320 | 400 | 31.22 |
Llama 2 13B | 368640 | 400 | 62.44 |
Llama 2 70B | 1720320 | 400 | 291.42 |
總計 | 3311616 | 539.00 |
📄 許可證
Llama 2 模型使用自定義商業許可證,可在 https://ai.meta.com/resources/models-and-libraries/llama-downloads/ 查看。
其他說明
Discord
加入 TheBloke AI 的 Discord 服務器,獲取進一步的支持,並參與關於這些模型和人工智能的討論。
感謝與貢獻
感謝 chirper.ai 團隊和 gpus.llm-utils.org 的 Clay!如果你願意貢獻,將非常感激,這將幫助提供更多模型並開展新的 AI 項目。捐贈者將在所有 AI/LLM/模型問題和請求上獲得優先支持,訪問私人 Discord 房間等。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特別感謝 Aemon Algiz 以及眾多 Patreon 支持者。
問題報告
通過以下方式報告模型的軟件“漏洞”或其他問題:
- 報告模型問題:github.com/facebookresearch/llama
- 報告模型生成的問題內容:developers.facebook.com/llama_output_feedback
- 報告漏洞和安全問題:facebook.com/whitehat/info
Llama 模型索引
模型 | Llama2 | Llama2 - hf | Llama2 - chat | Llama2 - chat - hf |
---|---|---|---|---|
7B | 鏈接 | 鏈接 | 鏈接 | 鏈接 |
13B | 鏈接 | 鏈接 | 鏈接 | 鏈接 |
70B | 鏈接 | 鏈接 | 鏈接 | 鏈接 |
注意事項
⚠️ 重要提示
使用本模型需遵守 Meta 的許可證。為下載模型權重和分詞器,請訪問 網站 並接受許可證後再在此處請求訪問。模型僅用於英語的商業和研究用途,使用時請遵循適用的法律法規和可接受使用政策。
💡 使用建議
若要獲得聊天版本的預期功能和性能,需遵循特定的格式,包括
INST
和<<SYS>>
標籤、BOS
和EOS
標記以及它們之間的空格和換行符(建議對輸入調用strip()
以避免雙空格)。具體細節請參考 github 上的參考代碼。



