Repolode
Lightning-AI

Lightning-AI/litData

Biblioteca de Python que optimiza conjuntos de datos en un formato por fragmentos para transmitirlos rápidamente desde almacenamiento local o en la nube durante el entrenamiento de modelos.

Estrellas
617
Forks
111
Issues abiertos
53
Último commit
hace 6 días

¿Qué es?

LitData aborda el lento entrenamiento de modelos causado por la carga de datos. Los conjuntos de datos grandes, millones de archivos pequeños o las lecturas lentas desde la nube pueden dejar las GPU esperando. LitData ofrece herramientas para preprocesar conjuntos de datos y convertirlos a su propio formato binario por fragmentos, que permite transmitirlos de forma eficiente desde S3, GCS, Azure, R2, Hugging Face Hub o un disco local.

La biblioteca ofrece varias opciones. Los archivos sin procesar, como imágenes, audio o JSONL, se pueden transmitir directamente con StreamingRawDataset y un PyTorch DataLoader normal, sin necesidad de convertirlos. Para obtener el máximo rendimiento, optimize() convierte los datos en fragmentos que StreamingDataset y StreamingDataLoader leen, con compatibilidad para barajado, drop_last y reanudación de la transmisión. Un operador map() distribuye tareas generales de procesamiento —como cambiar el tamaño de imágenes, crear embeddings o ejecutar inferencias— entre varias máquinas.

LitData también incluye utilidades para conjuntos de datos de Hugging Face, wrappers tipados para imágenes, audio, video y PDF, serializadores personalizados y compatibilidad con grafos de PyTorch Geometric.

Funciones clave

  • 01Convierte conjuntos de datos a un formato binario por fragmentos, optimizado para la transmisión.
  • 02Transmite datos desde S3, GCS, Azure, R2, Hugging Face Hub y rutas locales.
  • 03Transmite archivos sin procesar, como imágenes o audio, sin una etapa de preprocesamiento.
  • 04Permite pausar y reanudar la transmisión de datos a mitad de una época.
  • 05Ofrece un operador map para procesar datos en paralelo entre varias máquinas.

Casos de uso

  • Entrenar con un conjunto de datos demasiado grande para almacenarlo en un disco local y transmitirlo desde el almacenamiento en la nube.
  • Reemplazar millones de archivos de imagen pequeños por datos organizados en fragmentos para reducir la sobrecarga de E/S.
  • Preprocesar datos de forma distribuida, por ejemplo, cambiar el tamaño de imágenes o generar embeddings antes del entrenamiento.
  • Cargar conjuntos de datos de Hugging Face en un formato más rápido para ejecutar entrenamientos repetidamente.

Inicio rápido

  1. 1

    Instala LitData con pip

    pip install litdata
  2. 2

    Transmite archivos existentes directamente con StreamingRawDataset o optimiza los conjuntos de datos en fragmentos para StreamingDataset

Antes de usarlo

  • Necesita PyTorch 2.4 o una versión posterior.
  • Para transmitir a la máxima velocidad, es necesario optimizar los datos previamente una sola vez.

Temas

Preguntas frecuentes

¿Qué es litData?
Biblioteca de Python que optimiza conjuntos de datos en un formato por fragmentos para transmitirlos rápidamente desde almacenamiento local o en la nube durante el entrenamiento de modelos. LitData aborda el lento entrenamiento de modelos causado por la carga de datos. Los conjuntos de datos grandes, millones de archivos pequeños o las lecturas lentas desde la nube pueden dejar las GPU esperando. LitData ofrece herramientas para preprocesar conjuntos de datos y convertirlos a su propio formato binario por fragmentos, que permite transmitirlos de forma eficiente desde S3, GCS, Azure, R2, Hugging Face Hub o un disco local.
¿litData es gratuito? ¿Qué licencia tiene?
litData es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿litData sigue mantenido?
Mantenimiento activo. El último commit de litData fue el 15 oct 2026.
¿Para qué puedo usar litData?
Entrenar con un conjunto de datos demasiado grande para almacenarlo en un disco local y transmitirlo desde el almacenamiento en la nube. Reemplazar millones de archivos de imagen pequeños por datos organizados en fragmentos para reducir la sobrecarga de E/S. Preprocesar datos de forma distribuida, por ejemplo, cambiar el tamaño de imágenes o generar embeddings antes del entrenamiento. Cargar conjuntos de datos de Hugging Face en un formato más rápido para ejecutar entrenamientos repetidamente.
¿Cómo se instala litData?
Instala LitData con pip: pip install litdata Transmite archivos existentes directamente con StreamingRawDataset o optimiza los conjuntos de datos en fragmentos para StreamingDataset
¿Dónde consigo litData?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Lightning-AI/litData

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados