模型简介
模型特点
模型能力
使用案例
🚀 Llama 2 70B Chat - GGUF
本项目提供了 Meta Llama 2 的 Llama 2 70B Chat 模型的 GGUF 格式文件,方便用户在不同环境下进行推理和使用。
🚀 快速开始
本仓库包含了 Meta Llama 2 的 Llama 2 70B Chat 模型的 GGUF 格式文件。
✨ 主要特性
- GGUF 格式:GGUF 是 llama.cpp 团队在 2023 年 8 月 21 日推出的新格式,它取代了不再被 llama.cpp 支持的 GGML 格式。GGUF 具有更好的分词功能、支持特殊令牌、支持元数据,并且具有可扩展性。
- 多客户端支持:众多客户端和库都支持 GGUF 格式,如 llama.cpp、text-generation-webui、KoboldCpp 等。
- 多种量化方法:提供了多种量化方法的模型文件,用户可以根据自己的需求选择不同的量化文件,以平衡模型大小和质量。
📦 安装指南
安装依赖库
推荐使用 huggingface-hub
Python 库来下载模型文件:
pip3 install huggingface-hub>=0.17.1
若要加速高速连接(1Gbit/s 或更高)下的下载速度,可安装 hf_transfer
:
pip3 install hf_transfer
并设置环境变量 HF_HUB_ENABLE_HF_TRANSFER
为 1
:
HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/Llama-2-70B-chat-GGUF llama-2-70b-chat.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows CLI 用户在运行下载命令前使用 set HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1
。
下载模型文件
在 text-generation-webui
中下载
在“Download Model”下,输入模型仓库地址 TheBloke/Llama-2-70B-chat-GGUF
,并在下方输入要下载的具体文件名,如 llama-2-70b-chat.Q4_K_M.gguf
,然后点击“Download”。
命令行下载单个或多个文件
使用以下命令可将单个模型文件高速下载到当前目录:
huggingface-cli download TheBloke/Llama-2-70B-chat-GGUF llama-2-70b-chat.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
使用模式匹配可一次下载多个文件:
huggingface-cli download TheBloke/Llama-2-70B-chat-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
💻 使用示例
基础用法
在 llama.cpp
中运行模型:
./main -ngl 32 -m llama-2-70b-chat.Q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "[INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>
{prompt}[/INST]"
-ngl 32
:将其改为要卸载到 GPU 的层数,若没有 GPU 加速则移除该参数。-c 4096
:改为所需的序列长度。对于扩展序列模型(如 8K、16K、32K),必要的 RoPE 缩放参数会从 GGUF 文件中读取,并由 llama.cpp 自动设置。- 若要进行聊天式对话,将
-p <PROMPT>
参数替换为-i -ins
。
高级用法
在 Python 代码中使用 ctransformers
加载模型
首先安装包:
# 无 GPU 加速的基础 ctransformers
pip install ctransformers>=0.2.24
# 或使用 CUDA GPU 加速
pip install ctransformers[cuda]>=0.2.24
# 或使用 ROCm GPU 加速
CT_HIPBLAS=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
# 或使用 Metal GPU 加速(适用于 macOS 系统)
CT_METAL=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
简单示例代码:
from ctransformers import AutoModelForCausalLM
# 将 gpu_layers 设置为要卸载到 GPU 的层数。如果系统上没有 GPU 加速,则设置为 0。
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Llama-2-70B-chat-GGUF", model_file="llama-2-70b-chat.Q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
📚 详细文档
关于 GGUF
GGUF 是 llama.cpp 团队在 2023 年 8 月 21 日推出的新格式,它取代了不再被 llama.cpp 支持的 GGML 格式。GGUF 具有以下优点:
- 更好的分词功能。
- 支持特殊令牌。
- 支持元数据。
- 具有可扩展性。
以下是已知支持 GGUF 的客户端和库:
- llama.cpp:GGUF 的源项目,提供 CLI 和服务器选项。
- text-generation-webui:最广泛使用的 Web UI,具有许多功能和强大的扩展,支持 GPU 加速。
- KoboldCpp:功能齐全的 Web UI,支持所有平台和 GPU 架构的 GPU 加速,尤其适合讲故事。
- LM Studio:适用于 Windows 和 macOS(Silicon)的易用且强大的本地 GUI,支持 GPU 加速。
- LoLLMS Web UI:一个很棒的 Web UI,具有许多有趣和独特的功能,包括一个完整的模型库,便于模型选择。
- Faraday.dev:适用于 Windows 和 macOS(Silicon 和 Intel)的有吸引力且易用的基于角色的聊天 GUI,支持 GPU 加速。
- ctransformers:一个支持 GPU 加速、LangChain 支持和 OpenAI 兼容 AI 服务器的 Python 库。
- llama-cpp-python:一个支持 GPU 加速、LangChain 支持和 OpenAI 兼容 API 服务器的 Python 库。
- candle:一个专注于性能的 Rust ML 框架,包括 GPU 支持,且易于使用。
可用仓库
- 用于 GPU 推理的 AWQ 模型
- 用于 GPU 推理的 GPTQ 模型,具有多种量化参数选项
- 用于 CPU+GPU 推理的 2、3、4、5、6 和 8 位 GGUF 模型
- Meta Llama 2 原始未量化的 fp16 模型(pytorch 格式),用于 GPU 推理和进一步转换
提示模板:Llama-2-Chat
[INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>
{prompt}[/INST]
兼容性
这些量化的 GGUFv2 文件与 2023 年 8 月 27 日及以后的 llama.cpp 版本兼容,对应提交版本为 d0cee0d36d5be95a0d9088b674dbb27354107221。它们也与许多第三方 UI 和库兼容,具体列表见文档开头。
量化方法解释
点击查看详情
新的量化方法如下:
- 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 | 使用场景 |
---|---|---|---|---|---|
llama-2-70b-chat.Q2_K.gguf | Q2_K | 2 | 29.28 GB | 31.78 GB | 最小,但质量损失显著,不建议用于大多数场景 |
llama-2-70b-chat.Q3_K_S.gguf | Q3_K_S | 3 | 29.92 GB | 32.42 GB | 非常小,但质量损失高 |
llama-2-70b-chat.Q5_K_S.gguf | Q5_K_S | 5 | 30.57 GB | 33.07 GB | 大,质量损失低,推荐使用 |
llama-2-70b-chat.Q3_K_M.gguf | Q3_K_M | 3 | 33.19 GB | 35.69 GB | 非常小,但质量损失高 |
llama-2-70b-chat.Q3_K_L.gguf | Q3_K_L | 3 | 36.15 GB | 38.65 GB | 小,质量损失较大 |
llama-2-70b-chat.Q4_0.gguf | Q4_0 | 4 | 38.87 GB | 41.37 GB | 旧版本;小,但质量损失非常高,建议使用 Q3_K_M |
llama-2-70b-chat.Q4_K_S.gguf | Q4_K_S | 4 | 39.07 GB | 41.57 GB | 小,质量损失较大 |
llama-2-70b-chat.Q4_K_M.gguf | Q4_K_M | 4 | 41.42 GB | 43.92 GB | 中等,质量平衡,推荐使用 |
llama-2-70b-chat.Q5_0.gguf | Q5_0 | 5 | 47.46 GB | 49.96 GB | 旧版本;中等,质量平衡,建议使用 Q4_K_M |
llama-2-70b-chat.Q5_K_M.gguf | Q5_K_M | 5 | 48.75 GB | 51.25 GB | 大,质量损失非常低,推荐使用 |
llama-2-70b-chat.Q6_K.gguf | Q6_K | 6 | 56.59 GB | 59.09 GB | 非常大,质量损失极低 |
llama-2-70b-chat.Q8_0.gguf | Q8_0 | 8 | 73.29 GB | 75.79 GB | 非常大,质量损失极低,但不建议使用 |
注意:上述 RAM 数字假设没有进行 GPU 卸载。如果将层卸载到 GPU,将减少 RAM 使用并使用 VRAM。
Q6_K 和 Q8_0 文件是分割的,需要合并
注意:HF 不支持上传大于 50GB 的文件,因此 Q6_K 和 Q8_0 文件作为分割文件上传。
点击查看 Q6_K 和 Q8_0 文件的说明
q6_K
请下载:
llama-2-70b-chat.Q6_K.gguf-split-a
llama-2-70b-chat.Q6_K.gguf-split-b
q8_0
请下载:
llama-2-70b-chat.Q8_0.gguf-split-a
llama-2-70b-chat.Q8_0.gguf-split-b
合并文件的方法如下:
- Linux 和 macOS:
cat llama-2-70b-chat.Q6_K.gguf-split-* > llama-2-70b-chat.Q6_K.gguf && rm llama-2-70b-chat.Q6_K.gguf-split-*
cat llama-2-70b-chat.Q8_0.gguf-split-* > llama-2-70b-chat.Q8_0.gguf && rm llama-2-70b-chat.Q8_0.gguf-split-*
- Windows 命令行:
COPY /B llama-2-70b-chat.Q6_K.gguf-split-a + llama-2-70b-chat.Q6_K.gguf-split-b llama-2-70b-chat.Q6_K.gguf
del llama-2-70b-chat.Q6_K.gguf-split-a llama-2-70b-chat.Q6_K.gguf-split-b
COPY /B llama-2-70b-chat.Q8_0.gguf-split-a + llama-2-70b-chat.Q8_0.gguf-split-b llama-2-70b-chat.Q8_0.gguf
del llama-2-70b-chat.Q8_0.gguf-split-a llama-2-70b-chat.Q8_0.gguf-split-b
如何在 text-generation-webui
中运行
详细说明请参考 text-generation-webui/docs/llama.cpp.md。
如何与 LangChain 一起使用
以下是使用 llama-cpp-python 或 ctransformers 与 LangChain 的指南:
🔧 技术细节
模型信息
属性 | 详情 |
---|---|
模型类型 | Llama |
训练数据 | Llama 2 在来自公开可用来源的 2 万亿个令牌数据上进行了预训练。微调数据包括公开可用的指令数据集,以及超过一百万个新的人工标注示例。预训练和微调数据集均不包含 Meta 用户数据。 |
评估结果
整体学术基准测试表现
模型 | 大小 | 代码 | 常识推理 | 世界知识 | 阅读理解 | 数学 | MMLU | BBH | AGI 评估 |
---|---|---|---|---|---|---|---|---|---|
Llama 1 | 7B | 14.1 | 60.8 | 46.2 | 58.5 | 6.95 | 35.1 | 30.3 | 23.9 |
Llama 1 | 13B | 18.9 | 66.1 | 52.6 | 62.3 | 10.9 | 46.9 | 37.0 | 33.9 |
Llama 1 | 33B | 26.0 | 70.0 | 58.4 | 67.6 | 21.4 | 57.8 | 39.8 | 41.7 |
Llama 1 | 65B | 30.7 | 70.7 | 60.5 | 68.6 | 30.8 | 63.4 | 43.5 | 47.6 |
Llama 2 | 7B | 16.8 | 63.9 | 48.9 | 61.3 | 14.6 | 45.3 | 32.6 | 29.3 |
Llama 2 | 13B | 24.5 | 66.9 | 55.4 | 65.8 | 28.7 | 54.8 | 39.4 | 39.1 |
Llama 2 | 70B | 37.5 | 71.9 | 63.6 | 69.4 | 35.2 | 68.9 | 51.2 | 54.2 |
预训练大语言模型在自动安全基准测试中的评估
模型 | TruthfulQA | Toxigen | |
---|---|---|---|
Llama 1 | 7B | 27.42 | 23.00 |
Llama 1 | 13B | 41.74 | 23.08 |
Llama 1 | 33B | 44.19 | 22.57 |
Llama 1 | 65B | 48.71 | 21.77 |
Llama 2 | 7B | 33.29 | 21.25 |
Llama 2 | 13B | 41.86 | 26.10 |
Llama 2 | 70B | 50.18 | 24.60 |
微调大语言模型在不同安全数据集上的评估
模型 | TruthfulQA | Toxigen | |
---|---|---|---|
Llama-2-Chat | 7B | 57.04 | 0.00 |
Llama-2-Chat | 13B | 62.18 | 0.00 |
Llama-2-Chat | 70B | 64.14 | 0.01 |
硬件和软件
训练因素
使用自定义训练库、Meta 的研究超级集群和生产集群进行预训练。微调、标注和评估也在第三方云计算上进行。
碳足迹
预训练在 A100 - 80GB 类型的硬件上累计使用了 330 万 GPU 小时的计算资源(TDP 为 350 - 400W)。估计总排放量为 539 tCO2eq,其中 100% 由 Meta 的可持续发展计划进行了抵消。
模型 | 时间(GPU 小时) | 功耗(W) | 碳排放(tCO₂eq) |
---|---|---|---|
Llama 2 7B | 184320 | 400 | 31.22 |
Llama 2 13B | 368640 | 400 | 62.44 |
Llama 2 70B | 1720320 | 400 | 291.42 |
总计 | 3311616 | 539.00 |
📄 许可证
本模型使用自定义商业许可证,详情请见:https://ai.meta.com/resources/models-and-libraries/llama-downloads/
Discord
如需进一步支持,以及参与这些模型和 AI 相关的讨论,请加入我们的 Discord 服务器:TheBloke AI 的 Discord 服务器
感谢与贡献方式
感谢 chirper.ai 团队和 gpus.llm-utils.org 的 Clay!
许多人询问是否可以进行贡献。我很享受提供模型和帮助他人的过程,也希望能有更多时间投入其中,并开展新的项目,如微调/训练。
如果您有能力且愿意贡献,我将不胜感激,这将帮助我继续提供更多模型,并开展新的 AI 项目。捐赠者将在所有 AI/LLM/模型问题和请求上获得优先支持,访问私人 Discord 房间,以及其他福利。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特别感谢:Aemon Algiz。
Patreon 特别提及:Alicia Loh、Stephen Murray 等众多人士。
感谢所有慷慨的赞助者和捐赠者!再次感谢 a16z 的慷慨资助。
原始模型卡片:Meta Llama 2 的 Llama 2 70B Chat
模型详情
- 模型开发者:Meta
- 变体:Llama 2 有多种参数规模(7B、13B 和 70B),以及预训练和微调版本。
- 输入:仅接受文本输入。
- 输出:仅生成文本输出。
- 模型架构:Llama 2 是一种自回归语言模型,采用了优化的 Transformer 架构。微调版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF)来符合人类对有用性和安全性的偏好。
训练数据
- 概述:Llama 2 在 2 万亿个来自公开可用来源的令牌数据上进行了预训练。微调数据包括公开可用的指令数据集,以及超过一百万个新的人工标注示例。预训练和微调数据集均不包含 Meta 用户数据。
- 数据新鲜度:预训练数据截止到 2022 年 9 月,但部分微调数据更新至 2023 年 7 月。
预期用途
- 预期用例:Llama 2 旨在用于英语的商业和研究用途。微调模型用于类似助手的聊天,而预训练模型可用于各种自然语言生成任务。
- 超出范围的用途:以任何违反适用法律法规(包括贸易合规法律)的方式使用;在英语以外的语言中使用;以 Llama 2 的可接受使用政策和许可协议禁止的任何其他方式使用。
道德考量和局限性
Llama 2 是一项新技术,使用时存在风险。到目前为止的测试仅在英语中进行,且无法涵盖所有场景。因此,与所有大语言模型一样,Llama 2 的潜在输出无法提前预测,在某些情况下,模型可能会对用户提示产生不准确、有偏见或其他令人反感的响应。因此,在部署 Llama 2 的任何应用程序之前,开发者应针对其特定应用进行安全测试和调整。
请参阅 https://ai.meta.com/llama/responsible-use-guide/ 上的《负责任使用指南》。
问题报告
请通过以下方式报告模型的任何软件“漏洞”或其他问题:
- 报告模型问题:github.com/facebookresearch/llama
- 报告模型生成的有问题内容:developers.facebook.com/llama_output_feedback
- 报告漏洞和安全问题:facebook.com/whitehat/info
Llama 模型索引
模型 | Llama2 | Llama2 - hf | Llama2 - chat | Llama2 - chat - hf |
---|---|---|---|---|
7B | 链接 | 链接 | 链接 | 链接 |
13B | 链接 | 链接 | 链接 | 链接 |
70B | 链接 | 链接 | 链接 | 链接 |



