Gracias por enviar su consulta! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Gracias por enviar su reserva! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Duración 14 horas
Temario del curso
Introducción al desarrollo de operadores personalizados
- ¿Por qué construir operadores personalizados? Casos de uso y restricciones
- Estructura del entorno de ejecución (runtime) de CANN y puntos de integración de operadores
- Panorama general de TBE, TIK y TVM en el ecosistema de IA de Huawei
Uso de TIK para la programación de operadores a bajo nivel
- Comprensión del modelo de programación de TIK y las APIs soportadas
- Gestión de memoria y estrategia de tiling en TIK
- Creación, compilación y registro de un operador personalizado en CANN
Pruebas y validación de operadores personalizados
- Pruebas unitarias y de integración de operadores en el grafo
- Depuración de problemas de rendimiento a nivel de núcleo (kernel)
- Visualización de la ejecución del operador y el comportamiento de los buffers
Programación y optimización basada en TVM
- Panorama general de TVM como compilador para operaciones de tensores
- Escritura de una programación (schedule) para un operador personalizado en TVM
- Ajuste (tuning), pruebas de rendimiento (benchmarking) y generación de código de TVM para Ascend
Integración con marcos de trabajo y modelos
- Registro de operadores personalizados para MindSpore y ONNX
- Verificación de la integridad del modelo y el comportamiento de respaldo (fallback)
- Soporte para grafos de múltiples operadores con precisión mixta
Estudios de casos y optimizaciones especializadas
- Estudio de caso: convolución de alta eficiencia para formas de entrada pequeñas
- Estudio de caso: optimización del operador de atención consciente de la memoria (memory-aware)
- Mejores prácticas en la implementación de operadores personalizados a través de dispositivos
Resumen y próximos pasos
Requerimientos
- Conocimiento sólido de los internos de los modelos de IA y del cómputo a nivel de operador
- Experiencia con Python y entornos de desarrollo Linux
- Familiaridad con compiladores de redes neuronales u optimizadores a nivel de grafo
Público objetivo
- Ingenieros de compiladores que trabajan en cadenas de herramientas de IA
- Desarrolladores de sistemas enfocados en la optimización de IA a bajo nivel
- Desarrolladores que construyen operadores personalizados o que se enfocan en cargas de trabajo de IA emergentes