1 points par GN⁺ 2024-12-25 | 1 commentaires | Partager sur WhatsApp
  • Importance de MLC-LLM

    • MLC-LLM permet de compiler et de déployer des LLM sur les GPU AMD en utilisant ROCm
    • Le GPU AMD Radeon™ RX 7900 XTX atteint 80 % des performances de NVIDIA® GeForce RTX™ 4090 et 94 % de celles de la RTX™ 3090 Ti
    • Grâce à la prise en charge de Vulkan, il est également possible de déployer des LLM sur des appareils AMD APU comme la SteamDeck
  • Contexte

    • Depuis la diffusion des LLM open source, de nombreuses solutions d’inférence LLM sont apparues
    • La plupart des solutions d’inférence performantes sont basées sur CUDA et optimisées pour les GPU NVIDIA
    • En raison de la forte demande de disponibilité du calcul, il est utile de prendre en charge un éventail plus large d’accélérateurs matériels
    • AMD constitue un candidat potentiel
  • Matériel et logiciel

    • Le AMD RX 7900 XTX dispose de spécifications comparables au NVIDIA RTX 4090 et à la RTX 3090 Ti
    • Les deux modèles disposent de 24 Go de mémoire, ce qui permet d’héberger des modèles de même taille
    • En FP16, la 4090 est deux fois plus performante que la 7900 XTX, et la 3090 Ti est 1,3 fois plus performante
    • Le RX 7900 XTX coûte 40 % moins cher que la 4090
    • La raison pour laquelle AMD est resté en retrait par le passé est un manque de support logiciel, pas de matériel
  • Compilation de machine learning pour ROCm

    • La machine learning compilation (MLC) est une nouvelle technologie qui automatise l’optimisation des tâches de machine learning
    • MLC-LLM, basé sur Apache TVM Unity, offre un déploiement universel haute performance pour différents backends
    • Grâce à un workflow Python, il compile les modèles de langage et optimise la disposition et le scheduling des kernels GPU
  • MLC pour GPU et APU AMD

    • Plusieurs méthodes de prise en charge des GPU AMD : ROCm, OpenCL, Vulkan, WebGPU
    • La pile ROCm, portée par AMD récemment, reprend de nombreux composants de la pile CUDA
    • Vulkan, un standard graphique de nouvelle génération, offre la prise en charge la plus large sur l’ensemble des dispositifs GPU
    • MLC prend en charge la génération de code automatique, et prend en charge plusieurs approches sans avoir à reconstruire chaque kernel GPU
  • Benchmarks avec le package Python MLC

    • Les modèles Llama 2 7B et 13B ont été benchmarkés avec une quantification 4 bits
    • Les performances d’inférence en lot unique atteignent 80 % de la vitesse de la NVIDIA 4090 avec la sortie de ROCm 5.6
  • Exécution avec Vulkan sur SteamDeck

    • Exécution possible sur une SteamDeck avec APU AMD via Vulkan
    • Sous ROCm, la VRAM GPU est limitée à 4 Go par le BIOS, mais le pilote Mesa Vulkan étend cette mémoire à 16 Go grâce à la mémoire unifiée
  • Discussion et travaux futurs

    • La disponibilité du matériel s’est imposée comme une question majeure à l’ère de l’IA générative
    • La compilation ML permet un déploiement universel performant sur l’ensemble des backends matériels
    • La recherche sur les GPU grand public pourrait se généraliser aux GPU cloud
    • La communauté est encouragée à construire des solutions basées sur le flux de déploiement universel de MLC
  • Conclusion

    • L’ingénierie des systèmes ML reste un enjeu permanent
    • NVIDIA reste en tête de ce domaine grâce à son innovation, et devrait évoluer avec les avancées de nouveaux matériels et logiciels
    • Grâce au flux de développement de la compilation ML basée sur Python, le support d’optimisation ROCm a pu être obtenu en quelques heures
  • Liens et remerciements

    • Pour les détails sur le déploiement de MLC LLM, consultez la page du projet
    • Le code source de MLC LLM est disponible sur le dépôt GitHub officiel
    • Remerciements à la communauté Apache TVM et aux développeurs du compilateur TVM Unity

1 commentaires

 
GN⁺ 2024-12-25
Avis sur Hacker News
  • La performance des GPU grand public d'AMD (RX7900XTX) diffère de celle des GPU datacenter (MI300X), en raison des différences entre les architectures RDNA et CDNA. AMD prévoit de lancer l'architecture UDNA autour de 2026. CentML intègre actuellement le support AMD CDNA et HIP dans le compilateur deep learning Hidet.
  • Plusieurs start-up tentent de briser le quasi-monopole de Nvidia en utilisant des GPU AMD, notamment Felafax, Lamini, tensorwave et SlashML. Certaines estiment que la barrière CUDA équivaut à environ 18 mois.
  • Une équipe qui travaillait sur TVM et MLC a rejoint NVIDIA via OctoAI.
  • En testant Phi-4 Q6 sur des 7950x et 7900XT, j'ai constaté qu'il est très rapide même uniquement sur CPU, ce qui confirme la faisabilité d'une utilisation AMD à la maison.
  • Je ne comprends pas pourquoi la communauté ML ne sort pas de CUDA. CUDA est fermé et non multiplateforme. Avec le progrès de l'IA/LLM, la transition vers le cross-platform aurait dû être plus rapide.
  • Une 3090 d'occasion se situe entre 600 $ et 900 $, et elle est plus performante que la 7900, en plus d'être plus polyvalente grâce à CUDA.
  • Il est important d'améliorer l'efficacité. Pas seulement sur le rapport qualité-prix, mais aussi sur l'efficacité énergétique et de calcul. Nous testons l'exécution d'inférences sur des CPU classiques avec llama.cpp.
  • Modular annonce avoir atteint un taux d'utilisation GPU de 93 % sur les GPU AMD, et prévoit une préversion officielle pour le début de l'année prochaine. Ils se disent optimistes après avoir reçu des retours positifs sur les performances des GPU Nvidia.