Qwen2-57B-A14B-Instruct-GGUF:Qwen2系列MoE模型的GGUF量化版本,支持多场景高效部署

开源大型语言模型Qwen2系列,包含多种基础和指令微调模型,性能领先,多语言及编程能力强大,适用于多种场景。此镜像提供GGUF格式量化模型,易用高效,助您轻松部署。

分支1Tags0

Qwen2-57B-A14B-Instruct-GGUF

引言

Qwen2是Qwen大型语言模型系列的最新成员。针对Qwen2,我们发布了多个基础语言模型和针对指令调整的语言模型,参数规模从0.5亿到720亿不等,包括混合专家模型(57B-A14B)。

相较于现有的开源语言模型,包括先前发布的Qwen1.5版本,Qwen2在多个基准测试中普遍超越了大多数开源模型,并在一系列针对语言理解、语言生成、多语言能力、编程、数学和推理等方面的基准测试中展现出了与专有模型相竞争的实力。

更多详细信息,请参考我们的博客GitHub以及文档

在此仓库中,我们提供了经过量化的模型,采用GGUF格式,包括q2_kq3_k_mq4_0q4_k_mq5_0q5_k_mq6_kq8_0

这是针对Qwen2-57B-A14B-Instruct的GGUF仓库,这是一个混合专家模型。

模型详情

Qwen2是一个语言模型系列,包含不同模型大小的解码器语言模型。对于每个尺寸,我们发布了基础语言模型以及与其对齐的聊天模型。它基于Transformer架构,拥有SwiGLU激活函数、注意力QKV偏置、组查询注意力等特性。另外,我们还改进了能适应多种自然语言和代码的分词器。

训练细节

我们使用大量数据对模型进行了预训练,并使用有监督的微调和直接偏好优化对模型进行了后训练。

环境要求

我们建议您克隆llama.cpp并在官方指南的指导下进行安装。我们遵循的是llama.cpp的最新版本。 在接下来的演示中,我们假设您在llama.cpp仓库下运行命令。

如何使用

克隆仓库可能会低效,因此您可以手动下载需要的GGUF文件,或使用huggingface-clipip install huggingface_hub)如以下示例所示:

huggingface-cli download Qwen/Qwen2-57B-A14B-Instruct-GGUF qwen2-57b-a14b-instruct-q4_0.gguf --local-dir . --local-dir-use-symlinks False

然而,对于大型文件,由于单个文件上传限制为50G,我们将其拆分为多个片段。 具体来说,拆分后的文件共享一个前缀,并带有后缀以指示其索引。例如,q8_0 GGUF 文件包括:

qwen2-57b-a14b-instruct-q8_0-00001-of-00002.gguf
qwen2-57b-a14b-instruct-q8_0-00002-of-00002.gguf

它们共享前缀 qwen2-57b-a14b-instruct-q5_k_m,但各自拥有用于索引的后缀,例如 -00001-of-00002

要使用这些分割的 GGUF 文件,首先需要使用以下命令将它们合并:

llama-gguf-split
./llama-gguf-split --merge qwen2-57b-a14b-instruct-q8_0-00001-of-00002.gguf qwen2-57b-a14b-instruct-q8_0.gguf

随着llama.cpp的API升级,llama-gguf-split 现在与之前的 gguf-split 功能相当。 关于此命令的参数,第一个参数是第一个分割GGUF文件的路径,第二个参数是输出GGUF文件的路径。

要运行Qwen2,您可以使用 llama-cli(之前的 main)或 llama-server(之前的 server)。我们推荐使用 llama-server,因为它简单且兼容OpenAI API。例如:

./llama-server -m qwen2-57b-a14b-instruct-q5_0.gguf -ngl 28 -fa

然后,通过 OpenAI API 轻松访问已部署的服务:

import openai

client = openai.OpenAI(
    base_url="http://localhost:8080/v1", # "http://<Your api-server IP>:port"
    api_key = "sk-no-key-required"
)

completion = client.chat.completions.create(
    model="qwen",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "tell me something about michael jordan"}
    ]
)
print(completion.choices[0].message.content)

如果你选择使用 llama-cli,请注意在 ChatML 模板中移除 -cml。取而代之的是,你应该使用 --in-prefix--in-suffix 来解决这个问题。

./llama-cli -m qwen2-57b-a14b-instruct-q5_0.gguf \
  -n 512 -co -i -if -f prompts/chat-with-qwen.txt \
  --in-prefix "<|im_start|>user\n" \
  --in-suffix "<|im_end|>\n<|im_start|>assistant\n" \
  -ngl 28 -fa

评估

我们采用 wikitext 数据集进行困惑度(perplexity)评估,遵循 llama.cpp 的做法,使用 ./llama-perplexity(即之前的 ./perplexity)工具。 以下我们报告了不同规模和不同量化级别的 GGUF 模型的困惑度(PPL)结果。

规模 fp16 q8_0 q6_k q5_k_m q5_0 q4_k_m q4_0 q3_k_m q2_k iq1_m
0.5B 15.11 15.13 15.14 15.24 15.40 15.36 16.28 15.70 16.74 -
1.5B 10.43 10.43 10.45 10.50 10.56 10.61 10.79 11.08 13.04 -
7B 7.93 7.94 7.96 7.97 7.98 8.02 8.19 8.20 10.58 -
57B-A14B 6.81 6.81 6.83 6.84 6.89 6.99 7.02 7.43 - -
72B 5.58 5.58 5.59 5.59 5.60 5.61 5.66 5.68 5.91 6.75

引用

如果您觉得我们的工作对您有帮助,欢迎引用我们的研究。

@article{qwen2,
  title={Qwen2 Technical Report},
  year={2024}
}

当然,我会按照您的要求进行翻译。不过,您似乎忘记提供需要翻译的文本。请提供原始文本,我将为您翻译成通俗、专业、优雅且流畅的中文内容。

项目介绍

开源大型语言模型Qwen2系列,包含多种基础和指令微调模型,性能领先,多语言及编程能力强大,适用于多种场景。此镜像提供GGUF格式量化模型,易用高效,助您轻松部署。

定制我的领域

下载使用量

0

项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新