❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦
🎧 “阿里开源推理神器 QwQ-32B:仅靠 32B 参数,数学编程全搞定!”
🚀 「32B参数吊打670B?阿里开源推理核弹:强化学习炼出的数学天才模型」
大家好,我是蚝油菜花。你是否也经历过这些崩溃瞬间——
- 👉 调试代码时逻辑绕成毛线团,死活找不到bug出口
- 👉 啃数学证明像看天书,三步推导卡两小时
- 👉 读论文时明明每个字都认识,连起来却不知所云...
今天要揭秘的 QwQ-32B ,堪称AI界的"最强大脑"!这个由阿里开源的320亿参数模型,通过强化学习炼就超凡推理能力:
- ✅ 数学证明:在IMO难题上准确率超70%,步骤严谨如教授板书
- ✅ 代码生成:支持多轮调试对话,自动定位隐藏bug
- ✅ 跨领域推理:用《三体》情节解释量子力学,复杂概念秒懂
更疯狂的是,它的数学推理能力竟比肩671B参数的顶尖模型!工程师用它三天搞定毕设,研究员靠它批量刷论文——你的思维外挂已经到货,准备好开启认知革命了吗?
🚀 快速阅读
QwQ-32B 是阿里巴巴开源的新型推理模型,具备强大的数学推理和编程能力。
- 核心功能:支持数学推理、编程任务和智能体能力,适用于复杂任务的动态决策。
- 技术原理:基于强化学习训练,集成智能体能力,根据环境反馈调整推理策略。
QwQ-32B 是什么
QwQ-32B 是阿里巴巴开源的新型推理模型,参数量为 320 亿。基于大规模强化学习(RL)训练,在数学推理、编程等任务上表现出色,性能比肩 6710 亿参数的 DeepSeek-R1 满血版。模型集成智能体能力,根据环境反馈调整推理过程,展现出强大的适应性和推理能力。
模型已在 Hugging Face 开源,采用 Apache 2.0 协议,在 Qwen Chat 能直接进行体验。QwQ-32B 的发布证明强化学习在提升模型性能方面的巨大潜力,为未来通用人工智能(AGI)的发展提供了新的思路和方向。
QwQ-32B 的主要功能
- 强大的推理能力:在数学推理、编程任务和通用能力测试中表现出色,性能媲美更大参数量的模型。
- 智能体(Agent)能力:支持进行批判性思考,根据环境反馈调整推理过程,适用于复杂任务的动态决策。
- 多领域适应性:基于强化学习训练,模型在数学、编程和通用能力上均有显著提升。
QwQ-32B 的技术原理
- 强化学习训练:模型针对数学和编程任务进行 RL 训练。数学任务基于校验答案正确性提供反馈,编程任务基于代码执行结果评估反馈。随后,模型进入通用能力训练阶段,用通用奖励模型和基于规则的验证器进一步提升性能。
- 预训练基础模型:QwQ-32B 基于强大的预训练模型(如 Qwen2.5-32B),大规模预训练获得广泛的语言和逻辑能力。强化学习在此基础上进一步优化模型的推理能力,让模型在特定任务上表现更优。
- 智能体集成:模型集成智能体能力,根据环境反馈动态调整推理策略,实现更复杂的任务处理。
如何运行 QwQ-32B
通过镜像一键部署
在这里特别感谢 UCloud
优云智算提供的 GPU 算力支持!让项目得到了快速的部署和调试运行。
UCloud 介绍
优云智算是 UCloud 优刻得的GPU算力租赁平台,专注于为用户提供灵活的算力资源。支持按天、按小时短期租赁及包月长期租赁,满足各类需求。
结合丰富的公共镜像社区,优云智算提供多种预配置的容器镜像,如LLamaFactory、SD-webUI 和 LLM 等,实现一键部署,5分钟就能快速上手 AI,助力用户快速启动和扩展项目。
1. 使用该镜像创建实例
QwQ-32B 满血版 - 镜像发布页(神秘通道):https://www.compshare.cn/images-detail?ImageID=compshareImage-196v8h1mckwf&referral_code=4sOb83sEXe4BLkKYqw9G4P&ytag=GPU_hych_Lcsdn_csdn_display
QwQ-32B-GGUF 量化版 - 镜像发布页(神秘通道):https://www.compshare.cn/images-detail?ImageID=compshareImage-196q11p0a2fj&referral_code=4sOb83sEXe4BLkKYqw9G4P&ytag=GPU_hych_Lcsdn_csdn_display
【算力福利速递】神秘通道秒领40枚算力金币解锁20小时顶配4090显卡试驾体验!学生党/职场人亮出大佬身份,立享永久VIP+额外金币补给包,快乐白嫖手慢无~
首先,在镜像发布页
可以查看到我制作完成并分享到平台的实例镜像,通过右侧的使用该镜像创建实例
可以快速创建一个实例。
2. 部署GPU实例
可按需选择配置后再立即部署
。
运行满血版的 QwQ-32B 模型推荐配置四卡(选配GPU型号为40系,数量为4)
3. 启动实例
稍等片刻后,实例就会自动创建并启动,通过查看实例列表
可查看实例的运行状态,并支持随时关闭或启用。
实例同时提供了一个 JupyterLab
应用作为交互式开发环境,它提供了更现代化和灵活的用户界面,方便我们继续后续的步骤。
1. 使用 Hugging Face Transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/QwQ-32B"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "How many r's are in the word \"strawberry\""
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)
运行效果
2. 使用 Alibaba Cloud DashScope API
from openai import OpenAI
import os
# Initialize OpenAI client
client = OpenAI(
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
)
print("\n" + "=" * 20 + "reasoning content" + "=" * 20 + "\n")
for chunk in completion:
if not chunk.choices:
print("\nUsage:")
print(chunk.usage)
else:
delta = chunk.choices[0].delta
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(delta.content, end='', flush=True)
content += delta.content
3. 使用 Streamlit 构建聊天机器人
# 导入所需的库
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import streamlit as st
# 在侧边栏中创建一个标题和一个链接
with st.sidebar:
st.markdown("## Qwen/QwQ-32B LLM")
max_length = st.slider("max_length", 0, 32768, 1024, step=1)
# 创建一个标题和一个副标题
st.title("💬 Qwen/QwQ-32B Chatbot")
st.caption("🚀 A streamlit chatbot powered by Hugging Face Transformers")
# 定义模型路径
model_name = "Qwen/QwQ-32B"
# 定义一个函数,用于获取模型和tokenizer
@st.cache_resource
def get_model():
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
model.eval()
return tokenizer, model
# 加载模型和tokenizer
tokenizer, model = get_model()
if "messages" not in st.session_state:
st.session_state["messages"] = [{
"role": "assistant", "content": "有什么可以帮您的?"}]
# 显示聊天记录
for msg in st.session_state.messages:
st.chat_message(msg["role"]).write(msg["content"])
# 处理用户输入
if prompt := st.chat_input():
st.session_state.messages.append({
"role": "user", "content": prompt})
st.chat_message("user").write(prompt)
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=max_length
)
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]
st.session_state.messages.append({
"role": "assistant", "content": response})
st.chat_message("assistant").write(response)
运行效果
资源
- 在线演示 Demo:https://chat.qwenlm.ai/
- HuggingFace 仓库:https://huggingface.co/Qwen/QwQ-32B
- ModelScope 仓库:https://modelscope.cn/models/Qwen/QwQ-32B
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦