最新
1.0GB q4_1 最新
1.0GB 44次提取 更新于2个月前
更新于2个月前
2个月前
9c3b17d689ce · 1.0GB
Qwen2是Qwen大语言模型的新系列。针对Qwen2,我们发布了从0.5亿到720亿参数的一系列基础语言模型和指令微调语言模型,包括混合专家模型。这个仓库包含了指令微调的1.5B Qwen2模型。
与最先进的开源语言模型相比,包括之前发布的Qwen1.5,Qwen2在语言理解、语言生成、多语言能力、编码、数学、推理等一系列基准测试中,总体上超过了大多数开源模型,并在针对专有模型的一系列基准测试中展示了竞争力。
Qwen2 是一个语言模型系列,包括不同模型大小的解码语言模型。对于每个尺寸,我们发布了基语言模型和对齐聊天模型。它基于 Transformer 架构,采用 SwiGLU 激活、QKV 偏置注意力、组查询注意力等。此外,我们还拥有一个改进的分词器,适用于多种自然语言和代码。
我们使用大量数据进行预训练模型,并使用监督微调和直接偏好优化进行后训练。
Qwen2 的代码已包含在最新版的 Hugging Face Transformers 中,我们建议您安装 transformers>=4.37.0
,否则您可能会遇到以下错误
KeyError: 'qwen2'
这里提供了一个带 apply_chat_template
的代码片段,向您展示如何加载分词器和模型,如何生成内容。
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model onto
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen2-1.5B-Instruct",
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2-1.5B-Instruct")
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]
我们简要比较了 Qwen2-1.5B-Instruct 与 Qwen1.5-1.8B-Chat。结果如下
数据集 | Qwen1.5-0.5B-Chat | Qwen2-0.5B-Instruct | Qwen1.5-1.8B-Chat | Qwen2-1.5B-Instruct |
---|---|---|---|---|
MMLU | 35.0 | 37.9 | 43.7 | 52.4 |
HumanEval | 9.1 | 17.1 | 25.0 | 37.8 |
GSM8K | 11.3 | 40.1 | 35.3 | 61.6 |
C-Eval | 37.2 | 45.2 | 55.3 | 63.8 |
IFEval (Prompt 严格度-准确率.) | 14.6 | 20.0 | 16.8 | 29.0 |
如果您觉得我们的工作有帮助,请随意引用我们。
@article{qwen2,
title={Qwen2 Technical Report},
year={2024}
}