模型概述
模型特點
模型能力
使用案例
🚀 Llama 2 13B - GGUF
本項目提供了 Meta的Llama 2 13B 模型的GGUF格式文件,方便用戶進行推理和使用。
🚀 快速開始
本倉庫包含了Meta的Llama 2 13B模型的GGUF格式文件。GGUF是一種新的模型格式,具有諸多優勢,如更好的分詞效果、支持特殊令牌等。下面將為你詳細介紹該模型的相關信息,包括格式說明、可用倉庫、下載和運行方法等。
✨ 主要特性
- 新格式優勢:GGUF格式由llama.cpp團隊於2023年8月21日引入,替代了不再受支持的GGML格式。它具有更好的分詞效果、支持特殊令牌,還支持元數據,並且設計為可擴展的。
- 多客戶端支持:眾多客戶端和庫都支持GGUF格式,如llama.cpp、text-generation-webui、KoboldCpp等,方便不同用戶的使用需求。
- 多種量化選項:提供了多種量化方法和比特數的模型文件,用戶可以根據自己的硬件條件和需求選擇合適的文件,以平衡模型大小、內存需求和質量。
📦 安裝指南
下載GGUF文件
手動下載注意事項
不建議克隆整個倉庫,因為倉庫中提供了多種不同的量化格式,大多數用戶只需要選擇並下載單個文件。
自動下載的客戶端/庫
以下客戶端/庫會自動為你下載模型,並提供可用模型列表供你選擇:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在text-generation-webui
中下載
在“Download Model”下,輸入模型倉庫地址:TheBloke/Llama-2-13B-GGUF,然後在下方輸入要下載的具體文件名,如:llama-2-13b.q4_K_M.gguf,最後點擊“Download”。
命令行下載(包括同時下載多個文件)
推薦使用huggingface-hub
Python庫:
pip3 install huggingface-hub>=0.17.1
然後可以使用以下命令將單個模型文件高速下載到當前目錄:
huggingface-cli download TheBloke/Llama-2-13B-GGUF llama-2-13b.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
如果你想同時下載多個文件,可以使用模式匹配:
huggingface-cli download TheBloke/Llama-2-13B-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
若要在高速連接(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-13B-GGUF llama-2-13b.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows命令行用戶在運行下載命令前,使用set HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1
。
💻 使用示例
示例llama.cpp
命令
確保你使用的是2023年8月27日及以後提交的llama.cpp
版本,提交號為 d0cee0d36d5be95a0d9088b674dbb27354107221。
./main -ngl 32 -m llama-2-13b.q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "{prompt}"
-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從Python加載模型
首先安裝包:
# 無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
以下是加載GGUF模型的簡單示例代碼:
from ctransformers import AutoModelForCausalLM
# 將gpu_layers設置為要卸載到GPU的層數。如果你的系統沒有GPU加速,將其設置為0。
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Llama-2-13B-GGUF", model_file="llama-2-13b.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日引入的新格式,用於替代不再受支持的GGML格式。它具有以下優點:
- 更好的分詞效果:能夠更準確地對文本進行分詞,提高模型的理解能力。
- 支持特殊令牌:可以處理特殊的令牌,增強模型的表達能力。
- 支持元數據:方便存儲和管理模型的相關信息。
- 可擴展性:設計為可擴展的,便於未來的功能擴展。
以下是已知支持GGUF的客戶端和庫列表:
- llama.cpp:GGUF的源項目,提供了命令行界面和服務器選項。
- text-generation-webui:最廣泛使用的Web UI,具有許多功能和強大的擴展,支持GPU加速。
- KoboldCpp:功能齊全的Web UI,支持跨所有平臺和GPU架構的GPU加速,尤其適合講故事。
- LM Studio:易於使用且功能強大的本地GUI,適用於Windows和macOS(Silicon),支持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機器學習框架,注重性能,包括GPU支持和易用性。
可用倉庫
- 用於GPU推理的AWQ模型
- 具有多個量化參數選項的GPU推理GPTQ模型
- 用於CPU+GPU推理的2、3、4、5、6和8位GGUF模型
- Meta的原始未量化fp16格式的pytorch模型,用於GPU推理和進一步轉換
提示模板
{prompt}
兼容性
這些量化的GGUFv2文件與2023年8月27日及以後的llama.cpp版本兼容,提交號為 d0cee0d36d5be95a0d9088b674dbb27354107221。它們也與許多第三方UI和庫兼容,請參閱本README頂部的列表。
量化方法說明
點擊查看詳情
新的量化方法如下:
- 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-13b.Q2_K.gguf | Q2_K | 2 | 5.43 GB | 7.93 GB | 最小,但質量損失顯著,不建議用於大多數情況 |
llama-2-13b.Q3_K_S.gguf | Q3_K_S | 3 | 5.66 GB | 8.16 GB | 非常小,但質量損失高 |
llama-2-13b.Q3_K_M.gguf | Q3_K_M | 3 | 6.34 GB | 8.84 GB | 非常小,但質量損失高 |
llama-2-13b.Q3_K_L.gguf | Q3_K_L | 3 | 6.93 GB | 9.43 GB | 小,但質量損失較大 |
llama-2-13b.Q4_0.gguf | Q4_0 | 4 | 7.37 GB | 9.87 GB | 舊版本;小,但質量損失非常高,建議使用Q3_K_M |
llama-2-13b.Q4_K_S.gguf | Q4_K_S | 4 | 7.41 GB | 9.91 GB | 小,但質量損失更大 |
llama-2-13b.Q4_K_M.gguf | Q4_K_M | 4 | 7.87 GB | 10.37 GB | 中等,質量平衡,推薦使用 |
llama-2-13b.Q5_0.gguf | Q5_0 | 5 | 8.97 GB | 11.47 GB | 舊版本;中等,質量平衡,建議使用Q4_K_M |
llama-2-13b.Q5_K_S.gguf | Q5_K_S | 5 | 8.97 GB | 11.47 GB | 大,質量損失低,推薦使用 |
llama-2-13b.Q5_K_M.gguf | Q5_K_M | 5 | 9.23 GB | 11.73 GB | 大,質量損失非常低,推薦使用 |
llama-2-13b.Q6_K.gguf | Q6_K | 6 | 10.68 GB | 13.18 GB | 非常大,質量損失極低 |
llama-2-13b.Q8_0.gguf | Q8_0 | 8 | 13.83 GB | 16.33 GB | 非常大,質量損失極低,不建議使用 |
注意:以上RAM數字假設沒有進行GPU卸載。如果將層卸載到GPU,將減少RAM使用並使用VRAM。
🔧 技術細節
模型信息
屬性 | 詳情 |
---|---|
模型類型 | Llama |
訓練數據 | 由公開可用的在線數據組成的新混合數據 |
訓練時間 | 2023年1月至2023年7月 |
狀態 | 基於離線數據集訓練的靜態模型,未來調整後的模型版本將根據社區反饋改進模型安全性後發佈 |
許可證 | 可在 https://ai.meta.com/resources/models-and-libraries/llama-downloads/ 獲取自定義商業許可證 |
研究論文 | "Llama-2: Open Foundation and Fine-tuned Chat Models" |
訓練數據
- 概述:Llama 2在2萬億個公開可用來源的令牌數據上進行了預訓練。微調數據包括公開可用的指令數據集,以及超過一百萬個新的人工標註示例。預訓練和微調數據集均不包含Meta用戶數據。
- 數據新鮮度:預訓練數據截止到2022年9月,但一些微調數據更新至2023年7月。
評估結果
標準學術基準測試結果
模型 | 大小 | 代碼 | 常識推理 | 世界知識 | 閱讀理解 | 數學 | 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類型的硬件上累計使用了3311616 GPU小時的計算資源。估計總排放量為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
如需進一步支持,以及討論這些模型和人工智能相關話題,請加入我們的 TheBloke AI的Discord服務器。
感謝與貢獻
感謝 chirper.ai 團隊!感謝 gpus.llm-utils.org 的Clay!
很多人詢問是否可以進行貢獻。我很樂意提供模型並幫助大家,也希望能有更多時間投入其中,並開展新的項目,如微調/訓練。
如果您有能力且願意貢獻,我將不勝感激,這將幫助我繼續提供更多模型,並開展新的人工智能項目。捐贈者將在任何AI/LLM/模型問題和請求上獲得優先支持,訪問私人Discord房間,以及其他福利。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特別感謝:Aemon Algiz。
Patreon特別提及:Alicia Loh、Stephen Murray等眾多支持者。
感謝所有慷慨的贊助者和捐贈者!再次感謝a16z的慷慨資助。
報告問題
如果發現模型存在軟件“漏洞”或其他問題,請通過以下方式報告:
- 報告模型問題: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上的參考代碼:chat_completion
。



