模型简介
模型特点
模型能力
使用案例
🚀 Orcamaid v3 13B 32K - GGUF
本项目提供了 ddh0's Orcamaid v3 13B 32K 的 GGUF 格式模型文件,可用于文本生成任务,支持多种量化方式和推理环境。

TheBloke 的大语言模型工作得到了 andreessen horowitz (a16z) 的慷慨资助
🚀 快速开始
模型信息
属性 | 详情 |
---|---|
模型创建者 | ddh0 |
模型名称 | Orcamaid v3 13B 32K |
模型类型 | llama |
基础模型 | ddh0/OrcaMaid-v3-13b-32k |
推理 | false |
许可证 | other |
许可证链接 | https://huggingface.co/microsoft/Orca-2-13b/blob/main/LICENSE |
许可证名称 | microsoft-research-license |
量化者 | TheBloke |
可用仓库
- 用于 GPU 推理的 AWQ 模型
- 用于 GPU 推理的 GPTQ 模型,有多种量化参数选项
- 用于 CPU+GPU 推理的 2、3、4、5、6 和 8 位 GGUF 模型
- ddh0 原始未量化的 fp16 PyTorch 格式模型,用于 GPU 推理和进一步转换
下载 GGUF 文件
手动下载注意事项:几乎不需要克隆整个仓库!这里提供了多种不同的量化格式,大多数用户只需要选择并下载单个文件。
以下客户端/库会自动为你下载模型,并提供可用模型列表供你选择:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在 text-generation-webui
中下载
在“下载模型”下,输入模型仓库地址 TheBloke/OrcaMaid-v3-13B-32k-GGUF
,并在下方输入要下载的具体文件名,例如 orcamaid-v3-13b-32k.Q4_K_M.gguf
,然后点击“下载”。
在命令行下载,可同时下载多个文件
推荐使用 huggingface-hub
Python 库:
pip3 install huggingface-hub
然后可以使用以下命令将任何单个模型文件高速下载到当前目录:
huggingface-cli download TheBloke/OrcaMaid-v3-13B-32k-GGUF orcamaid-v3-13b-32k.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
更高级的 huggingface-cli 下载用法(点击查看)
可以使用通配符同时下载多个文件: ```shell huggingface-cli download TheBloke/OrcaMaid-v3-13B-32k-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf' ``` 有关使用 `huggingface-cli` 下载的更多文档,请参阅:[HF -> Hub Python 库 -> 下载文件 -> 从命令行下载](https://huggingface.co/docs/huggingface_hub/guides/download#download-from-the-cli)。 要在高速连接(1Gbit/s 或更高)上加速下载,请安装 `hf_transfer`: ```shell pip3 install hf_transfer ``` 并将环境变量 `HF_HUB_ENABLE_HF_TRANSFER` 设置为 `1`: ```shell HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/OrcaMaid-v3-13B-32k-GGUF orcamaid-v3-13b-32k.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False ``` Windows 命令行用户:可以在下载命令前运行 `set HF_HUB_ENABLE_HF_TRANSFER=1` 来设置环境变量。运行示例
llama.cpp
命令示例
确保使用的是 d0cee0d 或更高版本的 llama.cpp
:
./main -ngl 35 -m orcamaid-v3-13b-32k.Q4_K_M.gguf --color -c 32768 --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 32768
更改为所需的序列长度。对于扩展序列模型(如 8K、16K、32K),必要的 RoPE 缩放参数会从 GGUF 文件中读取,并由 llama.cpp 自动设置。请注意,更长的序列长度需要更多资源,因此可能需要减小此值。 - 如果想要进行聊天式对话,请将
-p <PROMPT>
参数替换为-i -ins
。
有关其他参数及其用法,请参阅 llama.cpp 文档。
在 text-generation-webui
中运行
更多说明可在 text-generation-webui 文档中找到:text-generation-webui/docs/04 ‐ Model Tab.md。
从 Python 代码运行
可以使用 llama-cpp-python 或 ctransformers 库从 Python 中使用 GGUF 模型。请注意,截至编写本文时(2023 年 11 月 27 日),ctransformers 已有一段时间未更新,并且与一些最新模型不兼容。因此,建议使用 llama-cpp-python。
使用 llama-cpp-python 在 Python 代码中加载此模型
完整文档请参阅: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 上,在 PowerShell 中设置 CMAKE_ARGS 变量,例如对于 NVidia CUDA:
$env:CMAKE_ARGS = "-DLLAMA_OPENBLAS=on"
pip install llama-cpp-python
简单的 llama-cpp-python 示例代码
from llama_cpp import Llama
# 将 gpu_layers 设置为要卸载到 GPU 的层数。如果系统上没有 GPU 加速,请将其设置为 0。
llm = Llama(
model_path="./orcamaid-v3-13b-32k.Q4_K_M.gguf", # 先下载模型文件
n_ctx=32768, # 使用的最大序列长度 - 请注意,更长的序列长度需要更多资源
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="./orcamaid-v3-13b-32k.Q4_K_M.gguf", chat_format="llama-2") # 根据使用的模型设置 chat_format
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 的指南:
✨ 主要特性
- 多种量化格式:提供 2、3、4、5、6 和 8 位的 GGUF 量化模型,满足不同硬件和性能需求。
- 广泛的兼容性:与 llama.cpp 及多种第三方 UI 和库兼容,方便在不同环境中使用。
- 长序列支持:支持 32K 序列长度,适用于处理长文本任务。
📦 安装说明
依赖安装
根据不同的使用场景,安装相应的依赖库,如 huggingface-hub
、llama-cpp-python
等,具体安装命令见上文。
模型下载
按照“下载 GGUF 文件”部分的说明下载所需的模型文件。
💻 使用示例
基础用法
from llama_cpp import Llama
llm = Llama(
model_path="./orcamaid-v3-13b-32k.Q4_K_M.gguf",
n_ctx=32768,
n_threads=8,
n_gpu_layers=35
)
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,
stop=["</s>"],
echo=True
)
print(output)
高级用法
from llama_cpp import Llama
llm = Llama(model_path="./orcamaid-v3-13b-32k.Q4_K_M.gguf", chat_format="llama-2")
response = llm.create_chat_completion(
messages = [
{"role": "system", "content": "You are a story writing assistant."},
{
"role": "user",
"content": "Write a story about llamas."
}
]
)
print(response)
📚 详细文档
关于 GGUF
GGUF 是 llama.cpp 团队在 2023 年 8 月 21 日引入的一种新格式,它是 GGML 的替代品,目前 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:适用于 Windows 和 macOS(Silicon)的易于使用且功能强大的本地 GUI,支持 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 已有一段时间未更新,并且不支持许多最新模型。
量化方法说明
点击查看详情
新的量化方法如下: - 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 | 使用场景 |
---|---|---|---|---|---|
orcamaid-v3-13b-32k.Q2_K.gguf | Q2_K | 2 | 5.43 GB | 7.93 GB | 最小,但质量损失显著 - 不推荐用于大多数场景 |
orcamaid-v3-13b-32k.Q3_K_S.gguf | Q3_K_S | 3 | 5.66 GB | 8.16 GB | 非常小,但质量损失高 |
orcamaid-v3-13b-32k.Q3_K_M.gguf | Q3_K_M | 3 | 6.34 GB | 8.84 GB | 非常小,但质量损失高 |
orcamaid-v3-13b-32k.Q3_K_L.gguf | Q3_K_L | 3 | 6.93 GB | 9.43 GB | 小,但质量损失较大 |
orcamaid-v3-13b-32k.Q4_0.gguf | Q4_0 | 4 | 7.37 GB | 9.87 GB | 旧版本;小,但质量损失非常高 - 建议使用 Q3_K_M |
orcamaid-v3-13b-32k.Q4_K_S.gguf | Q4_K_S | 4 | 7.41 GB | 9.91 GB | 小,但质量损失更大 |
orcamaid-v3-13b-32k.Q4_K_M.gguf | Q4_K_M | 4 | 7.87 GB | 10.37 GB | 中等,质量平衡 - 推荐 |
orcamaid-v3-13b-32k.Q5_0.gguf | Q5_0 | 5 | 8.97 GB | 11.47 GB | 旧版本;中等,质量平衡 - 建议使用 Q4_K_M |
orcamaid-v3-13b-32k.Q5_K_S.gguf | Q5_K_S | 5 | 8.97 GB | 11.47 GB | 大,质量损失低 - 推荐 |
orcamaid-v3-13b-32k.Q5_K_M.gguf | Q5_K_M | 5 | 9.23 GB | 11.73 GB | 大,质量损失非常低 - 推荐 |
orcamaid-v3-13b-32k.Q6_K.gguf | Q6_K | 6 | 10.68 GB | 13.18 GB | 非常大,质量损失极低 |
orcamaid-v3-13b-32k.Q8_0.gguf | Q8_0 | 8 | 13.83 GB | 16.33 GB | 非常大,质量损失极低 - 不推荐 |
注意:上述 RAM 数字假设没有 GPU 卸载。如果将层卸载到 GPU,将减少 RAM 使用并使用 VRAM。
🔧 技术细节
模型架构
基于 Llama 架构,具有 13B 参数,支持 32K 序列长度。
量化原理
采用不同的量化方法(如 Q2_K、Q3_K 等)对模型进行量化,在减少模型大小的同时尽量保持模型性能。
兼容性实现
通过与 llama.cpp 及相关库的适配,实现了广泛的兼容性,确保模型在不同环境中稳定运行。
📄 许可证
源模型的创建者将其许可证列为 other
,因此本次量化使用了相同的许可证。
由于此模型基于 Llama 2,它也受 Meta Llama 2 许可证条款的约束,并且额外包含了该许可证文件。因此,应视为该模型声称同时受这两个许可证的约束。我已联系 Hugging Face 以澄清双重许可问题,但他们尚未有官方立场。如果情况发生变化,或者 Meta 对此情况提供任何反馈,我将相应更新此部分。
在此期间,任何关于许可证的问题,特别是这两个许可证如何相互作用的问题,应直接咨询原始模型仓库:ddh0's Orcamaid v3 13B 32K。
💬 Discord
如需进一步支持,以及讨论这些模型和人工智能相关话题,请加入: TheBloke AI 的 Discord 服务器
🙏 感谢与贡献
感谢 chirper.ai 团队! 感谢 gpus.llm-utils.org 的 Clay!
很多人询问是否可以贡献。我喜欢提供模型并帮助他人,也希望能够花更多时间做这些事情,并拓展到新的项目,如微调/训练。
如果您有能力且愿意贡献,我将非常感激,这将帮助我继续提供更多模型,并开始新的人工智能项目。
捐赠者将在所有人工智能/大语言模型/模型问题和请求上获得优先支持,访问私人 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 的慷慨资助。
原始模型卡片:ddh0's Orcamaid v3 13B 32K
OrcaMaid-v3-13b-32k
这是第三个...(原文未完整,此处保留原文内容)



