Biblioteca de Python que ejecuta modelos de lenguaje grandes capa por capa para que los modelos de 70B puedan inferir en una sola GPU de 4 GB, sin cuantización.
DLLXW/baby-llama2-chinese
Pipeline desde cero de preentrenamiento y SFT para un modelo pequeño de estilo LLaMA2 en chino, ejecutable en una sola GPU de 24 GB.
- Estrellas
- 2,923
- Forks
- 354
- Issues abiertos
- 42
- Último commit
- hace 2 meses
¿Qué es?
Baby-Llama2-Chinese es un proyecto educativo que construye de principio a fin un modelo de lenguaje pequeño en chino, de estilo LLaMA2. Abarca la tokenización de corpus, el preentrenamiento, el ajuste fino supervisado (SFT) con conjuntos de datos de instrucciones y la inferencia. El objetivo declarado es crear un modelo conversacional con capacidad básica para responder preguntas en chino usando una sola GPU de 24 GB.
El pipeline utiliza el tokenizador de ChatGLM2-6B, cuyo vocabulario de 64.793 tokens cabe en almacenamiento uint16, y procesa corpus de preentrenamiento como Wikipedia-zh, BaiduBaiKe, C4_zh y WuDaoCorpora para convertirlos en archivos binarios. El preentrenamiento se ejecuta mediante torchrun en varias GPU, y los scripts de SFT generan ejemplos de instrucciones y respuestas donde la pérdida se calcula únicamente sobre la respuesta. Se publican para descargar checkpoints preentrenados de entre 92 M y 218 M de parámetros, además de varias versiones SFT para conversaciones generales y médicas.
El repositorio también incluye scripts de limpieza de datos para filtrar textos cortos y deduplicar mediante MinHash o SimHash, además de un infer.py unificado que carga checkpoints históricos y detecta automáticamente las dimensiones del modelo. El modelo de recompensa y la etapa de aprendizaje por refuerzo figuran como planes, pero aún no están implementados.
Funciones clave
- 01Abarca la configuración del tokenizador, el preentrenamiento y el SFT de todos los parámetros en un solo repositorio.
- 02Preentrena un modelo en chino de entre 92 M y 218 M de parámetros con una sola GPU de 24 GB.
- 03Preprocesa corpus y los convierte en archivos binarios uint16 con el tokenizador de ChatGLM2-6B.
- 04Incluye scripts de deduplicación con MinHash y SimHash para limpiar corpus.
- 05Proporciona infer.py, que carga checkpoints de preentrenamiento y SFT y detecta automáticamente sus dimensiones.
- 06Publica pesos preentrenados y ajustados para descargar.
Casos de uso
- Aprender cómo se preentrena y ajusta desde cero un modelo pequeño de estilo LLaMA.
- Experimentar con corpus de preentrenamiento en chino con recursos de GPU limitados.
- Comparar cómo afectan el tamaño del modelo y del vocabulario a la pérdida de preentrenamiento.
- Crear un modelo conversacional pequeño y especializado en un dominio, como uno médico de preguntas y respuestas, a partir de datos SFT existentes.
Inicio rápido
- 1
Descarga el corpus de preentrenamiento tokenizado desde el enlace de Baidu Netdisk (unos 118 GB).
- 2
Coloca los datos descargados en el directorio ./data y ejecuta el script de procesamiento de datos.
python data_process.py - 3
Ejecuta el preentrenamiento con torchrun en 4 GPU (configuración de ejemplo del README).
torchrun --standalone --nproc_per_node=4 pretrain.py - 4
Ejecuta el ajuste fino SFT.
python sft.py
Antes de usarlo
- La configuración de ejemplo para el preentrenamiento del README requiere varias GPU; el autor señala que el hardware con 4 3090 limita el tamaño del modelo y del corpus.
- El corpus completo de preentrenamiento ocupa unos 118 GB y debe descargarse desde Baidu Netdisk.
- La mayoría de las descargas de datos y modelos están alojadas en Baidu Netdisk, lo que puede resultar incómodo fuera de China.
- La documentación está principalmente en chino y la etapa de aprendizaje por refuerzo sigue marcada como pendiente.
Temas
Preguntas frecuentes
- ¿Qué es baby-llama2-chinese?
- Pipeline desde cero de preentrenamiento y SFT para un modelo pequeño de estilo LLaMA2 en chino, ejecutable en una sola GPU de 24 GB. Baby-Llama2-Chinese es un proyecto educativo que construye de principio a fin un modelo de lenguaje pequeño en chino, de estilo LLaMA2. Abarca la tokenización de corpus, el preentrenamiento, el ajuste fino supervisado (SFT) con conjuntos de datos de instrucciones y la inferencia. El objetivo declarado es crear un modelo conversacional con capacidad básica para responder preguntas en chino usando una sola GPU de 24 GB.
- ¿baby-llama2-chinese es gratuito? ¿Qué licencia tiene?
- baby-llama2-chinese es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿baby-llama2-chinese sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de baby-llama2-chinese fue el 13 ago 2026.
- ¿Para qué puedo usar baby-llama2-chinese?
- Aprender cómo se preentrena y ajusta desde cero un modelo pequeño de estilo LLaMA. Experimentar con corpus de preentrenamiento en chino con recursos de GPU limitados. Comparar cómo afectan el tamaño del modelo y del vocabulario a la pérdida de preentrenamiento. Crear un modelo conversacional pequeño y especializado en un dominio, como uno médico de preguntas y respuestas, a partir de datos SFT existentes.
- ¿Cómo se instala baby-llama2-chinese?
- Descarga el corpus de preentrenamiento tokenizado desde el enlace de Baidu Netdisk (unos 118 GB). Coloca los datos descargados en el directorio ./data y ejecuta el script de procesamiento de datos.: python data_process.py Ejecuta el preentrenamiento con torchrun en 4 GPU (configuración de ejemplo del README).: torchrun --standalone --nproc_per_node=4 pretrain.py Ejecuta el ajuste fino SFT.: python sft.py
- ¿Dónde consigo baby-llama2-chinese?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/DLLXW/baby-llama2-chinese
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Guía y código en PyTorch para entrenar desde cero un LLM transformer, desde el preentrenamiento hasta SFT, modelado de recompensas, DPO/PPO/GRPO y generación.
Un entorno mínimo y fácil de modificar que cubre todo el flujo de trabajo de los LLM, desde la tokenización y el preentrenamiento hasta el ajuste fino, la evaluación y el chat, en un único nodo con GPU.
Una biblioteca de Hugging Face para el postentrenamiento de modelos de lenguaje transformer con SFT, GRPO, DPO, KTO y modelado de recompensas.
Framework gratuito y de código abierto para ajustar y realizar el posentrenamiento de modelos de lenguaje grandes mediante archivos YAML.
Herramienta CLI para ajustar y seguir entrenando LLM con una sola configuración YAML, con opciones para usar GPU de consumo con poca VRAM.