模型简介
模型特点
模型能力
使用案例
🚀 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 的慷慨资助。



