Qwen2.5-14B-Instruct-AWQ项目介绍
项目背景
Qwen2.5-14B-Instruct-AWQ是Qwen大规模语言模型系列的最新版本之一,它是在Qwen2.5基础上开发的,专注于增强模型的知识储备、编码能力和数学处理能力。该项目的模型涵盖从0.5亿到72亿参数的多种尺寸,旨在为用户提供强大的语言处理和生成能力。
主要改进
Qwen2.5在多个方面相比之前的版本进行了显著提升:
- 知识扩展:模型拥有更丰富的领域专长,尤其是在编码和数学方面。
- 指令遵从性:提升了对指令的理解和执行能力。
- 长文本生成:可处理超过8000个标记的长文本。
- 多语言支持:支持超过29种语言,包括中文、英语、法语等。
- 结构数据处理:在理解和生成JSON等结构化数据上表现优越。
- 长上下文支持:能够处理长达128,000个标记的上下文,并生成8192个标记的内容。
- 多样化系统提示耐受性:增强了对角色扮演和聊天机器人设定条件的处理。
模型特点
该仓库中包含的是一种AWQ量化的4-bit指令微调Qwen2.5模型,具有以下特点:
- 类型:因果语言模型
- 训练阶段:预训练和后训练
- 架构:使用transformers并结合RoPE、SwiGLU、RMSNorm,以及Attention QKV偏差
- 参数数量:14.7亿,其中非嵌入参数为13.1亿
- 层数:48层
- 注意力头数:Q通道40个,KV通道8个
- 上下文长度:处理长达131,072个标记的上下文,生成8192个标记
- 量化:AWQ 4-bit
使用要求
要使用Qwen2.5模型,建议使用最新版本的transformers
库。如果使用版本低于4.37.0,可能会遇到KeyError: 'qwen2'
的错误。
快速开始
下面是如何加载和使用Qwen2.5模型生成文本的简单代码示例:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen2.5-14B-Instruct-AWQ"
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]
处理长文本
为了提升模型在处理超过32,768个标记的长文本时的性能,Qwen2.5使用了一项名为YaRN的技术来增强模型的长度拓展能力。用户可根据需要在config.json
中进行配置,以开通YaRN技术。
评估与性能
有关Qwen2.5模型的详细评估结果,用户可通过其博客和GitHub获取相应信息。同时,关于量化模型与bfloat16原始模型的基准测试结果,也可在官方文档中找到。
引用方式
如果用户发现Qwen2.5的工作对其有帮助,可通过引用相关文献标注致谢。
@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},
author={An Yang and Baosong Yang and Binyuan Hui and Bo Zheng and Bowen Yu and Chang Zhou and Chengpeng Li and Chengyuan Li and Dayiheng Liu and Fei Huang and Guanting Dong and Haoran Wei and Huan Lin and Jialong Tang and Jialin Wang and Jian Yang and Jianhong Tu and Jianwei Zhang and Jianxin Ma and Jin Xu and Jingren Zhou and Jinze Bai and Jinzheng He and Junyang Lin and Kai Dang and Keming Lu and Keqin Chen and Kexin Yang and Mei Li and Mingfeng Xue and Na Ni and Pei Zhang and Peng Wang and Ru Peng and Rui Men and Ruize Gao and Runji Lin and Shijie Wang and Shuai Bai and Sinan Tan and Tianhang Zhu and Tianhao Li and Tianyu Liu and Wenbin Ge and Xiaodong Deng and Xiaohuan Zhou and Xingzhang Ren and Xinyu Zhang and Xipin Wei and Xuancheng Ren and Yang Fan and Yang Yao and Yichang Zhang and Yu Wan and Yunfei Chu and Yuqiong Liu and Zeyu Cui and Zhenru Zhang and Zhihao Fan},
journal={arXiv preprint arXiv:2407.10671},
year={2024}
}