1 Punkte von GN⁺ 2024-12-25 | 1 Kommentare | Auf WhatsApp teilen
  • Bedeutung von MLC-LLM

    • MLC-LLM ermöglicht die Kompilierung und Bereitstellung von LLMs auf AMD-GPUs mit ROCm.
    • Die AMD Radeon™ RX 7900 XTX liefert 80 % der Leistung der NVIDIA® GeForce RTX™ 4090 und 94 % der NVIDIA RTX™ 3090 Ti.
    • Durch die Vulkan-Unterstützung kann die Bereitstellung von LLMs auch auf AMD-APU-Geräten wie dem SteamDeck erfolgen.
  • Hintergrund

    • Nach der Verbreitung von Open-Source-LLMs sind viele LLM-Inferenzlösungen entstanden.
    • Die meisten leistungsfähigen Inferenzlösungen sind CUDA-basiert und auf NVIDIA-GPUs optimiert.
    • Aufgrund der hohen Nachfrage nach Rechenverfügbarkeit ist die Unterstützung einer breiteren Palette von Hardwarebeschleunigern sinnvoll.
    • AMD ist ein potenzieller Kandidat.
  • Hardware- und Software-Diskussion

    • Die AMD RX 7900 XTX hat eine mit der NVIDIA RTX 4090 und RTX 3090 Ti vergleichbare Ausstattung.
    • Alle Modelle verfügen über 24 GB Speicher, sodass Modelle gleicher Größe genutzt werden können.
    • Die FP16-Leistung ist bei der 4090 rund doppelt so hoch wie bei der 7900 XTX, bei der 3090 Ti rund 1,3-mal so hoch.
    • Die RX 7900 XTX ist 40 % günstiger als die RTX 4090.
    • AMD ist in der Vergangenheit nicht wegen der Hardware, sondern wegen fehlender Softwareunterstützung ins Hintertreffen geraten.
  • MLC für ROCm

    • Machine Learning Compiler (MLC) ist eine neue Technologie, die die Optimierung von ML-Arbeitslasten automatisiert.
    • MLC-LLM basiert auf Apache TVM Unity und bietet eine leistungsstarke universelle Bereitstellung für verschiedene Backends.
    • Mit einem Python-basierten Workflow werden Sprachmodelle kompiliert und das Layout sowie das Scheduling der GPU-Kernels optimiert.
  • MLC für AMD-GPUs und APU

    • Es gibt mehrere Wege, um AMD-GPUs zu unterstützen: ROCm, OpenCL, Vulkan, WebGPU.
    • Der ROCm-Stack, den AMD derzeit vorantreibt, enthält viele Komponenten, die dem CUDA-Stack ähneln.
    • Vulkan ist ein moderner Grafikstandard und bietet die größte Breite an Unterstützung über GPU-Geräte hinweg.
    • MLC unterstützt automatische Code-Generierung, sodass verschiedene Ansätze unterstützt werden können, ohne jeden GPU-Kernel neu zu strukturieren.
  • Benchmarking mit dem MLC-Python-Paket

    • Das Benchmarking von Llama 2 7B und 13B erfolgte mit 4-Bit-Quantisierung.
    • Die Inferenzleistung im Single-Batch erreicht mit dem Release von ROCm 5.6 rund 80 % der Geschwindigkeit der NVIDIA 4090.
  • Ausführung auf SteamDeck mit Vulkan

    • Die Ausführung auf einem SteamDeck mit AMD-APU ist mit Vulkan möglich.
    • Unter ROCm ist der GPU-VRAM im BIOS auf 4 GB begrenzt, während der Mesa-Vulkan-Treiber den integrierten Speicher auf bis zu 16 GB erweitern kann.
  • Diskussion und weitere Arbeit

    • Die Verfügbarkeit von Rechenressourcen ist in der Ära der Generativen KI zu einer zentralen Herausforderung geworden.
    • ML-Compilation ermöglicht eine leistungsstarke universelle Bereitstellung über alle Hardware-Backends hinweg.
    • Forschung auf Consumer-GPUs kann auf Cloud-GPUs verallgemeinert werden.
    • Die Community wird ermutigt, Lösungen auf Basis des MLC-Universal-Deployment-Workflows zu bauen.
  • Schlussfolgerung

    • Machine-Learning-System-Engineering ist eine anhaltende Herausforderung.
    • NVIDIA führt dieses Feld weiterhin durch Innovation an und dürfte sich durch neue Entwicklungen bei Hardware und Software ändern.
    • Dank des Python-basierten ML-Compile-Entwicklungsflows konnten ROCm-Optimierungs-Setups in nur wenigen Stunden gewonnen werden.
  • Links und Danksagung

    • Eine ausführliche Anleitung zur Bereitstellung von MLC LLM findet sich auf der Projektseite.
    • Den Quellcode von MLC LLM gibt es im offiziellen GitHub-Repository.
    • Dank an die Apache TVM-Community und die Entwickler des TVM Unity-Compilers.

1 Kommentare

 
GN⁺ 2024-12-25
Hacker News Kommentar
  • AMDs Consumer-GPUs (RX7900XTX) verhalten sich leistungstechnisch anders als die Rechenzentrums-GPUs (MI300X), was auf den Unterschied zwischen den Architekturen RDNA und CDNA zurückzuführen ist. AMD plant die Einführung der UDNA-Architektur rund um 2026. Bei CentML wird die Unterstützung für AMD CDNA und HIP in den Hidet-Deep-Learning-Compiler integriert.
  • Mehrere Startups versuchen, mit AMD-GPUs Nvidias Monopol zu brechen. Dazu gehören Felafax, Lamini, tensorwave und SlashML. Einige behaupten, die Hürde von CUDA liege bei etwa 18 Monaten.
  • Das Team, das an TVM und MLC gearbeitet hat, ist zu OctoAI bei Nvidia gewechselt.
  • Beim Testen von Phi-4 Q6 auf einer 7950X und einer 7900XT zeigte sich, dass es selbst nur mit CPU äußerst schnell ist, und bestätigt wurde die Nutzbarkeit von AMD im Heimbereich.
  • Ich verstehe nicht, warum sich die ML-Community nicht von CUDA löst. CUDA ist proprietär und nicht plattformübergreifend. Mit der Entwicklung von AI/LLM hätte der Umstieg auf plattformübergreifende Lösungen längst schneller erfolgen müssen.
  • Eine gebrauchte 3090 liegt zwischen 600 und 900 US-Dollar, ist leistungsstärker als eine 7900 und dank CUDA vielseitiger einsetzbar.
  • Die Steigerung der Effizienz ist wichtig. Nicht nur Preis-Effizienz zählt, sondern auch Energie- und Recheneffizienz werden benötigt. Wir testen gerade, wie sich Inferenz auf normalen CPUs mit llama.cpp ausführen lässt.
  • Modular behauptet, auf AMD-GPUs eine GPU-Auslastung von 93 % erreicht zu haben, und sagt, dass eine offizielle Preview für Anfang des nächsten Jahres geplant ist. Das positive Feedback zur Leistung von Nvidia-GPUs macht es zuversichtlich.