标签:
- 量化
- 2比特
- 3比特
- 4比特
- 5比特
- 6比特
- 8比特
- GGUF
- 变换器
- PyTorch
- 安全张量
- 羊驼模型
- 文本生成
- 论文编号:2309.12307
- 兼容自动训练
- 兼容终端
- 文本生成推理
- 地区:美国
- 文本生成
模型名称: LongAlpaca-13B-GGUF
基础模型: Yukang/LongAlpaca-13B
推理: 不支持
模型创建者: Yukang
流水线标签: 文本生成
量化者: MaziyarPanahi
描述
MaziyarPanahi/LongAlpaca-13B-GGUF 包含了 Yukang/LongAlpaca-13B 的 GGUF 格式模型文件。
使用方法
感谢 TheBloke 提供了关于如何使用 GGUF 模型的详细说明:
关于 GGUF
GGUF 是由 llama.cpp 团队于 2023 年 8 月 21 日引入的新格式,用于替代不再受支持的 GGML 格式。
以下是不完全支持 GGUF 的客户端和库列表:
- llama.cpp。GGUF 的源项目,提供 CLI 和服务器选项。
- text-generation-webui,最广泛使用的 Web UI,具有许多功能和强大的扩展,支持 GPU 加速。
- KoboldCpp,功能齐全的 Web UI,支持跨平台和 GPU 架构的加速,特别适合故事生成。
- GPT4All,免费开源的本地运行 GUI,支持 Windows、Linux 和 macOS,并支持全 GPU 加速。
- LM Studio,易于使用且功能强大的本地 GUI,支持 Windows 和 macOS(Silicon),具有 GPU 加速功能。Linux 版本于 2023 年 11 月 27 日进入测试阶段。
- LoLLMS Web UI,功能丰富的 Web UI,具有许多独特功能,包括完整的模型库以便轻松选择模型。
- Faraday.dev,美观易用的基于角色的聊天 GUI,支持 Windows 和 macOS(Silicon 和 Intel),具有 GPU 加速功能。
- llama-cpp-python,支持 GPU 加速的 Python 库,支持 LangChain 和 OpenAI 兼容的 API 服务器。
- candle,专注于性能的 Rust ML 框架,支持 GPU 并易于使用。
- ctransformers,支持 GPU 加速的 Python 库,支持 LangChain 和 OpenAI 兼容的 AI 服务器。截至 2023 年 11 月 27 日,ctransformers 已长时间未更新,不支持许多新模型。
量化方法说明
点击查看详情
可用的新方法包括:
- GGML_TYPE_Q2_K - "类型-1" 2 比特量化,超级块包含 16 个块,每个块有 16 个权重。块比例和最小值用 4 比特量化。最终有效使用 2.5625 比特每权重 (bpw)。
- GGML_TYPE_Q3_K - "类型-0" 3 比特量化,超级块包含 16 个块,每个块有 16 个权重。比例用 6 比特量化。最终使用 3.4375 bpw。
- GGML_TYPE_Q4_K - "类型-1" 4 比特量化,超级块包含 8 个块,每个块有 32 个权重。比例和最小值用 6 比特量化。最终使用 4.5 bpw。
- GGML_TYPE_Q5_K - "类型-1" 5 比特量化。与 GGML_TYPE_Q4_K 相同的超级块结构,最终使用 5.5 bpw。
- GGML_TYPE_Q6_K - "类型-0" 6 比特量化。超级块包含 16 个块,每个块有 16 个权重。比例用 8 比特量化。最终使用 6.5625 bpw。
如何下载 GGUF 文件
手动下载者注意: 通常不需要克隆整个仓库!提供了多种不同的量化格式,大多数用户只需选择并下载单个文件。
以下客户端/库会自动为您下载模型,并提供可用模型列表供选择:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在 text-generation-webui
中
在下载模型部分,输入模型仓库:MaziyarPanahi/LongAlpaca-13B-GGUF,然后输入要下载的具体文件名,例如:LongAlpaca-13B-GGUF.Q4_K_M.gguf。
然后点击下载。
在命令行中,包括同时下载多个文件
建议使用 huggingface-hub
Python 库:
pip3 install huggingface-hub
然后可以使用以下命令将任何单个模型文件高速下载到当前目录:
huggingface-cli download MaziyarPanahi/LongAlpaca-13B-GGUF LongAlpaca-13B-GGUF.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
更高级的 huggingface-cli 下载用法(点击阅读)
还可以使用模式一次下载多个文件:
huggingface-cli download [MaziyarPanahi/LongAlpaca-13B-GGUF](https://huggingface.co/MaziyarPanahi/LongAlpaca-13B-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 MaziyarPanahi/LongAlpaca-13B-GGUF LongAlpaca-13B-GGUF.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 LongAlpaca-13B-GGUF.Q4_K_M.gguf --color -c 32768 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "<|im_start|>system
{system_message}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant"
将 -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 ‐ 模型标签.md。
如何从 Python 代码运行
可以使用 llama-cpp-python 或 ctransformers 库从 Python 使用 GGUF 模型。截至 2023 年 11 月 27 日,ctransformers 已长时间未更新,与一些新模型不兼容。因此建议使用 llama-cpp-python。
如何在 Python 代码中加载此模型,使用 llama-cpp-python
完整文档请参阅:llama-cpp-python 文档。
首先安装包
根据系统运行以下命令之一:
# 基础 ctransformers,无 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 中设置 CMAKE_ARGS 变量,请按此格式;例如对于 NVidia CUDA:
$env:CMAKE_ARGS = "-DLLAMA_OPENBLAS=on"
pip install llama-cpp-python
简单的 llama-cpp-python 示例代码
from llama_cpp import Llama
llm = Llama(
model_path="./LongAlpaca-13B-GGUF.Q4_K_M.gguf",
n_ctx=32768,
n_threads=8,
n_gpu_layers=35
)
output = llm(
"<|im_start|>system
{system_message}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant",
max_tokens=512,
stop=["</s>"],
echo=True
)
llm = Llama(model_path="./LongAlpaca-13B-GGUF.Q4_K_M.gguf", chat_format="llama-2")
llm.create_chat_completion(
messages = [
{"role": "system", "content": "你是一个故事写作助手。"},
{
"role": "user",
"content": "写一个关于羊驼的故事。"
}
]
)