模型简介
模型特点
模型能力
使用案例
🚀 Llama 2 13B Chat - GGUF
本项目提供了 Meta的Llama 2 13B-chat 模型的GGUF格式文件,方便用户在不同环境下进行推理和使用。
🚀 快速开始
本仓库包含了Meta的Llama 2 13B-chat模型的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-chat-GGUF,然后在下方输入具体的文件名进行下载,例如:llama-2-13b-chat.q4_K_M.gguf,最后点击“Download”。
命令行下载(包括同时下载多个文件)
推荐使用huggingface-hub
Python库:
pip3 install huggingface-hub>=0.17.1
然后可以使用以下命令将任何单个模型文件高速下载到当前目录:
huggingface-cli download TheBloke/Llama-2-13B-chat-GGUF llama-2-13b-chat.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
如果你想同时下载多个文件,可以使用模式匹配:
huggingface-cli download TheBloke/Llama-2-13B-chat-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
更多关于huggingface-cli
下载的文档,请参考:HF -> Hub Python Library -> Download files -> Download from the CLI。
为了在高速连接(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-chat-GGUF llama-2-13b-chat.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-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
。
更多参数和使用方法,请参考 the llama.cpp documentation。
在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
# 或使用Metal GPU加速(适用于macOS系统)
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-chat-GGUF", model_file="llama-2-13b-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机器学习框架,注重性能,包括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和库兼容,请参阅本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-chat.Q2_K.gguf | Q2_K | 2 | 5.43 GB | 7.93 GB | 最小,但质量损失显著,不建议用于大多数情况 |
llama-2-13b-chat.Q3_K_S.gguf | Q3_K_S | 3 | 5.66 GB | 8.16 GB | 非常小,但质量损失高 |
llama-2-13b-chat.Q3_K_M.gguf | Q3_K_M | 3 | 6.34 GB | 8.84 GB | 非常小,但质量损失高 |
llama-2-13b-chat.Q3_K_L.gguf | Q3_K_L | 3 | 6.93 GB | 9.43 GB | 小,但质量损失较大 |
llama-2-13b-chat.Q4_0.gguf | Q4_0 | 4 | 7.37 GB | 9.87 GB | 旧版本;小,但质量损失非常高,建议使用Q3_K_M |
llama-2-13b-chat.Q4_K_S.gguf | Q4_K_S | 4 | 7.41 GB | 9.91 GB | 小,但质量损失更大 |
llama-2-13b-chat.Q4_K_M.gguf | Q4_K_M | 4 | 7.87 GB | 10.37 GB | 中等,质量平衡,推荐使用 |
llama-2-13b-chat.Q5_0.gguf | Q5_0 | 5 | 8.97 GB | 11.47 GB | 旧版本;中等,质量平衡,建议使用Q4_K_M |
llama-2-13b-chat.Q5_K_S.gguf | Q5_K_S | 5 | 8.97 GB | 11.47 GB | 大,质量损失低,推荐使用 |
llama-2-13b-chat.Q5_K_M.gguf | Q5_K_M | 5 | 9.23 GB | 11.73 GB | 大,质量损失非常低,推荐使用 |
llama-2-13b-chat.Q6_K.gguf | Q6_K | 6 | 10.68 GB | 13.18 GB | 非常大,质量损失极低 |
llama-2-13b-chat.Q8_0.gguf | Q8_0 | 8 | 13.83 GB | 16.33 GB | 非常大,质量损失极低,不建议使用 |
注意:上述RAM数字假设没有进行GPU卸载。如果将层卸载到GPU,将减少RAM使用并使用VRAM。
🔧 技术细节
模型信息
属性 | 详情 |
---|---|
模型类型 | Llama |
训练数据 | Llama 2在2万亿个公开可用来源的令牌数据上进行了预训练。微调数据包括公开可用的指令数据集,以及超过一百万个新的人工标注示例。预训练和微调数据集均不包含Meta用户数据。 |
训练相关
- 训练因素:使用自定义训练库、Meta的研究超级集群和生产集群进行预训练。微调、标注和评估也在第三方云计算上进行。
- 碳足迹:预训练在A100 - 80GB类型的硬件上累计使用了330万个GPU小时的计算资源(TDP为350 - 400W)。估计总排放量为539 tCO2eq,其中100%由Meta的可持续发展计划进行了抵消。
评估结果
在标准学术基准测试中,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 |
📄 许可证
本项目使用Llama2许可证,具体商业许可证可在 https://ai.meta.com/resources/models-and-libraries/llama-downloads/ 查看。
Discord
如需进一步支持,以及参与这些模型和AI相关的讨论,请加入: 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, K, Ajan Kanaga, RoA, Magnesian, Deo Leter, Olakabola, Eugene Pentland, zynix, Deep Realms, Raymond Fosdick, Elijah Stavena, Iucharbius, Erik Bjäreholt, Luis Javier Navarrete Lozano, Nicholas, theTransient, John Detwiler, alfie_i, knownsqashed, Mano Prime, Willem Michiel, Enrico Ros, LangChain4j, OG, Michael Dempsey, Pierre Kircher, Pedro Madruga, James Bentley, Thomas Belote, Luke @flexchar, Leonard Tan, Johann - Peter Hartmann, Illia Dulskyi, Fen Risland, Chadd, S_X, Jeff Scroggin, Ken Nordquist, Sean Connelly, Artur Olbinski, Swaroop Kallakuri, Jack West, Ai Maven, David Ziegler, Russ Johnson, transmissions 11, John Villwock, Alps Aficionado, Clay Pascal, Viktor Bowallius, Subspace Studios, Rainer Wilmers, Trenton Dambrowitz, vamX, Michael Levine, 준교 김, Brandon Frisco, Kalila, Trailburnt, Randy H, Talal Aujan, Nathan Dryer, Vadim, 阿明, ReadyPlayerEmma, Tiffany J. Kim, George Stoitzev, Spencer Kim, Jerry Meng, Gabriel Tamborski, Cory Kujawski, Jeffrey Morgan, Spiking Neurons AB, Edmond Seymore, Alexandros Triantafyllidis, Lone Striker, Cap'n Zoog, Nikolai Manek, danny, ya boyyy, Derek Yates, usrbinkat, Mandus, TL, Nathan LeClaire, subjectnull, Imad Khwaja, webtim, Raven Klaugh, Asp the Wyvern, Gabriel Puliatti, Caitlyn Gatomon, Joseph William Delisle, Jonathan Leane, Luke Pendergrass, SuperWojo, Sebastain Graf, Will Dee, Fred von Graf, Andrey, Dan Guido, Daniel P. Andersen, Nitin Borwankar, Elle, Vitor Caleffi, biorpg, jjj, NimbleBox.ai, Pieter, Matthew Berman, terasurfer, Michael Davis, Alex, Stanislav Ovsiannikov
感谢所有慷慨的赞助者和捐赠者!再次感谢a16z的慷慨资助。



