模型简介
模型特点
模型能力
使用案例
base_model: openchat/openchat_3.5 inference: false license: apache-2.0 model_creator: OpenChat model_name: OpenChat 3.5 7B model_type: mistral prompt_template: 'GPT4用户: {prompt}<|end_of_turn|>GPT4助手:
' quantized_by: TheBloke

TheBloke的LLM工作得到了a16z的慷慨资助
OpenChat 3.5 7B - GPTQ量化版
- 模型创建者: OpenChat
- 原始模型: OpenChat 3.5 7B
模型描述
本仓库包含OpenChat的OpenChat 3.5 7B的GPTQ量化模型文件。
提供了多种GPTQ量化参数组合;详情请参阅下方"提供的文件"部分,了解各选项的参数及创建所用的软件。
这些量化文件由Massed Compute提供的硬件支持完成。
可用仓库
- 用于GPU推理的AWQ模型
- 用于GPU推理的GPTQ模型,提供多种量化参数选项
- 用于CPU+GPU推理的2、3、4、5、6和8位GGUF模型
- OpenChat原始未量化的fp16 PyTorch格式模型,适用于GPU推理及进一步转换
提示词模板:OpenChat
GPT4用户: {prompt}<|end_of_turn|>GPT4助手:
已知兼容的客户端/服务器
以下推理服务器/WebUI已知支持这些GPTQ模型:
如果还有其他兼容项,请告知我们!
提供的文件及GPTQ参数
提供多种量化参数组合,以便根据硬件和需求选择最佳方案。
各量化版本位于不同分支。从不同分支获取的说明见下文。
多数GPTQ文件使用AutoGPTQ创建。Mistral模型当前使用Transformers创建。
GPTQ参数说明
- Bits: 量化模型的位数。
- GS: GPTQ分组大小。数值越高VRAM占用越低,但量化精度也越低。"None"为最低可能值。
- Act Order: 真或假。也称
desc_act
。True可提升量化精度。某些GPTQ客户端曾对使用Act Order加Group Size的模型有问题,但通常已解决。 - Damp %: GPTQ参数,影响量化样本处理方式。默认0.01,0.1可略微提升精度。
- GPTQ数据集: 量化时使用的校准数据集。使用更贴近模型训练的数据集可提升量化精度。注意GPTQ校准数据集不同于训练模型的数据集 - 训练数据集详情请参考原始模型仓库。
- 序列长度: 用于量化的数据集序列长度。理想情况应与模型序列长度一致。对超长序列模型(16+K),可能需要使用较短序列长度。注意较低序列长度不会限制量化模型的序列长度,仅影响长推理序列的量化精度。
- ExLlama兼容性: 该文件是否兼容ExLlama,目前仅支持4位Llama和Mistral模型。
分支 | 位数 | GS | Act Order | Damp % | GPTQ数据集 | 序列长度 | 大小 | ExLlama | 描述 |
---|---|---|---|---|---|---|---|---|---|
main | 4 | 128 | 是 | 0.1 | wikitext | 4096 | 4.16 GB | 是 | 4位,带Act Order和128g分组。比64g更省VRAM,但精度略低。 |
gptq-4bit-32g-actorder_True | 4 | 32 | 是 | 0.1 | wikitext | 4096 | 4.57 GB | 是 | 4位,带Act Order和32g分组。提供最高推理质量,VRAM占用最大。 |
gptq-8bit--1g-actorder_True | 8 | 无 | 是 | 0.1 | wikitext | 4096 | 4.95 GB | 否 | 8位,带Act Order。无分组,降低VRAM需求。 |
gptq-8bit-128g-actorder_True | 8 | 128 | 是 | 0.1 | wikitext | 4096 | 5.00 GB | 否 | 8位,128g分组提升推理质量,Act Order进一步提升精度。 |
gptq-8bit-32g-actorder_True | 8 | 32 | 是 | 0.1 | wikitext | 4096 | 4.97 GB | 否 | 8位,32g分组加Act Order实现最高推理质量。 |
gptq-4bit-64g-actorder_True | 4 | 64 | 是 | 0.1 | wikitext | 4096 | 4.30 GB | 是 | 4位,带Act Order和64g分组。比32g省VRAM,精度略低。 |
下载方式(包括从分支下载)
在text-generation-webui中
要从main
分支下载,在"Download model"框中输入TheBloke/openchat_3.5-GPTQ
。
要从其他分支下载,在下载名称后添加:branchname
,例如TheBloke/openchat_3.5-GPTQ:gptq-4bit-32g-actorder_True
通过命令行
推荐使用huggingface-hub
Python库:
pip3 install huggingface-hub
将main
分支下载到openchat_3.5-GPTQ
文件夹:
mkdir openchat_3.5-GPTQ
huggingface-cli download TheBloke/openchat_3.5-GPTQ --local-dir openchat_3.5-GPTQ --local-dir-use-symlinks False
要从不同分支下载,添加--revision
参数:
mkdir openchat_3.5-GPTQ
huggingface-cli download TheBloke/openchat_3.5-GPTQ --revision gptq-4bit-32g-actorder_True --local-dir openchat_3.5-GPTQ --local-dir-use-symlinks False
更多huggingface-cli下载用法
如果移除--local-dir-use-symlinks False
参数,文件将存储在Hugging Face缓存目录(Linux默认位置为~/.cache/huggingface
),并在指定--local-dir
创建指向缓存位置的符号链接。这允许中断下载后恢复,也便于快速克隆到多个磁盘位置而无需重复下载。缺点是文件隐藏在缓存文件夹,不易直观查看磁盘空间使用情况。
可通过HF_HOME
环境变量或huggingface-cli
的--cache-dir
参数更改缓存位置。
更多huggingface-cli
下载文档,请参考:HF -> Hub Python库 -> 下载文件 -> 从CLI下载。
要在快速连接(1Gbit/s或更高)上加速下载,安装hf_transfer
:
pip3 install hf_transfer
并设置环境变量HF_HUB_ENABLE_HF_TRANSFER
为1
:
mkdir openchat_3.5-GPTQ
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/openchat_3.5-GPTQ --local-dir openchat_3.5-GPTQ --local-dir-use-symlinks False
Windows命令行用户:可在下载命令前运行set HF_HUB_ENABLE_HF_TRANSFER=1
设置环境变量。
使用git
(不推荐)
要克隆特定分支,使用类似命令:
git clone --single-branch --branch gptq-4bit-32g-actorder_True https://huggingface.co/TheBloke/openchat_3.5-GPTQ
注意:强烈不建议使用Git与HF仓库交互。相比huggingface-hub
会更慢,且占用双倍磁盘空间(文件既存储在目标文件夹,又在.git
文件夹中以blob形式存储)。
如何在text-generation-webui中轻松下载使用此模型
请确保使用最新版text-generation-webui。
强烈建议使用text-generation-webui的一键安装器,除非你确定能完成手动安装。
-
点击Model tab。
-
在Download custom model or LoRA处,输入
TheBloke/openchat_3.5-GPTQ
。- 要从特定分支下载,例如
TheBloke/openchat_3.5-GPTQ:gptq-4bit-32g-actorder_True
- 各选项分支列表见上方"提供的文件"部分。
- 要从特定分支下载,例如
-
点击Download。
-
模型开始下载,完成后显示"Done"。
-
左上角点击刷新图标旁的Model。
-
在Model下拉菜单中,选择刚下载的模型:
openchat_3.5-GPTQ
-
模型将自动加载,准备就绪。
-
如需自定义设置,设置后点击Save settings for this model,然后右上角点击Reload the Model。
- 注意:无需也不应再手动设置GPTQ参数,这些参数已从
quantize_config.json
自动配置。
- 注意:无需也不应再手动设置GPTQ参数,这些参数已从
-
准备就绪后,点击Text Generation标签页输入提示词开始使用!
通过Text Generation Inference(TGI)服务此模型
推荐使用TGI 1.1.0或更高版本。官方Docker镜像为:ghcr.io/huggingface/text-generation-inference:1.1.0
示例Docker参数:
--model-id TheBloke/openchat_3.5-GPTQ --port 3000 --quantize gptq --max-input-length 3696 --max-total-tokens 4096 --max-batch-prefill-tokens 4096
与TGI交互的Python示例代码(需huggingface-hub 0.17.0或更高版本):
pip3 install huggingface-hub
from huggingface_hub import InferenceClient
endpoint_url = "https://your-endpoint-url-here"
prompt = "告诉我关于AI的知识"
prompt_template=f'''GPT4用户: {prompt}<|end_of_turn|>GPT4助手:
'''
client = InferenceClient(endpoint_url)
response = client.text_generation(prompt,
max_new_tokens=128,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
repetition_penalty=1.1)
print(f"模型输出: {response}")
如何从Python代码使用此GPTQ模型
安装必要包
需要:Transformers 4.33.0或更高,Optimum 1.12.0或更高,以及AutoGPTQ 0.4.2或更高。
pip3 install transformers optimum
pip3 install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ # 如使用CUDA 11.7则用cu117
如预构建wheel安装AutoGPTQ有问题,可从源码安装:
pip3 uninstall -y auto-gptq
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
git checkout v0.4.2
pip3 install .
使用示例代码
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/openchat_3.5-GPTQ"
# 如需使用不同分支,修改revision
# 例如:revision="gptq-4bit-32g-actorder_True"
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 = "告诉我关于AI的知识"
prompt_template=f'''GPT4用户: {prompt}<|end_of_turn|>GPT4助手:
'''
print("\n\n*** 生成:")
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'])


