Implementación oficial de FlashAttention, un kernel de atención exacta y eficiente en memoria para entrenar e inferir con modelos Transformer en GPU.
duoan/TorchCode
Plataforma interactiva para practicar la implementación desde cero de operadores y arquitecturas de PyTorch, con evaluación automática en Jupyter.
Alternativa open source a:LeetCode
- Estrellas
- 4,695
- Forks
- 420
- Issues abiertos
- 16
- Último commit
- hace 3 meses
¿Qué es?
TorchCode es un conjunto de 41 ejercicios de programación para practicar PyTorch desde cero, con un formato similar al de LeetCode. Cada ejercicio te pide implementar una operación común o un componente de modelo, como softmax, LayerNorm, atención multi-head, RoPE, LoRA o un bloque de GPT-2, normalmente sin recurrir a torch.nn. Los ejercicios se presentan en notebooks de Jupyter con una plantilla en blanco y una solución de referencia aparte.
Un módulo evaluador (torch_judge) ejecuta tu implementación con casos de prueba. Comprueba la corrección numérica mediante torch.allclose, verifica el flujo de gradientes con autograd y prueba la coherencia de las dimensiones y los casos límite; después, informa si se ha aprobado o no cada prueba. Desde las celdas del notebook se puede acceder a pistas y a un panel de progreso, y un botón de la barra de herramientas restablece el notebook a su estado en blanco.
La plataforma funciona en CPU dentro de un único contenedor de Docker o Podman, sin necesidad de GPU ni de base de datos. También se puede abrir en Hugging Face Spaces o en Google Colab, donde el evaluador se puede instalar desde PyPI. Se incluye además una interfaz web alternativa independiente, desarrollada con Next.js y FastAPI.
Funciones clave
- 0141 ejercicios sobre fundamentos, variantes de atención, bloques Transformer, entrenamiento, decodificación y funciones de pérdida basadas en preferencias.
- 02El evaluador automático comprueba la corrección de las salidas, el flujo de gradientes, las dimensiones y los casos límite, y ofrece comentarios de aprobado o no aprobado para cada prueba.
- 03Hay pistas y soluciones de referencia para cada ejercicio.
- 04La opción de restablecimiento de la barra de herramientas devuelve el notebook a su plantilla en blanco para volver a practicar.
- 05Funciona en CPU dentro de un único contenedor de Docker o Podman, o en Google Colab sin configuración local.
Casos de uso
- Prepararse para entrevistas de ingeniería de ML en las que se pide a los candidatos escribir operaciones de PyTorch en una pizarra o durante una sesión de programación.
- Aprender cómo funcionan softmax, la atención, la normalización o LoRA implementándolos sin usar herramientas de alto nivel.
- Practicar operaciones con tensores de PyTorch y autograd en una laptop sin GPU.
- Realizar ejercicios guiados en un aula o grupo de estudio mediante enlaces de Colab.
Inicio rápido
- 1
Descarga y ejecuta la imagen de Docker precompilada
docker run -p 8888:8888 -e PORT=8888 ghcr.io/duoan/torchcode:latest - 2
Abre la aplicación en el navegador
Antes de usarlo
- Requiere Docker o Podman, o bien una compilación local con make.
- Judge se ejecuta en Jupyter y está diseñado principalmente para practicar con PyTorch, no para un uso general.
- Los metadatos del proyecto no especifican ninguna licencia.
Temas
Preguntas frecuentes
- ¿Qué es TorchCode?
- Plataforma interactiva para practicar la implementación desde cero de operadores y arquitecturas de PyTorch, con evaluación automática en Jupyter. TorchCode es un conjunto de 41 ejercicios de programación para practicar PyTorch desde cero, con un formato similar al de LeetCode. Cada ejercicio te pide implementar una operación común o un componente de modelo, como softmax, LayerNorm, atención multi-head, RoPE, LoRA o un bloque de GPT-2, normalmente sin recurrir a torch.nn. Los ejercicios se presentan en notebooks de Jupyter con una plantilla en blanco y una solución de referencia aparte.
- ¿TorchCode es gratuito? ¿Qué licencia tiene?
- TorchCode no declara ninguna licencia. Su código es público, pero sin licencia no tienes permiso explícito para reutilizarlo; consulta al autor antes de depender de él.
- ¿TorchCode sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de TorchCode fue el 31 jul 2026.
- ¿Para qué puedo usar TorchCode?
- Prepararse para entrevistas de ingeniería de ML en las que se pide a los candidatos escribir operaciones de PyTorch en una pizarra o durante una sesión de programación. Aprender cómo funcionan softmax, la atención, la normalización o LoRA implementándolos sin usar herramientas de alto nivel. Practicar operaciones con tensores de PyTorch y autograd en una laptop sin GPU. Realizar ejercicios guiados en un aula o grupo de estudio mediante enlaces de Colab.
- ¿Cómo se instala TorchCode?
- Descarga y ejecuta la imagen de Docker precompilada: docker run -p 8888:8888 -e PORT=8888 ghcr.io/duoan/torchcode:latest Abre la aplicación en el navegador
- ¿Dónde consigo TorchCode?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/duoan/TorchCode
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Guía de estudio de LeetCode en chino, con problemas ordenados, soluciones ilustradas, videos explicativos y código en C++, Java, Python, Go y JavaScript.
Traducción al chino del libro «Build a Large Language Model (From Scratch)», sobre los principios de los LLM y la implementación de un modelo al estilo GPT.
Soluciones en Go para problemas de LeetCode y un e-book complementario, Cookbook, sobre estructuras de datos y algoritmos para preparar entrevistas técnicas.
Guía de estudio que agrupa preguntas de entrevistas de LeetCode por patrones de resolución reutilizables, con una aplicación web para explorarlas y llevar un seguimiento.
Colección de apuntes y soluciones de DSA, programación competitiva y fundamentos de informática en Jupyter Notebook, enfocada en preparar entrevistas para empresas FAANG.