模型简介
模型特点
模型能力
使用案例
🚀 Pygmalion 2 7B - GGUF
Pygmalion 2 7B - GGUF 是基于 PygmalionAI 的 Pygmalion 2 7B 模型转换而来的 GGUF 格式模型文件。GGUF 格式具有诸多优势,支持多种客户端和库,方便用户进行文本生成任务。
🚀 快速开始
下载模型文件
- 自动下载:LM Studio、LoLLMS Web UI、Faraday.dev 等客户端/库会自动下载模型,并提供可用模型列表供用户选择。
- 手动下载:不建议克隆整个仓库,多数用户只需选择并下载单个文件。
- 在
text-generation-webui
中:在“Download Model”下输入模型仓库TheBloke/Pygmalion-2-7B-GGUF
,并在下方输入具体文件名(如pygmalion-2-7b.q4_K_M.gguf
),然后点击“Download”。 - 命令行下载:推荐使用
huggingface-hub
Python 库。
- 在
pip3 install huggingface-hub>=0.17.1
huggingface-cli download TheBloke/Pygmalion-2-7B-GGUF pygmalion-2-7b.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
- **高级用法**:可使用通配符一次下载多个文件。
huggingface-cli download TheBloke/Pygmalion-2-7B-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
- **加速下载**:在高速连接(1Gbit/s 或更高)下,安装 `hf_transfer` 并设置环境变量。
pip3 install hf_transfer
HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/Pygmalion-2-7B-GGUF pygmalion-2-7b.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
运行模型
llama.cpp
命令示例
确保使用的 llama.cpp
版本为 d0cee0d36d5be95a0d9088b674dbb27354107221 或更高。
./main -ngl 32 -m pygmalion-2-7b.q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "<|system|>Enter RP mode. Pretend to be {{char}} whose persona follows:\n{{persona}}\n\nYou shall reply to the user while staying in character, and generate long responses."
-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 模型。
# 无 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
from ctransformers import AutoModelForCausalLM
# 设置 gpu_layers 为要卸载到 GPU 的层数。若系统无 GPU 加速,设置为 0。
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Pygmalion-2-7B-GGUF", model_file="pygmalion-2-7b.q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
与 LangChain 一起使用
✨ 主要特性
- 多种量化格式:提供 2、3、4、5、6 和 8 位的 GGUF 模型,适用于 CPU+GPU 推理。
- 广泛的兼容性:与 llama.cpp 及众多第三方 UI 和库兼容,如 text-generation-webui、KoboldCpp、LM Studio 等。
- 灵活的提示模板:支持使用
<|system|>
、<|user|>
和<|model|>
三种角色的提示,可形成对话历史。
📦 安装指南
安装依赖库
pip3 install huggingface-hub>=0.17.1
若要加速下载,可安装 hf_transfer
:
pip3 install hf_transfer
下载模型文件
参考“快速开始”部分的下载说明。
💻 使用示例
基础用法
from ctransformers import AutoModelForCausalLM
# 设置 gpu_layers 为要卸载到 GPU 的层数。若系统无 GPU 加速,设置为 0。
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Pygmalion-2-7B-GGUF", model_file="pygmalion-2-7b.q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
高级用法
from ctransformers import AutoModelForCausalLM
# 设置 gpu_layers 为要卸载到 GPU 的层数。若系统无 GPU 加速,设置为 0。
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Pygmalion-2-7B-GGUF", model_file="pygmalion-2-7b.q4_K_M.gguf", model_type="llama", gpu_layers=50)
prompt = "<|system|>Enter RP mode. Pretend to be {{char}} whose persona follows:\n{{persona}}\n\nYou shall reply to the user while staying in character, and generate long responses.\n<|user|>Hello!"
print(llm(prompt))
📚 详细文档
关于 GGUF
GGUF 是 llama.cpp 团队于 2023 年 8 月 21 日引入的新格式,是 GGML 的替代品,GGML 已不再受 llama.cpp 支持。GGUF 具有诸多优势,如更好的分词、支持特殊令牌、支持元数据且设计为可扩展。
以下是已知支持 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:适用于 Windows 和 macOS(Silicon 和 Intel)的有吸引力且易于使用的基于角色的聊天 GUI,支持 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 模型
- PygmalionAI 原始未量化的 fp16 格式 PyTorch 模型,用于 GPU 推理和进一步转换
提示模板
模型在训练时使用了三种不同角色的提示,分别由以下令牌表示:<|system|>
、<|user|>
和 <|model|>
。
<|system|>
提示可用于在幕后注入非通道信息。<|user|>
提示应用于指示用户输入。<|model|>
令牌应用于指示模型生成响应。这些令牌可以多次出现并链接起来形成对话历史。
系统提示旨在允许模型“进入”各种模式并指定回复长度。示例如下:
<|system|>Enter RP mode. Pretend to be {{char}} whose persona follows:
{{persona}}
You shall reply to the user while staying in character, and generate long responses.
兼容性
这些量化的 GGUFv2 文件与 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 | 使用场景 |
---|---|---|---|---|---|
pygmalion-2-7b.Q2_K.gguf | Q2_K | 2 | 2.83 GB | 5.33 GB | 最小,但质量损失显著,不建议用于大多数用途 |
pygmalion-2-7b.Q3_K_S.gguf | Q3_K_S | 3 | 2.95 GB | 5.45 GB | 非常小,但质量损失高 |
pygmalion-2-7b.Q3_K_M.gguf | Q3_K_M | 3 | 3.30 GB | 5.80 GB | 非常小,但质量损失高 |
pygmalion-2-7b.Q3_K_L.gguf | Q3_K_L | 3 | 3.60 GB | 6.10 GB | 小,但质量损失较大 |
pygmalion-2-7b.Q4_0.gguf | Q4_0 | 4 | 3.83 GB | 6.33 GB | 旧版本;小,但质量损失非常高,建议使用 Q3_K_M |
pygmalion-2-7b.Q4_K_S.gguf | Q4_K_S | 4 | 3.86 GB | 6.36 GB | 小,但质量损失更大 |
pygmalion-2-7b.Q4_K_M.gguf | Q4_K_M | 4 | 4.08 GB | 6.58 GB | 中等,质量平衡,推荐使用 |
pygmalion-2-7b.Q5_0.gguf | Q5_0 | 5 | 4.65 GB | 7.15 GB | 旧版本;中等,质量平衡,建议使用 Q4_K_M |
pygmalion-2-7b.Q5_K_S.gguf | Q5_K_S | 5 | 4.65 GB | 7.15 GB | 大,质量损失低,推荐使用 |
pygmalion-2-7b.Q5_K_M.gguf | Q5_K_M | 5 | 4.78 GB | 7.28 GB | 大,质量损失非常低,推荐使用 |
pygmalion-2-7b.Q6_K.gguf | Q6_K | 6 | 5.53 GB | 8.03 GB | 非常大,质量损失极低 |
pygmalion-2-7b.Q8_0.gguf | Q8_0 | 8 | 7.16 GB | 9.66 GB | 非常大,质量损失极低,但不建议使用 |
注意:上述 RAM 数字假设没有 GPU 卸载。如果将层卸载到 GPU,这将减少 RAM 使用并使用 VRAM 代替。
🔧 技术细节
模型架构
Pygmalion 2 7B 基于 Llama 架构,是一种大语言模型,具有强大的文本生成能力。
训练数据
模型微调使用的数据集包括 PIPPA 以及其他几个指令数据集和从各种 RP 论坛获取的数据集。
提示模板设计
系统提示允许模型“进入”不同模式并指定回复长度,通过 <|system|>
、<|user|>
和 <|model|>
令牌的组合,可以灵活构建对话历史。
📄 许可证
本模型使用 Llama2 许可证。
其他信息
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 等众多支持者。



