阿里推出全新推理模型(因果语言模型),仅1/20参数媲美DeepSeek R1
阿里Qwen 团队正式发布了他们最新的研究成果——QwQ-32B大语言模型!这款模型不仅名字萌萌哒(QwQ),实力更是不容小觑!😎
QwQ-32B 已在 Hugging Face 和 ModelScope 开源,采用了 Apache 2.0 开源协议。大家可通过 Qwen Chat 直接进行体验!
Qwen 团队却用320亿参数的 QwQ-32B,硬刚拥有6710亿参数的 DeepSeek-R1,并且在多项评测中取得了媲美甚至超越后者的惊人成绩!背后究竟是什么黑科技?答案就是——强化学习(Reinforcement Learning,RL)!
划重点:强化学习,大模型的新引擎!💪
Qwen 团队在博文中提到,他们深入探索了强化学习(RL)在提升大语言模型智能方面的巨大潜力。QwQ-32B 的成功发布,有力地证明了RL 是提升模型性能的强大引擎!
多项基准评测硬刚 DeepSeek-R1
官方给出基准评测结果,涵盖了数学推理、代码能力和通用问题解决等多个方面:

从数据中我们可以清晰地看到,在AIME24和IFEval等关键基准测试中,QwQ-32B 的表现甚至略微超过了参数量巨大的 DeepSeek-R1!而在其他基准测试中,也基本与 DeepSeek-R1 持平,远超其他对比模型。
这意味着 QwQ-32B 在仅有 DeepSeek-R1 约 1/20 参数量的情况下,用强化学习,实现了性能上的惊人跨越!
实例对比:我身高1.73米,拿着一根5.5米长的竹竿,能否通过高4米、宽3米的门?
这个问题目前只有腾讯元宝/问小白里的deepseek回答可以通过


技术揭秘:
冷启动+结果导向的强化学习策略
Qwen 团队在博文中也简单介绍了 QwQ-32B 背后的强化学习方法。他们采用了冷启动(cold-start checkpoint)的方式,并实施了结果导向(outcome-based rewards)的强化学习策略。
• 冷启动:从一个预训练模型的检查点开始训练。
• 结果导向:在初始阶段,主要针对数学和代码任务进行 RL 训练。
• 数学问题:使用准确率验证器(accuracy verifier)来确保答案的正确性。
• 代码生成:使用代码执行服务器(code execution server)来评估生成的代码是否能够成功运行。
• 通用奖励模型和规则验证器:后续阶段,会逐步引入更通用的奖励模型和规则验证器,提升模型在其他通用能力方面的表现。
这种策略的核心在于不依赖传统的奖励模型,而是直接根据任务结果(答案是否正确,代码是否运行成功)来指导模型的学习,更加高效和直接。
冷启动的基础上开展了大规模强化学习。在初始阶段,特别针对数学和编程任务进行了 RL 训练。与依赖传统的奖励模型(rewardmodel)不同,通过校验生成答案的正确性来为数学问题提供反馈,并通过代码执行服务器评估生成的代码是否成功通过测试用例来提供代码的反馈。随着训练轮次的推进,这两个领域中的性能均表现出持续的提升。在第一阶段的RL 过后,增加了另一个针对通用能力的 RL。此阶段使用通用奖励模型和一些基于规则的验证器进行训练。发现,通过少量步骤的通用RL,可以提升其他通用能力,同时在数学和编程任务上的性能没有显著下降。
特点:
• 类型:因果语言模型
• 训练阶段:预训练与后训练(监督微调和强化学习)
• 架构:带 RoPE、SwiGLU、RMSNorm 和注意力 QKV 偏置的 Transformer
• 参数数量:325 亿
• 非嵌入参数数量:310 亿
• 层数:64
• 注意力头数量(GQA):Q 为 40,KV 为 8
• 上下文长度:完整支持 131,072 个标记
环境要求
Qwen2.5 的代码已集成到最新版的 Hugging Facetransformers中,建议使用最新版本的transformers。
如果你使用的是transformers<4.37.0,可能会遇到以下错误:
KeyError: 'qwen2'
快速入门
API调用
from openai import OpenAI
import os# Initialize OpenAI client
client = OpenAI(# If the environment variable is not configured, replace with your API Key: api_key="sk-xxx"# How to get an API Key:https://help.aliyun.com/zh/model-studio/developer-reference/get-api-keyapi_key=os.getenv("DASHSCOPE_API_KEY"),base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)reasoning_content = ""
content = ""is_answering = Falsecompletion = client.chat.completions.create(model="qwq-32b",messages=[{"role": "user", "content": "Which is larger, 9.9 or 9.11?"}],stream=True,# Uncomment the following line to return token usage in the last chunk# stream_options={# "include_usage": True# }
)print("\n" + "=" * 20 + "reasoning content" + "=" * 20 + "\n")for chunk in completion:# If chunk.choices is empty, print usageif not chunk.choices:print("\nUsage:")print(chunk.usage)else:delta = chunk.choices[0].delta# Print reasoning contentif hasattr(delta, 'reasoning_content') and delta.reasoning_content is not None:print(delta.reasoning_content, end='', flush=True)reasoning_content += delta.reasoning_contentelse:if delta.content != "" and is_answering is False:print("\n" + "=" * 20 + "content" + "=" * 20 + "\n")is_answering = True# Print contentprint(delta.content, end='', flush=True)content += delta.content
transformers 本地加载
from transformers import AutoModelForCausalLM, AutoTokenizermodel_name = "Qwen/QwQ-32B"model = AutoModelForCausalLM.from_pretrained(model_name,torch_dtype="auto",device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)prompt = "单词 'strawberry' 中有几个字母 'r'?"
messages = [{"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=32768
)
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]
print(response)
使用指南
为了达到最佳性能,建议以下设置:
• 确保深思熟虑的输出:确保模型以"<think>"开头,以避免生成空洞的思考内容,这可能会降低输出质量。如果你使用apply_chat_template并设置add_generation_prompt=True,这已经自动实现,但可能会导致响应缺少开头的<think>标签。这是正常现象。
• 采样参数:
• 使用温度参数 Temperature=0.6 和 TopP=0.95,而不是贪婪解码,以避免无尽重复并增强多样性。
• 对于复杂的推理任务(如数学或编程),设置 TopK=40。
• 对于其他类型的问题,使用 TopK=20。
• 标准化输出格式:在基准测试时,建议使用提示词来标准化模型输出。
• 数学问题:在提示词中加入"请逐步推理,并将最终答案放在\boxed{}中。"
• 选择题:在提示词中加入以下 JSON 结构以标准化回答:“请在answer字段中显示你的选择,仅使用选项字母,例如,\"answer\": \"C\"。”
• 处理长输入:对于超过 32,768 个标记的输入,启用YaRN以提升模型对长序列信息的捕捉能力。
如果你需要支持的框架,可以在config.json中添加以下内容以启用 YaRN:
{...,"rope_scaling": {"factor": 4.0,"original_max_position_embeddings": 32768,"type": "yarn"}
}
目前,vLLM 仅支持静态 YaRN,这意味着缩放因子无论输入长度如何都保持不变,可能会对较短文本的性能产生影响。建议仅在需要处理长上下文时添加rope_scaling配置。
相关文章:
阿里推出全新推理模型(因果语言模型),仅1/20参数媲美DeepSeek R1
阿里Qwen 团队正式发布了他们最新的研究成果——QwQ-32B大语言模型!这款模型不仅名字萌萌哒(QwQ),实力更是不容小觑!😎 QwQ-32B 已在 Hugging Face 和 ModelScope 开源,采用了 Apache 2.0 开源协议。大家可通过 Qwen C…...
vue实现一个pdf在线预览,pdf选择文本并提取复制文字触发弹窗效果
[TOC] 一、文件预览 1、安装依赖包 这里安装了disjs-dist2.16版本,安装过程中报错缺少worker-loader npm i pdfjs-dist2.16.105 worker-loader3.0.8 2、模板部分 <template><div id"pdf-view"><canvas v-for"page in pdfPages&qu…...
Unity自定义渲染管线(Scriptable Render Pipeline)架构设计与实现指南
一、SRP技术体系概述 1. 核心设计理念 全托管渲染控制:通过C#脚本完全掌控渲染流程 模块化架构:将渲染流程拆分为可组合的RenderPass GPU友好设计:支持CommandBuffer与Compute Shader混合编程 对惹,这里有一个游戏开发交流小组…...
时间复杂度分析与递归,以新南UNSW的COMP2521作业题为例
作者:Smooth(连接教育高级讲师) 首发于:UNSW学习知识库(UNSW Study Wiki) 创作时间:2025年3月5日 如何测度算法的时间性能?理论分析Theoretical Analysis 测度算法时…...
RxJS与Redux革命性协同:打造高效、解耦的前端状态管理方案
摘要 本文探讨RxJS与Redux的融合应用,通过真实用户场景揭示其必要性,系统讲解整合策略,从基础到高级涵盖响应式编程优化、异步操作处理、状态流控制等核心主题。提供可落地的架构方案与性能优化技巧,包含10可复用代码示例和20实战…...
蓝桥杯P1259-奇怪的馈赠 (贪心题解)
题目:奇怪的捐赠 题目来源:1.奇怪的捐赠 - 蓝桥云课 题目描述 需要将 100 万(1,000,000)正好分成若干个 7 的次方形式的数(如 7^01, 7^17, 7^249 等),且每种金额(即每个 7 的次方…...
todo: 使用融云imserve做登录(android)
使用融云做登录注册思路 注册界面需要name, email, password考虑到融云注册用户的post格式 POST http://api.rong-api.com/user/getToken.json?userId1690544550qqcom&nameIronman这里的userId可以使用用户的email,但是要截断和 . 符号,即1690544…...
如何设置爬虫的User-Agent?
在爬虫开发中,设置合适的 User-Agent 是非常重要的一步。User-Agent 是 HTTP 请求头中的一个字段,用于标识客户端(通常是浏览器)的类型、版本、操作系统等信息。通过设置 User-Agent,可以模拟正常的浏览器访问行为&…...
C++ 二叉搜索树代码
C 二叉搜索树代码 #include <iostream> using namespace std;template<typename T> struct TreeNode{T val;TreeNode *left;TreeNode *right;TreeNode():val(0), left(NULL), right(NULL){}TreeNode(T x):val(x), left(NULL), right(NULL){} };template<typena…...
OpenAI Whisper:开启语音转文本的智能时代
在人工智能技术飞速发展的今天,OpenAI推出的Whisper语音识别系统正悄然改变着人类与机器的交互方式。作为一款开源的AI驱动语音转文本工具,Whisper凭借其跨语言能力、高精度识别和灵活的生态系统,成为开发者和普通用户共同追捧的技术标杆。 核心技术与突破 Whisper基于深度…...
基于CSDN资源,搭建AI赋能农业典型场景落地方案
农业场景,不但是信息化、自动化等薄弱的产业,更是AI落地困难的场景。基于此,想通过这篇文章查找一个CSDN相关资源,论证一下AI赋能农业三个典型场景的实现思路。 场景1:水质-土壤智能调控 **痛点:**水质恶…...
python量化交易——金融数据管理最佳实践——使用qteasy大批量自动拉取金融数据
文章目录 使用数据获取渠道自动填充数据QTEASY数据拉取功能数据拉取接口refill_data_source()数据拉取API的功能特性多渠道拉取数据实现下载流量控制实现错误重试日志记录其他功能 qteasy是一个功能全面且易用的量化交易策略框架, Github地址在这里。使用它&#x…...
RoboBrain:从抽象到具体的机器人操作统一大脑模型
25年2月来自北大、北京智源、中科院自动化所等的论文“RoboBrain: A Unified Brain Model for Robotic Manipulation from Abstract to Concrete”。 目前的多模态大语言模型(MLLM) 缺少三项必备的机器人大脑能力:规划能力,将复杂…...
DeepSeek本地接口调用(Ollama)
前言 上篇博文,我们通过Ollama搭建了本地的DeepSeek模型,本文主要是方便开发人员,如何通过代码或工具,通过API接口调用本地deepSeek模型 前文:DeepSeek-R1本地搭建_deepseek 本地部署-CSDN博客 注:本文不仅…...
数据库索引的作用:提升数据检索效率的关键
在数据库管理系统中,数据如同浩瀚海洋中的宝藏,如何快速准确地找到所需信息,成为了一个关键问题。这时候,数据库索引就如同一张精确的航海图,指引着我们高效地定位数据。那么,数据库索引究竟是什么…...
高效便捷的 Spring Boot 通用控制器框架
✨高效便捷的 Spring Boot 通用控制器框架✨ 一、简介 在 Java 开发中,重复性的基础接口编写工作常令人头疼。本框架基于 Spring Boot 与 MyBatis-Plus,精心构建通用控制器类BaseController,旨在为开发者排忧解难,极大减少繁琐的…...
SQL_语法
1 数据库 1.1 新增 create database [if not exists] 数据库名; 1.2 删除 drop database [if exists] 数据库名; 1.3 查询 (1) 查看所有数据库 show databases; (2) 查看当前数据库下的所有表 show tables; 2 数据表 2.1 新增 (1) 创建表 create table [if not exists…...
在 CentOS 上,常用几种方法来确保 Python 脚本在断开终端后继续运行
在 CentOS 上,你可以使用以下几种方法来确保 Python 脚本在断开终端后继续运行: 1. 使用 nohup 命令 nohup 命令可以让进程在终端关闭后继续运行。 nohup python main.py > output.log 2>&1 &nohup:忽略挂断信号,…...
全面回顾复习——C++语法篇1(基于牛客网C++题库)
注:牛客网允许使用万能头文件#include<bits/stdc.h> 1、求类型长度——sizeof()函数 2、将浮点数四舍五入——round()函数——前面如果加上static_cast会更安全一些 在C语言中可以使用printf(“.0l…...
一、数据库 MySQL 基础学习 (上)
一、数据库的概念 DB 数据库(database):存储数据的“仓库”,保存一系列有组织的数据 DBMS:数据库管理系统(Database Management System)。数据库是通过 DBMS 创建和操作的容器 创建的 DBMS: MySQL、Oracl…...
基于Django创建一个WEB后端框架(DjangoRestFramework+MySQL)流程
一、Django项目初始化 1.创建Django项目 Django-admin startproject 项目名 2.安装 djangorestframework pip install djangorestframework 解释: Django REST Framework (DRF) 是基于 Django 框架的一个强大的 Web API 框架,提供了多种工具和库来构建 RESTf…...
AutoGen学习笔记系列(七)Tutorial - Managing State
这篇文章瞄准的是AutoGen框架官方教程中的 Tutorial 章节中的 Managing State 小节,主要介绍了如何对Team内的状态管理,特别是如何 保存 与 加载 状态,这对于Agent系统而言非常重要。 官网链接:https://microsoft.github.io/auto…...
Redis渐进式遍历数据库
目录 渐进式遍历 数据库 渐进式遍历 keys*可以一次性的把整个redis中所有key都获取到,这个操作是非常危险的,因为可能一下获取到太多的key,阻塞redis服务器。要想很好的获取到所有的key,又不想出现卡死的情况,就可以…...
机器学习中的线性代数:奇异值分解 SVD
线性代数 奇异值分解(SVD) 参考资料: 超详细!彻底搞懂矩阵奇异值分解(SVD)本质计算应用!_哔哩哔哩_bilibili 非常好的视频,本文内容主要来自于该视频,在此表示感谢&#…...
【每日八股】计算机网络篇(三):IP
目录 DNS 查询服务器的基本流程DNS 采用 TCP 还是 UDP,为什么?默认使用 UDP 的原因需要使用 TCP 的场景?总结 DNS 劫持是什么?解决办法?浏览器输入一个 URL 到显示器显示的过程?URL 解析TCP 连接HTTP 请求页…...
6. PromQL的metric name(在node exporter复制下来交给AI解释的)
目录 前言: Go 运行时指标: Go 内存统计指标: CPU 指标: 内存指标: 磁盘指标: 网络指标: 系统指标: 前言: 写这个得目的是为了后续方便查询,因为在pro…...
基于单片机的速度里程表设计(论文+源码)
1 系统方案 本次智能速度里程表的总体架构如图2-1所示,在硬件上包括了STC89C52单片机,电机,显示模块,报警模块,DS1302时钟模块,超速检测模块,按键等等。在软件设计功能的功能上,按下…...
计算机毕业设计Python+Django+Vue3微博数据舆情分析平台 微博用户画像系统 微博舆情可视化(源码+ 文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
nvidia驱动升级-ubuntu 1804
升级 1.从官网下载*.run驱动文件 2.卸载原始驱动 sudo /usr/bin/nvidia-uninstall sudo apt-get --purge remove nvidia-\* # 可能不需要加-\ sudo apt-get purge nvidia-\* # 可能不需要加-\ sudo apt-get purge libnvidia-\* # 可能不需要…...
如何使用SSH命令安全连接并转发端口到远程服务器
ssh -p 22546 rootconnect.westc.gpuhub.com d6IS/mQKq/iG ssh -CNgv -L 6006:127.0.0.1:6006 rootconnect.westc.gpuhub.com -p 22546 第一条命令:用于登录远程服务器,进行交互式操作。第二条命令:用于建立 SSH 隧道,进行端口转…...
