模型简介
模型特点
模型能力
使用案例
🚀 Swallow 70B Instruct - GGUF
Swallow 70B Instruct是一款强大的语言模型,本仓库提供其GGUF格式的模型文件,支持多种客户端和库,能满足不同场景下的文本生成需求。
🚀 快速开始
本模型可通过多种方式使用,如借助LM Studio、LoLLMS Web UI、Faraday.dev等客户端或库自动下载使用;也能在text-generation-webui
中手动指定下载;还可通过命令行利用huggingface-hub
库进行高速下载。
✨ 主要特性
- 多语言支持:支持英语和日语。
- 多种量化方法:提供多种量化方法的模型文件,如Q2_K、Q3_K、Q4_K等,可根据需求选择不同的量化模型。
- 广泛兼容性:与llama.cpp及众多第三方UI和库兼容,如text-generation-webui、KoboldCpp等。
📦 安装指南
安装依赖库
若使用命令行下载模型文件,需安装huggingface-hub
Python库:
pip3 install huggingface-hub
若要加速下载,可安装hf_transfer
:
pip3 install hf_transfer
并设置环境变量:
HF_HUB_ENABLE_HF_TRANSFER=1
下载模型文件
可使用以下命令下载单个模型文件到当前目录:
huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF swallow-70b-instruct.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
若要一次下载多个文件,可使用通配符:
huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
💻 使用示例
基础用法
在llama.cpp
中运行模型的示例命令:
./main -ngl 35 -m swallow-70b-instruct.Q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答:"
高级用法
在Python代码中使用llama-cpp-python
加载模型
首先根据系统安装相应的包:
# 无GPU加速的基础安装
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
# 或使用Metal GPU加速(仅macOS系统)
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python
# 在Windows的PowerShell中设置变量,例如使用NVidia CUDA:
$env:CMAKE_ARGS = "-DLLAMA_OPENBLAS=on"
pip install llama-cpp-python
简单的llama-cpp-python
示例代码:
from llama_cpp import Llama
# 设置要卸载到GPU的层数。如果系统没有GPU加速,则设置为0。
llm = Llama(
model_path="./swallow-70b-instruct.Q4_K_M.gguf", # 先下载模型文件
n_ctx=4096, # 要使用的最大序列长度 - 注意,更长的序列长度需要更多的资源
n_threads=8, # 要使用的CPU线程数,根据系统和性能进行调整
n_gpu_layers=35 # 如果有GPU加速,要卸载到GPU的层数
)
# 简单推理示例
output = llm(
"以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答:", # 提示信息
max_tokens=512, # 生成最多512个标记
stop=["</s>"], # 示例停止标记 - 不一定适用于此特定模型!使用前请检查。
echo=True # 是否回显提示信息
)
# 聊天完成API
llm = Llama(model_path="./swallow-70b-instruct.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."
}
]
)
📚 详细文档
关于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:适用于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机器学习框架,包括GPU支持和易用性。
- ctransformers:一个支持GPU加速、LangChain集成和OpenAI兼容AI服务器的Python库。截至2023年11月27日,ctransformers已有很长时间未更新,不支持许多最新模型。
可用仓库
- 用于GPU推理的AWQ模型
- 具有多个量化参数选项的用于GPU推理的GPTQ模型
- 用于CPU + GPU推理的2、3、4、5、6和8位GGUF模型
- tokyotech-llm的原始未量化fp16 PyTorch格式模型,用于GPU推理和进一步转换
提示模板
以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答:
兼容性
这些量化的GGUFv2文件与2023年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 | 使用场景 |
---|---|---|---|---|---|
swallow-70b-instruct.Q2_K.gguf | Q2_K | 2 | 29.38 GB | 31.88 GB | 最小,但质量损失显著,不建议用于大多数场景 |
swallow-70b-instruct.Q3_K_S.gguf | Q3_K_S | 3 | 30.03 GB | 32.53 GB | 非常小,但质量损失高 |
swallow-70b-instruct.Q3_K_M.gguf | Q3_K_M | 3 | 33.30 GB | 35.80 GB | 非常小,但质量损失高 |
swallow-70b-instruct.Q3_K_L.gguf | Q3_K_L | 3 | 36.26 GB | 38.76 GB | 小,但质量损失较大 |
swallow-70b-instruct.Q4_0.gguf | Q4_0 | 4 | 39.00 GB | 41.50 GB | 旧版本;小,但质量损失非常高,建议使用Q3_K_M |
swallow-70b-instruct.Q4_K_S.gguf | Q4_K_S | 4 | 39.20 GB | 41.70 GB | 小,但质量损失更大 |
swallow-70b-instruct.Q4_K_M.gguf | Q4_K_M | 4 | 41.55 GB | 44.05 GB | 中等,质量平衡,推荐使用 |
swallow-70b-instruct.Q5_0.gguf | Q5_0 | 5 | 47.60 GB | 50.10 GB | 旧版本;中等,质量平衡,建议使用Q4_K_M |
swallow-70b-instruct.Q5_K_S.gguf | Q5_K_S | 5 | 47.60 GB | 50.10 GB | 大,质量损失低,推荐使用 |
swallow-70b-instruct.Q5_K_M.gguf | Q5_K_M | 5 | 48.89 GB | 51.39 GB | 大,质量损失非常低,推荐使用 |
swallow-70b-instruct.Q6_K.gguf | Q6_K | 6 | 56.74 GB | 59.24 GB | 非常大,质量损失极低 |
swallow-70b-instruct.Q8_0.gguf | Q8_0 | 8 | 73.49 GB | 75.99 GB | 非常大,质量损失极低,但不建议使用 |
注意:上述RAM数字假设没有GPU卸载。如果将层卸载到GPU,这将减少RAM使用并使用VRAM。
Q6_K和Q8_0文件是拆分的,需要合并
注意:HF不支持上传大于50GB的文件。因此,我已将Q6_K和Q8_0文件作为拆分文件上传。
点击查看Q6_K和Q8_0文件的说明
q6_K
请下载:
swallow-70b-instruct.Q6_K.gguf-split-a
swallow-70b-instruct.Q6_K.gguf-split-b
q8_0
请下载:
swallow-70b-instruct.Q8_0.gguf-split-a
swallow-70b-instruct.Q8_0.gguf-split-b
要合并文件,请执行以下操作:
Linux和macOS:
cat swallow-70b-instruct.Q6_K.gguf-split-* > swallow-70b-instruct.Q6_K.gguf && rm swallow-70b-instruct.Q6_K.gguf-split-*
cat swallow-70b-instruct.Q8_0.gguf-split-* > swallow-70b-instruct.Q8_0.gguf && rm swallow-70b-instruct.Q8_0.gguf-split-*
Windows命令行:
COPY /B swallow-70b-instruct.Q6_K.gguf-split-a + swallow-70b-instruct.Q6_K.gguf-split-b swallow-70b-instruct.Q6_K.gguf
del swallow-70b-instruct.Q6_K.gguf-split-a swallow-70b-instruct.Q6_K.gguf-split-b
COPY /B swallow-70b-instruct.Q8_0.gguf-split-a + swallow-70b-instruct.Q8_0.gguf-split-b swallow-70b-instruct.Q8_0.gguf
del swallow-70b-instruct.Q8_0.gguf-split-a swallow-70b-instruct.Q8_0.gguf-split-b
如何下载GGUF文件
手动下载者注意:几乎不需要克隆整个仓库!提供了多种不同的量化格式,大多数用户只需要选择并下载单个文件。
以下客户端/库将自动为你下载模型,并提供可用模型列表供你选择:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在text-generation-webui
中
在“下载模型”下,你可以输入模型仓库:TheBloke/Swallow-70B-instruct-GGUF,然后在其下方输入要下载的特定文件名,例如:swallow-70b-instruct.Q4_K_M.gguf。然后点击“下载”。
在命令行中,包括一次下载多个文件
建议使用huggingface-hub
Python库:
pip3 install huggingface-hub
然后你可以使用如下命令将任何单个模型文件高速下载到当前目录:
huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF swallow-70b-instruct.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
更高级的huggingface-cli下载用法(点击查看)
你还可以使用通配符一次下载多个文件:
huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
有关使用huggingface-cli
下载的更多文档,请参阅:HF -> Hub Python库 -> 下载文件 -> 从CLI下载。
要在高速连接(1Gbit/s或更高)上加速下载,请安装hf_transfer
:
pip3 install hf_transfer
并将环境变量HF_HUB_ENABLE_HF_TRANSFER
设置为1
:
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF swallow-70b-instruct.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows命令行用户:你可以在下载命令之前运行set HF_HUB_ENABLE_HF_TRANSFER=1
来设置环境变量。
如何在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
。
如何使用LangChain
以下是使用llama-cpp-python
和ctransformers
与LangChain的指南:
🔧 技术细节
模型信息
属性 | 详情 |
---|---|
模型创建者 | tokyotech-llm |
模型名称 | Swallow 70B Instruct |
模型类型 | llama |
基础模型 | tokyotech-llm/Swallow-70b-instruct-hf |
推理 | false |
支持语言 | 英语、日语 |
库名称 | transformers |
许可证 | llama2 |
量化者 | TheBloke |
管道标签 | 文本生成 |
提示模板 | 以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答: |
📄 许可证
本模型使用llama2许可证。
💬 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的支持!



