RendimientoRuta Rendimiento

Pipeline de entrada

Leerlo en el Capítulo 5 · checkpoint +50 XP →

Leer, decodificar y tokenizar datos lo bastante rápido para alimentar a las GPUs: el cuello de botella después de arreglar todo lo demás.

Cuando las cuentas del modelo ya son rápidas, el lado de la CPU suele ser el límite: leer shards del almacenamiento, descomprimir, tokenizar, mezclar y armar batches.

Síntomas: la utilización de GPU sube y baja en dientes de sierra, el tiempo por paso no mejora al optimizar el modelo y los logs muestran tiempo esperando el siguiente batch.

Arreglos

  • Más workers del dataloader (procesos) por rango y memoria pinned.
  • Precarga: prepara el batch k+1 mientras entrena el batch k (ver CUDA streams y ejecución asíncrona).
  • Tokeniza por adelantado y guarda shards binarios empaquetados. Es la mayor ganancia para el preentrenamiento de LLM.
  • Asegúrate de que el sistema de archivos paralelo o el almacenamiento de objetos entregue el ancho de banda agregado: GPUs × tokens/s × bytes por token, más el tráfico de checkpoints.

La misión Feed the Beast muestra cómo el cuello de botella pasa a la carga de datos en cuanto se arregla la comunicación.

Úsalo en una misión

Relacionado

Fuentes y lecturas adicionales

Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.