模型简介
模型特点
模型能力
使用案例
🚀 Law LLM 13B - GGUF
Law LLM 13B - GGUF 是基于 AdaptLLM 的 Law LLM 13B 模型转换而来的 GGUF 格式模型文件。GGUF 格式是 llama.cpp 团队推出的新格式,具有更好的兼容性和性能。本项目提供了多种量化格式的模型文件,方便不同用户根据自身需求进行选择和使用。
🚀 快速开始
模型信息
属性 | 详情 |
---|---|
模型创建者 | AdaptLLM |
原始模型 | Law LLM 13B |
模型类型 | llama |
训练数据 | Open-Orca/OpenOrca、GAIR/lima、WizardLM/WizardLM_evol_instruct_V2_196k、EleutherAI/pile |
许可证 | other |
模型仓库
- 适用于 GPU 推理的 AWQ 模型
- 适用于 GPU 推理的 GPTQ 模型,具有多种量化参数选项
- 适用于 CPU+GPU 推理的 2、3、4、5、6 和 8 位 GGUF 模型
- AdaptLLM 原始未量化的 fp16 格式 PyTorch 模型,适用于 GPU 推理和进一步转换
✨ 主要特性
关于 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:适用于 Windows 和 macOS(Silicon 和 Intel)的有吸引力且易于使用的基于角色的聊天 GUI,支持 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。
请参考下面的“提供的文件”表格,了解哪些文件使用了哪些方法以及如何使用。
📦 安装指南
下载 GGUF 文件
⚠️ 重要提示
对于手动下载者来说,几乎永远不需要克隆整个仓库!这里提供了多种不同的量化格式,大多数用户只需要选择并下载单个文件。
以下客户端/库将自动为您下载模型,并提供可用模型列表供您选择:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在 text-generation-webui
中下载
在“Download Model”下,您可以输入模型仓库地址:TheBloke/law-LLM-13B-GGUF,然后在下方输入要下载的特定文件名,例如:law-llm-13b.Q4_K_M.gguf,然后点击“Download”。
在命令行下载,包括一次下载多个文件
建议使用 huggingface-hub
Python 库:
pip3 install huggingface-hub
然后,您可以使用以下命令将任何单个模型文件高速下载到当前目录:
huggingface-cli download TheBloke/law-LLM-13B-GGUF law-llm-13b.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
更高级的 huggingface-cli 下载用法(点击查看)
您还可以使用通配符一次下载多个文件:
huggingface-cli download TheBloke/law-LLM-13B-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
有关使用 huggingface-cli
下载的更多文档,请参阅:HF -> Hub Python Library -> Download files -> Download from the 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/law-LLM-13B-GGUF law-llm-13b.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows 命令行用户:您可以在下载命令之前运行 set HF_HUB_ENABLE_HF_TRANSFER=1
来设置环境变量。
💻 使用示例
基础用法
在 llama.cpp
中运行
确保您使用的是 2023 年 8 月 27 日之后的 llama.cpp
版本(提交号 d0cee0d)。
./main -ngl 35 -m law-llm-13b.Q4_K_M.gguf --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "[INST] <<SYS>>\n{system_message}\n<</SYS>>\n{prompt} [/INST]"
-ngl 32
:将其更改为要卸载到 GPU 的层数。如果您没有 GPU 加速,请删除此参数。-c 2048
:将其更改为所需的序列长度。对于扩展序列模型(例如 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 包
根据您的系统运行以下命令之一:
# 无 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 的层数。如果您的系统没有 GPU 加速,请将其设置为 0。
llm = Llama(
model_path="./law-llm-13b.Q4_K_M.gguf", # 首先下载模型文件
n_ctx=2048, # 要使用的最大序列长度 - 请注意,更长的序列长度需要更多的资源
n_threads=8, # 要使用的 CPU 线程数,根据您的系统和性能进行调整
n_gpu_layers=35 # 如果您有 GPU 加速,要卸载到 GPU 的层数
)
# 简单的推理示例
output = llm(
"[INST] <<SYS>>\n{system_message}\n<</SYS>>\n{prompt} [/INST]", # 提示
max_tokens=512, # 生成最多 512 个令牌
stop=["</s>"], # 示例停止令牌 - 不一定适用于此特定模型!请在使用前检查。
echo=True # 是否回显提示
)
# 聊天完成 API
llm = Llama(model_path="./law-llm-13b.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 的指南:
📚 详细文档
提供的文件
名称 | 量化方法 | 位数 | 大小 | 所需最大 RAM | 使用场景 |
---|---|---|---|---|---|
law-llm-13b.Q2_K.gguf | Q2_K | 2 | 5.43 GB | 7.93 GB | 最小,但质量损失显著 - 不建议用于大多数用途 |
law-llm-13b.Q3_K_S.gguf | Q3_K_S | 3 | 5.66 GB | 8.16 GB | 非常小,但质量损失高 |
law-llm-13b.Q3_K_M.gguf | Q3_K_M | 3 | 6.34 GB | 8.84 GB | 非常小,但质量损失高 |
law-llm-13b.Q3_K_L.gguf | Q3_K_L | 3 | 6.93 GB | 9.43 GB | 小,但质量损失较大 |
law-llm-13b.Q4_0.gguf | Q4_0 | 4 | 7.37 GB | 9.87 GB | 旧版;小,但质量损失非常高 - 建议使用 Q3_K_M |
law-llm-13b.Q4_K_S.gguf | Q4_K_S | 4 | 7.41 GB | 9.91 GB | 小,但质量损失更大 |
law-llm-13b.Q4_K_M.gguf | Q4_K_M | 4 | 7.87 GB | 10.37 GB | 中等,质量平衡 - 推荐 |
law-llm-13b.Q5_0.gguf | Q5_0 | 5 | 8.97 GB | 11.47 GB | 旧版;中等,质量平衡 - 建议使用 Q4_K_M |
law-llm-13b.Q5_K_S.gguf | Q5_K_S | 5 | 8.97 GB | 11.47 GB | 大,质量损失低 - 推荐 |
law-llm-13b.Q5_K_M.gguf | Q5_K_M | 5 | 9.23 GB | 11.73 GB | 大,质量损失非常低 - 推荐 |
law-llm-13b.Q6_K.gguf | Q6_K | 6 | 10.68 GB | 13.18 GB | 非常大,质量损失极低 |
law-llm-13b.Q8_0.gguf | Q8_0 | 8 | 13.83 GB | 16.33 GB | 非常大,质量损失极低 - 不建议 |
注意:上述 RAM 数字假设没有 GPU 卸载。如果将层卸载到 GPU,这将减少 RAM 使用并使用 VRAM 代替。
原始模型卡片:AdaptLLM 的 Law LLM 13B
本仓库包含基于 LLaMA-1-13B 开发的特定领域基础模型,使用了我们论文 Adapting Large Language Models via Reading Comprehension 中的方法。
我们探索了对大型语言模型进行 特定领域语料库的持续预训练。虽然这种方法可以丰富大语言模型的领域知识,但会显著损害它们在问答任务中的提示能力。受人类通过阅读理解学习的启发,我们提出了一种简单的方法,将大规模预训练语料库 转换为阅读理解文本,从而在生物医学、金融和法律领域的任务中持续提高提示性能。我们的 7B 模型可以与更大的特定领域模型(如 BloombergGPT-50B)相媲美。
项目更新
- 12/19:发布了基于 LLaMA-1-13B 开发的 13B 基础模型。
- 12/8:发布了基于 LLaMA-2-Chat-7B 开发的 聊天模型。
- 9/18:发布了我们的 论文、代码、数据 和基于 LLaMA-1-7B 开发的 基础模型。
特定领域的 LLaMA-1
LLaMA-1-7B
在我们的论文中,我们基于 LLaMA-1-7B 开发了三个特定领域的模型,这些模型也可以在 Hugging Face 上找到。
📄 许可证
本项目使用 other 许可证。
🔗 相关链接
- TheBloke AI 的 Discord 服务器:获取进一步的支持和参与模型及 AI 相关的讨论。
- Patreon:支持作者并获取优先支持和其他福利。
- Ko-Fi:支持作者的另一种方式。
感谢所有慷慨的赞助者和捐赠者!再次感谢 a16z 的慷慨资助。



