Apertus ist ein Open-Source-Software-Framework für den Aufbau, das Training und die Bereitstellung von Modellen der künstlichen Intelligenz. Es wurde entwickelt, um eine modulare und transparente Alternative zu proprietären KI-Entwicklungsstapeln zu bieten, die es Forschern und Ingenieuren ermöglicht, Pipelines für maschinelles Lernen aus austauschbaren Komponenten zu konstruieren. Das Projekt legt Wert auf Reproduzierbarkeit und Auditierbarkeit, mit einem Fokus auf feingranulare Kontrolle über Modellarchitektur, Trainingsverfahren und Hardware-Nutzung. Apertus wird als gemeinschaftsgetriebene Initiative gepflegt, wobei der Quellcode öffentlich unter einer permissiven Lizenz verfügbar ist.
Das Framework entstand als Reaktion auf die wachsende Komplexität und Undurchsichtigkeit groß angelegter KI-Systeme. Die Entwicklung begann in den frühen 2020er Jahren, wobei die erste stabile Version 2023 erschien. Apertus ist um eine Kernabstraktionsschicht aufgebaut, die Modelldefinitionen von spezifischen Ausführungsumgebungen entkoppelt. Dieses Design ermöglicht es, denselben Modellcode ohne Änderungen auf verschiedenen Hardware-Plattformen auszuführen, einschließlich CPUs, GPUs und spezialisierten Beschleunigern. Das Projekt hat bei akademischen Forschern und unabhängigen Entwicklern an Bedeutung gewonnen, die Transparenz und die Möglichkeit, jede Stufe des KI-Lebenszyklus zu inspizieren, priorisieren.
Kernarchitektur
Die Architektur von Apertus ist in mehrere unterschiedliche Module organisiert, die jeweils für einen spezifischen Aspekt des Workflows für maschinelles Lernen verantwortlich sind. Die zentrale Komponente ist die Modelldefinitions-API, die es Benutzern ermöglicht, neuronale Netzwerkschichten, Aktivierungsfunktionen und Verbindungsmuster mithilfe einer deklarativen Syntax zu spezifizieren. Diese API unterstützt sowohl Low-Level-Primitive, wie einzelne Faltungs- oder rekurrente Schichten, als auch höherwertige Bausteine wie Residualblöcke oder Transformer-Encoder.
Unterhalb der Modell-API liegt die Ausführungs-Engine, die die eigentliche Berechnung übernimmt. Die Engine enthält einen Graph-Optimierer, der das benutzerdefinierte Modell in einen effizienten Berechnungsgraphen transformiert. Dieser Optimierer führt Operationen wie Operator-Fusion, Speicherplanung und Layout-Transformation durch. Die Ausführungs-Engine enthält auch einen Just-in-Time-Compiler, der optimierten Maschinencode für spezifische Hardware-Ziele generieren kann, wobei Techniken ähnlich denen in Deep learning-Frameworks wie TensorFlow und PyTorch verwendet werden.
Eine dritte Hauptkomponente ist das Datenpipeline-Modul. Dieses Modul bietet Werkzeuge zum Laden, Vorverarbeiten und Augmentieren von Trainingsdatensätzen. Es unterstützt das Streamen von Daten aus lokalem Speicher oder Cloud-Diensten und enthält integrierte Implementierungen gängiger Data Augmentation-Techniken wie zufälliges Zuschneiden, Spiegeln und Farb-Jittering. Die Datenpipeline ist auf Effizienz und Skalierbarkeit ausgelegt, mit Unterstützung für paralleles Datenladen und Prefetching.
Das Trainingsmodul implementiert eine Vielzahl von Optimierungsalgorithmen und Planungsstrategien. Es enthält Standardvarianten des stochastischen Gradientenabstiegs, wie Momentum-SGD und Adam, sowie fortgeschrittenere Methoden wie Verstärkungslernen aus KI-Feedback. Das Modul unterstützt auch Lernratenplanung, Gradienten-Clipping und Gewichtsinitialisierung-Schemata. Trainingsläufe können über ein integriertes Protokollierungssystem überwacht werden, das Metriken wie Verlust, Genauigkeit und Gradientennormen aufzeichnet.
Hardware-Abstraktion und Backends
Ein Schlüsselmerkmal von Apertus ist seine Hardware-Abstraktionsschicht, die es ermöglicht, Modelle auf einer breiten Palette von Computergeräten auszuführen. Das Framework enthält Backends für gängige CPU-Architekturen, die optimierte Befehlssätze wie AVX-512 auf x86-Prozessoren nutzen. Für GPU-Beschleunigung bietet Apertus Backends, die mit CUDA und ROCm Schnittstellen, unterstützt Hardware von NVIDIA und AMD.
Das Framework enthält auch experimentelle Backends für spezialisierte KI-Beschleuniger. Dazu gehören Unterstützung für AWS-Trainium-Chips, Google-Cloud-TPUs und Graphcore-IPUs. Die Backend-Schnittstelle von Apertus ist erweiterbar ausgelegt, sodass Drittanbieter-Hardwarehersteller eigene Implementierungen beitragen können. Beispielsweise wurde ein von der Community entwickeltes Backend für Groqs Tensor-Streaming-Prozessoren verfügbar gemacht, obwohl seine Reife je nach Version variiert.
Die Abstraktionsschicht von Apertus erstreckt sich auch auf die Speicherverwaltung. Das Framework kann Datenübertragungen zwischen Host-Speicher und Gerätespeicher automatisch verwalten und unterstützt Unified-Memory-Architekturen, wo verfügbar. Dies vereinfacht die Entwicklung von Modellen, die große Speichermengen benötigen, wie sie in großen Sprachmodellen verwendet werden.
Modell-Zoo und vortrainierte Gewichte
Das Apertus-Projekt pflegt einen Modell-Zoo mit vortrainierten Gewichten für eine Vielzahl gängiger Architekturen. Dazu gehören faltende neuronale Netze für die Bildklassifikation, wie ResNet-Varianten, und U-Net-Modelle für die Bildsegmentierung. Für die Verarbeitung natürlicher Sprache enthält der Zoo transformerbasierte Modelle, einschließlich Encoder-only-Modelle wie BERT und Decoder-only-Modelle ähnlich GPT.
Alle vortrainierten Gewichte im Modell-Zoo werden von detaillierter Dokumentation begleitet, die Trainingsdaten, Hyperparameter und Bewertungsmetriken beschreibt. Diese Transparenz ist ein Kernprinzip des Projekts und ermöglicht es Benutzern, die Herkunft und Einschränkungen jedes Modells zu verstehen. Der Modell-Zoo enthält auch Skripte zur Reproduktion der Trainingsläufe, sodass Forscher Ergebnisse verifizieren und auf bestehender Arbeit aufbauen können.
Zusätzlich zum offiziellen Modell-Zoo unterstützt Apertus ein von der Community beigetragenes Register. Dieses Register ermöglicht es Benutzern, eigene trainierte Modelle zusammen mit Metadaten und Bewertungsergebnissen zu veröffentlichen. Das Register enthält ein Versionskontrollsystem, das sicherstellt, dass Modelle im Laufe der Zeit verfolgt und aktualisiert werden können. Ab 2025 hostet das Register über 1.000 Modelle, von kleinen experimentellen Netzwerken bis zu Sprachmodellen mit mehreren Milliarden Parametern.
Integration mit anderen Werkzeugen
Apertus ist darauf ausgelegt, mit dem breiteren KI-Ökosystem zu interoperieren. Es bietet Konvertierungsdienstprogramme, die den Export und Import von Modellen aus anderen Frameworks wie ONNX und OpenAIs Safetensors-Format ermöglichen. Dies erleichtert die Verwendung von Apertus in Verbindung mit bestehenden Werkzeugen und Bibliotheken.
Das Framework enthält auch eine Python-API, die mit beliebten wissenschaftlichen Rechenbibliotheken wie NumPy und SciPy integriert. Dies ermöglicht es Forschern, Apertus in vertrauten Workflows wie Jupyter-Notebooks zu verwenden. Darüber hinaus bietet Apertus eine Befehlszeilenschnittstelle für gängige Aufgaben, einschließlich Modelltraining, Bewertung und Inferenz.
Für die Bereitstellung kann Apertus Modelle in optimierte Laufzeitformate exportieren. Diese Formate sind für Inferenz mit geringer Latenz in Produktionsumgebungen ausgelegt und können mit dem integrierten Inferenzserver des Frameworks bereitgestellt werden. Der Server unterstützt Batching, dynamische Formbehandlung und Modellversionierung, was ihn für die Verwendung in AWS-, Azure- oder Oracle-Cloud-Bereitstellungen geeignet macht.
Community und Governance
Das Apertus-Projekt wird durch ein offenes Community-Modell regiert. Die Entwicklung wird über ein öffentliches Repository koordiniert, wobei Beiträge von Einzelpersonen und Organisationen akzeptiert werden. Das Projekt hat ein Lenkungsgremium, das die Roadmap überwacht und technische Streitigkeiten löst. Dieses Gremium umfasst Vertreter akademischer Institutionen wie MIT CSAIL und Stanford AI Lab sowie Branchenbeiträger.
Die Finanzierung des Projekts erfolgt aus einer Kombination von Unternehmenssponsoring und Einzelspenden. Hauptsponsoren sind AMD, Intel und Samsung Electronics. Das Projekt erhält auch Unterstützung aus Forschungszuschüssen, einschließlich Finanzierung durch nationale Wissenschaftsagenturen. Alle finanziellen Beiträge werden öffentlich offengelegt, um Transparenz im Betrieb des Projekts zu gewährleisten.
Die Community unterhält ein aktives Diskussionsforum und einen regelmäßigen Zeitplan für Entwicklungs-Sprints. Diese Veranstaltungen bringen Beitragende aus der ganzen Welt zusammen, um an bestimmten Funktionen oder Fehlerbehebungen zu arbeiten. Das Projekt organisiert auch eine jährliche Konferenz, ApertusCon, die Präsentationen über neue Entwicklungen und Anwendungsfälle bietet.
Anwendungen und Anwendungsfälle
Apertus wurde in einer Vielzahl von Forschungs- und Industrieumgebungen übernommen. In der Wissenschaft wird es für Lehre und Forschung in Machine learning und Artificial intelligence verwendet. Beispielsweise verwenden Kurse an der Universität Toronto und Carnegie Mellon University Apertus als primäres Framework für Studentenprojekte.
In der Industrie wird Apertus von Unternehmen verwendet, die feingranulare Kontrolle über ihre KI-Systeme benötigen. Dazu gehören Organisationen im Gesundheitswesen, im Finanzwesen und im autonomen Fahren. Beispielsweise hat Intuitive Surgical Apertus zur Entwicklung von Modellen für die chirurgische Bildanalyse verwendet, während Waymo seine Verwendung für Wahrnehmungsaufgaben in selbstfahrenden Fahrzeugen untersucht hat.
Die Transparenzfunktionen des Frameworks machen es besonders attraktiv für regulierte Branchen. Im Gesundheitswesen helfen die Prüfpfade und reproduzierbaren Trainingsverfahren von Apertus, Compliance-Anforderungen zu erfüllen. Ebenso ist im Finanzwesen die Fähigkeit, das Modellverhalten vollständig zu dokumentieren, wertvoll für Risikomanagement und regulatorische Berichterstattung.
Leistung und Skalierbarkeit
Apertus ist darauf ausgelegt, von Einzelgeräte-Experimenten bis zu großen verteilten Trainingsläufen zu skalieren. Das Framework enthält ein verteiltes Trainingsmodul, das Datenparallelismus, Modellparallelismus und Pipeline-Parallelismus unterstützt. Dies ermöglicht das Training von Modellen über mehrere GPUs oder Knoten unter Verwendung von Kommunikationsprotokollen wie NCCL und MPI.
Benchmark-Tests haben gezeigt, dass Apertus im Vergleich zu anderen Frameworks wettbewerbsfähige Leistung erzielt. Bei Standardaufgaben zur Bildklassifikation, wie dem Training eines ResNet-50 auf ImageNet, liegt der Durchsatz von Apertus innerhalb von 5% der Leistung von PyTorch. Für transformerbasierte Sprachmodelle bietet die optimierte Aufmerksamkeitsimplementierung des Frameworks Beschleunigungen von bis zu 20% gegenüber naiven Implementierungen.
Das Framework enthält auch Profiling-Werkzeuge, die Entwicklern helfen, Leistungsengpässe zu identifizieren. Diese Werkzeuge bieten detaillierte Informationen über Kernel-Ausführungszeiten, Speichernutzung und Kommunikationsaufwand. Diese Daten können zur Steuerung von Optimierungsbemühungen verwendet werden, wie der Auswahl der effizientesten Multi-Head-Attention-Implementierung oder der Abstimmung von Batch-Normalisierung-Parametern.
Zukünftige Richtungen
Die Apertus-Roadmap enthält mehrere geplante Funktionen für kommende Versionen. Ein Schwerpunkt ist die Verbesserung der Unterstützung für Modell-Pruning und Quantisierung, die für die Bereitstellung von Modellen auf ressourcenbeschränkten Geräten unerlässlich sind. Das Team arbeitet auch an der Verbesserung der Unterstützung des Frameworks für Sequenz-zu-Sequenz-Modelle und Cross-Attention-Mechanismen.
Ein weiterer Entwicklungsbereich ist die Integration von generativen KI-Fähigkeiten. Dies umfasst integrierte Unterstützung für Top-k-Sampling, Top-p-Sampling und Temperaturskalierung für die Textgenerierung. Das Ziel ist es, ein vollständiges Toolkit für den Aufbau und die Bereitstellung generativer Modelle bereitzustellen, vom Training bis zur Inferenz.
Das Projekt zielt auch darauf ab, seine Hardware-Unterstützung zu erweitern. Es wird an Backends für Qualcomms KI-Beschleuniger und ARM-basierte Prozessoren gearbeitet. Darüber hinaus gibt es Pläne, die Integration mit Oracle Cloud und anderen Cloud-Plattformen zu verbessern, um die Bereitstellung von Apertus-basierten Anwendungen zu vereinfachen.
Ab 2025 entwickelt sich das Apertus-Projekt weiter, mit einer wachsenden Gemeinschaft von Beitragenden und Benutzern. Sein Engagement für Offenheit und Transparenz positioniert es als bedeutende Alternative im sich schnell entwickelnden Bereich der künstlichen Intelligenz.