Merci d'avoir envoyé votre demande ! Un membre de notre équipe vous contactera sous peu.
Merci d'avoir envoyé votre réservation ! Un membre de notre équipe vous contactera sous peu.
Durée 14 heures
Plan du cours
Introduction au développement d'opérateurs personnalisés
- Pourquoi créer des opérateurs personnalisés ? Cas d'usage et contraintes
- Structure du runtime CANN et points d'intégration des opérateurs
- Aperçu de TBE, TIK et TVM dans l'écosystème IA de Huawei
Utilisation de TIK pour la programmation d'opérateurs de bas niveau
- Compréhension du modèle de programmation TIK et des API pris en charge
- Gestion de la mémoire et stratégie de tuilage (tiling) dans TIK
- Création, compilation et enregistrement d'un opérateur personnalisé avec CANN
Test et validation des opérateurs personnalisés
- Tests unitaires et tests d'intégration des opérateurs dans le graphe
- Dépannage des problèmes de performance au niveau du noyau (kernel)
- Visualisation de l'exécution des opérateurs et du comportement des tampons (buffers)
Ordonnancement et optimisation basés sur TVM
- Aperçu de TVM en tant que compilateur pour les opérations sur tenseurs
- Rédaction d'un ordonnancement (schedule) pour un opérateur personnalisé dans TVM
- Ajustement (tuning), benchmarking et génération de code de TVM pour Ascend
Intégration avec les cadres et les modèles
- Enregistrement d'opérateurs personnalisés pour MindSpore et ONNX
- Vérification de l'intégrité du modèle et du comportement de repli (fallback)
- Prise en charge des graphes multi-opérateurs avec précision mixte
Études de cas et optimisations spécialisées
- Étude de cas : convolution haute efficacité pour de petites formes d'entrée
- Étude de cas : optimisation de l'opérateur d'attention sensible à la mémoire
- Bonnes pratiques pour le déploiement d'opérateurs personnalisés sur différents appareils
Résumé et prochaines étapes
Pré requis
- Solides connaissances sur les mécanismes internes des modèles d'IA et le calcul au niveau des opérateurs
- Expérience avec les environnements de développement Python et Linux
- Familiarité avec les compilateurs de réseaux de neurones ou les optimisateurs au niveau du graphe
Public cible
- Ingénieurs compilateurs travaillant sur les chaînes d'outils IA
- Développeurs de systèmes axés sur l'optimisation IA de bas niveau
- Développeurs créant des opérateurs personnalisés ou ciblant de nouvelles charges de travail IA