模型简介
模型特点
模型能力
使用案例
🚀 Llama 2 13B - GPTQ
本项目提供了 Meta的Llama 2 13B 的GPTQ模型文件,包含多种GPTQ参数排列组合,可根据自身硬件和需求选择最合适的参数。
🚀 快速开始
下载模型
- text-generation-webui:在下载名称末尾添加
:branch
,例如TheBloke/Llama-2-13B-GPTQ:main
。 - Git:使用以下命令克隆指定分支:
git clone --single-branch --branch main https://huggingface.co/TheBloke/Llama-2-13B-GPTQ
- Python Transformers代码:使用
revision
参数指定分支。
在 text-generation-webui 中使用
- 确保使用的是 text-generation-webui 的最新版本。强烈建议使用一键安装程序,除非你确定知道如何手动安装。
- 点击 Model tab。
- 在 Download custom model or LoRA 下输入
TheBloke/Llama-2-13B-GPTQ
。若要从特定分支下载,可输入例如TheBloke/Llama-2-13B-GPTQ:main
。 - 点击 Download,模型开始下载,完成后会显示 "Done"。
- 点击左上角 Model 旁边的刷新图标。
- 在 Model 下拉菜单中选择刚下载的模型
Llama-2-13B-GPTQ
,模型将自动加载,即可使用。 - 若需要自定义设置,设置完成后点击右上角的 Save settings for this model,再点击 Reload the Model。注意,无需也不应再手动设置GPTQ参数,这些参数会从
quantize_config.json
文件中自动设置。 - 准备好后,点击 Text Generation tab 并输入提示词开始使用。
从Python代码使用
安装必要的包
需要安装 Transformers 4.32.0 或更高版本、Optimum 1.12.0 或更高版本以及 AutoGPTQ 0.4.2 或更高版本。
pip3 install transformers>=4.32.0 optimum>=1.12.0
pip3 install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ # 若使用CUDA 11.7,使用cu117
若使用预构建的轮子安装 AutoGPTQ 时遇到问题,可从源代码安装:
pip3 uninstall -y auto-gptq
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
pip3 install .
对于 CodeLlama 模型,必须使用 Transformers 4.33.0 或更高版本。若在阅读本文时 4.33.0 尚未发布,则需要从源代码安装 Transformers:
pip3 uninstall -y transformers
pip3 install git+https://github.com/huggingface/transformers.git
使用代码示例
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Llama-2-13B-GPTQ"
# 若要使用不同分支,更改revision参数
# 例如: revision="main"
model = AutoModelForCausalLM.from_pretrained(model_name_or_path,
device_map="auto",
trust_remote_code=False,
revision="main")
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
prompt = "Tell me about AI"
prompt_template=f'''{prompt}
'''
print("\n\n*** Generate:")
input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
output = model.generate(inputs=input_ids, temperature=0.7, do_sample=True, top_p=0.95, top_k=40, max_new_tokens=512)
print(tokenizer.decode(output[0]))
# 也可以使用transformers的pipeline进行推理
print("*** Pipeline:")
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
max_new_tokens=512,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
repetition_penalty=1.1
)
print(pipe(prompt_template)[0]['generated_text'])
✨ 主要特性
- 多种量化参数:提供多个量化参数,可根据硬件和需求选择最佳参数。
- 多分支支持:每个单独的量化版本位于不同分支,方便获取。
- 多工具兼容:文件经测试可与 AutoGPTQ 兼容,也应能与 Occ4m's GPTQ-for-LLaMa fork 配合使用。ExLlama 兼容 4 位的 Llama 模型,Huggingface Text Generation Inference (TGI) 兼容所有 GPTQ 模型。
📦 安装指南
安装必要的包
pip3 install transformers>=4.32.0 optimum>=1.12.0
pip3 install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ # 若使用CUDA 11.7,使用cu117
若使用预构建的轮子安装 AutoGPTQ 时遇到问题,可从源代码安装:
pip3 uninstall -y auto-gptq
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
pip3 install .
对于 CodeLlama 模型,必须使用 Transformers 4.33.0 或更高版本。若在阅读本文时 4.33.0 尚未发布,则需要从源代码安装 Transformers:
pip3 uninstall -y transformers
pip3 install git+https://github.com/huggingface/transformers.git
💻 使用示例
基础用法
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Llama-2-13B-GPTQ"
model = AutoModelForCausalLM.from_pretrained(model_name_or_path,
device_map="auto",
trust_remote_code=False,
revision="main")
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
prompt = "Tell me about AI"
prompt_template=f'''{prompt}
'''
input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
output = model.generate(inputs=input_ids, temperature=0.7, do_sample=True, top_p=0.95, top_k=40, max_new_tokens=512)
print(tokenizer.decode(output[0]))
高级用法
# 使用pipeline进行推理
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
max_new_tokens=512,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
repetition_penalty=1.1
)
print(pipe(prompt_template)[0]['generated_text'])
📚 详细文档
模型信息
- 模型创建者:Meta
- 原始模型:Llama 2 13B
可用仓库
- 用于GPU推理的AWQ模型
- 用于GPU推理的GPTQ模型,有多个量化参数选项
- 用于CPU+GPU推理的2、3、4、5、6和8位GGUF模型
- Meta原始未量化的pytorch格式fp16模型,用于GPU推理和进一步转换
提示模板
{prompt}
提供的文件和GPTQ参数
多个量化参数可供选择,每个单独的量化版本位于不同分支。所有近期的 GPTQ 文件均使用 AutoGPTQ 制作,非主分支中的所有文件也使用 AutoGPTQ 制作。2023 年 8 月之前上传到 main
分支的文件使用 GPTQ-for-LLaMa 制作。
GPTQ参数解释
- Bits:量化模型的位大小。
- GS:GPTQ 组大小。较高的数值使用较少的 VRAM,但量化精度较低。"None" 是可能的最低值。
- Act Order:真或假。也称为
desc_act
。真会导致更好的量化精度。一些 GPTQ 客户端在使用 Act Order 加 Group Size 的模型时遇到过问题,但现在这个问题通常已解决。 - Damp %:一个影响量化样本处理方式的 GPTQ 参数。默认值为 0.01,但 0.1 会导致稍高的精度。
- GPTQ dataset:用于量化的数据集。使用与模型训练更匹配的数据集可以提高量化精度。请注意,GPTQ 数据集与用于训练模型的数据集不同,请参考原始模型仓库了解训练数据集的详细信息。
- Sequence Length:用于量化的数据集序列长度。理想情况下,此值应与模型序列长度相同。对于一些非常长序列的模型(16+K),可能需要使用较低的序列长度。请注意,较低的序列长度不会限制量化模型的序列长度,它只会影响较长推理序列的量化精度。
- ExLlama Compatibility:该文件是否可以使用 ExLlama 加载,目前 ExLlama 仅支持 4 位的 Llama 模型。
分支 | Bits | GS | Act Order | Damp % | GPTQ 数据集 | Seq Len | 大小 | ExLlama | 描述 |
---|---|---|---|---|---|---|---|---|---|
main | 4 | 128 | 否 | 0.01 | wikitext | 4096 | 7.26 GB | 是 | 4 位,无 Act Order,组大小 128g。 |
gptq-4bit-32g-actorder_True | 4 | 32 | 是 | 0.01 | wikitext | 4096 | 8.00 GB | 是 | 4 位,有 Act Order,组大小 32g。可提供最高的推理质量,但使用最大的 VRAM。 |
gptq-4bit-64g-actorder_True | 4 | 64 | 是 | 0.01 | wikitext | 4096 | 7.51 GB | 是 | 4 位,有 Act Order,组大小 64g。比 32g 使用更少的 VRAM,但精度稍低。 |
gptq-4bit-128g-actorder_True | 4 | 128 | 是 | 0.01 | wikitext | 4096 | 7.26 GB | 是 | 4 位,有 Act Order,组大小 128g。比 64g 使用更少的 VRAM,但精度稍低。 |
gptq-8bit-128g-actorder_True | 8 | 128 | 是 | 0.01 | wikitext | 4096 | 13.65 GB | 否 | 8 位,组大小 128g 以提高推理质量,有 Act Order 以进一步提高精度。 |
gptq-8bit-64g-actorder_True | 8 | 64 | 是 | 0.01 | wikitext | 4096 | 13.95 GB | 否 | 8 位,组大小 64g 并有 Act Order 以进一步提高推理质量。AutoGPTQ CUDA 速度较慢。 |
gptq-8bit-128g-actorder_False | 8 | 128 | 否 | 0.01 | wikitext | 4096 | 13.65 GB | 否 | 8 位,组大小 128g 以提高推理质量,无 Act Order 以提高 AutoGPTQ 速度。 |
gptq-8bit--1g-actorder_True | 8 | 无 | 是 | 0.01 | wikitext | 4096 | 13.36 GB | 否 | 8 位,有 Act Order。无组大小,以降低 VRAM 需求。 |
🔧 技术细节
兼容性
文件经测试可与 AutoGPTQ 兼容,也应能与 Occ4m's GPTQ-for-LLaMa fork 配合使用。ExLlama 兼容 4 位的 Llama 模型,Huggingface Text Generation Inference (TGI) 兼容所有 GPTQ 模型。
📄 许可证
本项目使用 llama2 许可证,自定义商业许可证可在 https://ai.meta.com/resources/models-and-libraries/llama-downloads/ 获取。
其他信息
Discord
如需进一步支持,或讨论这些模型和人工智能相关话题,可加入 TheBloke AI's Discord服务器。
感谢与贡献
感谢 chirper.ai 团队和 gpus.llm-utils.org 的 Clay。如果你愿意贡献,捐赠将非常感激,这将有助于提供更多模型并开展新的人工智能项目。捐赠者将获得优先支持、访问私人 Discord 房间等福利。
- Patreon:https://patreon.com/TheBlokeAI
- Ko-Fi:https://ko-fi.com/TheBlokeAI
特别感谢众多支持者,包括 Aemon Algiz 等众多个人和组织。
也再次感谢 a16z 的慷慨资助。



