模型概述
模型特點
模型能力
使用案例
🚀 Yi 6B - GGUF
本項目包含了 01-ai的Yi 6B 模型的GGUF格式文件。這些文件由 Massed Compute 提供的硬件進行量化處理。
🚀 快速開始
下載GGUF文件
- 手動下載注意事項:通常不建議克隆整個倉庫,因為倉庫中提供了多種不同的量化格式,大多數用戶只需要選擇並下載單個文件。
- 自動下載工具:以下客戶端/庫會自動為你下載模型,並提供可用模型列表供你選擇:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在 text-generation-webui
中下載
在“Download Model”下,輸入模型倉庫地址 TheBloke/Yi-6B-GGUF
,並在下方指定要下載的文件名,例如 yi-6b.Q4_K_M.gguf
,然後點擊“Download”。
命令行下載(可同時下載多個文件)
推薦使用 huggingface-hub
Python庫:
pip3 install huggingface-hub
然後可以使用以下命令將單個模型文件高速下載到當前目錄:
huggingface-cli download TheBloke/Yi-6B-GGUF yi-6b.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
運行示例
llama.cpp
命令示例
確保使用的是 d0cee0d 或更高版本的 llama.cpp
:
./main -ngl 32 -m yi-6b.Q4_K_M.gguf --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "{prompt}"
-ngl 32
:將其改為要卸載到GPU的層數。如果沒有GPU加速,請移除該參數。-c 2048
:將其改為所需的序列長度。對於擴展序列模型(如8K、16K、32K),必要的RoPE縮放參數會從GGUF文件中讀取,並由llama.cpp自動設置。- 如果想進行聊天式對話,將
-p <PROMPT>
參數替換為-i -ins
。
在 text-generation-webui
中運行
更多說明請參考:text-generation-webui/docs/llama.cpp.md。
從Python代碼運行
可以使用 llama-cpp-python 或 ctransformers 庫從Python中使用GGUF模型。
使用 ctransformers
加載模型
首先根據系統運行以下命令之一安裝包:
# 無GPU加速的基礎ctransformers
pip install ctransformers
# 或使用CUDA GPU加速
pip install ctransformers[cuda]
# 或使用AMD ROCm GPU加速(僅適用於Linux)
CT_HIPBLAS=1 pip install ctransformers --no-binary ctransformers
# 或使用Metal GPU加速(僅適用於macOS系統)
CT_METAL=1 pip install ctransformers --no-binary ctransformers
簡單的 ctransformers
示例代碼:
from ctransformers import AutoModelForCausalLM
# 將gpu_layers設置為要卸載到GPU的層數。如果系統上沒有GPU加速,請將其設置為0。
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Yi-6B-GGUF", model_file="yi-6b.Q4_K_M.gguf", model_type="yi", gpu_layers=50)
print(llm("AI is going to"))
與LangChain一起使用
以下是使用 llama-cpp-python
和 ctransformers
與LangChain的指南:
✨ 主要特性
- 本倉庫包含 01-ai的Yi 6B 的GGUF格式模型文件。
- 這些文件由 Massed Compute 提供的硬件進行量化處理。
- GGUF是llama.cpp團隊在2023年8月21日引入的新格式,替代了不再受支持的GGML格式。
- 提供多種量化方法和不同比特的模型文件,適用於CPU+GPU推理。
- 與許多第三方UI和庫兼容。
📦 安裝指南
下載 huggingface-hub
庫
pip3 install huggingface-hub
下載模型文件
huggingface-cli download TheBloke/Yi-6B-GGUF yi-6b.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
💻 使用示例
基礎用法
在 llama.cpp
中運行模型:
./main -ngl 32 -m yi-6b.Q4_K_M.gguf --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "{prompt}"
高級用法
在Python中使用 ctransformers
庫加載模型:
from ctransformers import AutoModelForCausalLM
# 將gpu_layers設置為要卸載到GPU的層數。如果系統上沒有GPU加速,請將其設置為0。
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Yi-6B-GGUF", model_file="yi-6b.Q4_K_M.gguf", model_type="yi", gpu_layers=50)
print(llm("AI is going to"))
📚 詳細文檔
關於GGUF
GGUF是llama.cpp團隊在2023年8月21日引入的新格式,替代了不再受支持的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支持和易用性。
可用倉庫
- 用於GPU推理的AWQ模型
- 具有多個量化參數選項的用於GPU推理的GPTQ模型
- 用於CPU+GPU推理的2、3、4、5、6和8位GGUF模型
- 01-ai的原始未量化fp16 PyTorch格式模型,用於GPU推理和進一步轉換
提示模板
{prompt}
兼容性
這些量化的GGUFv2文件與2023年8月27日之後的llama.cpp兼容,對應提交版本為 d0cee0d。它們也與許多第三方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 | 使用場景 |
---|---|---|---|---|---|
yi-6b.Q2_K.gguf | Q2_K | 2 | 2.62 GB | 5.12 GB | 最小,但質量損失顯著,不建議用於大多數情況 |
yi-6b.Q3_K_S.gguf | Q3_K_S | 3 | 2.71 GB | 5.21 GB | 非常小,但質量損失高 |
yi-6b.Q3_K_M.gguf | Q3_K_M | 3 | 2.99 GB | 5.49 GB | 非常小,但質量損失高 |
yi-6b.Q3_K_L.gguf | Q3_K_L | 3 | 3.24 GB | 5.74 GB | 小,但質量損失較大 |
yi-6b.Q4_0.gguf | Q4_0 | 4 | 3.48 GB | 5.98 GB | 舊版本;小,但質量損失非常高,建議使用Q3_K_M |
yi-6b.Q4_K_S.gguf | Q4_K_S | 4 | 3.50 GB | 6.00 GB | 小,但質量損失較大 |
yi-6b.Q4_K_M.gguf | Q4_K_M | 4 | 3.67 GB | 6.17 GB | 中等,質量平衡,推薦使用 |
yi-6b.Q5_0.gguf | Q5_0 | 5 | 4.20 GB | 6.70 GB | 舊版本;中等,質量平衡,建議使用Q4_K_M |
yi-6b.Q5_K_S.gguf | Q5_K_S | 5 | 4.20 GB | 6.70 GB | 大,質量損失低,推薦使用 |
yi-6b.Q5_K_M.gguf | Q5_K_M | 5 | 4.30 GB | 6.80 GB | 大,質量損失非常低,推薦使用 |
yi-6b.Q6_K.gguf | Q6_K | 6 | 4.97 GB | 7.47 GB | 非常大,質量損失極低 |
yi-6b.Q8_0.gguf | Q8_0 | 8 | 6.44 GB | 8.94 GB | 非常大,質量損失極低,但不建議使用 |
注意:上述RAM數字假設沒有進行GPU卸載。如果將層卸載到GPU,將減少RAM使用並使用VRAM。
🔧 技術細節
模型評估
為了全面評估模型的能力,採用了Llama2中概述的方法。具體來說,包括PIQA、SIQA、HellaSwag、WinoGrande、ARC、OBQA和CSQA來評估常識推理能力。納入SquAD、QuAC和BoolQ來評估閱讀理解能力。CSQA僅使用7-shot設置進行測試,而其他所有測試均以0-shot配置進行。此外,在“Math & Code”類別下引入了GSM8K(8-shot@1)、MATH(4-shot@1)、HumanEval(0-shot@1)和MBPP(3-shot@1)。由於技術限制,未對Falcon-180在QuAC和OBQA上進行測試;分數通過對其餘任務的分數進行平均得出。由於這兩個任務的分數通常低於平均值,因此認為Falcon-180B的性能沒有被低估。
模型性能對比
模型 | MMLU | CMMLU | C-Eval | GAOKAO | BBH | 常識推理 | 閱讀理解 | 數學與代碼 |
---|---|---|---|---|---|---|---|---|
5-shot | 5-shot | 5-shot | 0-shot | 3-shot@1 | - | - | - | |
LLaMA2-34B | 62.6 | - | - | - | 44.1 | 69.9 | 68.0 | 26.0 |
LLaMA2-70B | 68.9 | 53.3 | - | 49.8 | 51.2 | 71.9 | 69.4 | 36.8 |
Baichuan2-13B | 59.2 | 62.0 | 58.1 | 54.3 | 48.8 | 64.3 | 62.4 | 23.0 |
Qwen-14B | 66.3 | 71.0 | 72.1 | 62.5 | 53.4 | 73.3 | 72.5 | 39.8 |
Skywork-13B | 62.1 | 61.8 | 60.6 | 68.1 | 41.7 | 72.4 | 61.4 | 24.9 |
InternLM-20B | 62.1 | 59.0 | 58.8 | 45.5 | 52.5 | 78.3 | - | 30.4 |
Aquila-34B | 67.8 | 71.4 | 63.1 | - | - | - | - | - |
Falcon-180B | 70.4 | 58.0 | 57.8 | 59.0 | 54.0 | 77.3 | 68.8 | 34.0 |
Yi-6B | 63.2 | 75.5 | 72.0 | 72.2 | 42.8 | 72.3 | 68.7 | 19.8 |
Yi-6B-200K | 64.0 | 75.3 | 73.5 | 73.9 | 42.0 | 72.0 | 69.1 | 19.0 |
Yi-34B | 76.3 | 83.7 | 81.4 | 82.8 | 54.3 | 80.1 | 76.4 | 37.1 |
Yi-34B-200K | 76.1 | 83.6 | 81.9 | 83.4 | 52.7 | 79.7 | 76.6 | 36.3 |
在對開源模型進行基準測試時,發現我們的管道生成的結果與公開來源(如OpenCompass)報告的結果存在差異。在對這種差異進行更深入的調查後,發現各種模型可能採用不同的提示、後處理策略和採樣技術,這可能導致結果出現顯著差異。我們的提示和後處理策略與原始基準保持一致,在評估過程中採用貪婪解碼,不對生成的內容進行後處理。對於原始作者未報告的分數(包括在不同設置下報告的分數),我們嘗試使用我們的管道獲取結果。
📄 許可證
Yi系列模型完全開放用於學術研究,並可在獲得許可的情況下免費用於商業用途。所有使用必須遵守 模型許可協議2.0。如需申請官方商業許可證,請聯繫 yi@01.ai。
其他信息
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特別提及:Brandon Frisco, LangChain4j, Spiking Neurons AB, transmissions 11, Joseph William Delisle, Nitin Borwankar, Willem Michiel, Michael Dempsey, vamX, Jeffrey Morgan, zynix, jjj, Omer Bin Jawed, Sean Connelly, jinyuan sun, Jeromy Smith, Shadi, Pawan Osman, Chadd, Elijah Stavena, Illia Dulskyi, Sebastain Graf, Stephen Murray, terasurfer, Edmond Seymore, Celu Ramasamy, Mandus, Alex, biorpg, Ajan Kanaga, Clay Pascal, Raven Klaugh, 阿明, K, ya boyyy, usrbinkat, Alicia Loh, John Villwock, ReadyPlayerEmma, Chris Smitley, Cap'n Zoog, fincy, GodLy, S_X, sidney chen, Cory Kujawski, OG, Mano Prime, AzureBlack, Pieter, Kalila, Spencer Kim, Tom X Nguyen, Stanislav Ovsiannikov, Michael Levine, Andrey, Trailburnt, Vadim, Enrico Ros, Talal Aujan, Brandon Phillips, Jack West, Eugene Pentland, Michael Davis, Will Dee, webtim, Jonathan Leane, Alps Aficionado, Rooh Singh, Tiffany J. Kim, theTransient, Luke @flexchar, Elle, Caitlyn Gatomon, Ari Malik, subjectnull, Johann-Peter Hartmann, Trenton Dambrowitz, Imad Khwaja, Asp the Wyvern, Emad Mostaque, Rainer Wilmers, Alexandros Triantafyllidis, Nicholas, Pedro Madruga, SuperWojo, Harry Royden McLaughlin, James Bentley, Olakabola, David Ziegler, Ai Maven, Jeff Scroggin, Nikolai Manek, Deo Leter, Matthew Berman, Fen Risland, Ken Nordquist, Manuel Alberto Morcote, Luke Pendergrass, TL, Fred von Graf, Randy H, Dan Guido, NimbleBox.ai, Vitor Caleffi, Gabriel Tamborski, knownsqashed, Lone Striker, Erik Bjäreholt, John Detwiler, Leonard Tan, Iucharbius
感謝所有慷慨的贊助者和捐贈者!再次感謝a16z的慷慨資助。



