RedFuser: An Automatic Operator Fusion Framework for Cascaded Reductions on AI Accelerators

Ce papier présente RedFuser, un cadre de fusion automatique d'opérateurs conçu pour optimiser les réductions en cascade sur les accélérateurs d'IA en générant des noyaux exécutables qui surpassent les compilateurs actuels et rivalisent avec des implémentations manuelles.

Xinsheng Tang, Yangcheng Li, Nan Wang, Zhiyi Shu, Xingyu Ling, Junna Xing, Peng Zhou, Qiang Liu

Publié Thu, 12 Ma
📖 4 min de lecture☕ Lecture pause café

Each language version is independently generated for its own context, not a direct translation.

🚀 RedFuser : Le "Super-Chef" qui réorganise la cuisine des IA

Imaginez que vous êtes le chef d'une immense cuisine (un processeur d'IA) et que vous devez préparer des milliers de plats complexes (les calculs d'une intelligence artificielle).

Dans cette cuisine, il y a un problème majeur : la perte de temps.

1. Le Problème : La "Chaine de Commande" inefficace

Actuellement, pour faire certains plats (comme le Softmax dans les modèles de langage type ChatGPT), les cuisiniers (les processeurs) doivent suivre une procédure très rigide et lente :

  1. Ils prennent les ingrédients, les cuisinent un peu, et posent le résultat sur une table.
  2. Ils doivent récupérer ce résultat de la table pour le cuisiner à nouveau.
  3. Ils le reposent, le récupèrent encore une fois pour la troisième étape, etc.

C'est comme si vous deviez aller chercher un oignon dans le frigo, le couper, le mettre dans une assiette, puis retourner au frigo chercher l'assiette pour la remettre dans la casserole, et ainsi de suite.

  • Le résultat ? Beaucoup de temps perdu à courir (déplacements de données) et la cuisine se remplit d'assiettes inutiles (mémoire saturée).

2. La Solution : RedFuser (Le "Fusionneur")

Les auteurs de ce papier ont créé un outil appelé RedFuser. Imaginez RedFuser comme un Super-Chef qui arrive dans la cuisine et dit :

"Stop ! Pourquoi aller chercher l'assiette à chaque fois ? Regardez, on peut tout faire en une seule fois, directement dans la casserole, sans jamais poser les ingrédients sur la table."

RedFuser est un logiciel intelligent qui analyse les recettes et fusionne plusieurs étapes de cuisson en une seule opération fluide.

3. Comment ça marche ? (Les deux astuces magiques)

Pour réussir cette fusion, RedFuser utilise deux techniques ingénieuses :

A. La "Recette Mathématique" (Fusion Automatique)
Avant, les ingénieurs devaient écrire à la main des recettes spéciales pour chaque type de plat (une recette pour l'attention, une autre pour la normalisation, etc.). C'était long et difficile.
RedFuser, lui, utilise des mathématiques pures. Il regarde la structure du plat et se dit : "Ah, ce plat suit une règle mathématique précise. Je peux donc écrire une nouvelle recette qui combine toutes les étapes en une seule."

  • Analogie : Au lieu de vous apprendre à faire un gâteau, un pain et une tarte séparément, RedFuser vous donne une machine qui mélange la pâte, la cuisson et le glaçage en un seul mouvement continu.

B. Le "Compteur à Enregistrement" (Calcul Incrémental)
C'est le génie de la méthode. Parfois, fusionner tout d'un coup demande trop de place dans la cuisine (trop de mémoire).
RedFuser utilise une astuce : au lieu de garder tout le résultat précédent, il met à jour le résultat en temps réel.

  • Analogie : Imaginez que vous comptez les points d'un match de football.
    • Méthode ancienne : À chaque but, vous écrivez le score total sur un papier, vous le rangez, puis vous sortez un nouveau papier pour le prochain but.
    • Méthode RedFuser : Vous gardez un seul tableau noir. Dès qu'un but est marqué, vous effacez l'ancien score et écrivez le nouveau directement. Vous n'avez besoin que d'un seul tableau, peu importe la durée du match.

4. Les Résultats : Vitesse Éclair

Grâce à cette méthode, RedFuser a testé ses recettes sur des cartes graphiques modernes (comme les NVIDIA A10 et H800).

  • Résultat : Il est 2 à 5 fois plus rapide que les meilleurs logiciels actuels (comme ceux utilisés par PyTorch ou TVM).
  • Comparaison : Il atteint la vitesse des recettes "écrites à la main" par des experts mondiaux (comme FlashAttention), mais sans avoir besoin d'un expert humain pour écrire chaque recette. C'est automatique.

En résumé

RedFuser, c'est comme passer d'une cuisine où l'on doit courir partout pour rapporter des ingrédients, à une cuisine où tout est assemblé sur un seul plan de travail, en flux continu.

  • Avantage 1 : Moins de gaspillage (moins de déplacements de données).
  • Avantage 2 : Plus de place (moins de mémoire utilisée).
  • Avantage 3 : Une cuisine beaucoup plus rapide (IA plus réactive).

C'est une avancée majeure qui permet aux IA de devenir plus rapides et plus efficaces, non pas en ajoutant plus de matériel coûteux, mais en organisant mieux le travail déjà existant.