Forscher des MIT haben ein automatisiertes System entwickelt, das die Effizienz von KI-Modellen verbessert, indem es zwei Arten von Datenredundanz in tiefen Lernalgorithmen gleichzeitig nutzt: Sparsity (Datenredundanz durch viele Nullwerte) und Symmetrie (Gleichheit der oberen und unteren Hälfte von Datenstrukturen). Dies reduziert den Rechenaufwand, den Speicherbedarf und die benötigte Bandbreite1User-friendly system can help developers build more efficient simulations and AI models.
Das neue Compiler-System, genannt SySTeC, ermöglicht es Entwicklern, Algorithmen zu erstellen, die beide Redundanzen gleichzeitig ausnutzen. In Tests wurde die Geschwindigkeit der Berechnungen um fast das 30-Fache gesteigert. SySTeC vereinfacht den Prozess, indem es komplexen Code in eine einfachere Sprache übersetzt und automatisch für Sparsity und Symmetrie optimiert.
Die Forscher identifizierten drei Schlüsseloptimierungen für Symmetrie: Berechnung nur einer Hälfte des symmetrischen Ausgabetensors, Lesen nur einer Hälfte des symmetrischen Eingabetensors und Auslassen redundanter Berechnungen bei symmetrischen Zwischenergebnissen. Am Ende generiert SySTeC nutzbaren Code, der signifikante Rechenersparnisse mit sich bringt.
Das automatisierte System könnte besonders für Wissenschaftler nützlich sein, die ihre Algorithmen von Grund auf neu entwickeln möchten. Zukünftig planen die Forscher, SySTeC in bestehende Compiler-Systeme zu integrieren und den Code für komplexere Programme zu optimieren.
- Sparsity (Sparsamkeit): Dies bedeutet, dass in einem Datensatz viele Werte Null sind. Zum Beispiel, bei einer Tabelle mit Nutzerbewertungen für Produkte könnte es sein, dass viele Nutzer kein Produkt bewertet haben. Daher sind viele Einträge in der Tabelle Null. Wenn ein Algorithmus nur die wichtigen, nicht-null Werte verwendet, kann er schneller arbeiten und weniger Speicherplatz benötigen.
- Symmetrie: Dies bedeutet, dass die Datenstruktur auf der oberen Hälfte gleich ist wie auf der unteren Hälfte. Man stelle sich eine Matrix vor, die wie ein Spiegel aussieht: die obere Hälfte ist eine Spiegelung der unteren Hälfte. Wenn das der Fall ist, muss der Algorithmus nur die obere Hälfte der Daten berechnen, was Zeit und Rechenaufwand spart. Zusammengefasst helfen Sparsity und Symmetrie den Algorithmen, effizienter zu arbeiten, indem sie überflüssige Berechnungen vermeiden.