Qwen1.5-1.8B-Chat项目介绍
项目背景
Qwen1.5-1.8B-Chat是一个基于Transformer结构的解码器语言模型,这个版本是即将发布的Qwen2的测试版。为了提升模型的性能和适用性,Qwen1.5在多方面进行了改进:包括扩展到8个不同规模的模型、显著改善了对话模型的人机互动表现、多语言支持以及更长的上下文处理能力。
模型详细信息
Qwen1.5系列包括多种尺寸的解码器语言模型,每个尺寸的模型都提供了基础语言模型和调整后的聊天模型。它基于Transformer架构,并使用了SwiGLU激活、注意力QKV偏置、组查询注意力等技术,结合滑动窗口注意力和全局注意力的混合模型。此外,改进的分词器能够适应多种自然语言和代码。
目前,测试版暂不包括GQA(除了32B模型)和SWA与全注意力的混合。
训练细节
Qwen1.5-1.8B-Chat模型是通过大量数据预训练的,后续还进行了监督细化和直接偏好优化以提高性能。
使用要求
Qwen1.5代码已集成到最新的Hugging Face Transformers中,建议安装版本transformers>=4.37.0
,避免遇到与模型相关的错误。
快速开始
以下是如何使用apply_chat_template
加载分词器和模型及生成内容的代码示例:
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen1.5-1.8B-Chat",
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen1.5-1.8B-Chat")
prompt = "Give me a short introduction to large language model."
messages = [
{"role": "system", "content": "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(device)
generated_ids = model.generate(
model_inputs.input_ids,
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]
对于量化模型,建议使用GPTQ、AWQ和GGUF量化模型的对应版本,即Qwen1.5-1.8B-Chat-GPTQ-Int4
、Qwen1.5-1.8B-Chat-GPTQ-Int8
、Qwen1.5-1.8B-Chat-AWQ
和Qwen1.5-1.8B-Chat-GGUF
。
使用技巧
如果在使用过程中遇到代码切换或其他问题,建议参考generation_config.json
中提供的超参数进行调整。
引用
如果您觉得我们的工作有帮助,可以在您的作品中引用我们的技术报告。