Offene & lokale KI

DeepSeek portiert Hochleistungs-GEMM-Bibliothek auf Huawei Ascend NPUs

DeepGEMM-Ascend bietet API-kompatible, nahezu peak-leistungsstarke Matrixmultiplikation für Huawei Ascend 950 Hardware und unterstützt FP4-, FP8- und BF16-Workloads.

Automatisch aus dem englischen Original übersetzt.

DeepSeek AI hat DeepGEMM-Ascend veröffentlicht, eine spezialisierte Bibliothek für die Matrixmultiplikation auf neuronalen Verarbeitungseinheiten (NPUs) von Huawei Ascend. Das am 30. September 2026 angekündigte Open-Source-Projekt portiert das ursprüngliche DeepGEMM-Framework in das Ascend-Ökosystem und richtet sich an die Hardware der Ascend-950-Serie.

Die Veröffentlichung stellt Ingenieuren ein Werkzeug zur Verfügung, um bei Inferenz- und Trainingsaufgaben für große Sprachmodelle eine nahezu optimale Hardwareauslastung zu erreichen, ohne Low-Level-Kernel-Code neu schreiben zu müssen. Durch die Abstraktion komplexer Hardwareeinschränkungen können Entwickler vertraute APIs nutzen und gleichzeitig Ascend-spezifische Optimierungen ausschöpfen.

Was passiert ist

DeepGEMM-Ascend ist eine direkte Portierung der DeepGEMM-Bibliothek, die speziell für die Huawei-Ascend-Plattform entwickelt wurde. Die erste Version unterstützt Geräte der Ascend-950-Serie und erfordert das CANN-9.20-Toolkit. Sie behält die volle API-Kompatibilität mit dem Upstream-Projekt DeepGEMM bei, sodass Nutzer das Paket installieren und denselben Entwicklungsworkflow wie auf anderen unterstützten Plattformen fortsetzen können.

Die Bibliothek unterstützt mehrere kritische Datentypen und Operationen, die in modernen KI-Modellen verwendet werden, einschließlich BF16-, FP8- und FP4-allgemeiner Matrixmultiplikation (GEMM). Sie enthält zudem spezialisierte Unterstützung für MQA-Logits und MegaMoE-Operatoren, die für effiziente Mixture-of-Experts-Architekturen unerlässlich sind. Diese breite Unterstützung stellt sicher, dass Entwickler, die mit fortschrittlichen Modellstrukturen arbeiten, diese effektiv auf Ascend-Hardware bereitstellen können.

Ein Schlüsselmerkmal dieser Veröffentlichung ist ihre leichte Abstraktionsschicht über den Ascend-MAD-Primitiven (Matrix Multiply-Add). Diese Schicht verbirgt komplexe Details wie Fraktal-Matrix-Layouts, Ausrichtungsbeschränkungen, Adressberechnungen und ausführliche Low-Level-Parameter. Indem die Bibliothek diese Komplexitäten intern verwaltet, bleiben GEMM-Kernel im Code kompakt und behalten gleichzeitig hohe Effizienz in der Ausführung.

Wie es funktioniert

DeepGEMM-Ascend erreicht seine Leistung durch Ascend-spezifische Optimierungstechniken, die die Hardware nahe an ihre theoretischen Grenzen bringen. Die Bibliothek nutzt sparse Datenladung und koroutinenbasierte Pipelining-Verfahren, um Leerlaufzeiten zu minimieren und den Durchsatz zu maximieren. Diese Methoden ermöglichen es den Kernels, Datenbewegung und Berechnung parallel zu verarbeiten und Engpässe zu reduzieren, die oft bei High-Performance-Computing-Aufgaben auftreten.

Die Implementierung dient als Referenz für extreme Leistungsoptimierung auf der Ascend-Plattform. Trotz einer schlanken Codebasis demonstriert die Bibliothek die Fähigkeit, die Peak-Leistung der Hardware über eine Vielzahl von Matrixformen hinweg zu erreichen. Dies ist besonders wichtig für dynamische Workloads, bei denen sich Tensor-Dimensionen während der Inferenz- oder Trainingsphasen häufig ändern.

Für Entwickler, die diese Bibliothek integrieren, unterscheidet sich das Format des Skalierungsfaktors leicht von NVIDIA-Implementierungen. Auf Ascend wird jedes Paar von UE8M0-Skalierungsfaktoren entlang der K-Dimension in einen int16 gepackt, wobei die Werte in MN-major Order gespeichert werden, um optimale Hardware-Effizienz zu gewährleisten. Die Bibliothek stellt Hilfsfunktionen bereit, um Skalierungsfaktoren in dieses erforderliche Layout zu transformieren und nahtlose Interoperabilität mit bestehenden Datenpipelines sicherzustellen.

Wichtige Details

  • Hardwareunterstützung: Entwickelt und validiert auf Huawei Ascend 950 Series NPUs.
  • Softwareanforderungen: Erfordert CANN 9.20 Toolkit, torch_npu, Python 3.10+ und C++20 Compiler-Unterstützung.
  • Datentypen: Unterstützt BF16-, FP8- und FP4-GEMM-Operationen sowie MQA-Logits und MegaMoE-Operatoren.
  • Leistung: Dense GEMM-Operationen erreichen bis zu 99,8 % der Hardwaregrenze für BF16 und 99,5 % für FP8-Formate.
  • Optimierungstechniken: Nutzt sparse Datenladung und koroutinenbasiertes Pipelining, um sich den Leistungsgrenzen der Hardware anzunähern.
  • Lizenz: Veröffentlicht unter der MIT-Lizenz, was eine breite Adoption und Modifikation ermöglicht.

Warum es wichtig ist

Für Software-Ingenieure, die KI-Infrastruktur aufbauen, senkt diese Veröffentlichung die Einstiegshürde für die Nutzung von Huawei-Ascend-Hardware erheblich. Historisch gesehen erforderte die Optimierung von Kernels für Nicht-NVIDIA-Beschleuniger tiefgreifende Expertise in spezifischen Hardware-Architekturen und manuelles Management von Speicherlayouts. DeepGEMM-Ascend abstrahiert diese Schwierigkeiten und ermöglicht es Teams, sich auf die Modellarchitektur statt auf Low-Level-Geräte-Tuning zu konzentrieren.

Die in den Benchmarks berichteten hohen Auslastungsraten deuten darauf hin, dass Organisationen kosteneffektives Scaling auf Ascend-Clustern erreichen können, ohne Kompromisse bei der Rechenleistung einzugehen. Da dense GEMM-Operationen nahezu 100 % der Hardwaregrenze erreichen, stellt die Bibliothek sicher, dass teure NPU-Ressourcen nicht aufgrund von Software-Ineffizienzen verschwendet werden. Dies ist entscheidend für großskalige Bereitstellungen, bei denen bereits kleine prozentuale Gewinne bei der Auslastung zu erheblichen Einsparungen bei Energie und Zeit führen.

Darüber hinaus zeigt die Unterstützung für fortgeschrittene Funktionen wie MegaMoE und MQA-Logits, dass die Bibliothek für Modellarchitekturen der nächsten Generation gerüstet ist. Da KI-Modelle größer und komplexer werden, wird die Fähigkeit, Mixture-of-Experts-Routing und Multi-Query Attention effizient zu handhaben, zum Wettbewerbsvorteil. Diese Bibliothek bietet eine robuste Grundlage für die Implementierung dieser Funktionen auf Ascend-Hardware.

Was Sie tun können

  • Installieren Sie die Bibliothek über pip mit dem Flag no-build-isolation, um eine ordnungsgemäße Kompilierung der C++-Erweiterungen sicherzustellen.
  • Überprüfen Sie, ob Ihre Umgebung die Anforderungen erfüllt, insbesondere CANN 9.20 und Python 3.10 oder höher.
  • Verwenden Sie die bereitgestellten Hilfsfunktionen, um Skalierungsfaktoren in das erforderliche Layout zu transformieren.
  • Konfigurieren Sie Ihre Entwicklungsumgebung entsprechend den dokumentierten Abhängigkeiten.

Tools aus dem Bytechap-Shop

$89

DocBento

Selbst gehostetes Dokumentenmanagement, das jeden Scan liest und mit Seitenzitaten antwortet.

Live-Demo

Weiterlesen

Alle Artikel