license: apache-2.0
datasets:
模型详情
本模型是由intel/auto-round生成的Qwen/Qwen2-7B的int4自动量化模型,分组大小为128。如需AutoGPTQ格式,请加载模型时指定版本07a117c
。
使用方法
INT4推理
from auto_round import AutoRoundConfig
from transformers import AutoModelForCausalLM,AutoTokenizer
quantized_model_dir = "Intel/Qwen2-7B-int4-inc"
tokenizer = AutoTokenizer.from_pretrained(quantized_model_dir)
model = AutoModelForCausalLM.from_pretrained(quantized_model_dir,
device_map="auto"
)
text = "下面我来介绍一下阿里巴巴公司,"
text = "9.8和9.11哪个数字大?答案是"
text = "Once upon a time,"
text = "There is a girl who likes adventure,"
inputs = tokenizer(text, return_tensors="pt").to(model.device)
print(tokenizer.decode(model.generate(**inputs, max_new_tokens=50, do_sample=False)[0]))
英特尔Gaudi-2 INT4推理
推荐使用含Gaudi软件栈的docker镜像,详见Gaudi指南。
import habana_frameworks.torch.core as htcore
import habana_frameworks.torch.hpu as hthpu
from auto_round import AutoRoundConfig
from transformers import AutoModelForCausalLM,AutoTokenizer
quantized_model_dir = "Intel/Qwen2-7B-int4-inc"
tokenizer = AutoTokenizer.from_pretrained(quantized_model_dir)
model = AutoModelForCausalLM.from_pretrained(quantized_model_dir).to('hpu').to(bfloat16)
text = "下面我来介绍一下阿里巴巴公司,"
inputs = tokenizer(text, return_tensors="pt").to(model.device)
print(tokenizer.decode(model.generate(**inputs, max_new_tokens=50, do_sample=False)[0]))
模型评估
安装依赖:pip3 install lm-eval==0.4.4,auto-round
auto-round --model "Intel/Qwen2-7B-int4-inc" --eval --eval_bs 16 --tasks lambada_openai,hellaswag,piqa,winogrande,truthfulqa_mc1,openbookqa,boolq,arc_easy,arc_challenge,mmlu,gsm8k,cmmlu,ceval-valid
指标 |
BF16 |
INT4 |
平均值 |
0.6659 |
0.6604 |
mmlu |
0.6697 |
0.6646 |
cmmlu |
0.8254 |
0.8118 |
ceval-valid |
0.8339 |
0.8053 |
lambada_openai |
0.7182 |
0.7136 |
hellaswag |
0.5823 |
0.5752 |
winogrande |
0.7222 |
0.7277 |
piqa |
0.7911 |
0.7933 |
truthfulqa_mc1 |
0.3647 |
0.3476 |
openbookqa |
0.3520 |
0.3440 |
boolq |
0.8183 |
0.8223 |
arc_easy |
0.7660 |
0.7635 |
arc_challenge |
0.4505 |
0.4633 |
gsm8k 5轮严格匹配 |
0.7619 |
0.7528 |
模型生成
以下是复现模型的示例命令。我们观察到中文任务准确率下降较明显,建议使用高质量中文数据集进行校准,但使用某些公开数据集未能获得更好效果。
auto-round \
--model_name Qwen/Qwen2-7B \
--device 0 \
--group_size 128 \
--nsamples 512 \
--bits 4 \
--iter 1000 \
--disable_eval \
--model_dtype "float16" \
--format 'auto_round' \
--output_dir "./tmp_autoround"
伦理考量与限制
本模型可能产生事实性错误输出,不应依赖其提供准确信息。由于预训练模型和微调数据集的局限性,该模型可能生成低俗、偏见或其他冒犯性内容。在部署模型应用前,开发者应进行安全性测试。
注意事项与建议
用户(包括直接使用者和下游开发者)应充分了解模型的风险、偏见和局限性。
了解英特尔AI软件的相关资源:
- 英特尔神经压缩器 链接
- 英特尔Transformer扩展 链接
免责声明
本模型许可证不构成法律建议。对于第三方使用该模型的行为,我们不承担任何责任。商业用途前请咨询法律顾问。
引用文献
@article{cheng2023optimize,
title={Optimize weight rounding via signed gradient descent for the quantization of llms},
author={Cheng, Wenhua and Zhang, Weiwei and Shen, Haihao and Cai, Yiyang and He, Xin and Lv, Kaokao and Liu, Yi},
journal={arXiv preprint arXiv:2309.05516},
year={2023} }
arxiv github