图片
啥是 QwQ-32B?简单来说,QwQ-32B 是 Qwen 团队推出的一个开源大模型。你可能要问了,现在大模型这么多,QwQ-32B 有啥特别的?别急,听我慢慢道来。
QwQ-32B 最大的亮点在于,它只有 320 亿参数,却能达到 DeepSeek-R1 的效果。要知道,DeepSeek-R1 可是有 6710 亿参数(其中 370 亿被激活)的大家伙!这就像一个轻量级拳击手,竟然能跟重量级选手打成平手,你说牛不牛?
更厉害的是,QwQ-32B 不仅在数学推理、代码编写这些“硬核”能力上表现出色,还能像人一样思考,甚至能根据环境反馈来调整自己的推理过程。这可不是一般大模型能做到的!
背后功臣:强化学习QwQ-32B 之所以这么厉害,全靠“强化学习”(Reinforcement Learning,简称 RL)这位幕后英雄。
你可能听说过“预训练”和“微调”,这是训练大模型的常用方法。但强化学习不一样,它更像是“师傅带徒弟”:
1. 师傅出题:先给模型一个任务,比如解一道数学题。2. 徒弟答题:模型尝试解决这个问题。3. 师傅批改:根据模型的答案,给出一个“奖励”或“惩罚”。4. 徒弟改进:模型根据反馈,调整自己的解题策略,下次争取做得更好。通过不断重复这个过程,模型就能逐渐掌握解决问题的“套路”,变得越来越聪明。
QwQ-32B 是怎么“炼”成的?Qwen 团队在训练 QwQ-32B 时,采用了独特的强化学习方法:
1. 冷启动:先用一个基础模型开始训练。2. 专项训练:重点训练模型的数学和编程能力。他们没有用传统的“奖励模型”,而是直接用“准确率验证器”来判断数学题的答案是否正确,用“代码执行服务器”来判断生成的代码能否通过测试。3. 全面提升:在数学和编程能力达标后,再加入通用能力的强化学习。用通用的奖励模型和一些规则验证器,来提升模型的指令跟随、偏好对齐等能力。这种“分阶段、有重点”的训练方法,让 QwQ-32B 在保持数学和编程优势的同时,其他能力也得到了全面提升。
亲手试试 QwQ-32B心动不如行动,咱们来亲手试试 QwQ-32B 的威力。Qwen 团队非常大方,把 QwQ-32B 开源在了 Hugging Face 和 ModelScope 上,还提供了 Qwen Chat 网页版,让我们可以直接体验。
方法一:Hugging Face Transformers如果你熟悉 Python 和 Transformers 库,可以这样调用 QwQ-32B:
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 inzip(model_inputs.input_ids, generated_ids)]# 解码结果response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)运行这段代码,你就能看到 QwQ-32B 的回答啦!
方法二:阿里云 DashScope API如果你想更方便地调用 QwQ-32B,可以使用阿里云的 DashScope API。
首先,你需要一个 API Key。获取方法可以参考阿里云的官方文档:https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key
然后,你可以用下面的代码来调用 QwQ-32B:
from openai import OpenAIimport os# 初始化 OpenAI 客户端client = OpenAI( api_key=os.getenv('DASHSCOPE_API_KEY'), # 设置 API Key base_url='https://dashscope.aliyuncs.com/compatible-mode/v1'# API 地址)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: ifnot chunk.choices: print('\nUsage:') print(chunk.usage) else: delta = chunk.choices[0].delta # 打印推理过程 ifhasattr(delta, 'reasoning_content') and delta.reasoning_content isnotNone: print(delta.reasoning_content, end='', flush=True) reasoning_content += delta.reasoning_content else: # 打印答案 if delta.content != ''and is_answering isFalse: print('\n' + '=' * 20 + 'content' + '=' * 20 + '\n') is_answering = True print(delta.content, end='', flush=True) content += delta.content
这段代码会输出 QwQ-32B 的推理过程和最终答案,让你更直观地了解它的思考方式。
方法三:白嫖https://chat.qwen.ai/图片
https://chat.qwen.ai/作为一名技术爱好者,我对 Qwen 团队的探索充满期待。我相信,随着技术的不断进步,我们离通用人工智能(AGI)的梦想会越来越近。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。- 上一篇:没有了
- 下一篇:没有了