模型概述
模型特點
模型能力
使用案例
🚀 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模型的精簡版本,專門設計用於推測抽樣,直接使用時可能會產生幻覺或不可靠的輸出,請謹慎使用。在使用模型時,系統提示不能為空。



