1 puntos por GN⁺ 2024-04-05 | 1 comentarios | Compartir por WhatsApp
  • IPEX-LLM es una biblioteca para PyTorch que acelera LLM en GPU, NPU y CPU de Intel, pero el proyecto actualmente está archivado y no cuenta con garantía de desarrollo ni soporte por parte de Intel
  • El alcance de soporte incluye iGPU de PCs locales, GPU discretas como Arc, Flex y Max, NPU Intel Core Ultra y CPU, e integra llama.cpp, Ollama, vLLM, HuggingFace transformers, LangChain, LlamaIndex y más
  • Más de 70 modelos han sido optimizados o validados en ipex-llm, incluidos Llama, Phi, Mistral, Mixtral, DeepSeek, Qwen, ChatGLM, MiniCPM, Qwen-VL y MiniCPM-V
  • Entre las actualizaciones más recientes se incluyen la ejecución de DeepSeek V3/R1 671B y Qwen3MoE 235B con FlashMoE en 1 o 2 GPU Intel Arc, además de ipex-llm 2.2.0, soporte para PyTorch 2.6 en GPU y soporte para Portable Zip de Ollama y llama.cpp
  • El README indica que existen problemas de seguridad conocidos, y que Intel no garantiza mantenimiento, corrección de errores, nuevas versiones ni actualizaciones, además de que ya no acepta parches

Estado del proyecto y propósito principal

  • IPEX-LLM es una biblioteca de aceleración de LLM para acelerar LLM en hardware Intel
  • El hardware objetivo incluye GPU, NPU y CPU de Intel
    • Ejemplos de GPU: iGPU de PCs locales y GPU discretas como Arc, Flex y Max
    • La NPU está orientada a la familia Intel Core Ultra
  • En la parte superior del proyecto se indica claramente su estado archivado
    • Intel no ofrece ni garantiza desarrollo o soporte
    • No se garantizan mantenimiento, corrección de errores, nuevas versiones ni actualizaciones
    • Intel ya no acepta parches para este proyecto
    • Existen problemas de seguridad conocidos

Ecosistema con el que se integra

  • ipex-llm se integra con varias herramientas de ejecución, serving y desarrollo de LLM
    • llama.cpp
    • Ollama
    • vLLM
    • HuggingFace transformers
    • LangChain
    • LlamaIndex
    • Text-Generation-WebUI
    • DeepSpeed-AutoTP
    • FastChat
    • Axolotl
    • HuggingFace PEFT
    • HuggingFace TRL
    • AutoGen
    • ModelScope
  • La documentación de inicio rápido cubre Ollama, llama.cpp, Arc B580, NPU, PyTorch/HuggingFace, vLLM, FastChat, serving con múltiples GPU Intel, Text-Generation-WebUI, Axolotl y benchmarking
  • La guía de Docker incluye inferencia C++ en GPU, inferencia Python en GPU, vLLM en GPU y CPU, FastChat en GPU y entorno de desarrollo GPU con VSCode

Modelos y alcance de optimización

  • El README señala que más de 70 modelos han sido optimizados o validados en ipex-llm
  • Algunos grupos de modelos de ejemplo son:
    • familias LLaMA/LLaMA2/LLaMA 3
    • Mistral, Mixtral, Gemma
    • LLaVA, Whisper
    • ChatGLM2/ChatGLM3
    • Baichuan/Baichuan2
    • familias Qwen/Qwen-1.5/Qwen2
    • InternLM
    • DeepSeek, MiniCPM, Qwen-VL, MiniCPM-V y otros
  • La precisión y cuantización soportadas se centran en inferencia de baja precisión
    • FP8, FP6, FP4, INT4
    • INT8
    • INT2 se ofrece con base en el mecanismo IQ2 de llama.cpp
  • Los ejemplos de guardado y carga incluyen modelos de baja precisión INT4, FP4, FP6, INT8, FP8, FP16, así como carga de modelos GGUF, AWQ y GPTQ

Funciones destacadas en las actualizaciones recientes

  • La actualización de mayo de 2025 indica que FlashMoE de ipex-llm permite ejecutar DeepSeek V3/R1 671B y Qwen3MoE 235B en 1 o 2 GPU Intel Arc
    • Ejemplos de GPU: Arc A770 o B580
  • En abril de 2025 se lanzó ipex-llm 2.2.0, que incluye Ollama Portable Zip y llama.cpp Portable Zip
  • llama.cpp Portable Zip incluye una advertencia de seguridad
    • La carga de modelos basada en mmap puede filtrar datos por canales laterales en entornos multi-tenant o con hosts compartidos
    • La opción --no-mmap permite desactivar mmap
  • En abril de 2025 se añadió soporte para PyTorch 2.6 en GPU Intel
  • En marzo de 2025 se añadió soporte para modelos Gemma3 y la ejecución de DeepSeek-R1-671B-Q4_K_M en 1 o 2 Arc A770 sobre Xeon
  • En febrero de 2025 se añadieron Ollama Portable Zip para GPU Intel, llama.cpp Portable Zip para GPU y NPU Intel, y soporte para vLLM 0.6.6 en GPU Intel Arc
  • En diciembre de 2024 se añadió soporte de Python y C++ para la NPU de Intel Core Ultra, con las series objetivo 100H, 200V, 200K y 200H

Demostraciones y datos de rendimiento y precisión

  • Las demos ofrecen ejemplos de ejecución de LLM locales en Intel Core Ultra iGPU, Intel Core Ultra NPU, una sola GPU Arc y múltiples GPU Arc
    • Intel Core Ultra iGPU: ejecución de Mistral-7B Q4_K con Ollama
    • Intel Core Ultra NPU: ejecución de Llama3.2-3B SYM_INT4 con HuggingFace
    • 2 GPU Intel Arc dGPU: ejecución de DeepSeek-R1-Distill-Qwen-32B Q4_K con llama.cpp
    • Intel Xeon + Arc dGPU: ejecución de Qwen3MoE-235B Q4_K con FlashMoE
  • La sección de rendimiento ofrece datos de velocidad de generación de tokens en Intel Core Ultra y GPU Intel Arc
  • La guía de benchmarking permite ejecutar directamente benchmarks de rendimiento de ipex-llm
  • La sección de precisión del modelo ofrece resultados de Perplexity medidos sobre el dataset Wikitext
    • Las precisiones comparadas incluyen sym_int4, q4_k, fp6, fp8_e5m2, fp8_e4m3, fp16
    • Entre los modelos objetivo están Llama-2-7B-chat-hf, Mistral-7B-Instruct-v0.2, Baichuan2-7B-chat, Qwen1.5-7B-chat, Llama-3.1-8B-Instruct y gemma-2-9b-it
  • El rendimiento puede variar según el modo de uso, la configuración y otros factores, y ipex-llm podría no estar igual de optimizado en productos que no sean de Intel

Ejemplos de desarrollo y uso

  • Los ejemplos de código se dividen en inferencia de baja precisión, inferencia FP16/BF16, inferencia distribuida, guardado y carga, fine-tuning e integración con bibliotecas de la comunidad
  • El fine-tuning en GPU Intel incluye LoRA, QLoRA, DPO, QA-LoRA y ReLoRA
  • También se ofrecen ejemplos de fine-tuning con QLoRA en CPU Intel
  • Las guías de aplicación cubren flujos de uso de ipex-llm en GraphRAG, RAGFlow, LangChain-Chatchat, Continue, Open WebUI, PrivateGPT y Dify
  • La documentación de API ofrece una API de Auto Classes al estilo de HuggingFace Transformers y una API de optimización para modelos arbitrarios de PyTorch

1 comentarios

 
GN⁺ 2024-04-05
Opiniones en Hacker News
  • La empresa que se aferró durante años a los 4 núcleos tiene una oportunidad de reivindicarse con su próxima GPU de consumo, rompiendo el estancamiento en 8~16 GB de VRAM que AMD y Nvidia prácticamente han impuesto durante la última década.
    Si sacan 32~48 GB a un precio accesible, sería una escena bastante poética, e Intel parece estar moviéndose bien también en cuanto a soporte de software.

    • Intel está alcanzando a Nvidia en IA, y la principal razón es que sus productos no son lo suficientemente competitivos.
      La Intel Arc A770 16GB, lanzada en octubre de 2022, cuesta unos 300 dólares, mientras que la Nvidia 4060 Ti 16GB cuesta unos 500 dólares, pero en cargas reales de IA la 4060 Ti es aproximadamente el doble de rápida: https://cdn.mos.cms.futurecdn.net/FtXkrY6AD8YypMiHrZuy4K-120...
      El problema se agrava porque, en teoría, la Arc A770 es más rápida. En rendimiento medido en TFLOPS, es más de dos veces más potente que la Nvidia 4060: https://cdn.mos.cms.futurecdn.net/Q7WgNxqfgyjCJ5kk8apUQE-120...
      Pero como todo el ecosistema relacionado con IA se desarrolló y optimizó para ejecutarse sobre CUDA de Nvidia, el rendimiento real termina siendo bajo.
      Al final, es un problema de reconocimiento y de ecosistema. Si Intel lanza una GPU de workstation con 32 GB o 64 GB de VRAM, no como un monstruo empresarial absurdamente caro sino en un formato que un desarrollador pueda comprar, se vendería muchísimo.
      Ni siquiera tiene que ser la tarjeta más rápida. Solo necesita ofrecer más VRAM que la competencia. Hoy, en entrenamiento o generación de video, la falta de VRAM es un cuello de botella mayor que la velocidad de la GPU, y no entiendo por qué Intel no lo ve.
    • Parece difícil que la VRAM por encima de 24 GB se vuelva barata antes de que llegue GDDR7, y aun con GDDR7 creo que solo se podrá empujar hasta unos 36 GB.
      Las variantes más avanzadas de GDDR6 apilada probablemente sean bastante caras, y por problemas de integridad de señal tampoco se pueden simplemente agregar más dies.
    • Lo que a nosotros nos parece obvio, a un gerente de producto le parece un estándar de la industria.
      Si pensamos en cuándo fue la última vez que un actor de la industria sacudió el orden establecido, Intel tampoco es una empresa que haya cambiado tanto.
    • Estoy de acuerdo en que sería genial ver 32~48 GB a un precio accesible.
      Escuché que en algunas BIOS de motherboards Asrock se puede configurar la VRAM hasta 64 GB con Ryzen5, y ahora estoy investigándolo con varios hardware de AMD.
    • Si AMD hiciera drivers de alta calidad, pagaría solo por verlo :-)
  • Me interesa ver datos de benchmarks.
    La velocidad mostrada en los ejemplos se veía bastante buena.

  • Me pregunto si hay alguna recomendación de GPU Intel con mucha VRAM que pueda usarse para esto.

    • Está la Max GPU (Ponte Vecchio) para centros de datos, con 128 GB de memoria HBM2e, 408 MB de caché L2 y 64 MB de caché L1.
      Gaudi tiene cifras similares, pero según el material de marketing es la opción con núcleos especializados para cargas de IA.
      Se puede conseguir en sistemas completos de Dell y Supermicro: https://www.supermicro.com/en/accelerators/intel
      Más lectura: https://www.servethehome.com/intel-shows-gpu-max-1550-perfor...
    • Para consumo existe la Intel Arc A770 16GB VRAM.
      Por encima de eso ya se empieza a entrar en la línea empresarial.
  • Me pregunto si hay benchmarks de rendimiento comparados con llamafile u otras opciones.
    [0] - https://github.com/mozilla-Ocho/llamafile

    • llama.cpp ya puede usar GPU Intel, y tanto ARC como las GPU integradas admiten varios backends.
      Los backends compatibles son SYCL, Vulkan y OpenCL.
      No tengo el hardware, pero dado que Intel lo está impulsando en centros de datos, supongo que SYCL será más rápido en ARC.
      [1]: https://www.intel.com/content/www/us/en/developer/articles/t...
  • Sería bueno que también hubiera un script para GPU en la nube que permita ejecutar los ejemplos.
    En lugar de hacer que uno adivine qué GPU es compatible, sería útil poder ejecutarlo directamente en un proveedor de nube, y estoy pensando si debería hacerlo yo mismo.

  • Ninguno de los principales proveedores de nube ofrece GPU Intel.

    • Las GPU Intel han penetrado bastante en el mercado del sudeste asiático, e Intel también planea lanzar pronto una nueva generación.
      Además, a diferencia de la licencia GRID de Nvidia, permiten virtualización de GPU sin costos adicionales de licencia, de modo que los proveedores de hosting pueden dividir las tarjetas y ofrecerlas por partes.
      Tengo la sensación de que en el futuro habrá mucha más oferta basada en Intel.
    • No es para la nube, pero como opción de consumo es una propuesta bastante buena.
      Ofrece 16 GB de memoria y un rendimiento cercano al de la 4060 Ti por alrededor del 65% del precio.
    • Aun así, hay muchos lugares que ofrecen CPU Intel.