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.
Plan du cours
Introduction au développement d'opérateurs personnalisés
- Pourquoi construire des opérateurs personnalisés ? Cas d'usage et contraintes
- Structure du runtime CANN et points d'intégration des opérateurs
- Vue d'ensemble de TBE, TIK et TVM dans l'écosystème IA de Huawei
Utilisation de TIK pour la programmation d'opérateurs à bas niveau
- Compréhension du modèle de programmation TIK et des API prises 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ébogage 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
- Vue d'ensemble de TVM en tant que compilateur pour les opérateurs tenseur
- Écriture d'un ordonnancement (schedule) pour un opérateur personnalisé dans TVM
- Ajustement (tuning), benchmarking et génération de code TVM pour Ascend
Intégration avec les frameworks et les modèles
- Enregistrement des 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 d'un opérateur d'attention tenant compte de la mémoire
- Bonnes pratiques pour le déploiement d'opérateurs personnalisés sur différents dispositifs
Résumé et prochaines étapes
Pré requis
- Solides connaissances des détails internes des modèles IA et du 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 optimiseurs au niveau du graphe
Public cible
- Ingénieurs compilateurs travaillant sur des chaînes d'outils IA
- Développeurs système axés sur l'optimisation IA à bas niveau
- Développeurs construisant des opérateurs personnalisés ou ciblant de nouvelles charges de travail IA
14 Heures