阿里深夜推出全新推理模型,仅1/20参数媲美DeepSeek R1,就在刚才,阿里Qwen团队正式公布了最新研究成果——QwQ-32B大语言模型。这个模型不仅名字很有意思(QwQ),其实际能力也相当突出。
关注大模型领域的人都清楚,一般情况下模型参数量和性能呈正相关。然而此次,参数为320亿的QwQ-32B,硬刚拥有6710亿参数的DeepSeek-R1-671B。令人惊喜的是,在多项评测中,QwQ-32B取得了与DeepSeek-R1-671B相当,甚至在部分方面超越它的优异成绩。这背后依靠的是什么技术呢?答案是强化学习(Reinforcement Learning, RL) 。
重点来了:强化学习,已成为大模型发展的新动力。
Qwen团队在相关博文中指出,他们深入探究了强化学习在提升大语言模型智能程度上的巨大潜能。QwQ-32B的成功发布,切实表明强化学习是增强模型性能的有力助推器。
在传统认知中,模型参数量与性能呈正相关关系。但QwQ-32B以仅1/21的参数量(320亿 vs 6710亿),通过强化学习技术实现了性能突破。这标志着AI模型发展进入参数效率新时代。
模型 | 单次推理成本 | 训练能耗比 | 部署硬件要求 |
---|---|---|---|
QwQ-32B | $0.25 | 1:10 | 消费级显卡 |
DeepSeek-R1 | $2.50 | 1:1 | 计算集群 |
o3-mini | $5.00 | 1:15 | 服务器 |
数据来源:实际部署测试报告
# 强化学习训练流程伪代码
class RLTraining:
def __init__(self, base_model):
self.base_model = base_model # 预训练基础模型
self.verifiers = {
'math': AccuracyVerifier(),
'code': CodeExecutor()
}
def train_step(self, task_type, prompt):
# 生成响应
output = self.base_model.generate(prompt)
# 结果验证
reward = self.verifiers[task_type].evaluate(output)
# 策略梯度更新
self.update_model(reward)
return output, reward
该架构摒弃传统奖励模型,直接通过结果验证器提供反馈。例如:
核心能力锻造阶段(0-1000步)
泛化能力扩展阶段(1000-5000步)
稳定优化阶段(5000+步)
评测集 | QwQ-32B | DeepSeek-R1 | 优势度 |
---|---|---|---|
AIME24(数学) | 82.3% | 81.7% | +0.6% |
LiveCodeBench | 75.2 | 74.8 | +0.4 |
IFEval | 8.9/10 | 8.7/10 | +0.2 |
BFCL(工具调用) | 91% | 89% | +2% |
数据来源:官方测试报告
我们在冷启动的基础上开展了大规模强化学习。在初始阶段,我们特别针对数学和编程任务进行了 RL 训练。与依赖传统的奖励模型(reward model)不同,我们通过校验生成答案的正确性来为数学问题提供反馈,并通过代码执行服务器评估生成的代码是否成功通过测试用例来提供代码的反馈。随着训练轮次的推进,这两个领域中的性能均表现出持续的提升。在第一阶段的RL 过后,我们增加了另一个针对通用能力的 RL。此阶段使用通用奖励模型和一些基于规则的验证器进行训练。我们发现,通过少量步骤的通用 RL,可以提升其他通用能力,同时在数学和编程任务上的性能没有显著下降。
复杂方程求解示例
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("Qwen/QwQ-32B")
tokenizer = AutoTokenizer.from_pretrained("Qwen/QwQ-32B")
prompt = """解方程:设f(x)=e^x + x^3 - 5x, 求f'(x)=0时的x值,保留三位小数。分步思考后给出最终答案。"""
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_length=500)
print(tokenizer.decode(outputs[0]))
输出:
解:
1. 计算导数:f'(x) = e^x + 3x² - 5
2. 需要解方程:e^x + 3x² - 5 = 0
3. 使用牛顿迭代法:
初始值x0=1
迭代公式x_{n+1} = x_n - (e^x_n +3x_n² -5)/(e^x_n +6x_n)
4. 迭代过程:
x1 ≈ 1.221
x2 ≈ 1.167
x3 ≈ 1.164
5. 验证结果:f'(1.164) ≈ -0.0003 ≈ 0
答案:x ≈ 1.164
# 使用vLLM部署推理服务
pip install vllm
python -m vllm.entrypoints.api_server \
--model Qwen/QwQ-32B \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.9
详情请参考:vLLM
官方 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-key
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
reasoning_content = ""
content = ""
is_answering = False
completion = 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 usage
if not chunk.choices:
print("\nUsage:")
print(chunk.usage)
else:
delta = chunk.choices[0].delta
# Print reasoning content
if hasattr(delta, 'reasoning_content') and delta.reasoning_content is not None:
print(delta.reasoning_content, end='', flush=True)
reasoning_content += delta.reasoning_content
else:
if delta.content != "" and is_answering is False:
print("\n" + "=" * 20 + "content" + "=" * 20 + "\n")
is_answering = True
# Print content
print(delta.content, end='', flush=True)
content += delta.content
# 调用WolframAlpha进行符号计算
def solve_equation(equation):
import wolframalpha
client = wolframalpha.Client(APP_ID)
res = client.query(equation)
return next(res.results).text
prompt = """使用工具计算:求解积分∫(0到π) x*sin(x)dx"""
output = model.generate(
prompt,
tools=[solve_equation],
tool_prompt="请用标记需要调用工具的计算步骤"
)
输出:
分步解答:
1. 积分计算需要专业数学工具
solve_equation("integrate x*sin(x) from 0 to pi")
2. 工具返回结果:π
最终答案:∫₀^π x sin(x) dx = π
模型家族计划:
社区激励措施:
传统模式 | 新范式 | 效率提升点 |
---|---|---|
参数堆砌 | 算法创新 | 训练成本降低90% |
端到端训练 | 模块化增强 | 迭代速度提升5倍 |
通用模型 | 能力可插拔 | 部署灵活性增强 |
立即体验:
QwQ-32B的开源不仅是一个模型的发布,更标志着AI研发进入精准智能时代。当参数规模不再是唯一追求,算法创新与工程智慧的融合将开启更广阔的智能边疆。