1 puntos por GN⁺ 2024-12-25 | 1 comentarios | Compartir por WhatsApp
  • Importancia de MLC-LLM

    • MLC-LLM permite compilar y desplegar LLM en GPUs AMD usando ROCm.
    • La AMD Radeon™ RX 7900 XTX ofrece alrededor del 80% del rendimiento de la NVIDIA® GeForce RTX™ 4090 y del 94% de la NVIDIA® GeForce RTX™ 3090 Ti.
    • Gracias al soporte de Vulkan, también es posible desplegar LLM en dispositivos AMD APU como SteamDeck.
  • Antecedentes

    • Tras la expansión de los LLM de código abierto surgieron muchas soluciones de inferencia de LLM.
    • La mayoría de las soluciones de inferencia de alto rendimiento se basan en CUDA y están optimizadas para GPUs NVIDIA.
    • Dada la alta demanda de disponibilidad de cómputo, resulta útil admitir una gama más amplia de aceleradores de hardware.
    • AMD es un candidato potencial.
  • Hardware y software en discusión

    • La AMD RX 7900 XTX tiene especificaciones comparables a la NVIDIA RTX 4090 y la RTX 3090 Ti.
    • Todos los modelos disponen de 24 GB de memoria, por lo que pueden alojar modelos del mismo tamaño.
    • En rendimiento FP16, la RTX 4090 supera a la 7900 XTX por 2 veces y la RTX 3090 Ti por 1.3 veces.
    • La RX 7900 XTX es un 40% más barata que la RTX 4090.
    • La principal razón del retraso histórico de AMD fue la falta de soporte de software, no el hardware.
  • Compilación de machine learning para ROCm

    • La compilación de machine learning (MLC) es una tecnología nueva que automatiza la optimización de tareas de aprendizaje automático.
    • MLC-LLM está basado en Apache TVM Unity y ofrece una implementación de propósito general con alto rendimiento para diferentes backends.
    • Mediante un flujo de trabajo basado en Python, compila modelos de lenguaje y optimiza el diseño y la programación de los kernels de GPU.
  • MLC para GPUs y APUs de AMD

    • Hay varios modos de soporte de AMD GPU: ROCm, OpenCL, Vulkan y WebGPU.
    • La pila ROCm, impulsada por AMD recientemente, incluye muchos componentes similares a la pila CUDA.
    • Vulkan es el estándar gráfico más reciente y ofrece el soporte más amplio en dispositivos GPU.
    • MLC admite generación automática de código, lo que permite cubrir diferentes métodos sin tener que reescribir cada kernel de GPU.
  • Benchmark con el paquete Python de MLC

    • Se realizaron benchmarks de los modelos Llama 2 7B y 13B con cuantización de 4 bits.
    • En inferencia de lote único se alcanzó una velocidad del 80% de la NVIDIA 4090 junto con el lanzamiento de ROCm 5.6.
  • Ejecución en SteamDeck con Vulkan

    • Es posible ejecutarlo con Vulkan en SteamDeck, equipado con APU de AMD.
    • Con ROCm, la VRAM de GPU queda limitada a 4 GB por BIOS, pero el controlador Mesa Vulkan puede usar memoria unificada y ampliarla hasta 16 GB.
  • Discusión y trabajo futuro

    • La disponibilidad de hardware se ha vuelto un problema clave en la era de la IA generativa.
    • La compilación de ML permite implementación de propósito general con alto rendimiento en todo el backend de hardware.
    • La investigación en GPUs de consumo puede generalizarse también a GPUs en la nube.
    • Se anima a la comunidad a construir soluciones basadas en el flujo de implementación de propósito general de MLC.
  • Conclusión final

    • La ingeniería de sistemas de machine learning sigue siendo un problema continuo.
    • NVIDIA aún lidera este campo impulsando la innovación, y se espera que esto cambie con nuevos avances de hardware y software.
    • Gracias al flujo de desarrollo de compilación de ML basado en Python, fue posible obtener soporte optimizado para ROCm en cuestión de pocas horas.
  • Enlaces y agradecimientos

    • Para una guía más detallada del despliegue de MLC LLM, consulta la página del proyecto.
    • El código fuente de MLC LLM está disponible en el repositorio oficial de GitHub.
    • Se agradece a la comunidad de Apache TVM y a los desarrolladores del compilador TVM Unity.

1 comentarios

 
GN⁺ 2024-12-25
Opinión en Hacker News
  • El rendimiento de la GPU de consumo de AMD (RX7900XTX) es distinto al de la GPU de centro de datos de AMD (MI300X), debido a las diferencias entre las arquitecturas RDNA y CDNA. Se espera que AMD lance la arquitectura UDNA hacia 2026. En CentML están integrando soporte para AMD CDNA y HIP en el compilador de deep learning Hidet.

  • Varias startups están intentando romper el monopolio de Nvidia aprovechando GPUs de AMD. Entre ellas están Felafax, Lamini, tensorwave y SlashML. Algunas sostienen que la barrera de CUDA es de unos 18 meses.

  • El equipo que trabajaba en TVM y MLC se unió a NVIDIA desde OctoAI.

  • Al probar Phi-4 Q6 en 7950x y 7900XT, resultó ser muy rápido incluso solo con CPU, lo que confirma la viabilidad de AMD para uso doméstico.

  • No entiendo por qué la comunidad de ML no se sale de CUDA. CUDA es cerrada y no multiplataforma. Con el avance de la IA/LLM, la transición a plataformas cruzadas debería haber sido más rápida.

  • Un 3090 de segunda mano cuesta entre $600 y $900, y rinde mejor que la 7900 y es más versátil gracias a CUDA.

  • Es importante potenciar la eficiencia. Además de la eficiencia de costo, se necesita eficiencia energética y de cómputo. Estoy ejecutando inferencia en CPU comunes usando llama.cpp.

  • Modular afirma haber logrado una utilización de GPU del 93% en GPUs de AMD y que lanzará una vista previa oficial a comienzos del próximo año. Se muestra optimista tras recibir comentarios positivos sobre el rendimiento de GPU de Nvidia.