MiMo: un pequeño modelo de código abierto para el razonamiento matemático eficiente y la generación de código
Últimos recursos sobre IAPublicado hace 3 meses Círculo de intercambio de inteligencia artificial 1.6K 00
Introducción general
MiMo es un proyecto de modelado de grandes lenguajes de código abierto desarrollado por Xiaomi, centrado en el razonamiento matemático y la generación de código. El producto principal es la familia de modelos MiMo-7B, que consta de un modelo base (Base), un modelo de ajuste fino supervisado (SFT), un modelo de aprendizaje reforzado entrenado a partir del modelo base (RL-Zero) y un modelo de aprendizaje reforzado entrenado a partir del modelo SFT (RL). Estos modelos de 7.000 millones de parámetros demuestran una capacidad de razonamiento comparable a la de modelos más grandes gracias a la optimización de los datos de preentrenamiento, la predicción multitoken (MTP) y el aprendizaje por refuerzo. miMo-7B-RL supera a OpenAI o1-mini en tareas matemáticas y de codificación. apoyo al modelo vLLM y SGLang, y puede descargarse en Hugging Face y ModelScope. Xiaomi ha abierto MiMo con el objetivo de impulsar el desarrollo de modelos de inferencia eficientes.

Lista de funciones
- razonamiento matemático: Resolver concursos de matemáticas como AIME, MATH-500, etc. y apoyar el razonamiento en problemas complejos.
- generación de códigoGenera código de alta calidad en Python, C++ y más para tareas de programación en LiveCodeBench.
- Predicción de tokens múltiples (MTP)Predecir múltiples tokens con una tasa de aceptación de inferencias de ~90%, mejorando la velocidad y la precisión.
- Compatibilidad con modelos de código abierto: Los modelos de la serie MiMo-7B (Base, SFT, RL-Zero, RL) se proporcionan para que los desarrolladores los utilicen libremente.
- Motor de inferencia eficazCompatible con vLLM y SGLang personalizados de Xiaomi para optimizar el rendimiento de la inferencia.
- Optimización del aprendizaje: Inferencia de modelos mejorada basada en 130.000 conjuntos de datos de problemas matemáticos y de código.
- Motor de retroceso sin fisurasAprendizaje por refuerzo acelerado con un entrenamiento 2,29 veces más rápido y una validación 1,96 veces más rápida.
- Despliegue flexibleSe admiten los transformadores Hugging Face, vLLM y SGLang.
Utilizar la ayuda
Instalación y despliegue
El modelo MiMo-7B no requiere una instalación de software independiente, pero sí la configuración del entorno de inferencia. A continuación se detallan los pasos de despliegue, se recomienda Python 3.8 o superior.
1. Preparación medioambiental
Asegúrese de que Python y pip están instalados en su sistema. se recomienda un entorno virtual para evitar conflictos de dependencias:
python3 -m venv mimo_env
source mimo_env/bin/activate
2. Instalación de dependencias
MiMo recomienda utilizar la rama vLLM personalizada de Xiaomi, que soporta la funcionalidad MTP. El comando de instalación es el siguiente:
pip install torch transformers
pip install "vllm @ git+https://github.com/XiaomiMiMo/vllm.git@feat_mimo_mtp_stable_073"
Si utiliza SGLang, ejecútelo:
python3 -m pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git@main#egg=sglang&subdirectory=python"
3. Descargar modelo
El modelo MiMo-7B está alojado en Hugging Face y ModelScope, con MiMo-7B-RL como ejemplo:
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)
Los archivos del modelo ocupan aproximadamente 14 GB, así que asegúrese de que dispone de suficiente espacio de almacenamiento. modelScope se descarga de forma similar, sustituyendo a model_id
es la dirección correspondiente.
4. Activación del servicio de razonamiento
Inicie el servidor de inferencia utilizando vLLM (recomendado):
python3 -m vllm.entrypoints.api_server --model XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code
o utilizar SGLang:
python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code
Una vez iniciado el servidor, puede interactuar con el modelo a través de la API o de la línea de comandos.
Funciones principales
razonamiento matemático
MiMo-7B-RL destaca en tareas de razonamiento matemático, especialmente en los conjuntos de datos AIME y MATH-500. Los usuarios pueden introducir preguntas matemáticas y el modelo genera las respuestas. Ejemplo:
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)
Instrucciones de uso::
- utilizar
temperature=0.6
Equilibrio entre calidad generativa y diversidad. - Los problemas complejos pueden introducirse por pasos para garantizar una descripción clara.
- Se admiten AIME 2024 (68,2% Pass@1), AIME 2025 (55,4% Pass@1) y MATH-500 (95,8% Pass@1).
generación de código
MiMo-7B-RL genera código de alta calidad compatible con Python, C++ y otros lenguajes para LiveCodeBench v5 (57.8% Pass@1) y v6 (49.3% Pass@1). Ejemplo:
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)
Instrucciones de uso::
- Proporcione descripciones específicas de las tareas, como los requisitos de entrada y salida de funciones.
- Comprueba la integridad sintáctica del código generado.
- Adecuado para tareas de diseño de algoritmos y concursos de programación.
Predicción de tokens múltiples (MTP)
MTP es una característica central de MiMo que acelera la inferencia mediante la predicción de múltiples tokens con una tasa de aceptación de alrededor de 90%. Habilitar MTP requiere vLLM personalizado de 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)
Instrucciones de uso::
- establecer
num_speculative_tokens=1
Activar MTP. - MTP funciona mejor en escenarios de alto rendimiento.
- La capa MTP se sintoniza en las fases de preentrenamiento y SFT y se congela en la fase RL.
Motor de retroceso sin fisuras
MiMo ha desarrollado un motor de retroceso continuo para optimizar el aprendizaje por refuerzo. Los usuarios no necesitan utilizar esta función directamente, pero su efecto se refleja en el rendimiento del modelo:
- Entrenamiento 2,29 veces más rápido y validación 1,96 veces más rápida.
- Reduzca el tiempo de inactividad de la GPU con el rollback continuo integrado, el cálculo asíncrono de recompensas y la terminación anticipada.
Selección del motor de inferencia
- vLLM (recomendado)vLLM personalizado Xiaomi (basado en vLLM 0.7.3) soporta MTP con un rendimiento óptimo. Adecuado para necesidades de inferencia de alto rendimiento.
- SGLang: Soporte para razonamiento convencional, soporte MTP próximamente. Adecuado para un despliegue rápido.
- Transformadores de caras abrazadas: Adecuado para pruebas sencillas o depuración local, pero no admite MTP.
advertencia
- alerta del sistemaSe recomiendan las puntas de sistema vacías para un rendimiento óptimo.
- requisitos de hardwareGPU: se recomienda una sola GPU (por ejemplo, NVIDIA A100 de 40 GB), la inferencia de la CPU requiere al menos 32 GB de RAM.
- Configuración de la evaluaciónTodas las evaluaciones utilizan
temperature=0.6
AIME y LiveCodeBench utilizan promedios de ejecución múltiples. - Apoyo comunitarioSi tiene algún problema, puede presentar una incidencia en GitHub o ponerse en contacto con el equipo de
mimo@xiaomi.com
.
escenario de aplicación
- investigación académica
El modelo MiMo-7B es adecuado para que los investigadores exploren el razonamiento matemático y los algoritmos de generación de código. Los desarrolladores pueden ajustarlo basándose en el modelo de código abierto para investigar estrategias de preentrenamiento y aprendizaje por refuerzo. - educación en programación
Los profesores pueden utilizar MiMo para generar respuestas a ejercicios de programación, y los alumnos pueden verificar la lógica del código o aprender sobre la implementación de algoritmos. - Entrenamiento de competición
MiMo es compatible con las preguntas de las oposiciones de matemáticas AIME y MATH-500 para estudiantes que se preparan para oposiciones de matemáticas y programación. - Desarrollo de la IA
Los desarrolladores pueden crear aplicaciones personalizadas basadas en MiMo-7B, como herramientas automatizadas de revisión de código o solucionadores matemáticos.
CONTROL DE CALIDAD
- ¿Qué modelos hay disponibles en la serie MiMo-7B?
MiMo-7B incluye un modelo base (Base), un modelo de ajuste fino supervisado (SFT), un modelo de aprendizaje por refuerzo entrenado a partir del modelo base (RL-Zero) y un modelo de aprendizaje por refuerzo entrenado a partir del modelo SFT (RL). la versión RL es la que obtiene mejores resultados. - ¿Cómo elegir un motor de inferencia?
Recomendado Xiaomi vLLM personalizado (apoyo MTP, un rendimiento óptimo). SGLang es adecuado para el despliegue rápido, Hugging Face Transformers es adecuado para pruebas sencillas. - ¿Cómo puede el MTP mejorar el rendimiento?
MTP es adecuado para escenarios de alto rendimiento mediante la predicción de múltiples tokens con una tasa de aceptación de inferencia de 90%, lo que mejora significativamente la velocidad. - ¿El modelo admite varios idiomas?
MiMo está optimizado principalmente para tareas matemáticas y de codificación, y admite la entrada en inglés y algo de chino, sin soporte explícito para otros idiomas. - ¿Cuáles son los requisitos de hardware?
Una sola GPU (por ejemplo, NVIDIA A100 de 40 GB) puede ejecutar MiMo-7B-RL. La inferencia de la CPU requiere al menos 32 GB de RAM, pero es más lenta.
© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...