模型简介
模型特点
模型能力
使用案例
🚀 CausalLM 7B - GGUF
CausalLM 7B - GGUF是一个基于特定模型结构和数据集训练的语言模型,适用于文本生成任务。它支持多种语言,具有不同的量化版本以适应不同的使用场景,同时在多个评估指标上表现出色。
🚀 快速开始
本项目提供了CausalLM 7B模型的GGUF格式文件。如果你之前下载过最初上传的GGUF文件,由于词汇表问题,这些文件无法正常工作,该问题已于10月23日15:00 UTC修复,现在上传的文件已确认可以正常使用,请重新下载。
✨ 主要特性
- 多数据集训练:使用了多个开源数据集进行训练,包括JosephusCheung/GuanacoDataset、Open-Orca/OpenOrca等。
- 多语言支持:支持英语和中文。
- 多种量化版本:提供2、3、4、5、6和8位的GGUF模型,适用于CPU+GPU推理。
- 特定提示模板:采用ChatML提示模板。
📦 安装指南
下载GGUF文件
- 自动下载:LM Studio、LoLLMS Web UI、Faraday.dev等客户端/库会自动下载模型,并提供可用模型列表供选择。
- 在
text-generation-webui
中下载:在“Download Model”下,输入模型仓库地址TheBloke/CausalLM-7B-GGUF
,并在下方输入要下载的具体文件名,如causallm_7b.Q4_K_M.gguf
,然后点击“Download”。 - 命令行下载:推荐使用
huggingface-hub
Python库。
然后使用以下命令将单个模型文件高速下载到当前目录:pip3 install huggingface-hub
若要同时下载多个文件,可使用模式匹配:huggingface-cli download TheBloke/CausalLM-7B-GGUF causallm_7b.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
若要加速高速连接(1Gbit/s或更高)的下载,可安装huggingface-cli download TheBloke/CausalLM-7B-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
hf_transfer
:
并设置环境变量pip3 install hf_transfer
HF_HUB_ENABLE_HF_TRANSFER
为1
:
Windows命令行用户可在下载命令前运行HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/CausalLM-7B-GGUF causallm_7b.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
set HF_HUB_ENABLE_HF_TRANSFER=1
来设置环境变量。
💻 使用示例
llama.cpp
命令示例
确保使用的是8月27日之后的llama.cpp
版本(提交号为d0cee0d或更高)。
./main -ngl 32 -m causallm_7b.Q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "<|im_start|>system\n{system_message}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant"
-ngl 32
:指定要卸载到GPU的层数,若没有GPU加速可移除该参数。-c 4096
:指定所需的序列长度。对于扩展序列模型(如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的层数,若系统没有GPU加速则设置为0
llm = AutoModelForCausalLM.from_pretrained("TheBloke/CausalLM-7B-GGUF", model_file="causallm_7b.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的替代品,目前GGML已不再受llama.cpp支持。以下是已知支持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:一个支持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模型
- CausalLM的原始未量化fp16模型(pytorch格式),用于GPU推理和进一步转换
提示模板:ChatML
<|im_start|>system
{system_message}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
许可信息
源模型的创建者将其许可证列为wtfpl
,因此本次量化也使用了相同的许可证。由于该模型基于Llama 2,它也受Meta Llama 2许可条款的约束,并且额外包含了该许可文件。因此,应认为该模型声称同时受这两种许可证的约束。已联系Hugging Face以澄清双重许可问题,但他们尚未有官方立场。若情况发生变化,或Meta对此情况提供任何反馈,将相应更新此部分内容。在此期间,任何关于许可的问题,特别是这两种许可证如何相互作用的问题,应咨询原始模型仓库:CausalLM的CausalLM 7B。
兼容性
这些量化的GGUFv2文件与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 | 使用场景 |
---|---|---|---|---|---|
causallm_7b.Q2_K.gguf | Q2_K | 2 | 3.40 GB | 5.90 GB | 最小,但质量损失显著,不推荐用于大多数用途 |
causallm_7b.Q3_K_S.gguf | Q3_K_S | 3 | 3.57 GB | 6.07 GB | 非常小,但质量损失高 |
causallm_7b.Q3_K_M.gguf | Q3_K_M | 3 | 3.92 GB | 6.42 GB | 非常小,但质量损失高 |
causallm_7b.Q3_K_L.gguf | Q3_K_L | 3 | 4.22 GB | 6.72 GB | 小,但质量损失较大 |
causallm_7b.Q4_0.gguf | Q4_0 | 4 | 4.51 GB | 7.01 GB | 旧版本;小,但质量损失非常高,建议使用Q3_K_M |
causallm_7b.Q4_K_S.gguf | Q4_K_S | 4 | 4.54 GB | 7.04 GB | 小,但质量损失较大 |
causallm_7b.Q4_K_M.gguf | Q4_K_M | 4 | 4.77 GB | 7.27 GB | 中等,质量平衡,推荐使用 |
causallm_7b.Q5_0.gguf | Q5_0 | 5 | 5.40 GB | 7.90 GB | 旧版本;中等,质量平衡,建议使用Q4_K_M |
causallm_7b.Q5_K_S.gguf | Q5_K_S | 5 | 5.40 GB | 7.90 GB | 大,质量损失低,推荐使用 |
causallm_7b.Q5_K_M.gguf | Q5_K_M | 5 | 5.53 GB | 8.03 GB | 大,质量损失非常低,推荐使用 |
causallm_7b.Q6_K.gguf | Q6_K | 6 | 6.34 GB | 8.84 GB | 非常大,质量损失极低 |
causallm_7b.Q8_0.gguf | Q8_0 | 8 | 8.21 GB | 10.71 GB | 非常大,质量损失极低,但不推荐使用 |
注意:上述RAM数字假设没有进行GPU卸载。如果将层卸载到GPU,将减少RAM使用并使用VRAM。
🔧 技术细节
该模型基于Qwen的权重(并使用了LLaMA2权重用于计算一些权重初始化),训练过程中使用了与LLaMA2相同的模型结构,采用与原始MHA LLaMA2模型相同的注意力计算方法,对相对位置编码(RoPE)没有进行额外的缩放。手动筛选了一个包含13亿个标记的SFT数据集进行训练,利用了Hugging Face的开源数据集。对于大多数句子,进行了手动或合成改写,并使用更大的语言模型生成了其他语言版本。此外,还使用了精心挑选的来自维基百科的条目、来自Fandom的精选条目以及来自萌娘百科的过滤条目进行增强文本训练。为了在效率和质量之间取得平衡,训练所使用的100%数据都是合成数据,没有直接使用来自互联网或公开可用数据集的原始文本进行微调。7B版本的模型是14B模型的精简版本,专门设计用于推测抽样。
📄 许可证
源模型的许可证为wtfpl
,由于该模型基于Llama 2,它也受Meta Llama 2许可条款的约束。关于双重许可的问题,Hugging Face尚未有官方立场,如有变化将更新此部分内容。如有许可相关问题,可咨询原始模型仓库:CausalLM的CausalLM 7B。
其他信息
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特别提及:Pierre Kircher、Stanislav Ovsiannikov等众多支持者。
原模型信息
原模型在多个评估指标上表现出色:
- MMLU:STEM准确率56.83,人文学科准确率58.79,其他准确率70.04,社会学准确率72.41,平均准确率63.82,优于/平于最好的Mistral-7B聊天格式的微调,和其余的33B及以下模型。
- CEval(验证集):STEM准确率61.67,社会科学准确率81.94,人文学科准确率77.19,其他准确率68.35,困难准确率48.03,平均准确率70.27,优于当前所有7B模型。
- GSM8K:零样本准确率0.5921152388172858,优于WizardMath-7B和Qwen-7B。
原模型使用chatml提示格式,且系统提示不能为空。同时,模型是在未经过滤的互联网数据上训练的,可能包含不良内容,需要自行检查模型安全性并过滤输出关键词。由于计算资源限制,目前无法实施RLHF和限制性微调。此外,模型在LLaVA1.5中引入的提示格式上进行了一些微调,可实现有效的多模态能力。
⚠️ 重要提示
模型是在未经过滤的互联网数据上进行训练的,可能存在大量不良内容、色情、暴力和冒犯性语言,需要您自行对模型的安全性进行检查,并对输出中的关键词进行过滤。
💡 使用建议
7B版本的模型是14B模型的精简版本,专门设计用于推测抽样,直接使用时可能会产生幻觉或不可靠的输出,请谨慎使用。在使用模型时,系统提示不能为空。



