模型概述
模型特點
模型能力
使用案例
🚀 Llama 2 70B Chat - GGUF
本項目提供了 Meta Llama 2 的 Llama 2 70B Chat 模型的 GGUF 格式文件,方便用戶在不同環境下進行推理和使用。
🚀 快速開始
本倉庫包含了 Meta Llama 2 的 Llama 2 70B Chat 模型的 GGUF 格式文件。
✨ 主要特性
- GGUF 格式:GGUF 是 llama.cpp 團隊在 2023 年 8 月 21 日推出的新格式,它取代了不再被 llama.cpp 支持的 GGML 格式。GGUF 具有更好的分詞功能、支持特殊令牌、支持元數據,並且具有可擴展性。
- 多客戶端支持:眾多客戶端和庫都支持 GGUF 格式,如 llama.cpp、text-generation-webui、KoboldCpp 等。
- 多種量化方法:提供了多種量化方法的模型文件,用戶可以根據自己的需求選擇不同的量化文件,以平衡模型大小和質量。
📦 安裝指南
安裝依賴庫
推薦使用 huggingface-hub
Python 庫來下載模型文件:
pip3 install huggingface-hub>=0.17.1
若要加速高速連接(1Gbit/s 或更高)下的下載速度,可安裝 hf_transfer
:
pip3 install hf_transfer
並設置環境變量 HF_HUB_ENABLE_HF_TRANSFER
為 1
:
HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/Llama-2-70B-chat-GGUF llama-2-70b-chat.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows CLI 用戶在運行下載命令前使用 set HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1
。
下載模型文件
在 text-generation-webui
中下載
在“Download Model”下,輸入模型倉庫地址 TheBloke/Llama-2-70B-chat-GGUF
,並在下方輸入要下載的具體文件名,如 llama-2-70b-chat.Q4_K_M.gguf
,然後點擊“Download”。
命令行下載單個或多個文件
使用以下命令可將單個模型文件高速下載到當前目錄:
huggingface-cli download TheBloke/Llama-2-70B-chat-GGUF llama-2-70b-chat.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
使用模式匹配可一次下載多個文件:
huggingface-cli download TheBloke/Llama-2-70B-chat-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
💻 使用示例
基礎用法
在 llama.cpp
中運行模型:
./main -ngl 32 -m llama-2-70b-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
。
高級用法
在 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
# 或使用 Metal GPU 加速(適用於 macOS 系統)
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-70B-chat-GGUF", model_file="llama-2-70b-chat.Q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
📚 詳細文檔
關於 GGUF
GGUF 是 llama.cpp 團隊在 2023 年 8 月 21 日推出的新格式,它取代了不再被 llama.cpp 支持的 GGML 格式。GGUF 具有以下優點:
- 更好的分詞功能。
- 支持特殊令牌。
- 支持元數據。
- 具有可擴展性。
以下是已知支持 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:適用於 Windows 和 macOS(Silicon 和 Intel)的有吸引力且易用的基於角色的聊天 GUI,支持 GPU 加速。
- ctransformers:一個支持 GPU 加速、LangChain 支持和 OpenAI 兼容 AI 服務器的 Python 庫。
- llama-cpp-python:一個支持 GPU 加速、LangChain 支持和 OpenAI 兼容 API 服務器的 Python 庫。
- candle:一個專注於性能的 Rust ML 框架,包括 GPU 支持,且易於使用。
可用倉庫
- 用於 GPU 推理的 AWQ 模型
- 用於 GPU 推理的 GPTQ 模型,具有多種量化參數選項
- 用於 CPU+GPU 推理的 2、3、4、5、6 和 8 位 GGUF 模型
- Meta Llama 2 原始未量化的 fp16 模型(pytorch 格式),用於 GPU 推理和進一步轉換
提示模板:Llama-2-Chat
[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-70b-chat.Q2_K.gguf | Q2_K | 2 | 29.28 GB | 31.78 GB | 最小,但質量損失顯著,不建議用於大多數場景 |
llama-2-70b-chat.Q3_K_S.gguf | Q3_K_S | 3 | 29.92 GB | 32.42 GB | 非常小,但質量損失高 |
llama-2-70b-chat.Q5_K_S.gguf | Q5_K_S | 5 | 30.57 GB | 33.07 GB | 大,質量損失低,推薦使用 |
llama-2-70b-chat.Q3_K_M.gguf | Q3_K_M | 3 | 33.19 GB | 35.69 GB | 非常小,但質量損失高 |
llama-2-70b-chat.Q3_K_L.gguf | Q3_K_L | 3 | 36.15 GB | 38.65 GB | 小,質量損失較大 |
llama-2-70b-chat.Q4_0.gguf | Q4_0 | 4 | 38.87 GB | 41.37 GB | 舊版本;小,但質量損失非常高,建議使用 Q3_K_M |
llama-2-70b-chat.Q4_K_S.gguf | Q4_K_S | 4 | 39.07 GB | 41.57 GB | 小,質量損失較大 |
llama-2-70b-chat.Q4_K_M.gguf | Q4_K_M | 4 | 41.42 GB | 43.92 GB | 中等,質量平衡,推薦使用 |
llama-2-70b-chat.Q5_0.gguf | Q5_0 | 5 | 47.46 GB | 49.96 GB | 舊版本;中等,質量平衡,建議使用 Q4_K_M |
llama-2-70b-chat.Q5_K_M.gguf | Q5_K_M | 5 | 48.75 GB | 51.25 GB | 大,質量損失非常低,推薦使用 |
llama-2-70b-chat.Q6_K.gguf | Q6_K | 6 | 56.59 GB | 59.09 GB | 非常大,質量損失極低 |
llama-2-70b-chat.Q8_0.gguf | Q8_0 | 8 | 73.29 GB | 75.79 GB | 非常大,質量損失極低,但不建議使用 |
注意:上述 RAM 數字假設沒有進行 GPU 卸載。如果將層卸載到 GPU,將減少 RAM 使用並使用 VRAM。
Q6_K 和 Q8_0 文件是分割的,需要合併
注意:HF 不支持上傳大於 50GB 的文件,因此 Q6_K 和 Q8_0 文件作為分割文件上傳。
點擊查看 Q6_K 和 Q8_0 文件的說明
q6_K
請下載:
llama-2-70b-chat.Q6_K.gguf-split-a
llama-2-70b-chat.Q6_K.gguf-split-b
q8_0
請下載:
llama-2-70b-chat.Q8_0.gguf-split-a
llama-2-70b-chat.Q8_0.gguf-split-b
合併文件的方法如下:
- Linux 和 macOS:
cat llama-2-70b-chat.Q6_K.gguf-split-* > llama-2-70b-chat.Q6_K.gguf && rm llama-2-70b-chat.Q6_K.gguf-split-*
cat llama-2-70b-chat.Q8_0.gguf-split-* > llama-2-70b-chat.Q8_0.gguf && rm llama-2-70b-chat.Q8_0.gguf-split-*
- Windows 命令行:
COPY /B llama-2-70b-chat.Q6_K.gguf-split-a + llama-2-70b-chat.Q6_K.gguf-split-b llama-2-70b-chat.Q6_K.gguf
del llama-2-70b-chat.Q6_K.gguf-split-a llama-2-70b-chat.Q6_K.gguf-split-b
COPY /B llama-2-70b-chat.Q8_0.gguf-split-a + llama-2-70b-chat.Q8_0.gguf-split-b llama-2-70b-chat.Q8_0.gguf
del llama-2-70b-chat.Q8_0.gguf-split-a llama-2-70b-chat.Q8_0.gguf-split-b
如何在 text-generation-webui
中運行
詳細說明請參考 text-generation-webui/docs/llama.cpp.md。
如何與 LangChain 一起使用
以下是使用 llama-cpp-python 或 ctransformers 與 LangChain 的指南:
🔧 技術細節
模型信息
屬性 | 詳情 |
---|---|
模型類型 | Llama |
訓練數據 | Llama 2 在來自公開可用來源的 2 萬億個令牌數據上進行了預訓練。微調數據包括公開可用的指令數據集,以及超過一百萬個新的人工標註示例。預訓練和微調數據集均不包含 Meta 用戶數據。 |
評估結果
整體學術基準測試表現
模型 | 大小 | 代碼 | 常識推理 | 世界知識 | 閱讀理解 | 數學 | 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 |
📄 許可證
本模型使用自定義商業許可證,詳情請見:https://ai.meta.com/resources/models-and-libraries/llama-downloads/
Discord
如需進一步支持,以及參與這些模型和 AI 相關的討論,請加入我們的 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 特別提及:Alicia Loh、Stephen Murray 等眾多人士。
感謝所有慷慨的贊助者和捐贈者!再次感謝 a16z 的慷慨資助。
原始模型卡片:Meta Llama 2 的 Llama 2 70B Chat
模型詳情
- 模型開發者:Meta
- 變體:Llama 2 有多種參數規模(7B、13B 和 70B),以及預訓練和微調版本。
- 輸入:僅接受文本輸入。
- 輸出:僅生成文本輸出。
- 模型架構:Llama 2 是一種自迴歸語言模型,採用了優化的 Transformer 架構。微調版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF)來符合人類對有用性和安全性的偏好。
訓練數據
- 概述:Llama 2 在 2 萬億個來自公開可用來源的令牌數據上進行了預訓練。微調數據包括公開可用的指令數據集,以及超過一百萬個新的人工標註示例。預訓練和微調數據集均不包含 Meta 用戶數據。
- 數據新鮮度:預訓練數據截止到 2022 年 9 月,但部分微調數據更新至 2023 年 7 月。
預期用途
- 預期用例:Llama 2 旨在用於英語的商業和研究用途。微調模型用於類似助手的聊天,而預訓練模型可用於各種自然語言生成任務。
- 超出範圍的用途:以任何違反適用法律法規(包括貿易合規法律)的方式使用;在英語以外的語言中使用;以 Llama 2 的可接受使用政策和許可協議禁止的任何其他方式使用。
道德考量和侷限性
Llama 2 是一項新技術,使用時存在風險。到目前為止的測試僅在英語中進行,且無法涵蓋所有場景。因此,與所有大語言模型一樣,Llama 2 的潛在輸出無法提前預測,在某些情況下,模型可能會對用戶提示產生不準確、有偏見或其他令人反感的響應。因此,在部署 Llama 2 的任何應用程序之前,開發者應針對其特定應用進行安全測試和調整。
請參閱 https://ai.meta.com/llama/responsible-use-guide/ 上的《負責任使用指南》。
問題報告
請通過以下方式報告模型的任何軟件“漏洞”或其他問題:
- 報告模型問題: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 | 鏈接 | 鏈接 | 鏈接 | 鏈接 |



