Light-R1: modelo de superinferencia de código abierto 360 para el ámbito matemático
Últimos recursos sobre IAPublicado hace 6 meses Círculo de intercambio de inteligencia artificial 9.8K 00
Introducción general
Light-R1 es un modelo de IA de código abierto desarrollado por el equipo de Qihoo360 (Qihoo360) centrado en la cadena de pensamiento (COT), una larga cadena de razonamiento en matemáticas. Se basa en el modelo Qwen2.5-32B-Instruct y, a través de un método de entrenamiento único basado en el perfeccionamiento supervisado (SFT) y la optimización directa de preferencias (DPO), obtuvo puntuaciones de 76,6 y 64,6 en las competiciones de matemáticas AIME24 y AIME25, respectivamente, con un coste de tan solo 1.000 dólares (6 horas de entrenamiento en 12 máquinas H800), superando a Lo más destacado de Light-R1 son los avances de rendimiento eficientes y rentables logrados al partir de un modelo sin capacidad de inferencia de cadena larga, combinado con datos descontaminados y técnicas de fusión de modelos. El proyecto no sólo libera el modelo, sino que también abre todos los conjuntos de datos de entrenamiento y el código, con el objetivo de promover la popularidad y el desarrollo de modelos de inferencia de cadena larga.

Lista de funciones
- razonamiento matemático: Proporciona una resolución de problemas precisa para competiciones matemáticas difíciles como AIME.
- Apoyo al razonamiento de cadena largamediante codificación
<think>
etiquetas, obligando al modelo a razonar progresivamente sobre problemas complejos. - intercambio de recursos de código abiertoDisponible: Conjuntos completos de datos de entrenamiento SFT y DPO y scripts de entrenamiento basados en 360-LLaMA-Factory.
- Despliegue eficiente del razonamiento: Apoyo vLLM y SGLang para optimizar la velocidad de inferencia de modelos y el uso de recursos.
- Herramientas de evaluación de modelosIntegración del código de evaluación DeepScaleR, que proporciona resultados de referencia como AIME24.
- Descontaminación de datos: Asegúrese de que los datos de entrenamiento no estén contaminados con respecto a puntos de referencia como MATH-500, AIME24/25, etc. para mejorar la imparcialidad.
Utilizar la ayuda
Proceso de adquisición e instalación
Light-R1 es un proyecto de código abierto alojado en GitHub que permite a los usuarios adquirir y desplegar modelos siguiendo los pasos que se indican a continuación:
- Acceso a los repositorios de GitHub
Abra su navegador e introduzca la URLhttps://github.com/Qihoo360/Light-R1
se accede a la página de inicio del proyecto. La página contiene una introducción al modelo, enlaces a conjuntos de datos y descripciones de códigos. - almacén de clones
Clone el proyecto localmente escribiendo el siguiente comando en un terminal o línea de comandos:
git clone https://github.com/Qihoo360/Light-R1.git
Una vez finalizada la clonación, vaya al directorio del proyecto:
cd Light-R1
- Descargar modelos
El modelo Light-R1-32B está alojado en Hugging Face. Acceda ahttps://huggingface.co/Qihoo360/Light-R1-32B
Si desea descargar el archivo de pesos del modelo, siga las instrucciones de la página. Una vez descargado, coloque el archivo en un directorio adecuado de su repositorio local (p. ej.models/
), la ruta exacta se puede encontrar en la documentación del proyecto. - Instalación de entornos dependientes
Light-R1 recomienda utilizar vLLM o SGLang para la inferencia, y requiere la instalación de las dependencias relacionadas. Tomemos vLLM como ejemplo:
- Asegúrese de que Python 3.8 o posterior está instalado.
- Instalar vLLM:
pip install vllm
- Si se requiere soporte para GPU, asegúrese de que CUDA está configurado (se recomiendan 12 dispositivos H800 o equivalentes).
- Preparar conjuntos de datos (opcional)
Si necesita reproducir el entrenamiento o realizar un ajuste fino personalizado, puede descargar los conjuntos de datos SFT y DPO de la página de GitHub (enlace en la secciónCurriculum SFT & DPO datasets
(Pieza). Descomprímala y colóquela en eldata/
Catálogo.
Funciones principales
1. Razonamiento matemático con Light-R1
La función principal de Light-R1 es resolver problemas matemáticos, especialmente temas complejos que requieren largas cadenas de razonamiento. Estos son los pasos:
- Iniciar el servicio de razonamiento
Vaya al directorio del proyecto en el terminal y ejecute el siguiente comando para iniciar el servicio de inferencia vLLM:
python -m vllm.entrypoints.api_server --model path/to/Light-R1-32B
incluidos entre estos path/to/Light-R1-32B
Sustitúyalo por la ruta real del fichero modelo. Cuando se inicia, el servicio escucha en el puerto local por defecto (normalmente 8000).
- Enviar solicitud de inferencia
Utilice un script de Python o el comando curl para enviar preguntas matemáticas al modelo. Tomemos curl como ejemplo:
curl http://localhost:8000/v1/completions
-H "Content-Type: application/json"
-d '{
"model": "Light-R1-32B",
"prompt": "<think>Solve the equation: 2x + 3 = 7</think>",
"max_tokens": 200
}'
El modelo devuelve procesos de razonamiento y respuestas paso a paso. por ejemplo:
{
"choices": [{
"text": "<think>First, subtract 3 from both sides: 2x + 3 - 3 = 7 - 3, so 2x = 4. Then, divide both sides by 2: 2x / 2 = 4 / 2, so x = 2.</think> The solution is x = 2."
}]
}
- advertencia
<think>
Las etiquetas están codificadas y deben incluirse en la entrada para activar la inferencia de cadena larga.- Para los desafíos de nivel AIME, se recomienda añadir
max_tokens
(por ejemplo, 500) para garantizar que el razonamiento es completo.
2. Formación en modelos de réplica
Si quieres reproducir el proceso de entrenamiento de Light-R1 o hacer un desarrollo secundario basado en él, puedes seguir los pasos que se indican a continuación:
- Preparación del entorno de formación
Utiliza el framework 360-LLaMA-Factory e instala las dependencias:
pip install -r train-scripts/requirements.txt
- Ejecutar SFT Etapa 1
compiladortrain-scripts/sft_stage1.sh
Asegúrese de que la ruta del modelo y la del conjunto de datos son correctas y ejecútelas:
bash train-scripts/sft_stage1.sh
Esta fase utiliza 76.000 conjuntos de datos y dura aproximadamente 3 horas (12 H800).
- Ejecutar SFT Etapa 2
Del mismo modo, corre:
bash train-scripts/sft_stage2.sh
Utilizar conjuntos de datos 3k más duros para mejorar el rendimiento del modelo.
- Ejecución de la RPD
Implantación:
bash train-scripts/dpo.sh
DPO optimiza aún más las capacidades de inferencia basándose en los resultados de la fase 2 de SFT.
- Fusión de modelos
Utilice el script de fusión proporcionado (p. ej.merge_models.py
), fusionando los modelos SFT y DPO:
python merge_models.py --sft-model sft_stage2 --dpo-model dpo --output Light-R1-32B
3. Evaluación del rendimiento del modelo
Light-R1 proporciona herramientas de evaluación para probar puntos de referencia como AIME24:
- Ejecutar el script de evaluación
existedeepscaler-release/
catalogar, ejecutar:
python evaluate.py --model Light-R1-32B --benchmark AIME24
Los resultados se anotarán en el cuaderno de bitácora y la puntuación media deberá aproximarse a 76,6 en 64 ocasiones.
Funciones destacadas
Optimización de la inferencia de cadena larga
Light-R1 Adoptada <think>
responder cantando </think>
Etiquetado especial para garantizar que el modelo razona paso a paso el problema matemático. Por ejemplo, entrada:
<think>Find the number of positive integers less than 100 that are divisible by 3 or 5.</think>
Modelo de salida:
<think>Let’s use inclusion-exclusion. Numbers divisible by 3: 99 ÷ 3 = 33. Numbers divisible by 5: 99 ÷ 5 = 19. Numbers divisible by 15 (LCM of 3 and 5): 99 ÷ 15 = 6. Total = 33 + 19 - 6 = 46.</think> Answer: 46.
Salvaguardias para la descontaminación de datos
Los datos de entrenamiento se descontaminan rigurosamente para garantizar la imparcialidad en pruebas comparativas como AIME24/25. El usuario puede comprobar el conjunto de datos (data/
(Catálogo) Compruebe que no hay temas duplicados.
Ejemplos de formación de bajo coste
Light-R1 demuestra la viabilidad de un entrenamiento eficaz, y los usuarios pueden consultar los guiones de entrenamiento para adaptar el modelo a otros dominios (por ejemplo, la física).
Trucos y consejos
- Mejora de la precisión del razonamiento: Aumentar
max_tokens
o promediados en varias ejecuciones. - Problemas de depuraciónVisualice los registros de evaluación para analizar el proceso de razonamiento del modelo sobre temas específicos.
- Apoyo comunitarioÚnete al grupo WeChat de la página de GitHub para ponerte en contacto con los desarrolladores.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Puestos relacionados
Sin comentarios...