
QwQ-32B: Abraçando o poder do aprendizado por reforço
BATE-PAPO QWEN Abraçando o Rosto Escopo do modelo DEMONSTRAÇÃO DISCÓRDIA
O Scaling Reinforcement Learning (RL) tem o potencial de aprimorar o desempenho do modelo além dos métodos convencionais de pré-treinamento e pós-treinamento. Estudos recentes demonstraram que o RL pode melhorar significativamente as capacidades de raciocínio dos modelos. Por exemplo, o DeepSeek R1 atingiu desempenho de ponta ao integrar dados de inicialização a frio e treinamento em vários estágios, permitindo pensamento profundo e raciocínio complexo.
Nossa pesquisa explora a escalabilidade do Reinforcement Learning (RL) e seu impacto no aprimoramento da inteligência de grandes modelos de linguagem. Estamos animados em apresentar o QwQ-32B, um modelo com 32 bilhões de parâmetros que atinge desempenho comparável ao DeepSeek-R1, que ostenta 671 bilhões de parâmetros (com 37 bilhões ativados). Este resultado notável ressalta a eficácia do RL quando aplicado a modelos de base robustos pré-treinados em amplo conhecimento mundial. Além disso, integramos capacidades relacionadas ao agente no modelo de raciocínio, permitindo que ele pense criticamente enquanto utiliza ferramentas e adapta seu raciocínio com base no feedback ambiental. Esses avanços não apenas demonstram o potencial transformador do RL, mas também abrem caminho para mais inovações na busca da inteligência geral artificial.
O QwQ-32B é de peso aberto no Hugging Face e no ModelScope sob a licença Apache 2.0 e pode ser acessado via Qwen Chat .
Desempenho
O QwQ-32B é avaliado em uma série de benchmarks projetados para avaliar seu raciocínio matemático, proficiência em codificação e capacidades gerais de resolução de problemas. Os resultados abaixo destacam o desempenho do QwQ-32B em comparação com outros modelos líderes, incluindo DeepSeek-R1-Distilled-Qwen-32B, DeepSeek-R1-Distilled-Llama-70B, o1-mini e o DeepSeek-R1 original.

Aprendizagem por reforço
Começamos com um ponto de verificação de inicialização a frio e implementamos uma abordagem de escalonamento de aprendizagem por reforço (RL) impulsionada por recompensas baseadas em resultados. No estágio inicial, escalonamos RL especificamente para tarefas de matemática e codificação. Em vez de depender de modelos de recompensa tradicionais, utilizamos um verificador de precisão para problemas de matemática para garantir a correção das soluções finais e um servidor de execução de código para avaliar se os códigos gerados passam com sucesso em casos de teste predefinidos. À medida que os episódios de treinamento progridem, o desempenho em ambos os domínios mostra melhoria contínua. Após o primeiro estágio, adicionamos outro estágio de RL para capacidades gerais. Ele é treinado com recompensas do modelo de recompensa geral e alguns verificadores baseados em regras. Descobrimos que este estágio de treinamento de RL com uma pequena quantidade de etapas pode aumentar o desempenho de outras capacidades gerais, como seguir instruções, alinhamento com a preferência humana e desempenho do agente, sem queda significativa de desempenho em matemática e codificação.
Usar QwQ-32B
Abaixo estão breves exemplos demonstrando como usar o QwQ-32B via Hugging Face Transformers e a API Alibaba Cloud DashScope.
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)
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
Trabalho futuro
Isso marca o passo inicial da Qwen na escala do Reinforcement Learning (RL) para aprimorar as capacidades de raciocínio. Por meio dessa jornada, não apenas testemunhamos o imenso potencial do RL escalonado, mas também reconhecemos as possibilidades inexploradas dentro dos modelos de linguagem pré-treinados. À medida que trabalhamos para desenvolver a próxima geração da Qwen, estamos confiantes de que combinar modelos de base mais fortes com RL alimentados por recursos computacionais escalonados nos levará mais perto de alcançar a Inteligência Artificial Geral (AGI). Além disso, estamos explorando ativamente a integração de agentes com RL para permitir o raciocínio de longo prazo, visando desbloquear maior inteligência com escala de tempo de inferência.