1 Punkte von GN⁺ 2024-04-05 | 1 Kommentare | Auf WhatsApp teilen
  • IPEX-LLM ist eine Bibliothek für PyTorch zur Beschleunigung von LLMs auf Intel-GPUs, NPUs und CPUs; das Projekt ist derzeit jedoch archiviert, und Intel garantiert keine Entwicklung oder Unterstützung
  • Der Unterstützungsumfang umfasst iGPUs in lokalen PCs, diskrete GPUs wie Arc, Flex und Max, Intel-Core-Ultra-NPUs sowie CPUs; integriert ist es unter anderem mit llama.cpp, Ollama, vLLM, HuggingFace transformers, LangChain und LlamaIndex
  • Mehr als 70 Modelle wurden für ipex-llm optimiert oder damit validiert, darunter Llama, Phi, Mistral, Mixtral, DeepSeek, Qwen, ChatGLM, MiniCPM, Qwen-VL und MiniCPM-V
  • Zu den neuesten Updates gehören das Ausführen von DeepSeek V3/R1 671B und Qwen3MoE 235B mit FlashMoE auf 1–2 Intel-Arc-GPUs sowie ipex-llm 2.2.0, GPU-Unterstützung für PyTorch 2.6 und Unterstützung für Ollama- und llama.cpp-Portable-Zips
  • Das README weist auf bekannte Sicherheitsprobleme hin; Intel garantiert keine Wartung, Fehlerbehebungen, neuen Releases oder Updates und nimmt auch keine Patches mehr entgegen

Projektstatus und grundlegender Zweck

  • IPEX-LLM ist eine LLM-Beschleunigungsbibliothek zur Beschleunigung von LLMs auf Intel-Hardware
  • Zielhardware sind Intel-GPUs, -NPUs und -CPUs
    • GPU-Beispiele sind iGPUs in lokalen PCs sowie diskrete GPUs wie Arc, Flex und Max
    • Bei NPUs zielt es auf die Intel-Core-Ultra-Reihe ab
  • Oben im Projekt ist der Archivstatus angegeben
    • Intel stellt keine Entwicklung oder Unterstützung bereit und garantiert diese auch nicht
    • Wartung, Fehlerbehebungen, neue Releases und Updates werden nicht garantiert
    • Intel nimmt für dieses Projekt keine Patches mehr entgegen
    • Es gibt bekannte Sicherheitsprobleme

Integriertes Ökosystem

  • ipex-llm ist mit mehreren Tools für LLM-Ausführung, Serving und Entwicklung integriert
    • llama.cpp
    • Ollama
    • vLLM
    • HuggingFace transformers
    • LangChain
    • LlamaIndex
    • Text-Generation-WebUI
    • DeepSpeed-AutoTP
    • FastChat
    • Axolotl
    • HuggingFace PEFT
    • HuggingFace TRL
    • AutoGen
    • ModelScope
  • Die Schnellstart-Dokumentation behandelt Ollama, llama.cpp, Arc B580, NPU, PyTorch/HuggingFace, vLLM, FastChat, Serving mit mehreren Intel-GPUs, Text-Generation-WebUI, Axolotl und Benchmarking
  • Die Docker-Guides umfassen C++-GPU-Inferenz, Python-GPU-Inferenz, vLLM mit GPU und CPU, FastChat mit GPU sowie eine VSCode-GPU-Entwicklungsumgebung

Modelle und Optimierungsumfang

  • Das README gibt an, dass mehr als 70 Modelle für ipex-llm optimiert oder validiert wurden
  • Beispielhafte Modellfamilien sind:
    • LLaMA/LLaMA2/LLaMA-3-Reihe
    • Mistral, Mixtral, Gemma
    • LLaVA, Whisper
    • ChatGLM2/ChatGLM3
    • Baichuan/Baichuan2
    • Qwen/Qwen-1.5/Qwen2-Reihe
    • InternLM
    • DeepSeek, MiniCPM, Qwen-VL, MiniCPM-V usw.
  • Unterstützte Genauigkeiten und Quantisierung sind vor allem auf Low-Bit-Inferenz ausgerichtet
    • FP8, FP6, FP4, INT4
    • INT8
    • INT2 wird auf Basis des IQ2-Mechanismus von llama.cpp bereitgestellt
  • Beispiele für Speichern und Laden umfassen Low-Bit-Modelle wie INT4, FP4, FP6, INT8, FP8 und FP16 sowie das Laden von GGUF-, AWQ- und GPTQ-Modellen

In den neuesten Updates hervorgehobene Funktionen

  • Das Update vom Mai 2025 gibt an, dass sich DeepSeek V3/R1 671B und Qwen3MoE 235B mit FlashMoE von ipex-llm auf 1–2 Intel-Arc-GPUs ausführen lassen
    • Beispiel-GPUs sind Arc A770 oder B580
  • Im April 2025 wurde ipex-llm 2.2.0 veröffentlicht, einschließlich Ollama Portable Zip und llama.cpp Portable Zip
  • Für das llama.cpp Portable Zip gibt es eine Sicherheitswarnung
    • Modell-Laden auf mmap-Basis kann in Multi-Tenant- oder Shared-Host-Umgebungen über Seitenkanäle Daten preisgeben
    • Mit der Option --no-mmap lässt sich mmap deaktivieren
  • Im April 2025 wurde Unterstützung für PyTorch 2.6 auf Intel-GPUs hinzugefügt
  • Im März 2025 wurden Unterstützung für Gemma3-Modelle sowie das Ausführen von DeepSeek-R1-671B-Q4_K_M auf 1–2 Arc-A770-GPUs in einem Xeon-System hinzugefügt
  • Im Februar 2025 kamen Ollama Portable Zip für Intel-GPUs, llama.cpp Portable Zip für Intel-GPUs und -NPUs sowie Unterstützung für vLLM 0.6.6 auf Intel-Arc-GPUs hinzu
  • Im Dezember 2024 wurde Python- und C++-Unterstützung für Intel-Core-Ultra-NPUs hinzugefügt; die Zielserien sind 100H, 200V, 200K und 200H

Demos sowie Leistungs- und Genauigkeitsdaten

  • Demos liefern Beispiele für das Ausführen lokaler LLMs auf Intel-Core-Ultra-iGPUs, Intel-Core-Ultra-NPUs, einer einzelnen Arc-GPU und mehreren Arc-GPUs
    • Intel-Core-Ultra-iGPU: Mistral-7B Q4_K mit Ollama ausführen
    • Intel-Core-Ultra-NPU: Llama3.2-3B SYM_INT4 mit HuggingFace ausführen
    • 2 Intel-Arc-dGPUs: DeepSeek-R1-Distill-Qwen-32B Q4_K mit llama.cpp ausführen
    • Intel Xeon + Arc-dGPU: Qwen3MoE-235B Q4_K mit FlashMoE ausführen
  • Der Leistungsabschnitt bietet Daten zur Token-Generierungsgeschwindigkeit auf Intel Core Ultra und Intel-Arc-GPUs
  • Über den Benchmarking-Guide lassen sich Performance-Benchmarks für ipex-llm direkt ausführen
  • Der Abschnitt zur Modellgenauigkeit liefert Perplexity-Ergebnisse, gemessen auf dem Wikitext-Datensatz
    • Vergleichsgenauigkeiten sind sym_int4, q4_k, fp6, fp8_e5m2, fp8_e4m3 und fp16
    • Zu den Zielmodellen gehören Llama-2-7B-chat-hf, Mistral-7B-Instruct-v0.2, Baichuan2-7B-chat, Qwen1.5-7B-chat, Llama-3.1-8B-Instruct, gemma-2-9b-it usw.
  • Die Leistung kann je nach Nutzungsweise, Konfiguration und weiteren Faktoren variieren; ipex-llm ist auf Nicht-Intel-Produkten möglicherweise nicht im gleichen Maße optimiert

Beispiele für Entwicklung und Nutzung

  • Codebeispiele sind in Low-Bit-Inferenz, FP16/BF16-Inferenz, verteilte Inferenz, Speichern und Laden, Fine-Tuning sowie Integration von Community-Bibliotheken unterteilt
  • Fine-Tuning umfasst auf Intel-GPUs LoRA, QLoRA, DPO, QA-LoRA und ReLoRA
  • Auch für Intel-CPUs werden Beispiele für QLoRA-Fine-Tuning bereitgestellt
  • Anwendungsguides behandeln Abläufe zur Nutzung von ipex-llm in GraphRAG, RAGFlow, LangChain-Chatchat, Continue, Open WebUI, PrivateGPT und Dify
  • Die API-Dokumentation bietet eine Auto-Classes-API im Stil von HuggingFace Transformers sowie eine API zur Optimierung beliebiger PyTorch-Modelle

1 Kommentare

 
GN⁺ 2024-04-05
Hacker-News-Kommentare
  • Ein Unternehmen, das lange an 4 Kernen festhielt, hätte bei der nächsten Consumer-GPU die Chance zur Wiedergutmachung, indem es die 8–16-GB-VRAM-Stagnation aufbricht, zu der AMD und Nvidia in den letzten 10 Jahren den Markt faktisch gezwungen haben.
    Wenn 32–48 GB zu einem nicht abschreckenden Preis kommen würden, wäre das ziemlich poetisch, und Intel scheint sich auch beim Software-Support endlich ernsthaft zu bewegen.

    • Intel holt im AI-Bereich gegenüber Nvidia auf, und der größte Grund dafür ist die mangelnde Wettbewerbsfähigkeit der Produkte.
      Die im Oktober 2022 erschienene Intel Arc A770 16GB kostet etwa 300 Dollar, die Nvidia 4060 Ti 16GB etwa 500 Dollar, aber bei realen AI-Workloads ist die 4060 Ti ungefähr doppelt so schnell: https://cdn.mos.cms.futurecdn.net/FtXkrY6AD8YypMiHrZuy4K-120...
      Dass die Arc A770 theoretisch schneller sein sollte, macht das Problem noch größer. Gemessen an TFLOPS liegt sie bei mehr als dem Doppelten der Nvidia 4060: https://cdn.mos.cms.futurecdn.net/Q7WgNxqfgyjCJ5kk8apUQE-120...
      In der Praxis fällt die AI-Leistung aber geringer aus, weil das gesamte AI-Ökosystem für CUDA von Nvidia entwickelt und optimiert wurde.
      Am Ende ist es ein Problem der Bekanntheit und des Ökosystems. Wenn Intel eine Workstation-GPU mit 32 GB oder 64 GB VRAM herausbringen würde, nicht als absurd teures Enterprise-Monster, sondern in einer Form, die Entwickler kaufen können, würde sie sich enorm gut verkaufen.
      Sie muss nicht einmal die schnellste Karte sein. Es reicht, einfach mehr VRAM als die Konkurrenz zu bieten. Derzeit ist bei Training oder Videogenerierung fehlender VRAM oft der größere Engpass als die GPU-Geschwindigkeit, und ich verstehe nicht, warum Intel das nicht sieht.
    • Mehr als 24 GB VRAM wird wohl kaum günstig werden, bevor GDDR7 da ist, und selbst GDDR7 dürfte wohl nur bis ungefähr 36 GB sinnvoll skalieren.
      Höherwertige gestapelte GDDR6-Varianten dürften ziemlich teuer sein, und wegen Problemen mit der Signalintegrität kann man auch nicht einfach mehr Dies hinzufügen.
    • Was für uns offensichtlich wirkt, erscheint Produktmanagern als Industriestandard.
      Wenn man darüber nachdenkt, wann ein Branchenakteur zuletzt die bestehende Ordnung wirklich aufgerüttelt hat, ist Intel eben auch kein Unternehmen, das sich so stark verändert hat.
    • Ich stimme zu, dass 32–48 GB zu erschwinglichen Preisen großartig wären.
      Ich habe gehört, dass man in einigen Asrock-Mainboard-BIOS-Versionen bei Ryzen5 den VRAM auf bis zu 64 GB setzen kann, und ich schaue mir das gerade mit verschiedener AMD-Hardware an.
    • Wenn AMD qualitativ hochwertige Treiber bauen würde, würde ich sogar dafür bezahlen, das zu sehen :-)
  • Ich bin neugierig auf Benchmark-Daten.
    Die im Beispiel gezeigte Geschwindigkeit sah ziemlich gut aus.

  • Ich frage mich, ob es Empfehlungen für Intel-GPUs mit viel VRAM gibt, die man hierfür nutzen kann.

    • Es gibt das Datacenter-Produkt Max GPU (Ponte Vecchio) mit 128 GB HBM2e-Speicher, 408 MB L2-Cache und 64 MB L1-Cache.
      Gaudi liegt bei ähnlichen Werten, aber laut Marketingmaterial ist eher diese Linie mit speziell für AI-Aufgaben ausgelegten Kernen versehen.
      Man bekommt sie in Komplettsystemen von Dell und Supermicro: https://www.supermicro.com/en/accelerators/intel
      Weiterführend: https://www.servethehome.com/intel-shows-gpu-max-1550-perfor...
    • Im Consumer-Bereich gibt es die Intel Arc A770 mit 16 GB VRAM.
      Darüber hinaus beginnt bereits der Übergang in die Enterprise-Produktlinie.
  • Ich frage mich, ob es Performance-Benchmarks im Vergleich zu llamafile oder anderen Lösungen gibt.
    [0] - https://github.com/mozilla-Ocho/llamafile

    • llama.cpp kann Intel-GPUs bereits nutzen, und sowohl ARC als auch integrierte GPUs unterstützen mehrere Backends.
      Unterstützt werden SYCL, Vulkan und OpenCL.
      Ich habe die Hardware selbst nicht, aber da Intel das Datacenter-Segment stark vorantreibt, würde ich vermuten, dass SYCL auf ARC schneller ist.
      [1]: https://www.intel.com/content/www/us/en/developer/articles/t...
  • Es wäre gut, wenn gleich ein Cloud-GPU-Skript zum Ausführen der Beispiele mitgeliefert würde.
    Statt die Nutzer raten zu lassen, welche GPUs kompatibel sind, wäre es nützlich, sie direkt bei einem Cloud-Anbieter starten zu lassen; ich überlege schon, so etwas selbst zu bauen.

  • Keiner der großen Cloud-Anbieter bietet Intel-GPUs an.

    • Intel-GPUs haben im südostasiatischen Markt recht gut Fuß gefasst, und Intel wird bald auch eine neue Generation herausbringen.
      Außerdem erlauben sie im Gegensatz zur GRID-Lizenz von Nvidia GPU-Virtualisierung ohne zusätzliche Lizenzkosten, sodass Hosting-Anbieter die Karten aufteilen und einzeln anbieten können.
      Ich habe das Gefühl, dass Angebote auf Intel-Basis in Zukunft deutlich zunehmen werden.
    • Es ist zwar keine Cloud, aber für Consumer ist es ein ziemlich gutes Angebot.
      Man bekommt 16 GB Speicher und eine Leistung in der Nähe der 4060 Ti für rund 65 % des Preises.
    • Trotzdem gibt es viele Anbieter, die Intel-CPUs bereitstellen.