Introdução geral
O MiMo é um projeto de modelagem de linguagem grande de código aberto desenvolvido pela Xiaomi, com foco em raciocínio matemático e geração de código. O produto principal é a família de modelos MiMo-7B, que consiste em um modelo básico (Base), um modelo de ajuste fino supervisionado (SFT), um modelo de aprendizado de reforço treinado a partir do modelo básico (RL-Zero) e um modelo de aprendizado de reforço treinado a partir do modelo SFT (RL). Esses modelos de 7 bilhões de parâmetros demonstram um poder de raciocínio comparável a modelos maiores, otimizando os dados de pré-treinamento, a previsão de vários tokens (MTP) e o aprendizado por reforço. O miMo-7B-RL supera o OpenAI o1-mini em tarefas matemáticas e de codificação. vLLM e SGLang, e está disponível para download em Hugging Face e ModelScope. A Xiaomi abriu o código-fonte do MiMo com o objetivo de impulsionar o desenvolvimento de modelos de inferência eficientes.
Lista de funções
- raciocínio matemáticoResolver competições de matemática, como AIME, MATH-500, etc., e apoiar o raciocínio em problemas complexos.
- geração de códigoGeração de código de alta qualidade em Python, C++ e outros para tarefas de programação do LiveCodeBench.
- Previsão de múltiplos tokens (MTP)Previsão de vários tokens com uma taxa de aceitação de inferência de ~90%, melhorando a velocidade e a precisão.
- Suporte a modelos de código abertoModelos da série MiMo-7B (Base, SFT, RL-Zero, RL) são fornecidos para uso livre dos desenvolvedores.
- Mecanismo de inferência eficienteSuporte a vLLM e SGLang personalizados da Xiaomi para otimizar o desempenho da inferência.
- Otimização do aprendizado aprimoradoinferência de modelo aprimorada com base em 130.000 conjuntos de dados de problemas de matemática e código.
- Mecanismo de reversão contínuoTreinamento acelerado de aprendizagem por reforço com treinamento 2,29 vezes mais rápido e validação 1,96 vezes mais rápida.
- Implementação flexívelHá suporte para Hugging Face Transformers, vLLM e SGLang.
Usando a Ajuda
Instalação e implementação
O modelo MiMo-7B não requer a instalação de um software autônomo, mas requer a configuração do ambiente de inferência. Veja a seguir as etapas detalhadas de implantação; recomenda-se o Python 3.8 ou superior.
1. preparação ambiental
Certifique-se de que o Python e o pip estejam instalados em seu sistema. Recomenda-se um ambiente virtual para evitar conflitos de dependência:
python3 -m venv mimo_env
source mimo_env/bin/activate
2. instalação de dependências
A MiMo recomenda o uso da ramificação vLLM personalizada da Xiaomi, que oferece suporte à funcionalidade MTP. O comando de instalação é o seguinte:
pip install torch transformers
pip install "vllm @ git+https://github.com/XiaomiMiMo/vllm.git@feat_mimo_mtp_stable_073"
Se estiver usando SGLang, execute:
python3 -m pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git@main#egg=sglang&subdirectory=python"
3. download do modelo
O modelo MiMo-7B está hospedado no Hugging Face e no ModelScope, com o MiMo-7B-RL como exemplo:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "XiaomiMiMo/MiMo-7B-RL"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)
Os arquivos do modelo têm aproximadamente 14 GB, portanto, certifique-se de ter espaço de armazenamento suficiente. O download do modelScope é feito de maneira semelhante, substituindo model_id
é o endereço correspondente.
4. ativação do serviço de raciocínio
Inicie o servidor de inferência usando o vLLM (recomendado):
python3 -m vllm.entrypoints.api_server --model XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code
ou usar SGLang:
python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code
Depois que o servidor é iniciado, você pode interagir com o modelo por meio da API ou da linha de comando.
Funções principais
raciocínio matemático
O MiMo-7B-RL é excelente em tarefas de raciocínio matemático, especialmente nos conjuntos de dados AIME e MATH-500. Os usuários podem inserir perguntas matemáticas e o modelo gera as respostas. Exemplo:
from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Solve: 2x + 3 = 7"], sampling_params)
print(outputs[0].outputs[0].text)
Instruções de operação::
- fazer uso de
temperature=0.6
Equilíbrio entre qualidade geradora e diversidade. - Problemas complexos podem ser inseridos em etapas para garantir uma descrição clara.
- O AIME 2024 (68,2% Pass@1), o AIME 2025 (55,4% Pass@1) e o MATH-500 (95,8% Pass@1) são compatíveis.
geração de código
O MiMo-7B-RL gera código de alta qualidade com suporte para Python, C++ e outras linguagens para o LiveCodeBench v5 (57.8% Pass@1) e v6 (49.3% Pass@1). Exemplo:
from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Write a Python function to calculate factorial"], sampling_params)
print(outputs[0].outputs[0].text)
Instruções de operação::
- Forneça descrições de tarefas específicas, como requisitos de entrada e saída de funções.
- Verifica a integridade sintática do código gerado.
- Adequado para o projeto de algoritmos e tarefas de competição de programação.
Previsão de múltiplos tokens (MTP)
O MTP é um recurso essencial do MiMo que acelera a inferência ao prever vários tokens com uma taxa de aceitação de cerca de 90%. A ativação do MTP requer o vLLM personalizado da Xiaomi:
from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True, num_speculative_tokens=1)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Write a Python script"], sampling_params)
print(outputs[0].outputs[0].text)
Instruções de operação::
- configurar
num_speculative_tokens=1
Ativar MTP. - O MTP funciona melhor em cenários de alto rendimento.
- A camada MTP é ajustada nas fases de pré-treinamento e SFT e congelada na fase RL.
Mecanismo de reversão contínuo
O MiMo desenvolveu um mecanismo de reversão contínuo para otimizar o treinamento de aprendizagem por reforço. Os usuários não precisam operar esse recurso diretamente, mas seu efeito é refletido no desempenho do modelo:
- Treinamento 2,29 vezes mais rápido e validação 1,96 vezes mais rápida.
- Reduza o tempo ocioso da GPU com reversão contínua integrada, cálculo assíncrono de recompensa e encerramento antecipado.
Seleção do mecanismo de inferência
- vLLM (recomendado)Xiaomi: o vLLM personalizado da Xiaomi (baseado no vLLM 0.7.3) oferece suporte a MTP com desempenho ideal. Adequado para necessidades de raciocínio de alto desempenho.
- SGLangSuporte para raciocínio convencional, suporte para MTP em breve. Adequado para implantação rápida.
- Transformadores de rostos abraçadosAdequado para testes simples ou depuração local, mas não oferece suporte a MTP.
advertência
- alerta do sistemaRecomendamos o uso de pontas de sistema vazias para obter o melhor desempenho.
- Requisitos de hardwareGPU única recomendada (por exemplo, NVIDIA A100 40GB), a inferência da CPU requer pelo menos 32GB de RAM.
- Configuração da avaliaçãoTodas as avaliações usam
temperature=0.6
O AIME e o LiveCodeBench usam várias médias de execução. - Suporte à comunidadeSe tiver algum problema, você pode registrar um problema no GitHub ou entrar em contato com o
mimo@xiaomi.com
.
cenário do aplicativo
- pesquisa acadêmica
O modelo MiMo-7B é adequado para pesquisadores que exploram o raciocínio matemático e os algoritmos de geração de código. Os desenvolvedores podem ajustá-lo com base no modelo de código aberto para investigar estratégias de pré-treinamento e aprendizado por reforço. - educação em programação
Os professores podem usar o MiMo para gerar respostas a exercícios de programação, e os alunos podem verificar a lógica do código ou aprender sobre a implementação de algoritmos. - Treinamento para competições
O MiMo oferece suporte a perguntas de concursos de matemática AIME e MATH-500 para alunos que estão se preparando para concursos de matemática e programação. - Desenvolvimento de IA
Os desenvolvedores podem criar aplicativos personalizados com base no MiMo-7B, como ferramentas automatizadas de revisão de código ou solucionadores matemáticos.
QA
- Quais modelos estão disponíveis na série MiMo-7B?
O MiMo-7B consiste em um modelo básico (Base), um modelo de ajuste fino supervisionado (SFT), um modelo de aprendizado de reforço treinado a partir do modelo básico (RL-Zero) e um modelo de aprendizado de reforço treinado a partir do modelo SFT (RL). - Como escolher um mecanismo de inferência?
Recomendamos o vLLM personalizado da Xiaomi (suporte a MTP, desempenho ideal), SGLang para implantação rápida, Hugging Face Transformers para testes simples. - Como o MTP pode melhorar o desempenho?
O MTP é adequado para cenários de alta produtividade, prevendo vários tokens com uma taxa de aceitação de inferência de 90%, o que melhora significativamente a velocidade. - O modelo é compatível com vários idiomas?
O MiMo é otimizado principalmente para tarefas matemáticas e de codificação e oferece suporte a entradas em inglês e chinês, sem suporte explícito a outros idiomas. - Quais são os requisitos de hardware?
Uma única GPU (por exemplo, NVIDIA A100 40GB) pode executar o MiMo-7B-RL. A inferência da CPU requer pelo menos 32GB de RAM, mas é mais lenta.