模型简介
模型特点
模型能力
使用案例
🚀 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的慷慨资助。



