Déploiement de recommandeurs génératifs avec NVIDIA Dynamo-Triton et HSTU
NVIDIA démontre un flux de travail de bout en bout pour servir les modèles Hierarchical Sequential Transduction Unit (HSTU) à l'aide de PyTorch AOTI, du cache FlexKV et de Dynamo-Triton afin de réduire la latence d'inférence.
Traduit automatiquement depuis l'original anglais.
NVIDIA a publié un guide technique détaillant comment déployer des systèmes de recommandation générative basés sur les unités de transduction séquentielle hiérarchique (HSTU) en utilisant son serveur d'inférence Dynamo-Triton. Publié fin septembre 2026, ce guide décrit un flux de travail de bout en bout combinant la compilation Ahead-of-Time Inductor de PyTorch avec un cache clé-valeur hébergé sur GPU pour gérer efficacement les longues séquences d'historique utilisateur.
Cette publication s'adresse aux ingénieurs qui construisent des moteurs de personnalisation à grande échelle et doivent équilibrer la complexité des modèles avec des budgets de latence stricts. En intégrant ces outils, les développeurs peuvent servir des modèles de recommandation sensibles aux séquences sans réécrire le code pour des environnements d'exécution distincts, obtenant ainsi des gains de vitesse significatifs sur le matériel moderne.
Ce qui s'est passé
Les systèmes de recommandation générative modifient la façon dont les plateformes gèrent la personnalisation en traitant le comportement utilisateur comme un problème de modélisation de séquence plutôt que comme une série d'étapes isolées de récupération et de classement. Dans ce paradigme, les interactions utilisateurs, le contexte et les éléments candidats deviennent des jetons dans un flux d'événements à haute cardinalité. Le modèle apprend à prédire les prochains éléments pertinents en se basant sur cette séquence. Bien que cette approche capture des comportements séquentiels riches, elle introduit des défis majeurs en matière de service dus aux longs historiques utilisateurs et aux grandes tables d'incrustations (embeddings).
Pour relever ces défis, NVIDIA a mis à jour son dépôt recsys-examples avec un flux de travail complet d'inférence HSTU. Ce flux utilise Dynamo-Triton, anciennement connu sous le nom de Triton Inference Server, pour gérer le cycle de vie du déploiement. Le système utilise PyTorch AOTI pour compiler les modèles en artefacts C++ natifs, réduisant ainsi la surcharge liée à Python. Il intègre également un cache clé-valeur basé sur FlexKV pour stocker les états d'attention réutilisables, évitant le besoin de recalculer les longs historiques utilisateurs pour chaque requête.
Le guide fournit des benchmarks montrant que cette pile technologique offre des gains de performance mesurables. Sur un GPU NVIDIA RTX PRO 6000 Blackwell Workstation Edition, le modèle HSTU à huit couches a atteint une latence jusqu'à 5,93 fois inférieure avec une taille de lot de 8 lorsqu'un taux de réussite du cache clé-valeur sur GPU de 100 % est utilisé. Cette amélioration est relative à la même configuration sans cache, soulignant l'efficacité de la réutilisation des états calculés.
Comment cela fonctionne
Le cœur de ce flux de travail repose sur la combinaison de la compilation anticipée (ahead-of-time) et d'une mise en cache intelligente. PyTorch AOTI exporte le modèle de classement HSTU dans un paquet incluant l'archive compilée, les métadonnées et les fichiers de table d'incrustations. Cet artefact peut être chargé par un environnement d'exécution C++ natif, ce qui élimine la surcharge d'interprétation associée à l'exécution standard en Python. L'implémentation des incrustations optimise davantage la mémoire en utilisant un NV Embedding Cache, qui ne stocke que les incrustations populaires dans la mémoire GPU tout en conservant la table complète dans la mémoire CPU.
L'efficacité du service est encore améliorée par le KVCacheManager, qui gère le stockage des données clé-valeur issues des calculs de séquence précédents. Ce gestionnaire utilise une table de données clé-valeur paginée dans la mémoire GPU, prenant en charge des opérations telles que la recherche, l'allocation et l'éviction. Lorsque la mémoire GPU est contrainte, les anciens états utilisateurs sont évincés selon une politique de moins récemment utilisés (LRU), le stockage côté hôte fournissant un niveau supplémentaire. Le noyau d'attention HSTU consomme directement les données de ce cache, permettant au modèle d'ignorer le recalcul des parties stables de l'historique d'un utilisateur.
Dynamo-Triton sert de couche de production, chargeant le paquet compilé via AOTI grâce à son backend PyTorch. Cette configuration garantit que la validation effectuée lors du développement via la relecture C++ native correspond étroitement au service en production. Le système gère le traitement des requêtes, les métriques et l'intégration du backend, créant une pile unifiée pour l'inférence des recommandeurs génératifs.
Détails clés
- Benchmark matériel : Les tests ont été réalisés sur un GPU NVIDIA RTX PRO 6000 Blackwell Workstation Edition en utilisant la configuration de classement KuaiRand-1K.
- Améliorations de latence : Le modèle HSTU à huit couches a montré une réduction de latence de 5,93 fois avec une taille de lot de 8 et 100 % de réussites du cache KV sur GPU, par rapport à l'inférence AOTI sans cache.
- Structure du modèle : Le benchmark a utilisé des variantes HSTU à trois et huit couches, une taille cachée de 512, quatre têtes d'attention et des poids BF16.
- Longueur de séquence : La longueur maximale de l'historique de séquence était de 8 192 jetons, avec une longueur de séquence alignée effective de 8 320 jetons.
- Méthode de compilation : PyTorch AOTI compile le modèle à l'avance en artefacts C++ natifs, réduisant la surcharge d'exécution par rapport au backend Python standard.
- Mécanisme de mise en cache : Le cache KV basé sur FlexKV stocke les états d'attention réutilisables, évitant le recalcul des longs historiques utilisateurs lorsque seuls de nouveaux jetons sont ajoutés.
Pourquoi c'est important
Pour les ingénieurs logiciels développant des systèmes de recommandation, la latence est une contrainte critique. Les retards dans le classement peuvent avoir un impact direct sur les temps de chargement des pages et l'engagement des utilisateurs. À mesure que les modèles deviennent plus sensibles aux séquences pour améliorer la qualité de la personnalisation, le coût computationnel du traitement des longs historiques utilisateurs augmente. Ce flux de travail démontre qu'il est possible de maintenir des architectures de modèles génératifs complexes tout en respectant des exigences de latence strictes grâce à une infrastructure de service optimisée.
L'intégration d'AOTI et du cache KV répond à deux goulets d'étranglement majeurs : la surcharge d'exécution et le calcul redondant. En compilant les modèles à l'avance, les développeurs suppriment la pénalité liée à l'interprétation Python lors de l'inférence. En mettant en cache les états clé-valeur, ils évitent de répéter les calculs d'attention coûteux pour les parties statiques de l'historique utilisateur. Cela permet aux équipes de faire évoluer la profondeur du modèle et la longueur de la séquence sans augmenter proportionnellement les coûts d'inférence.
De plus, l'alignement entre la validation en développement et le service en production réduit le risque opérationnel. L'utilisation du même paquet AOTI pour la validation C++ et le déploiement Dynamo-Triton garantit que les caractéristiques de performance observées lors des tests restent valables en production. Cette cohérence simplifie le passage de la recherche au déploiement pour les systèmes de recommandation générative.
Ce que vous pouvez faire
- Clonez le dépôt NVIDIA
recsys-examplespour accéder au guide d'inférence HSTU et au code d'exemple. - Consultez la documentation de Dynamo-Triton pour comprendre comment configurer le backend PyTorch AOTI pour vos modèles.
- Expérimentez avec la mise en cache basée sur FlexKV pour mesurer les réductions de latence pour vos longueurs d'historique utilisateur spécifiques.
- Validez les artefacts AOTI exportés en utilisant la relecture C++ native pour assurer la correction avant le déploiement en production.
- Effectuez des benchmarks de vos modèles HSTU à différentes tailles de lot pour déterminer la configuration optimale pour votre matériel.
- Explorez les fonctionnalités du NV Embedding Cache pour réduire l'utilisation de la mémoire GPU pour les grandes tables d'incrustations catégorielles.
