Qwen2.5-32B-Instruct-GPTQ-Int4项目介绍
背景介绍
Qwen2.5是Qwen大型语言模型系列中的最新版本。Qwen2.5发布了多种基础语言模型和经过指令优化的语言模型,参数规模从0.5亿到720亿不等。相较于Qwen2,Qwen2.5在知识存储、编码能力和数学能力上有了显著提升。这些进步得益于在这些领域专注的专家模型。
主要特性
Qwen2.5带来了以下几大改进:
- 指令跟随能力增强:在生成长文本(超过8000个token)、理解结构化数据(如表格)、生成结构化输出(尤其是JSON格式)方面表现优异。对多样化的系统提示更具韧性,提升了角色扮演实现和聊天机器人条件设置的效果。
- 长文本支持:支持长达128K个token的上下文,并可生成最多8K个token的内容。
- 多语言支持:可以支持包括中文、英文、法语、西班牙语、葡萄牙语、德语、意大利语、俄语、日语、韩语、越南语、泰语、阿拉伯语等在内的29种语言。
项目概况
本项目的Qwen2.5-32B-Instruct-GPTQ-Int4模型是一个经过GPTQ四位量化的指令优化模型,具有以下特性:
- 类型:因果语言模型
- 训练阶段:预训练和后训练
- 架构:使用了RoPE、SwiGLU、RMSNorm和Attention QKV bias的变换器架构
- 参数数量:总计32.5亿个参数(不包括嵌入参数31.0亿)
- 层数:64
- 注意力头数:Q为40,KV为8
- 上下文长度:支持全长131,072个token和生成8,192个token。
- 量化:采用GPTQ的4位量化技术
使用说明
快速入门
可以使用以下代码片段快速上手,该代码展示了如何加载分词器和模型并生成内容:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen2.5-32B-Instruct-GPTQ-Int4"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "Give me a short introduction to large language model."
messages = [
{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=512
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
处理长文本
当前config.json
文件设定的上下文长度为32,768个token。为了更好地处理超过32,768个token的输入,可以使用YaRN技术,其为增强模型长度外推能力确保在处理长文本时的最佳性能。
性能评估
关于量化模型的性能对比结果,可以参阅相关的量化基准文档。此外,关于GPU内存需求和相应的吞吐量测试结果,则可以在此处查看。
参考文献
如果您觉得本项目对您的工作有所帮助,可以参考以下文献进行引用:
@misc{qwen2.5,
title = {Qwen2.5: A Party of Foundation Models},
url = {https://qwenlm.github.io/blog/qwen2.5/},
author = {Qwen Team},
month = {September},
year = {2024}
}
@article{qwen2,
title={Qwen2 Technical Report},
...
}
通过这些信息,用户可以更好地理解和使用Qwen2.5-32B-Instruct-GPTQ-Int4模型。