Zephyrnet-Logo

Das Prozessordesign wird auf den Kopf gestellt

Datum:

KI verändert das Prozessordesign grundlegend und kombiniert maßgeschneiderte Verarbeitungselemente für bestimmte KI-Workloads mit traditionelleren Prozessoren für andere Aufgaben.

Doch die Kompromisse werden immer verwirrender, komplexer und schwieriger zu handhaben. Arbeitslasten können sich beispielsweise schneller ändern als die Zeit, die für die Erstellung individueller Designs benötigt wird. zusätzlich AI-Spezifische Prozesse können die Energie- und Wärmebudgets überschreiten, was möglicherweise Anpassungen der Arbeitslasten erforderlich macht. Und die Integration all dieser Teile kann zu Problemen führen, die auf Systemebene gelöst werden müssen, nicht nur auf dem Chip.

„KI-Workloads haben die Prozessorarchitektur auf den Kopf gestellt“, sagte Steven Woo, Fellow und angesehener Erfinder bei Rambus. „Es war klar, dass bestehende Architekturen nicht wirklich gut funktionierten. Als den Leuten im Jahr 2014 klar wurde, dass man mit GPUs enorme Steigerungen der Handelsleistung erzielen konnte, gab es der KI einen enormen Aufschwung. Damals begannen die Leute zu sagen: „Eine GPU ist eine Art spezialisierte Architektur.“ Können wir mehr tun?' Damals war klar, dass Multiplikationsakkumulationen, die in der KI sehr verbreitet sind, den Flaschenhals darstellten. Jetzt haben Sie all diese großartige Hardware. Wir haben das Multiplikations-Akkumulations-Zeug auf den Punkt gebracht. Was müssen wir also sonst noch in die Hardware einbauen? Genau darum geht es in der Architektur. Es geht darum, den hohen Hering oder die lange Zeltstange im Zelt zu finden und niederzuschlagen.“

Andere stimmen zu. „KI eignet sich einfach für die GPU-Architektur, und deshalb hat NVIDIA eine Marktkapitalisierung von Billionen Dollar“, sagte er Ansys Regisseur Rich Goldman. „Interessanterweise stellt Intel schon seit langem GPUs her, allerdings in den CPUs, um die Videoprozessoren anzutreiben. Jetzt stellen sie eigenständige GPUs her. Außerdem verfügt AMD über eine sehr interessante Architektur, bei der sich GPU und CPU den Speicher teilen. Die CPU ist jedoch immer noch wichtig. NVIDIAs Grace Hopper ist die CPU-GPU-Kombination, denn nicht alles eignet sich für eine GPU-Architektur. Selbst in Anwendungen, die dies tun, gibt es Teile, die nur kleine CPUs ausführen. Seit Jahrzehnten betreiben wir alles auf einer CPU-x86-Architektur, vielleicht einer RISC-Architektur, aber es ist eine CPU. Unterschiedliche Anwendungen laufen auf unterschiedlichen Architekturen besser, und es ist einfach so, dass sich NVIDIA zunächst auf Videospiele konzentrierte, und das führte zu Animationen und Filmen. Dieselbe Architektur eignet sich sehr gut für künstliche Intelligenz, die heute alles antreibt.“

Die Herausforderung besteht nun darin, effizientere Plattformen zu entwickeln, die für bestimmte Anwendungsfälle optimiert werden können. „Wenn Sie dieses Ding in echter skalierbarer Hardware implementieren und nicht nur in einmaligen Anwendungsfällen, dann besteht die Herausforderung darin, wie Sie dieses Ding ausführen?“ sagte Suhas Mitra, Produktmarketingdirektor für Tensilica AI Products bei Kadenz. „Traditionell hatten wir bei Prozessoren eine CPU. Und wenn Sie eine mobile Plattform hatten, hatten Sie eine GPU, einen DSP usw. All dies geriet durcheinander, weil die Leute sahen, dass diese Arbeitslasten manchmal peinlich parallel sind. Und mit dem Aufkommen des parallelen Rechnens, das der Grund dafür ist, dass GPUs sehr beliebt wurden – sie verfügten über sehr gute Hardware-Engines, die Parallelverarbeitung durchführen konnten – profitierten die Anbieter sofort davon.“

„Das funktioniert am besten, wenn die Arbeitsbelastung klar definiert ist“, sagte Sharad Chole, Chefwissenschaftler bei Expedera. „Nehmen wir an, Sie versuchen in solchen Architekturen, einen ISP und eine NPU eng gekoppelt in Edge-Architekturen zu integrieren. Die SoC-Leiter prüfen, wie sie die Fläche und den Stromverbrauch für das Design reduzieren können.“

Die Herausforderung besteht hier darin, die Latenzauswirkungen des Speicherteils der Architektur zu verstehen, sagte Chole. „Wenn eine NPU langsam ist, wie würde der Speicher aussehen? Wie würde der Speicher aussehen, wenn die NPU schnell ist? Schließlich stellt sich die Frage zwischen dem Ausgleich der MACs und dem Ausgleich des Speichers, da wir versuchen, die Eingangs- und Ausgangspufferung so weit wie möglich zu reduzieren.“

Auch die externe Speicherbandbreite spielt dabei eine wichtige Rolle, insbesondere bei Edge-Geräten. „Niemand hat genug Bandbreite“, fügte er hinzu. „Wie teilen wir also die Arbeitslast auf oder planen das neuronale Netzwerk so, dass die externe Speicherbandbreite erhalten bleibt und so gering wie möglich ist? Das ist im Grunde etwas, was wir tun, indem wir Pakete erstellen oder das neuronale Netzwerk in kleinere Teile zerlegen und versuchen, beide Teile auszuführen.“

Entwerfen für eine sich schnell verändernde Zukunft
Eines der großen Probleme bei KI besteht darin, dass sich Algorithmen und Rechenmodelle schneller weiterentwickeln und verändern, als sie von Grund auf neu entworfen werden können.

„Wenn Sie sagen, dass Sie eine CPU bauen werden, die bei diesen LSTM-Modellen (Long Short-Term Memory) wirklich großartig ist, beträgt dieser Zyklus ein paar Jahre“, sagte Woo von Rambus. „Dann stellt man fest, dass in zwei Jahren LSTM-Modelle als dominierendes Ding kamen und gingen. Sie möchten spezielle Hardware herstellen, müssen dies jedoch schneller tun, um mithalten zu können. Der heilige Gral wäre, wenn wir Hardware so schnell entwickeln könnten, wie wir Algorithmen ändern könnten. Das wäre großartig, aber wir können das nicht tun, obwohl die Branche unter Druck gesetzt wird, dies zu tun.“

Dies bedeutet auch, dass sich die Architektur des Prozessors, der KI-Arbeitslasten verarbeitet, von der Architektur eines Prozessors unterscheidet, der nicht auf KI-Arbeitslasten ausgerichtet ist. „Wenn Sie sich diese Engines für Schulungen ansehen, werden sie weder Linux noch Word ausführen, da sie nicht für allgemeine Verzweigungen, eine breite Palette von Anweisungen oder die Unterstützung einer breiten Palette von Sprachen ausgelegt sind.“ Sagte Woo. „Es handelt sich im Wesentlichen um einfache Motoren, die darauf ausgelegt sind, bei einer kleinen Anzahl von Vorgängen sehr schnell zu arbeiten. Sie sind stark auf die spezifischen Datenbewegungsmuster abgestimmt, die für die Berechnungen erforderlich sind. In der Google TPU beispielsweise gibt es die systolische Array-Architektur bereits seit den 1980er Jahren. Es ist sehr gut darin, eine bestimmte Art von sehr gleichmäßig verteilter Arbeit über große Datenmengen zu erledigen, und ist daher perfekt für diese dichten neuronalen Netze. Das Ausführen von allgemeinem Code ist jedoch nicht das Ziel dieser Dinge. Sie ähneln eher riesigen Co-Prozessoren, die den wirklich großen Teil der Berechnung wirklich gut erledigen, aber sie müssen dennoch mit etwas anderem verbunden werden, das den Rest der Berechnung verwalten kann.“

Selbst das Benchmarking ist schwierig, da es sich nicht immer um einen direkten Vergleich handelt, was die Entwicklung der Architektur erschwert. „Das ist ein schwieriges Thema, weil verschiedene Leute unterschiedliche Tools verwenden, um sich darin zurechtzufinden“, sagte Chole von Expedera. „Wie diese Aufgabe im Alltag des Konstrukteurs aussieht, ist ein Benchmarking auf Systemebene. Sie vergleichen jeden Teil des SoC einzeln und versuchen anhand dieser Zahlen abzuleiten, wie hoch die erforderliche Bandbreite ist. „Das ist die Leistung, das ist die Latenz, die ich bekommen werde.“ Auf dieser Grundlage versuchen Sie abzuschätzen, wie das gesamte System aussehen würde. Aber da wir im Designprozess tatsächlich immer weiter vorankommen, prüfen wir eine Art simulationsbasierten Ansatz, bei dem es sich nicht um eine vollständige Simulation handelt – etwa eine transaktionsgenaue Simulation innerhalb dieser Simulation, um die exakte Leistung und Exaktheit zu erreichen Bandbreitenbedarf für verschiedene Designblöcke. Es gibt zum Beispiel ein RISC-V und eine NPU, und beide müssen zusammenarbeiten und vollständig koexistieren. Müssen sie über Pipelines verlegt werden? Kann ihre Arbeitslast weitergeleitet werden? Wie viele genaue Zyklen benötigt das RISC? Dazu müssen wir das Programm auf dem RISC-V kompilieren, unser Programm auf der NPU kompilieren und es dann mitsimulieren.“

Einfluss von KI-Workloads auf das Prozessordesign
Alle diese Variablen wirken sich auf die Leistung, Leistung und Fläche/Kosten des Designs aus.

Laut Ian Bratt, Fellow und Senior Director of Technology bei Arm, „PPA-Kompromisse für ML-Workloads ähneln den Kompromissen, mit denen alle Architekten konfrontiert sind, wenn sie die Beschleunigung betrachten – Energieeffizienz versus Fläche.“ In den letzten Jahren sind CPUs bei ML-Workloads durch die Hinzufügung ML-spezifischer Beschleunigungsanweisungen deutlich besser geworden. Viele ML-Workloads laufen hervorragend auf einer modernen CPU. Wenn Sie sich jedoch in einer Umgebung mit stark eingeschränkter Energieversorgung befinden, kann es sich lohnen, die zusätzlichen Kosten für die Siliziumfläche zu zahlen, um dedizierte NPUs hinzuzufügen, die für ML-Inferenz energieeffizienter sind als eine CPU. Diese Effizienz geht auf Kosten zusätzlicher Siliziumfläche und Einbußen bei der Flexibilität; NPU IP kann oft nur neuronale Netze betreiben. Darüber hinaus kann eine dedizierte Einheit wie eine NPU möglicherweise auch eine höhere Gesamtleistung (geringere Latenz) erreichen als eine flexiblere Komponente wie eine CPU.“

Russell Klein, Programmdirektor für Siemens EDA's Die Catapult Software Division erklärte: „Es gibt zwei Hauptaspekte des Designs, die sich am stärksten auf seine Betriebseigenschaften (PPA) auswirken. Eine davon ist die Datendarstellung, die in den Berechnungen verwendet wird. Gleitkommazahlen sind für die meisten maschinellen Lernberechnungen wirklich ziemlich ineffizient. Durch die Verwendung einer geeigneteren Darstellung kann das Design schneller, kleiner und energieeffizienter werden.“

Der andere wichtige Faktor ist die Anzahl der Rechenelemente im Design. „Im Wesentlichen geht es darum, wie viele Multiplikatoren in das Design eingebaut werden“, sagte Klein. „Dies bringt Parallelität mit sich, die für die Bereitstellung von Leistung erforderlich ist. Ein Design kann eine große Anzahl von Multiplikatoren haben, wodurch es groß, leistungshungrig und schnell wird. Oder es kann nur wenige haben, wodurch es klein und stromsparend, aber viel langsamer ist. Eine weitere Kennzahl, die neben Leistung, Leistung und Fläche sehr wichtig ist, ist die Energie pro Schlussfolgerung. Alles, was batteriebetrieben ist oder Energie gewinnt, wird wahrscheinlich empfindlicher auf Energie reagieren als auf Strom.“

Auch die numerische Darstellung von Merkmalen und Gewichten kann einen erheblichen Einfluss auf die PPA des Designs haben.

„Im Rechenzentrum ist alles eine 32-Bit-Gleitkommazahl. Alternative Darstellungen können die Größe der Operatoren und die Datenmenge reduzieren, die verschoben und gespeichert werden muss“, bemerkte er. „Die meisten KI-Algorithmen benötigen nicht den gesamten Bereich, den Gleitkommazahlen unterstützen, und funktionieren gut mit Festkommazahlen. Festkomma-Multiplikatoren haben normalerweise etwa die Hälfte der Fläche und Leistung eines entsprechenden Gleitkomma-Multiplikators und laufen schneller. Oft werden auch keine 32 Bit Festkommadarstellung benötigt. Viele Algorithmen können die Bitbreite von Merkmalen und Gewichten auf 16 Bit oder in einigen Fällen auf 8 Bit oder sogar weniger reduzieren. Die Größe und Leistung eines Multiplikators sind proportional zum Quadrat der Größe der Daten, mit denen er arbeitet. Ein 16-Bit-Multiplikator ist also ¼ der Fläche und Leistung eines 32-Bit-Multiplikators. Ein 8-Bit-Festkomma-Multiplikator verbraucht etwa 3 % der Fläche und Leistung eines 32-Bit-Gleitkomma-Multiplikators. Wenn der Algorithmus 8-Bit-Festkommazahlen anstelle von 32-Bit-Gleitkommazahlen verwenden kann, wird nur ¼ des Speichers zum Speichern der Daten und ¼ der Busbandbreite zum Verschieben der Daten benötigt. Dies sind erhebliche Einsparungen an Fläche und Strom. Durch quantisiertes bewusstes Training können die erforderlichen Bitbreiten noch weiter reduziert werden. Typischerweise benötigen Netzwerke, die auf quantisierte Weise trainiert werden, etwa die Hälfte der Bitbreite wie ein quantisiertes Netzwerk nach dem Training. Dies reduziert die Speicher- und Kommunikationskosten um die Hälfte und die Multiplikatorfläche und -leistung um drei Viertel. Quantisierungsbewusst trainierte Netzwerke erfordern typischerweise nur 3–8 Bits einer Festkommadarstellung. Gelegentlich können einige Schichten nur aus einem einzigen Bit bestehen. Und ein 1-Bit-Multiplikator ist ein „Und“-Gatter.“

Auch bei der aggressiven Quantisierung eines Netzwerks wird der Überlauf zu einem erheblichen Problem. „Mit 32-Bit-Gleitkommazahlen müssen sich Entwickler keine Sorgen machen, dass Werte die Kapazität der Darstellung überschreiten. Bei kleinen Festkommazahlen muss dies jedoch behoben werden. Es ist wahrscheinlich, dass es häufig zu einem Überlauf kommt. Die Verwendung von Sättigungsoperatoren ist eine Möglichkeit, dieses Problem zu beheben. Anstelle eines Überlaufs speichert die Operation den größtmöglichen Wert für die Darstellung. Es stellt sich heraus, dass dies für Algorithmen des maschinellen Lernens sehr gut funktioniert, da die genaue Größe einer großen Zwischensumme nicht von Bedeutung ist, sondern lediglich die Tatsache, dass sie groß geworden ist. Mithilfe der Sättigungsmathematik können Entwickler die Größe der von ihnen verwendeten Festkommazahlen um ein oder zwei Bits verringern. Einige neuronale Netze benötigen den Dynamikbereich, den Gleitkommadarstellungen bieten. Sie verlieren einfach zu viel Genauigkeit, wenn sie in Festkommawerte konvertiert werden, oder sie erfordern mehr als 32 Bit Darstellung, um eine gute Genauigkeit zu liefern. In diesem Fall gibt es mehrere Gleitkommadarstellungen, die verwendet werden können. B-float16 (oder „Brain Float“), das von Google für seine NPU entwickelt wurde, ist ein 16-Bit-Float, das leicht in und von herkömmlichem Gleitkomma konvertiert werden kann. Wie bei kleineren Festkommazahlen führt dies zu kleineren Multiplikatoren und weniger Datenspeicherung und -bewegung. Es gibt auch eine IEEE-754-16-Bit-Gleitkommazahl und NVIDIAs Tensorfloat“, fügte Klein hinzu.

Die Verwendung einer davon würde zu einem kleineren, schnelleren und stromsparenderen Design führen.

Darüber hinaus sagte Woo: „Wenn Sie einen Allzweckkern haben, kann er viele Dinge wirklich gut, aber keine davon wird er großartig machen.“ Es ist nur allgemein. Zu jedem Zeitpunkt, an dem Sie Ihre Arbeitslast erledigen, wird es Teile dieses Allzweckkerns geben, die verwendet werden, und Teile, die nicht verwendet werden. Es braucht Fläche, es braucht Kraft, um diese Dinge zu haben. Die Leute begannen zu erkennen, dass das Mooresche Gesetz uns immer noch mehr Transistoren beschert. Daher ist es vielleicht das Richtige, diese spezialisierten Kerne zu bauen, die für bestimmte Aufgaben entlang der KI-Pipeline gut geeignet sind. Manchmal schalten Sie sie aus und manchmal schalten Sie sie ein. Aber das ist besser als diese Allzweckkerne, bei denen Sie immer etwas Fläche und Leistung verschwenden und nie die beste Leistung erzielen. Zusammen mit einem Markt, der bereit ist zu zahlen – einem Markt mit sehr hohen Margen und hohem Dollar – ist das eine großartige Kombination.“

Auch in der Hardware-Engineering-Welt handelt es sich um einen relativ gut verstandenen Ansatz: „Sie rufen Version 1 auf, und sobald Sie sie installiert haben, finden Sie heraus, was funktioniert und was nicht, und Sie versuchen, die Probleme zu beheben“, sagte Marc Swinnen , Direktor für Produktmarketing bei Ansys. „Die von Ihnen ausgeführten Anwendungen sind entscheidend, um zu verstehen, wie diese Kompromisse aussehen müssen. Wenn Sie Ihre Hardware an die Anwendungen anpassen können, die Sie ausführen möchten, erhalten Sie ein viel effizienteres Design als mit Standardprodukten. Der Chip, den man selbst herstellt, passt ideal zu genau dem, was man machen möchte.“

Aus diesem Grund erwägen einige Entwickler generativer KI den Bau ihres eigenen Siliziums, was darauf hindeutet, dass in ihren Augen selbst die aktuellen Halbleiter nicht gut genug für das sind, was sie in Zukunft tun wollen. Dies ist ein weiteres Beispiel dafür, wie KI das Prozessordesign und die damit verbundene Marktdynamik verändert.

KI wird wahrscheinlich auch eine große Rolle in der Chiplet-Welt spielen, wo semi-kundenspezifische und kundenspezifische Hardwareblöcke charakterisiert und in Designs eingefügt werden können, ohne dass alles von Grund auf neu erstellt werden muss. Große Chiphersteller wie Intel und AMD tun dies intern bereits seit einiger Zeit, Fabless-Unternehmen sind jedoch im Nachteil.

„Das Problem ist, dass Ihre Chiplets mit bestehenden Lösungen konkurrieren müssen“, sagte Andy Heinig, Abteilungsleiter für effiziente Elektronik bei Fraunhofer IIS ' Abteilung für Technik adaptiver Systeme. „Und wenn man sich derzeit nicht auf Leistung konzentriert, kann man nicht mithalten. Die Menschen konzentrieren sich darauf, dieses Ökosystem zum Laufen zu bringen. Aber aus unserer Sicht ist es ein kleines Henne-Ei-Problem. Sie benötigen die Leistung, insbesondere weil die Chips teurer sind als eine SoC-Lösung. Aber man kann sich derzeit nicht wirklich auf die Leistung konzentrieren, weil man dieses Ökosystem erst einmal zum Laufen bringen muss.“

Der richtige Anfang
Anders als früher, als viele Chips für einen Sockel konzipiert waren, kommt es bei KI vor allem auf den Arbeitsaufwand an.

„Bei diesen Kompromissen ist es sehr wichtig, eine Vorstellung davon zu haben, was das Ziel vor Augen hat“, sagte Chole von Expedera. „Wenn Sie nur sagen: ‚Ich möchte alles tun und alles unterstützen‘, dann optimieren Sie nicht wirklich für irgendetwas. Sie bauen dort im Grunde nur eine Allzwecklösung ein und hoffen, dass sie Ihren Strombedarf deckt. Nach unserem Verständnis hat das selten funktioniert. Jedes neuronale Netzwerk und jeder Einsatzfall auf Edge-Geräten ist einzigartig. Wenn Ihr Chip in ein Headset eingebaut wird und ein RNN betreibt, statt in einem ADAS-Chip zu sitzen und Transformatoren zu betreiben, handelt es sich um einen völlig anderen Anwendungsfall. Die NPUs, die Speichersysteme, die Konfiguration und der Stromverbrauch sind völlig unterschiedlich. Daher ist es sehr wichtig, dass wir verstehen, welche wichtigen Workloads wir ausprobieren möchten. Dabei kann es sich um mehrere Netzwerke handeln. Sie müssen den Punkt erreichen, an dem sich das Team auf die wichtigen Netzwerke einigt und auf dieser Grundlage optimiert. Das fehlt, wenn Ingenieurteams über NPUs nachdenken. Sie denken nur, dass sie das Beste auf der Welt haben wollen, aber man kann nicht das Beste haben, ohne Kompromisse einzugehen. Ich kann Ihnen das Beste geben, aber in welchem ​​Bereich wollen Sie das Beste?“

Mitra von Cadence bemerkte, dass jeder auf ähnliche Weise über PPA denkt, aber dann betonen die Leute, welcher Teil der Leistung, Leistung, Fläche/Kosten (PPAC) ihnen wichtig ist. „Wenn Sie ein Rechenzentrumstyp sind, ist es vielleicht in Ordnung, wenn Sie vielleicht ein wenig Fläche opfern, denn was Sie anstreben, sind Maschinen mit sehr hohem Durchsatz, weil Sie Milliarden von KI-Schlussfolgerungen oder KI-Dingen durchführen müssen, die.“ Einerseits handelt es sich um den Handel mit Marktanteilen und gleichzeitig um die Ausführung riesiger Modelle, die zu riesigen Datenmengen führen. Die Zeiten, in denen man sich einen Desktop vorstellen konnte, auf dem Dinge für die Entwicklung von KI-Modellen für die Inferenzierung ausgeführt werden konnten, sind längst vorbei, aber selbst die Inferenzierung für einige dieser großen Sprachmodelle wird ziemlich knifflig. Das bedeutet, dass Sie einen riesigen Datencluster und eine umfangreiche Datenverarbeitung im Rechenzentrumsmaßstab bei den Hyperscalern benötigen.“

Es gibt auch andere Überlegungen. „Hardware-Architekturentscheidungen treiben dies voran, aber auch die Rolle der Software ist entscheidend“, sagte William Ruby, Produktmanagementdirektor für Synopsys ' Die EDA Group weist darauf hin, dass Leistung und Energieeffizienz entscheidend sind. „Wie viel Speicher wird benötigt? Wie würde das Speichersubsystem aufgeteilt werden? Kann der Softwarecode im Hinblick auf Energieeffizienz optimiert werden? (Ja, das ist möglich.) Auch die Wahl der Prozesstechnologie ist wichtig – aus allen PPAC-Gründen.“

Wenn die Energieeffizienz keine Priorität hat, kann laut Gordon Cooper, Produktmanager für AI/ML-Prozessoren bei Synopsys, eine eingebettete GPU verwendet werden. „Es bietet Ihnen die größte Flexibilität bei der Codierung, ist jedoch niemals so energie- und flächeneffizient wie spezialisierte Prozessoren. Wenn Sie mit einer NPU entwerfen, müssen Sie immer noch Kompromisse in Bezug auf den Ausgleich von Fläche und Leistung eingehen. Durch die Minimierung des On-Chip-Speichers sollte sich Ihr Gesamtflächenbudget erheblich verringern, die Datenübertragung vom externen Speicher steigt jedoch an, was die Leistung erheblich erhöht. Durch die Vergrößerung des On-Chip-Speichers wird der Stromverbrauch durch Lese- und Schreibvorgänge im externen Speicher verringert.“

Zusammenfassung
All diese Probleme werden zunehmend zu Systemproblemen und nicht nur zu Chipproblemen.

„Die Leute betrachten den Teil des KI-Trainings als ‚Oh wow, das ist wirklich rechenintensiv.‘ „Es gibt eine Menge Datenbewegungen“, sagte Woo. „Und wenn man erst einmal all diese Beschleunigungshardware einsetzen will, fängt der Rest des Systems an, im Weg zu stehen. Aus diesem Grund sehen wir zunehmend Plattformen von Unternehmen wie NVIDIA und anderen, die über ausgefeilte KI-Trainings-Engines verfügen, aber möglicherweise auch über Intel Xeon-Chips verfügen. Das liegt daran, dass die KI-Engines für diesen anderen Teil der Berechnung einfach nicht gut geeignet sind. Sie sind nicht für die Ausführung von allgemeinem Code konzipiert, daher handelt es sich immer mehr um ein heterogenes Systemproblem. Man muss alles zusammenbringen.“

Das andere Puzzleteil liegt auf der Softwareseite, die durch verschiedene Methoden wie Reduktion effizienter gestaltet werden kann. „Das ist die Erkenntnis, dass es innerhalb der KI einen bestimmten Teil des Algorithmus und eine bestimmte Berechnung gibt, die als Reduktion bezeichnet wird. Dabei handelt es sich um eine raffinierte Methode, viele Zahlen zu nehmen und auf eine Zahl oder einen kleinen Satz von Zahlen zu reduzieren“, Woo erklärt. „Es könnte sein, dass man sie alle zusammenzählt oder so etwas in der Art.“ Der herkömmliche Weg, dies zu tun, besteht darin, alle diese Daten von all diesen anderen Prozessoren zu erhalten, sie über das Verbindungsnetzwerk an einen Prozessor zu senden und diesen einen Prozessor einfach alles hinzufügen zu lassen. Alle diese Nummern durchlaufen dieses Netzwerk über Switches, um zu diesem Prozessor zu gelangen. Warum fügen wir sie also nicht einfach in den Schalter ein, weil sie alle durch den Schalter gehen? Der Vorteil besteht darin, dass es der Inline-Verarbeitung ähnelt. Das Faszinierende daran ist, dass Sie nach dem Hinzufügen aller Komponenten im Switch nur noch eine Nummer angeben müssen, was bedeutet, dass der Netzwerkverkehr sinkt.“

Architekturüberlegungen wie diese seien eine Überlegung wert, da sie mehrere Probleme gleichzeitig angehen, sagte Woo. Erstens ist die Übertragung von Daten über Netzwerke unglaublich langsam, und das bedeutet, dass Sie so wenig Daten wie möglich übertragen sollten. Zweitens entfällt die redundante Arbeit, die mit der Übermittlung der Daten an einen Prozessor verbunden ist, nur damit dieser die gesamten Berechnungen durchführt und dann das Ergebnis zurückliefert. Alles wird im Netzwerk erledigt. Und drittens ist es sehr parallel, sodass jeder Switch einen Teil dieser Berechnung durchführen kann.

Ebenso sagte Chole von Expedera, dass KI-Arbeitslasten jetzt durch ein einziges Diagramm definiert werden können. „Diese Grafik ist nicht für eine kleine Reihe von Anweisungen gedacht. Wir nehmen keine einzige Ergänzung vor. Wir führen Millionen von Additionen auf einmal durch, oder wir führen 10 Millionen Matrixmultiplikationsoperationen auf einmal durch. Das verändert das Paradigma darüber, was Sie über die Ausführung denken, wie Sie über Anweisungen denken, wie Sie die Anweisungen komprimieren können, wie Sie die Anweisungen vorhersagen und planen können. Dies ist bei einer Allzweck-CPU nicht praktikabel. Dafür sind die Kosten zu hoch. Da es sich jedoch um ein neuronales Netzwerk handelt, in dem die Anzahl der gleichzeitig aktiven MACs sehr groß ist, ändert sich die Art und Weise, wie Sie die Anweisungen generieren, erstellen, komprimieren und planen können, hinsichtlich der Auslastung und Bandbreite erheblich. Das war der große Einfluss der KI auf die Prozessorarchitektur.“

Weiterführende Literatur
Partitionierungsprozessoren für KI-Workloads
Die allgemeine Verarbeitung und mangelnde Flexibilität sind alles andere als ideal für KI/ML-Workloads.
Prozessor-Kompromisse für KI-Workloads
Die Lücken zwischen technologischen Fortschritten und Anforderungen werden immer größer und es wird immer schwieriger, sie zu schließen.
Spezialisierung vs. Verallgemeinerung in Prozessoren
Was ist nötig, um eine Massenanpassung am Rande mit hoher Leistung und geringem Stromverbrauch zu erreichen?

spot_img

Neueste Intelligenz

spot_img