X-R1: Formación de modelos 0,5B en dispositivos comunes a bajo coste
 Últimos recursos sobre IAPublicado hace 8 meses Círculo de intercambio de inteligencia artificial 26.8K 00
Introducción general
X-R1 es un marco de aprendizaje por refuerzo de código abierto en GitHub por el equipo dhcode-cpp, cuyo objetivo es proporcionar a los desarrolladores una herramienta eficiente y de bajo coste para entrenar modelos basados en el aprendizaje por refuerzo de extremo a extremo. El proyecto cuenta con el apoyo de DeepSeek-R1 Inspirado en X-R1 y open-r1, X-R1 se centra en la creación de un entorno de formación que sea fácil de utilizar y que requiera pocos recursos. El producto principal de X-R1 es R1-Zero, un modelo con una covarianza de 0,5B que pretende ser capaz de formarse eficazmente en el hardware habitual. Admite varios modelos base (0,5B, 1,5B, 3B) y mejora la inferencia del modelo y el cumplimiento del formato mediante el aprendizaje por refuerzo. El proyecto está desarrollado en C++ y combina vLLM Motores de inferencia y GRPO Algoritmos para razonamiento matemático, procesamiento de tareas chinas y otros escenarios. Tanto si eres un desarrollador individual como un investigador, X-R1 te ofrece una opción de código abierto que merece la pena probar.

Lista de funciones
- Formación de modelos de bajo costeSoporte para el entrenamiento de modelos R1-Cero con 0,5B de parámetros en hardware común (por ejemplo, 4 GPUs 3090).
 - Optimización del aprendizajeMejorar la capacidad de inferencia y la precisión del formato de salida de los modelos mediante el aprendizaje por refuerzo (RL) de extremo a extremo.
 - Compatibilidad con varios modelosCompatible con 0,5B, 1,5B, 3B y otros modelos básicos, flexible para adaptarse a los diferentes requisitos de la tarea.
 - Muestreo acelerado por GPUIntegración de vLLM como motor de inferencia en línea para el muestreo rápido de datos GRPO.
 - Razonamiento matemático chino: Apoya tareas de razonamiento matemático en un entorno de lengua china, generando procesos de respuesta claros.
 - Evaluación comparativaProporciona scripts benchmark.py para evaluar la precisión y las capacidades de salida de formato del modelo.
 - Configuración de código abiertoProporcione un archivo de configuración detallado (por ejemplo, zero3.yaml) para los parámetros de formación definidos por el usuario.
 
Utilizar la ayuda
X-R1 es un proyecto de código abierto basado en GitHub, los usuarios necesitan algunos fundamentos de programación y un entorno de hardware para instalarlo y utilizarlo. A continuación encontrarás una guía detallada de instalación y uso que te ayudará a empezar rápidamente.
Proceso de instalación
- Preparación medioambiental
- requisitos de hardwareAl menos 1 GPU NVIDIA (por ejemplo, 3090), se recomiendan 4 para un rendimiento óptimo; la CPU admite el conjunto de instrucciones AVX/AVX2; al menos 16 GB de RAM.
 - sistema operativoLinux (por ejemplo, Ubuntu 20.04+), Windows (requiere compatibilidad con WSL2) o macOS.
 - Herramientas dependientesInstalar Git, Python 3.8+, CUDA Toolkit (para adaptarse a la GPU, por ejemplo 11.8), compilador C++ (por ejemplo g++).
sudo apt update sudo apt install git python3 python3-pip build-essential - Controlador GPUAsegúrese de que el controlador NVIDIA está instalado y coincide con la versión CUDA ejecutando el comando 
nvidia-smiCompruébalo. 
 - proyecto de clonación
Ejecute el siguiente comando en un terminal para descargar el repositorio X-R1 localmente:git clone https://github.com/dhcode-cpp/X-R1.git cd X-R1 - Instalación de dependencias
- Instale las dependencias de Python:
pip install -r requirements.txt - Instale Accelerate (para la formación distribuida):
pip install accelerate 
 - Instale las dependencias de Python:
 - Entorno de configuración
- Edita el perfil en función del número de GPUs (por ejemplo 
recipes/zero3.yaml), establecenum_processes(por ejemplo, 3, lo que indica que 3 de las 4 GPUs se utilizan para el entrenamiento y 1 para la inferencia vLLM). - Ejemplo de configuración:
num_processes: 3 per_device_train_batch_size: 1 num_generations: 3 
 - Edita el perfil en función del número de GPUs (por ejemplo 
 - Verificar la instalación
Ejecute el siguiente comando para comprobar que el entorno está configurado correctamente:accelerate configSiga las instrucciones para seleccionar los ajustes de hardware y distribución.
 
Funciones principales
1. Formación de modelos
- formación inicialEntrenamiento del modelo R1-Cero mediante el algoritmo GRPO. Ejecute el siguiente comando:
ACCELERATE_LOG_LEVEL=info accelerate launch \ --config_file recipes/zero3.yaml \ --num_processes=3 \ src/x_r1/grpo.py \ --config recipes/X_R1_zero_0dot5B_config.yaml \ > ./output/x_r1_0dot5B_sampling.log 2>&1 - Descripción funcionalEste comando inicia el entrenamiento del modelo 0.5B, y los registros se guardan en el archivo 
outputCarpeta. El proceso de entrenamiento utilizará el aprendizaje por refuerzo para optimizar la capacidad de razonamiento del modelo. - advertenciaAsegúrese de que el tamaño global del lote (
num_processes * per_device_train_batch_size) puede sernum_generationsIntegrar, de lo contrario se informará de un error. 
2. Razonamiento matemático chino
- Configurar las tareas matemáticas: Utilice el archivo de configuración diseñado para chino:
ACCELERATE_LOG_LEVEL=info accelerate launch \ --config_file recipes/zero3.yaml \ --num_processes=3 \ src/x_r1/grpo.py \ --config recipes/examples/mathcn_zero_3B_config.yaml \ > ./output/mathcn_3B_sampling.log 2>&1 - flujo de trabajo::
- Prepare un conjunto de datos de problemas matemáticos chinos (por ejemplo, en formato JSON).
 - Modifique la ruta del conjunto de datos en el archivo de configuración.
 - Ejecute el comando anterior y el modelo generará el proceso de inferencia y la salida al registro.
 
 - Funciones destacadas: Soporte para generar pasos detallados de respuestas en chino, adecuado para escenarios educativos.
 
3. Evaluación comparativa
- Evaluación operativa: Uso 
benchmark.pyPrueba de rendimiento del modelo:CUDA_VISIBLE_DEVICES=0,1 python ./src/x_r1/benchmark.py \ --model_name='xiaodongguaAIGC/X-R1-0.5B' \ --dataset_name='HuggingFaceH4/MATH-500' \ --output_name='./output/result_benchmark_math500' \ --max_output_tokens=1024 \ --num_gpus=2 - Interpretación de los resultadosEl script genera la métrica de precisión y la métrica de formato y guarda los resultados en un archivo JSON.
 - Escenarios de usoValidación del rendimiento del modelo en tareas matemáticas y optimización de los parámetros de entrenamiento.
 
habilidad operativa
- Vista de registroUna vez finalizado el entrenamiento o la prueba, compruebe el archivo de registro (por ejemplo, el archivo 
x_r1_0dot5B_sampling.log) para depurar el problema. - Optimización multi-GPU: Si se dispone de más GPUs, se puede ajustar el 
num_processesresponder cantandonum_gpusparámetros para mejorar la eficiencia paralela. - detección de erroresSi se produce un error en el tamaño del lote, ajuste el 
per_device_train_batch_sizeresponder cantandonum_generationsHaz que coincida. 
Recomendaciones de uso
- Para un uso inicial, se recomienda empezar con un modelo a pequeña escala (por ejemplo, 0,5B) y luego ampliar a un modelo de 3B una vez que se familiarice con el proceso.
 - Compruebe regularmente su repositorio de GitHub para ver si hay actualizaciones y nuevas funciones y correcciones.
 - Para obtener ayuda, ponte en contacto con el desarrollador en dhcode95@gmail.com.
 
Con estos pasos, puede configurar fácilmente un entorno X-R1 y empezar a entrenar o probar modelos. Ya sea para investigación o desarrollo, este marco proporciona un soporte eficaz.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial  Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...




