Intégrer et créer des kernels cuTile dans 🤗 Transformers
L'objectif principal du projet TileGym est de fournir des kernels performants pour l'entraînement et l'inférence de LLM. Nous intégrerons les kernels appropriés disponibles dans le projet TileGym aux modèles LLM fournis par la bibliothèque transformers de Hugging Face pour valider la correction fonctionnelle end-to-end et les améliorations de performance. Au lieu de modifier le code source de transformers, nous adopterons une approche non-intrusive de monkey-patch : nous remplacerons certains modules/classes/méthodes dans la bibliothèque transformers qui implémentent le modèle Transformer que nous souhaitons intégrer, de sorte qu'à l'instantiation du modèle, les composants centraux de ce modèle seront remplacés par les implémentations TileGym. À l'exécution, le modèle invoquera réellement les kernels TileGym en arrière-plan. De plus, nous suivrons une boucle de harness d'agent de style auto-research pour créer et intégrer de nouveaux kernels cuTile au modèle cible afin d'améliorer la couverture des kernels et le débit end-to-end.
Instructions
Ceci s'adresse aux lecteurs humains : Invitez simplement votre Agent IA préféré avec le nom de la skill et l'ID du modèle cible. Par exemple :
Hi, please /monkey-patch-kernels-to-transformers Qwen/Qwen3.5-0.8B.
L'Agent pourrait vous poser plusieurs questions. Apportez des clarifications et donnez une confirmation pour procéder.
Workflow
- Préparer l'environnement d'expérience. Suivez environment-setup.md
- Intégrer les kernels TileGym existants au modèle cible. Suivez kernel-integration.md
- Créer de manière autonome de nouveaux kernels cuTile pour le code PyTorch non couvert. Suivez auto-kernelize.md
- N'hésitez pas à ajouter de nouveaux kernels cuTile en tenant compte des contraintes
- Ne vous arrêtez pas tant que les conditions d'arrêt de la boucle auto-kernelize ne sont pas satisfaites
- Résumer et rapporter
Disciplines
Ceci s'adresse aux Agents IA exécutant ce workflow.
Inventaire de kernels
Les kernels transformers-locaux réutilisables doivent être représentés avec les métadonnées Definition et Solution de style FlashInfer-Bench. Suivez kernel-inventory-schema.md lors de la recherche des besoins de calcul, de l'inventorisation des kernels existants, de la proposition de candidats ou de la création de nouveaux kernels générés.