模型概述
模型特點
模型能力
使用案例
🚀 Pygmalion 2 13B
Pygmalion 2 13B是基於Llama-2 13B微調的模型,適用於角色扮演、故事寫作和對話場景。它採用特殊的提示模板,能根據不同角色生成回覆,為用戶帶來豐富的交互體驗。
🚀 快速開始
下載GGUF文件
手動下載注意事項:通常無需克隆整個倉庫!這裡提供了多種不同的量化格式,大多數用戶只需選擇並下載單個文件。
以下客戶端/庫會自動為你下載模型,並提供可用模型列表供你選擇:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在text-generation-webui
中下載
在“Download Model”下,你可以輸入模型倉庫地址:TheBloke/Pygmalion-2-13B-GGUF,然後在下方輸入具體的文件名進行下載,例如:pygmalion-2-13b.q4_K_M.gguf。然後點擊“Download”。
在命令行下載(可同時下載多個文件)
推薦使用huggingface-hub
Python庫:
pip3 install huggingface-hub>=0.17.1
然後你可以使用以下命令將任何單個模型文件高速下載到當前目錄:
huggingface-cli download TheBloke/Pygmalion-2-13B-GGUF pygmalion-2-13b.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
更高級的huggingface-cli下載用法
你還可以使用通配符同時下載多個文件:
huggingface-cli download TheBloke/Pygmalion-2-13B-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/Pygmalion-2-13B-GGUF pygmalion-2-13b.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows命令行用戶:在運行下載命令前使用set HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1
。
運行模型
llama.cpp
命令示例
確保你使用的是此提交或更新版本的llama.cpp
。
./main -ngl 32 -m pygmalion-2-13b.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
。
其他參數的使用方法,請參考llama.cpp文檔。
在text-generation-webui
中運行
更多說明請參考:text-generation-webui/docs/llama.cpp.md。
從Python代碼運行
你可以使用llama-cpp-python或ctransformers庫從Python中使用GGUF模型。
使用ctransformers從Python加載此模型
首先安裝包:
# 無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
加載GGUF模型的簡單示例代碼:
from ctransformers import AutoModelForCausalLM
# 將gpu_layers設置為要卸載到GPU的層數。如果系統上沒有GPU加速,請設置為0。
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Pygmalion-2-13B-GGUF", model_file="pygmalion-2-13b.q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
使用LangChain
以下是使用llama-cpp-python或ctransformers與LangChain的指南:
✨ 主要特性
- 多場景適用:適用於角色扮演、故事寫作和對話等虛構寫作場景。
- 特殊提示模板:通過
<|system|>
、<|user|>
和<|model|>
三種角色標記,可靈活構建對話歷史,控制模型的回覆模式和長度。 - 多種量化格式:提供多種量化格式的GGUF文件,可根據不同的硬件資源和需求進行選擇。
📦 安裝指南
下載依賴庫
pip3 install huggingface-hub>=0.17.1
若要加速下載,可安裝hf_transfer
:
pip3 install hf_transfer
使用ctransformers
庫時,根據不同的GPU加速需求安裝相應的包:
# 無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-13B-GGUF", model_file="pygmalion-2-13b.q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
高級用法
from ctransformers import AutoModelForCausalLM
# 高級場景:設置更多參數,如溫度、重複懲罰等
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Pygmalion-2-13B-GGUF", model_file="pygmalion-2-13b.q4_K_M.gguf", model_type="llama", gpu_layers=50)
prompt = "<|system|>Enter RP mode. Pretend to be a wise old wizard whose persona is kind and helpful. You shall reply to the user while staying in character, and generate long responses.<|user|>What is the secret of the universe?"
output = llm(prompt, temperature=0.7, repeat_penalty=1.1)
print(output)
📚 詳細文檔
關於GGUF
GGUF是llama.cpp團隊在2023年8月21日推出的新格式,用於替代不再受llama.cpp支持的GGML。GGUF具有諸多優勢,如更好的分詞功能、支持特殊標記,還支持元數據,並且具有可擴展性。
以下是已知支持GGUF的客戶端和庫列表:
- llama.cpp:GGUF的源項目,提供命令行界面和服務器選項。
- 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機器學習框架,包括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版本兼容,具體為此提交之後的版本。
它們也與許多第三方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。
請參考下面的“提供的文件”表,瞭解哪些文件使用了哪些方法以及如何使用。
提供的文件
屬性 | 詳情 |
---|---|
模型類型 | llama |
訓練數據 | PygmalionAI/PIPPA、Open-Orca/OpenOrca、Norquinal/claude_multiround_chat_30k、jondurbin/airoboros-gpt4-1.4.1、databricks/databricks-dolly-15k |
名稱 | 量化方法 | 位數 | 大小 | 所需最大RAM | 使用場景 |
---|---|---|---|---|---|
pygmalion-2-13b.Q2_K.gguf | Q2_K | 2 | 5.43 GB | 7.93 GB | 最小,但質量損失顯著,不建議用於大多數場景 |
pygmalion-2-13b.Q3_K_S.gguf | Q3_K_S | 3 | 5.66 GB | 8.16 GB | 非常小,但質量損失高 |
pygmalion-2-13b.Q3_K_M.gguf | Q3_K_M | 3 | 6.34 GB | 8.84 GB | 非常小,但質量損失高 |
pygmalion-2-13b.Q3_K_L.gguf | Q3_K_L | 3 | 6.93 GB | 9.43 GB | 小,但質量損失較大 |
pygmalion-2-13b.Q4_0.gguf | Q4_0 | 4 | 7.37 GB | 9.87 GB | 舊版本;小,但質量損失非常高,建議使用Q3_K_M |
pygmalion-2-13b.Q4_K_S.gguf | Q4_K_S | 4 | 7.41 GB | 9.91 GB | 小,但質量損失更大 |
pygmalion-2-13b.Q4_K_M.gguf | Q4_K_M | 4 | 7.87 GB | 10.37 GB | 中等,質量平衡,推薦使用 |
pygmalion-2-13b.Q5_0.gguf | Q5_0 | 5 | 8.97 GB | 11.47 GB | 舊版本;中等,質量平衡,建議使用Q4_K_M |
pygmalion-2-13b.Q5_K_S.gguf | Q5_K_S | 5 | 8.97 GB | 11.47 GB | 大,質量損失低,推薦使用 |
pygmalion-2-13b.Q5_K_M.gguf | Q5_K_M | 5 | 9.23 GB | 11.73 GB | 大,質量損失非常低,推薦使用 |
pygmalion-2-13b.Q6_K.gguf | Q6_K | 6 | 10.68 GB | 13.18 GB | 非常大,質量損失極低 |
pygmalion-2-13b.Q8_0.gguf | Q8_0 | 8 | 13.83 GB | 16.33 GB | 非常大,質量損失極低,但不建議使用 |
注意:上述RAM數字假設沒有進行GPU卸載。如果將層卸載到GPU,將減少RAM使用並使用VRAM。
🔧 技術細節
提示模板設計
模型使用<|system|>
、<|user|>
和<|model|>
三種角色標記,通過這些標記的組合可以靈活構建對話歷史。系統提示可以控制模型進入不同的模式,如角色扮演模式,並指定回覆的長度和風格。這種設計使得模型能夠更好地理解用戶的意圖,生成符合要求的回覆。
量化方法
採用了多種量化方法,如GGML_TYPE_Q2_K、GGML_TYPE_Q3_K等,不同的量化方法在壓縮率和質量損失上有所不同。用戶可以根據自己的硬件資源和性能需求選擇合適的量化文件。例如,Q2_K量化方法壓縮率最高,但質量損失也相對較大;而Q6_K和Q8_0量化方法質量損失極低,但文件大小較大,需要更多的內存和計算資源。
📄 許可證
本模型遵循Llama2許可證。
⚠️ 重要提示
本模型的預期使用場景是用於娛樂目的的虛構寫作,其他使用場景不在適用範圍內。它未經過微調以確保安全無害,基礎模型和微調版本都在包含褻瀆、低俗或其他冒犯性內容的數據上進行了訓練,可能會生成社會不可接受或不良的文本,即使提示本身不包含任何明確的冒犯性內容。輸出結果可能經常存在事實錯誤或誤導性信息。
💡 使用建議
- 在選擇量化文件時,根據自己的硬件資源和性能需求進行選擇。如果內存有限,可以選擇較小的量化文件,但可能會犧牲一定的質量;如果對質量要求較高,建議選擇Q4_K_M、Q5_K_S或Q5_K_M等量化文件。
- 在使用模型進行對話時,合理設計系統提示,明確指定角色和回覆要求,以獲得更好的回覆效果。
- 如果遇到性能問題,可以嘗試調整模型的參數,如溫度、重複懲罰等,以平衡生成速度和質量。



