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.