模型概述
模型特點
模型能力
使用案例
🚀 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 等眾多支持者。



