模型概述
模型特點
模型能力
使用案例
🚀 Norocetacean 20B 10K - GGUF
本項目提供了 Norocetacean 20B 10K
模型的 GGUF 格式文件,方便用戶進行推理和使用。該模型融合了獨特的能力與長上下文處理能力,為自然語言處理任務提供了強大支持。
🚀 快速開始
本倉庫包含 ddh0 的 Norocetacean 20B 10K 模型的 GGUF 格式文件。這些文件由 Massed Compute 提供的硬件進行量化。
✨ 主要特性
- 多平臺支持:支持多種客戶端和庫,如
llama.cpp
、text-generation-webui
、KoboldCpp
等。 - 多種量化方法:提供多種量化方法,如
Q2_K
、Q3_K
、Q4_K
等,滿足不同場景的需求。 - 長上下文處理:支持長達 10240 的上下文長度,適用於需要處理長文本的任務。
📦 安裝指南
下載 GGUF 文件
- 手動下載:不建議克隆整個倉庫,大多數用戶只需選擇並下載單個文件。
- 自動下載:以下客戶端/庫會自動下載模型,並提供可用模型列表供選擇:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在 text-generation-webui
中下載
在 Download Model
下,輸入模型倉庫地址 TheBloke/Norocetacean-20B-10k-GGUF
,並在下方輸入要下載的具體文件名,如 norocetacean-20b-10k.Q4_K_M.gguf
,然後點擊 Download
。
在命令行下載
推薦使用 huggingface-hub
Python 庫:
pip3 install huggingface-hub
然後可以使用以下命令將單個模型文件高速下載到當前目錄:
huggingface-cli download TheBloke/Norocetacean-20B-10k-GGUF norocetacean-20b-10k.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
安裝依賴庫
使用 llama-cpp-python
根據系統運行以下命令之一:
# 無 GPU 加速的基礎 ctransformers
pip install llama-cpp-python
# 支持 NVidia CUDA 加速
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
# 支持 OpenBLAS 加速
CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" pip install llama-cpp-python
# 支持 CLBLast 加速
CMAKE_ARGS="-DLLAMA_CLBLAST=on" pip install llama-cpp-python
# 支持 AMD ROCm GPU 加速(僅 Linux)
CMAKE_ARGS="-DLLAMA_HIPBLAS=on" pip install llama-cpp-python
# 支持 macOS 系統的 Metal GPU 加速
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python
# 在 Windows 命令行中設置 CMAKE_ARGS 變量,例如支持 NVidia CUDA:
$env:CMAKE_ARGS = "-DLLAMA_OPENBLAS=on"
pip install llama-cpp-python
💻 使用示例
基礎用法
llama.cpp
命令示例
確保使用的 llama.cpp
版本為 d0cee0d 或更高版本:
./main -ngl 35 -m norocetacean-20b-10k.Q4_K_M.gguf --color -c 10240 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\n{prompt}\n\n### Response:"
-ngl 32
:設置要卸載到 GPU 的層數,若沒有 GPU 加速可移除該參數。-c 10240
:設置所需的序列長度,對於擴展序列模型(如 8K、16K、32K),必要的 RoPE 縮放參數會從 GGUF 文件中讀取並由llama.cpp
自動設置。注意,更長的序列長度需要更多資源,可能需要降低該值。- 若要進行聊天式對話,將
-p <PROMPT>
參數替換為-i -ins
。
在 text-generation-webui
中運行
更多說明可參考 text-generation-webui
文檔:text-generation-webui/docs/04 ‐ Model Tab.md。
在 Python 代碼中使用
可以使用 llama-cpp-python 或 ctransformers 庫從 Python 中使用 GGUF 模型。由於 ctransformers
一段時間未更新,不兼容一些最新模型,建議使用 llama-cpp-python
。
from llama_cpp import Llama
# 設置要卸載到 GPU 的層數,若系統無 GPU 加速則設置為 0
llm = Llama(
model_path="./norocetacean-20b-10k.Q4_K_M.gguf", # 先下載模型文件
n_ctx=10240, # 最大序列長度,注意更長的序列長度需要更多資源
n_threads=8, # CPU 線程數,根據系統和性能調整
n_gpu_layers=35 # 要卸載到 GPU 的層數,若有 GPU 加速可用
)
# 簡單推理示例
output = llm(
"Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\n{prompt}\n\n### Response:", # 提示信息
max_tokens=512, # 生成最多 512 個令牌
stop=["</s>"], # 示例停止令牌,不一定適用於該特定模型,請在使用前檢查
echo=True # 是否回顯提示信息
)
# 聊天完成 API
llm = Llama(model_path="./norocetacean-20b-10k.Q4_K_M.gguf", chat_format="llama-2") # 根據使用的模型設置聊天格式
llm.create_chat_completion(
messages = [
{"role": "system", "content": "You are a story writing assistant."},
{
"role": "user",
"content": "Write a story about llamas."
}
]
)
高級用法
與 LangChain 一起使用
以下是使用 llama-cpp-python
和 ctransformers
與 LangChain 的指南:
📚 詳細文檔
關於 GGUF
GGUF 是 llama.cpp 團隊於 2023 年 8 月 21 日引入的新格式,它取代了不再受 llama.cpp 支持的 GGML。
以下是已知支持 GGUF 的客戶端和庫的不完全列表:
- llama.cpp:GGUF 的源項目,提供 CLI 和服務器選項。
- text-generation-webui:最廣泛使用的 Web UI,具有許多功能和強大的擴展,支持 GPU 加速。
- KoboldCpp:功能齊全的 Web UI,支持所有平臺和 GPU 架構的 GPU 加速,特別適合講故事。
- GPT4All:免費開源的本地運行 GUI,支持 Windows、Linux 和 macOS,具有完整的 GPU 加速。
- LM Studio:易於使用且功能強大的本地 GUI,適用於 Windows 和 macOS(Silicon),支持 GPU 加速,截至 2023 年 11 月 27 日,Linux 版本處於測試階段。
- LoLLMS Web UI:一個很棒的 Web UI,具有許多有趣和獨特的功能,包括一個完整的模型庫,便於選擇模型。
- Faraday.dev:一個有吸引力且易於使用的基於角色的聊天 GUI,適用於 Windows 和 macOS(Silicon 和 Intel),支持 GPU 加速。
- llama-cpp-python:一個支持 GPU 加速、LangChain 和 OpenAI 兼容 API 服務器的 Python 庫。
- candle:一個專注於性能的 Rust ML 框架,包括 GPU 支持和易用性。
- ctransformers:一個支持 GPU 加速、LangChain 和 OpenAI 兼容 AI 服務器的 Python 庫。截至 2023 年 11 月 27 日,
ctransformers
已有很長時間未更新,不支持許多最新模型。
可用倉庫
- 用於 GPU 推理的 AWQ 模型
- 用於 GPU 推理的 GPTQ 模型,具有多種量化參數選項
- 用於 CPU+GPU 推理的 2、3、4、5、6 和 8 位 GGUF 模型
- ddh0 原始未量化的 fp16 模型(pytorch 格式),用於 GPU 推理和進一步轉換
提示模板
Below is an instruction that describes a task. Write a response that appropriately completes the request.
### Instruction:
{prompt}
### Response:
量化方法說明
點擊查看詳情
新的量化方法如下:
- 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 | 使用場景 |
---|---|---|---|---|---|
norocetacean-20b-10k.Q2_K.gguf | Q2_K | 2 | 8.31 GB | 10.81 GB | 最小,但質量損失顯著,不建議用於大多數用途 |
norocetacean-20b-10k.Q3_K_S.gguf | Q3_K_S | 3 | 8.66 GB | 11.16 GB | 非常小,但質量損失高 |
norocetacean-20b-10k.Q3_K_M.gguf | Q3_K_M | 3 | 9.70 GB | 12.20 GB | 非常小,但質量損失高 |
norocetacean-20b-10k.Q3_K_L.gguf | Q3_K_L | 3 | 10.63 GB | 13.13 GB | 小,但質量損失較大 |
norocetacean-20b-10k.Q4_0.gguf | Q4_0 | 4 | 11.29 GB | 13.79 GB | 舊版本;小,但質量損失非常高,建議使用 Q3_K_M |
norocetacean-20b-10k.Q4_K_S.gguf | Q4_K_S | 4 | 11.34 GB | 13.84 GB | 小,但質量損失較大 |
norocetacean-20b-10k.Q4_K_M.gguf | Q4_K_M | 4 | 12.04 GB | 14.54 GB | 中等,質量平衡,推薦使用 |
norocetacean-20b-10k.Q5_0.gguf | Q5_0 | 5 | 13.77 GB | 16.27 GB | 舊版本;中等,質量平衡,建議使用 Q4_K_M |
norocetacean-20b-10k.Q5_K_S.gguf | Q5_K_S | 5 | 13.77 GB | 16.27 GB | 大,質量損失低,推薦使用 |
norocetacean-20b-10k.Q5_K_M.gguf | Q5_K_M | 5 | 14.16 GB | 16.66 GB | 大,質量損失非常低,推薦使用 |
norocetacean-20b-10k.Q6_K.gguf | Q6_K | 6 | 16.41 GB | 18.91 GB | 非常大,質量損失極低 |
norocetacean-20b-10k.Q8_0.gguf | Q8_0 | 8 | 21.25 GB | 23.75 GB | 非常大,質量損失極低,不推薦使用 |
注意:上述 RAM 數字假設沒有 GPU 卸載。如果將層卸載到 GPU,將減少 RAM 使用並使用 VRAM。
🔧 技術細節
兼容性
這些量化的 GGUFv2 文件與 2023 年 8 月 27 日之後的 llama.cpp 兼容,提交版本為 d0cee0d。
它們也與許多第三方 UI 和庫兼容,請參閱本 README 頂部的列表。
原始模型信息
這是 Jeb Carter 的 Psyonic-Cetacean-20B 與 Undi 的 no_robots-alpaca LoRA 合併的模型,並通過 YaRN 擴展到 10240
上下文長度。
雜項信息
- BOS 令牌是
<s>
- EOS 令牌是
</s>
- 原生上下文長度通過 YaRN 為
10240
(原始上下文長度為4096
) - 基礎模型是 Llama 2
- 由於包含 Orca-2-13b,該模型受 Microsoft Research License 條款約束
📄 許可證
源模型的創建者將其許可證列為 other
,因此本次量化使用了相同的許可證。
由於該模型基於 Llama 2,它也受 Meta Llama 2 許可證條款的約束,並且額外包含了該許可證文件。因此,應認為該模型聲稱同時受這兩個許可證的約束。我已聯繫 Hugging Face 以澄清雙重許可問題,但他們尚未有官方立場。如果情況發生變化,或者 Meta 對此情況提供任何反饋,我將相應更新此部分。
在此期間,有關許可的任何問題,特別是這兩個許可證如何相互作用的問題,應直接諮詢原始模型倉庫:ddh0 的 Norocetacean 20B 10K。
其他信息
Discord
如需進一步支持,以及討論這些模型和人工智能相關話題,請加入:TheBloke AI 的 Discord 服務器
感謝與貢獻
感謝 chirper.ai 團隊!
感謝 gpus.llm-utils.org 的 Clay!
很多人詢問是否可以貢獻。我喜歡提供模型並幫助他人,希望能有更多時間做這些事情,也希望能開展新的項目,如微調/訓練。
如果您有能力並願意貢獻,我將不勝感激,這將幫助我繼續提供更多模型,並開始新的人工智能項目。
捐贈者將在任何 AI/LLM/模型問題和請求上獲得優先支持,訪問私人 Discord 房間,以及其他福利。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特別感謝:Aemon Algiz。
Patreon 特別提及:Michael Levine, 阿明, Trailburnt, Nikolai Manek, John Detwiler, Randy H, Will Dee, Sebastain Graf, NimbleBox.ai, Eugene Pentland, Emad Mostaque, Ai Maven, Jim Angel, Jeff Scroggin, Michael Davis, Manuel Alberto Morcote, Stephen Murray, Robert, Justin Joy, Luke @flexchar, Brandon Frisco, Elijah Stavena, S_X, Dan Guido, Undi ., Komninos Chatzipapas, Shadi, theTransient, Lone Striker, Raven Klaugh, jjj, Cap'n Zoog, Michel-Marie MAUDET (LINAGORA), Matthew Berman, David, Fen Risland, Omer Bin Jawed, Luke Pendergrass, Kalila, OG, Erik Bjäreholt, Rooh Singh, Joseph William Delisle, Dan Lewis, TL, John Villwock, AzureBlack, Brad, Pedro Madruga, Caitlyn Gatomon, K, jinyuan sun, Mano Prime, Alex, Jeffrey Morgan, Alicia Loh, Illia Dulskyi, Chadd, transmissions 11, fincy, Rainer Wilmers, ReadyPlayerEmma, knownsqashed, Mandus, biorpg, Deo Leter, Brandon Phillips, SuperWojo, Sean Connelly, Iucharbius, Jack West, Harry Royden McLaughlin, Nicholas, terasurfer, Vitor Caleffi, Duane Dunston, Johann-Peter Hartmann, David Ziegler, Olakabola, Ken Nordquist, Trenton Dambrowitz, Tom X Nguyen, Vadim, Ajan Kanaga, Leonard Tan, Clay Pascal, Alexandros Triantafyllidis, JM33133, Xule, vamX, ya boyyy, subjectnull, Talal Aujan, Alps Aficionado, wassieverse, Ari Malik, James Bentley, Woland, Spencer Kim, Michael Dempsey, Fred von Graf, Elle, zynix, William Richards, Stanislav Ovsiannikov, Edmond Seymore, Jonathan Leane, Martin Kemka, usrbinkat, Enrico Ros
感謝所有慷慨的贊助者和捐贈者!
再次感謝 a16z 的慷慨資助。



