LLMs之Qwen:Qwen2.5的简介、安装和使用方法、案例应用之详细攻略

LLMs之Qwen:Qwen2.5的简介、安装和使用方法、案例应用之详细攻略

导读:2024年9月19日,阿里云Qwen团队发布0.5B、1.5B、3B、7B、14B、32B和72B参数规模的7款开源模型,语料词汇量为18T个tokens(Qwen2系列仅有7T)。Qwen2.5支持高达128K 的上下文长度,并能生成高达8K的文本。支持多种推理框架,例如 transformers、Ollama、llama.cpp、vLLM、SGLang等。支持多种训练框架,例如 Axolotl、Llama-Factory、unsloth、Swift等,方便用户进行微调。
>> 性能表现:显著提升了指令遵循长文本生成(超过8K tokens)、结构化数据理解(例如表格)以及结构化输出生成(尤其是JSON)的能力。对各种系统提示的鲁棒性更强,增强了角色扮演的实现和聊天机器人的条件设置。Qwen2.5支持29种语言

  • 在MMLU、BBH、ARC-C、TruthfulQA、Winogrande、HellaSwag等通用任务中表现出色,超越了同类模型。
  • 数学任务(GPQA、Theoremqa、MATH、GSM8K)中表现突出,尤其是在MATH中,Qwen2.5-72B-Instruct得分从Qwen2-7B/72B-Instruct的52.9/69.0上升到了75.5/83.1。
  • 代码任务(HumanEval、HumanEval+、MBPP、MBPP+、MultiPL-E)中表现优异,尤其是在LiveCodeBench中,Qwen2.5-72B-Instruct得分达到了55.5,优于Qwen2-72B-Instruct的32.2。
  • 多语言任务(Multi-Exam、Multi-Understanding、Multi-Mathematics、Multi-Translation)中表现出色,尤其是在Multi-Understanding中,Qwen2.5-72B得分达到了89.6,展现出强大的多语言理解能力。
  • 更符合人类偏好:Qwen2.5生成的内容更加贴近人类的偏好,在Arena-Hard和MT-Bench等评估指标上都有显著提升。

>> 数据构成:Qwen2.5在最新的超大规模数据集上进行预训练,预训练数据集规模从 7T tokens 扩展到了 18T tokens。

>> 数据预处理流程及其策略:经过大规模数据集的预训练,数据预处理策略包括批量推理、流式推理等。
>> 模型结构:Qwen2.5是密集型、仅解码器结构,提供基础版和指令版。Qwen2.5系列模型均为decoder-only的稠密模型。

>> 优化策略:提供SFT(监督微调)和RLHF(人类反馈强化学习)的训练指导。支持量化实践(如GPTQ、AWQ)以生成高质量的量化文件。提到了Qwen2.5-Coder、Qwen2-math等技术,暗示了模型在代码生成和数学推理能力上的提升。

目录

相关文章

LLMs之Qwen2:Qwen2的简介、安装和使用方法、案例应用之详细攻略

MLM之Qwen:Qwen2-VL的简介、安装和使用方法、案例应用之详细攻略

LLMs之Qwen:Qwen2.5的简介、安装和使用方法、案例应用之详细攻略

Qwen2.5的简介

0、新闻

1、项目内容

2、性能

Qwen2.5的安装和使用方法

1、安装

2、使用方法

T1、Hugging Face Transformers

T2、ModelScope

3、推理

3.1、本地运行

采用Ollama来实现部署Qwen2.5-7B模型

LLM之Ollama:ollama的简介、安装和使用方法、案例应用之详细攻略

llama.cpp

MLX-LM

LMStudio

OpenVINO

3.2、Web UI

文本生成 Web 用户界面

llamafile

4、部署

vLLM

SGLang

5、工具使用

6、微调

7、推理

LLMs之Qwen2.5:Qwen2.5源码解读(cli_demo.py)—基于Qwen2.5利用命令行实现交互的聊天机器人——参数解析→加载模型与分词器→支持命令行交互→命令处理→聊天流处理→管理历史记录→清理屏幕与显存→主循环

LLMs之Qwen2.5:Qwen2.5源码解读(web_demo.py)—基于Qwen2.5-Instruct模型利用Gradio的简易Web聊天机器人实现对话交互——参数解析和设置→加载模型和分词器→实现聊天流处理→界面功能和互动→垃圾回收与显存管理→启动Web服务器

Qwen2.5的案例应用


相关文章

LLMs之Qwen2:Qwen2的简介、安装和使用方法、案例应用之详细攻略

LLMs之Qwen2:Qwen2的简介、安装和使用方法、案例应用之详细攻略_qwen2 硬件要求-CSDN博客

MLM之Qwen:Qwen2-VL的简介、安装和使用方法、案例应用之详细攻略

MLM之Qwen:Qwen2-VL的简介、安装和使用方法、案例应用之详细攻略_qwen2-vl 怎么用-CSDN博客

LLMs之Qwen:Qwen2.5的简介、安装和使用方法、案例应用之详细攻略

LLMs之Qwen:Qwen2.5的简介、安装和使用方法、案例应用之详细攻略-CSDN博客

Qwen2.5的简介

2024年9月19日,Qwen2.5 是由阿里云 Qwen 团队开发的大型语言模型系列。自 Qwen2 发布以来的过去三个月里,众多开发者基于 Qwen2 语言模型构建了新的模型,并为我们提供了宝贵的反馈。在这期间,我们专注于创建更加智能和知识丰富的语言模型。今天,我们很兴奋地向大家介绍 Qwen 家族的最新成员:Qwen2.5。

>> 密集、易用、仅解码器的语言模型,提供 0.5B、1.5B、3B、7B、14B、32B 和 72B 多种尺寸,以及基础版和指令版变体。

>> 预训练于我们最新的大规模数据集,包含多达 18T 令牌。

>> 在遵循指令、生成长文本(超过 8K 令牌)、理解结构化数据(如表格)以及生成结构化输出尤其是 JSON 方面有显著改进。

>> 对系统提示的多样性更具韧性,增强了角色扮演实现及聊天机器人的条件设置。

>> 上下文长度支持高达 128K 令牌,并可生成高达 8K 令牌。

>> 支持超过 29 种语言,包括中文、英语、法语、西班牙语、葡萄牙语、德语、意大利语、俄语、日语、韩语、越南语、泰语、阿拉伯语等。

GitHub地址GitHub - QwenLM/Qwen2.5: Qwen2.5 is the large language model series developed by Qwen team, Alibaba Cloud.

0、新闻

2024年9月19日:我们发布了 Qwen2.5 系列。这次额外增加了 3 种模型尺寸:3B、14B 和 32B,提供更多可能性。请查看我们的博客获取更多信息!

2024年6月6日:我们发布了 Qwen2 系列。请查看我们的博客!

2024年3月28日:我们发布了 Qwen 的首个 MoE 模型:Qwen1.5-MoE-A2.7B!目前仅 HF transformers 和 vLLM 支持该模型。我们很快会增加 llama.cpp、mlx-lm 等的支持。请查看我们的博客获取更多信息!

2024年2月5日:我们发布了 Qwen1.5 系列。

1、项目内容

>> 推理:使用 transformers 进行推理的指南,包括批量推理、流式处理等;

>> 本地运行:在 CPU 和 GPU 上使用 llama.cpp 和 Ollama 等框架本地运行 LLM 的说明;

>> 部署:使用 vLLM、TGI 等框架进行大规模推理的部署演示;

>> 量化:使用 GPTQ、AWQ 量化 LLM 的实践,以及如何制作高质量量化 GGUF 文件的指南;

>> 训练:后训练说明,包括使用 Axolotl、LLaMA-Factory 等框架的 SFT 和 RLHF(待完成)。

>> 框架:与 RAG、Agent 等应用程序框架一起使用的 Qwen 方法。

2、性能

详细的评估结果报告在此 �� 博客中。

对于 GPU 内存需求及相应的吞吐量,请参见这里的结果(将针对 Qwen2.5 更新)。

Qwen2.5的安装和使用方法

1、安装

2、使用方法

T1、Hugging Face Transformers

建议使用最新版本的 transformers(至少 4.37.0)。这里展示了一个代码片段,展示如何使用 transformers 与聊天模型交互:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/Qwen2.5-7B-Instruct"

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]

对于量化模型,我们建议您使用对应的 GPTQ 和 AWQ 版本,即 Qwen2.5-7B-Instruct-GPTQ-Int8 和 Qwen2.5-7B-Instruct-AWQ。

T2、ModelScope

我们强烈建议用户特别是中国大陆的用户使用 ModelScope。snapshot_download 可以帮助您解决下载检查点的问题。

3、推理

3.1、本地运行

采用Ollama来实现部署Qwen2.5-7B模型

第一步,安装Ollama。

下载地址:GitHub - ollama/ollama: Get up and running with Llama 3.2, Mistral, Gemma 2, and other large language models.

LLM之Ollama:ollama的简介、安装和使用方法、案例应用之详细攻略

LLM之Ollama:ollama的简介、安装和使用方法、案例应用之详细攻略_ollama中文说明书-CSDN博客

第二步,启动Ollama服务,使用以下命令启动 ollama 服务,并确保在使用Ollama时持续运行此服务。

安装 ollama 后,您可以使用以下命令启动 ollama 服务:

ollama serve  # 使用 ollama 时需要保持此服务运行

第三步,加载并运行模型,例如 ollama run qwen2.5:7b。

要拉取模型检查点并运行模型,请使用 ollama run 命令。您可以通过添加后缀到 qwen2.5 来指定模型大小,例如 :0.5b, :1.5b, :7b, 或 :72b:

ollama run qwen2.5:7b
# 要退出,请输入“/bye”并按回车键。

第四步,采用OpenAI 的 API 方式访问Ollama服务:首先确保Ollama服务正在运行,然后执行 ollama run qwen2.5:7b 命令以准备模型检查点,其次运行下述代码。

您还可以通过其兼容 OpenAI 的 API 访问 ollama 服务。请注意,您需要 (1) 在使用 API 时保持 ollama serve 运行,(2) 在使用此 API 之前执行 ollama run qwen2.5:7b 以确保模型检查点已准备好。

from openai import OpenAI
client = OpenAI(
    base_url='http://localhost:11434/v1/',
    api_key='ollama',  # required but ignored
)
chat_completion = client.chat.completions.create(
    messages=[
        {
            'role': 'user',
            'content': 'Say this is a test',
        }
    ],
    model='qwen2.5:7b',
)

更多详情,请访问 ollama.ai。

llama.cpp

下载我们提供的 GGUF 文件或自己创建,然后可以使用最新版本的 llama.cpp 通过一行命令直接使用它们:

MLX-LM

如果您在 Apple Silicon 上运行,我们也提供了与 mlx-lm 兼容的检查点。在 HuggingFace Hub 上寻找以 MLX 结尾的模型,比如 Qwen2.5-7B-Instruct-MLX。

LMStudio

Qwen2.5 已经被 lmstudio.ai 支持。您可以直接使用 LMStudio 与我们的 GGUF 文件。

OpenVINO

Qwen2.5 已经被 OpenVINO 工具包支持。您可以安装并使用 Intel CPU、集成显卡或独立显卡运行这个聊天机器人示例。

3.2、Web UI

文本生成 Web 用户界面

您可以直接使用 text-generation-webui 创建 Web UI 演示。如果您使用 GGUF,请记得安装支持 Qwen2.5 的最新 llama.cpp wheel。

llamafile

克隆 llamafile,运行源安装,然后按照此处的指南使用 GGUF 文件创建您自己的 llamafile。您能够运行一条命令,比如 ./qwen.llamafile,来创建一个演示。

4、部署

Qwen2.5 得到了多个推理框架的支持。这里我们演示了 vLLM 和 SGLang 的使用。

vLLM

我们建议您使用最新版本的 vLLM 构建兼容 OpenAI 的 API 服务,包括工具使用支持。使用聊天模型启动服务器,例如 Qwen2.5-7B-Instruct:

SGLang

警告

SGLang 当前提供的兼容 OpenAI 的 API 尚不支持工具使用或函数调用。

请从源代码安装 SGLang。类似于 vLLM,您需要启动一个服务器并使用兼容 OpenAI 的 API 服务。首先启动服务器:

5、工具使用

对于工具使用能力,我们建议查看 Qwen-Agent,它为这些 API 提供了一个封装,以支持工具使用或函数调用。也可以使用 Hugging Face transformers、Ollama 和 vLLM 与 Qwen2.5 进行工具使用。请跟随我们的文档中的指南了解如何启用支持。

6、微调

我们建议您使用训练框架,包括 Axolotl、Llama-Factory、unsloth、Swift 等,利用 SFT、DPO、PPO 等方法微调您的模型。

7、推理

LLMs之Qwen2.5:Qwen2.5源码解读(cli_demo.py)—基于Qwen2.5利用命令行实现交互的聊天机器人——参数解析→加载模型与分词器→支持命令行交互→命令处理→聊天流处理→管理历史记录→清理屏幕与显存→主循环

LLMs之Qwen2.5:Qwen2.5源码解读(cli_demo.py)—-CSDN博客

LLMs之Qwen2.5:Qwen2.5源码解读(web_demo.py)—基于Qwen2.5-Instruct模型利用Gradio的简易Web聊天机器人实现对话交互——参数解析和设置→加载模型和分词器→实现聊天流处理→界面功能和互动→垃圾回收与显存管理→启动Web服务器

LLMs之Qwen2.5:Qwen2.5源码解读(web_demo.py)—基于Qwen2.5-Instruct模型利用Gradio的简易Web聊天机器人实现对话交互——参数解析和设置→加载模型和分词-CSDN博客

Qwen2.5的案例应用

持续更新中……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值