Aivizor
Aivizor
EstilosCreacionesComunidad
Atrás
  1. Comunidad
  2. /
  3. Hugging Face

El 29 de mayo de 2026 se publicó la primera entrega de una serie didáctica sobre profiling en PyTorch que introduce

News
Á
Álvaro Rivas

5/31/2026, 5:07:12 AM

El 29 de mayo de 2026 se publicó la primera entrega de una serie didáctica sobre profiling en PyTorch que introduce

El 29 de mayo de 2026 se publicó la primera entrega de una serie práctica sobre profiling en PyTorch que presenta torch.profiler y busca reducir la barrera de entrada para desarrolladores. Firmada por Aritra Roy Gosthipaty, Sayak Paul, Sergio Paniego, Rémi Ouazan Reboul y Pedro Cuenca, la guía explica paso a paso cómo obtener trazas útiles para identificar y corregir cuellos de botella en entrenamiento e inferencia. Esto facilita a ingenieros e investigadores comprobar mejoras reales de rendimiento en sus modelos.

La demostración parte de la operación más básica aún relevante en redes neuronales: multiplicación de matrices seguida de suma de sesgo, implementada como torch.add(torch.matmul(x, w), b). El código de referencia se ofrece en 01_matmul_add.py y la receta emplea torch.profiler.profile con activities=[torch.profiler.ProfilerActivity.CPU, torch.profiler.ProfilerActivity.CUDA]. Los autores recomiendan marcar bloques con torch.profiler.record_function("matmul_add") y ejecutar varias iteraciones para calentar la GPU; las mediciones del artículo se realizaron en una NVIDIA A100 — SXM4-80GB.

Los autores subrayan el contexto: sin profiling no es posible saber qué optimizar — ya sea para aumentar tokens/segundo en un LLM, reducir la latencia de inferencia o entender por qué un bucle de entrenamiento es lento — pero las trazas suelen ser densas y difíciles de interpretar. La serie anuncia dos entregas siguientes: Part 2 ampliará el ejemplo a nn.Linear y a un pequeño MLP para motivar optimizaciones y ver kernels, y Part 3 aplicará lo aprendido a modelos de lenguaje grandes.

En términos prácticos, la primera parte enseña a configurar torch.profiler y a interpretar sus salidas: qué devuelve, cómo leer la tabla del profiler y la traza, y cómo distinguir la pista de CPU, la pista de GPU y brechas sospechosas en la ejecución. Además muestra cómo seguir la cadena de eventos desde una llamada en Python hasta el kernel CUDA correspondiente y compara qué cambia —y qué no-al aplicar torch.compile sobre el mismo código.

El post define conceptos útiles para principiantes: un kernel GPU es el programa que se ejecuta en muchos hilos del dispositivo, mientras que la CPU es la que lo programa y lanza. Entre las recomendaciones concretas figuran mantener el script de ejemplo abierto para recorrerlo paso a paso, usar record_function para etiquetar regiones legibles en la traza y ejecutar múltiples iteraciones para obtener mediciones estables y reproducibles.

La serie está diseñada para aumentar su complejidad de forma progresiva — desde matmul+suma, pasando por nn.Linear y MLP, hasta LLMs— y no exige más que conocimientos básicos de PyTorch. La pieza invita a practicar con 01_matmul_add.py y a comparar trazas antes y después de aplicar técnicas como torch.compile para identificar qué optimizaciones realmente aportan ganancia de rendimiento.

Fuentes

  1. Hugging Face Blog · 5/29/2026
0
0
0

Respuestas (0)

Aún no hay respuestas en este tema.

9:41