Dynamischer neuronaler Beschleuniger

ML-Rahmen

EdgeCortix Dynamic Neural Accelerator (DNA) ist ein flexibler IP-Core für Deep-Learning-Inferenz mit hoher Rechenleistung, ultraniedriger Latenz und skalierbarer Inferenz-Engine auf BittWare-Karten mit Agilex FPGAs. 

DNA ist ein patentierter rekonfigurierbarer IP-Kern, der speziell für die Inferenz mit Streaming- und hochauflösenden Daten (Batch-Größe 1) optimiert ist. In Kombination mit dem MERA™ Software-Framework von EdgeCortix ermöglicht er die nahtlose Beschleunigung der zunehmend komplexen und rechenintensiven KI-Workloads von heute und erreicht dabei eine Array-Auslastung von über 90 %. 

Ergänzt durch das MERA-Framework, das eine integrierte Kompilierungsbibliothek und Laufzeit bietet, ermöglicht dieser dedizierte IP-Kern Software-Ingenieuren die Verwendung der Bittware IA-840f und IA-420f FPGA-Karten als Drop-in-Ersatz für Standard-CPUs oder GPUs, ohne ihre Komfortzone von Standard-Frameworks wie PyTorch und TensorFlow zu verlassen. DNA Bitstreams für Agilex bietet eine deutlich geringere Inferenzlatenz bei Streaming-Daten mit einem 2- bis 6-fachen Leistungsvorteil im Vergleich zu konkurrierenden FPGAs und eine bessere Energieeffizienz im Vergleich zu anderen Allzweckprozessoren. 

Bis zu 20 TOPS @ 400 MHz

INT8 Inferenz
(99% der FP32 Genauigkeit)

50+ Modelle getestet mit MERA Rahmen

Video-Demo

Erfahren Sie mehr über den Dynamic Neural Accelerator von EdgeCortix CEO Sakya Dasgupta.

 

Marcus Weddle, BittWare

Hallo, hier ist Marcus von BittWare. Was folgt, ist eine Diskussion mit EdgeCortix über ihr Framework für maschinelles Lernen, aber ich möchte ein wenig Hintergrundwissen vermitteln, bevor wir eintauchen.
Künstliche Intelligenz ist heute in aller Munde, aber dieser Trend hat eigentlich erst in den letzten 10 Jahren begonnen. Die Idee, künstliche Intelligenz zu nutzen, ist offensichtlich viel älter als das. Die Antwort liegt in der Hardwarebeschleunigung, insbesondere bei Grafikprozessoren und FPGAs, und seit kurzem auch bei speziellen ASICs. Diese Geräte haben das Feld der KI für Forscher, die neue Techniken entwickeln, und für kommerzielle Anwendungen, die eine Nachfrage schaffen, wirklich geöffnet.
Und das Aufregendste ist, dass wir uns erst in der Mitte einer langen Wachstumskurve der Verbesserung von KI-Techniken, Hardware-Fähigkeiten und wachsenden Anwendungsfällen befinden.
Da KI ein sehr umfangreiches Thema ist, konzentrieren wir uns heute nur auf das maschinelle Lernen am Rande, d. h. auf die Anwendungsfälle außerhalb der Cloud- oder Rechenzentrumsumgebung.
Bei Edge-Geräten ist, wie wir sehen werden, die Effizienz entscheidend. Darauf hat sich EdgeCortix konzentriert, indem es sich einige der einzigartigen Vorteile von FPGAs zunutze gemacht hat, um sie an die Arbeitslast anzupassen, sowie eine hochgradig anpassungsfähige Software, die unter anderem das Umlernen überflüssig macht.
Bei mir ist der Gründer und CEO von EdgeCortix, Sakya Dasgupta. Herzlich willkommen!

Sakya Dasgputa, PhD, Gründer und CEO von EdgeCortix

Danke, Marcus, ich freue mich auf ein Gespräch mit Ihnen.

Marcus

Beginnen wir damit, den Edge vielleicht etwas besser zu definieren, indem wir sagen: Warum nicht die gesamte ML-Inferenzierung in der Cloud oder im Rechenzentrum durchführen? Warum sollte man sich überhaupt die Mühe machen, dies am Rand zu tun?

Sakya

Ganz genau. Die reine Nutzung der Cloud oder von Rechenzentren für die Bereitstellung von Lösungen für maschinelles Lernen wird also durch fünf zentrale Herausforderungen weitgehend eingeschränkt.

Sie können dies auf die Kosten aufschlüsseln, die für die Verarbeitung von Informationen in der Cloud erforderlich sind. Der zweite Punkt ist der Stromverbrauch oder das, was wir Energieeffizienz nennen. Die dritte, größte Herausforderung liegt in den Modellen. Die Komplexität dieser neuronalen Netze selbst.

Die vierte kritische Herausforderung betrifft den Schutz der Daten, die man zu bewahren versucht, und die Verarbeitung von Informationen in der Cloud. Und dann gibt es grundsätzlich eine Begrenzung der Latenzzeit oder Bandbreite.

Lassen Sie uns das also ein wenig weiter aufschlüsseln.

Kosten

Wenn man sich die Kosten ansieht, ist eine reine Cloud-Native-Lösung durch die hohen Kosten begrenzt, die nicht nur für die Rechenleistung, sondern auch für die Speicherung großer Datenmengen anfallen. Und wir sprechen hier in den meisten Fällen über Petabytes an Daten.

Betrachtet man den Edge-Bereich, so befinden sich 75 % aller für das maschinelle Lernen interessanten Daten direkt in der Cloud, in der Nähe der so genannten Edge-Geräte oder Edge-Dienste. Das Verschieben all dieser Daten in die Cloud und die anschließende Verarbeitung und Berechnung ist eine große Kostenherausforderung.

Leistungseffizienz

Energie und Energieeffizienz werden zu einem Engpass, da die meisten Systeme in der Cloud Kilowatt, wenn nicht sogar mehr verbrauchen und das maschinelle Lernen oder die KI-Inferenz selbst viele Computerressourcen beansprucht.

Komplexität der Modelle

Die Modelle sind, wie ich bereits erwähnt habe, sehr komplex, und die meisten dieser Modelle wurden in der Cloud trainiert. Wenn Sie nun versuchen, dieses komplexe Modell an den Rand zu bringen, gibt es einen Engpass in Bezug auf die begrenzten Ressourcen auf diesen Geräten. Daher sind sie für eine reine Cloud-basierte Bereitstellung nicht sehr gut geeignet.

Datenschutz

Und wenn Sie alle Ihre Daten, sagen wir, näher an den Rand verlagern und dann zurück in die Cloud gehen, besteht die Gefahr, dass Sie den Schutz Ihrer Daten verlieren, zum Beispiel bei Anwendungen im Gesundheitswesen oder anderen ähnlichen Szenarien.

Latenzzeit

Außerdem ist die Übertragung großer Datenmengen und die Verarbeitung all dieser Daten in der Cloud mit hohen Latenzzeiten verbunden. Die meisten Echtzeitanwendungen benötigen eine Verarbeitungszeit von weniger als sieben bis 10 Millisekunden. Folglich wäre eine reine Cloud-Native-Lösung für fast alle Echtzeitanwendungen ein absolutes No-Go.

Das sind also im Grunde einige Gründe, warum die Beschränkung auf eine rein cloudbasierte Lösung für maschinelles Lernen nicht das ideale Szenario wäre.

Marcus

Ja, das macht Sinn. Ich habe gelesen, wie Sie FPGAs als eine Ihrer Einsatzplattformen ausgewählt haben - Sie haben einen Prozess namens Co-Exploration verwendet.

Können Sie mir das erläutern und dann einige der spezifischen Vorteile nennen, die Sie bei FPGAs gefunden haben und die sie für Edge Inference gut geeignet machen?

Sakya

Sicher, das ist eine gute Frage. Wenn es um maschinelles Lernen geht, insbesondere bei tiefen neuronalen Netzen, bieten FPGAs selbst den großen Vorteil der vollständigen Flexibilität. Sie haben die Möglichkeit, das Verhalten der Hardware-Plattform komplett zu ändern, wenn man sich neuronale Netze mit mehreren Schichten ansieht. Es gibt eine Menge Heterogenität sogar innerhalb einer einzelnen Schicht eines neuronalen Netzes, und auch wenn man verschiedene Netze miteinander vergleicht.

Zweitens werden fast alle Berechnungen in neuronalen Netzen nicht zentral gesteuert, wie dies bei einer CPU der Fall ist. Sie sind nicht sehr von-Neumann-lastig, sondern enthalten mehrere Grade der Parallelität, die sich am besten als Datenflussdiagramm darstellen lassen.

Bei diesem Ansatz, der als Co-Design oder Co-Exploration bezeichnet wird, versuchen wir, die Genauigkeitsanforderungen eines typischen neuronalen Netzes oder eines tiefen neuronalen Netzes mit den relevanten Hardware-Metriken wie Latenz, Speicher und Stromverbrauch in Einklang zu bringen, und wir können die Prozessorarchitektur so anpassen, dass die inhärente Parallelität genutzt wird, was uns in den meisten Fällen eine deutlich bessere Gesamtauslastung der Hardware ermöglicht. Vor allem, wenn man sie mit Allzweckprozessoren wie GPUs oder CPUs vergleicht.

Deshalb haben wir als Unternehmen diesen Ansatz gewählt und sowohl die dynamische neuronale Beschleuniger-IP als auch die MERA-Software mit diesem Co-Design-Ansatz Hand in Hand entwickelt.

Wenn Sie den gleichen Ansatz verwenden, können wir auch den Kompromiss zwischen dem, was Sie als Präzision oder Auflösung bezeichnen würden, mit der Sie die Informationen verarbeiten, die für die Erhaltung der hohen Genauigkeit dieser verschiedenen Modelle erforderlich sind, ausgleichen und gleichzeitig den Speicherbedarf der Modelle reduzieren, so dass sie optimal in eine begrenzte Menge an Speicher passen, die Sie von Haus aus auf dem FPGA-Chip haben. So haben wir uns auf das INT8-Bit geeinigt, um einen Kompromiss zwischen der optimalen Durchführung der Inferenz mit einer Genauigkeit zu finden, die mit der ursprünglichen Genauigkeit übereinstimmt, und um die Speichermenge zu optimieren, die direkt auf dem Board benötigt wird, und um die Operationen so zu begrenzen, dass sie nicht durch die Datenübertragungsmenge begrenzt werden, die außerhalb des FPGA-Chips stattfindet.

Daher bieten FPGAs insgesamt ein gutes Gleichgewicht zwischen der Flexibilität bei der Anpassung des Prozessordesigns und der Kontrolle dieser Recheneffizienz, die durch einen solchen Co-Design- oder Co-Explorationsprozess erreicht wird.

Marcus

Würden Sie sehen, dass sich die Arbeitslasten ändern oder andere Hardwarefunktionen, wie z. B. dedizierte DSP-Blöcke, Sie in Zukunft vom INT8 abbringen könnten?

Sakya

Ja, absolut. Als wir mit diesem Prozess begannen, war es nicht so, dass die INT8-Bit-Darstellung die einzige Präzision ist, die wir derzeit unterstützen. Es gibt im Wesentlichen eine Reihe von Präzisionswerten, die von unserer Architektur unterstützt werden, nämlich 16 INT8-Bit-Gleitkommazahlen, und das kann zwischen der Darstellung für die Gewichte oder Parameter des neuronalen Netzes und der Präzision, die Sie für die Speicherung der Aktivierungen verwenden, variieren.

Im Grunde ist dieser Mitgestaltungsprozess ein lebendiger Prozess, der während der gesamten Einführungsphase andauert.

Grundsätzlich können Sie die Prozessorarchitektur nicht weiter verändern, wenn Sie das Co-Design durchführen. Aber selbst wenn sich beispielsweise das Modell Ihres neuronalen Netzes ändert oder Aktualisierungen vorgenommen werden, können Sie bestimmte Aspekte Ihrer Prozessorarchitektur neu gestalten, um die Anforderungen an Genauigkeit und Latenzzeit besser zu erfüllen.

Der Vorteil von FPGA, um auf Ihre vorherige Frage zurückzukommen, ist, dass wir jetzt die Flexibilität haben, die Prozessorarchitektur zu ändern, wenn Sie das möchten. Nimmt man dagegen ASICs oder andere Arten von Hardware, die rein fix sind - sobald man sie herstellt oder produziert -, hat man diese Flexibilität nicht mehr.

Marcus

Lassen Sie uns nun über spezifische Hardware sprechen. BittWare hat die EdgeCortix-IP und -Software zusammen als Framework auf unseren Intel Agilex-basierten Karten verfügbar. Können Sie einen Einblick in die Leistung von Agilex geben und sehen Sie Vorteile in der erweiterten PCIe Gen4-Bandbreite?

Sakya

Auf jeden Fall. Wir sehen eine Menge Vorteile in der Kombination unserer KI-Beschleunigungs-IP mit den neuen Intel Agilex-Karten. Vor allem, wenn man sich die Unterstützung von zwei Formfaktoren der BittWare Double-Width-FPGA-Karten und auch der Low-Profile-FPGA-Karte ansieht, ermöglicht dies dem Benutzer eine ideale Wahl zwischen Rechenleistung, Leistung und Kosten, insbesondere wenn man sie mit TeraBox-Servern bündelt. Dies sollte es ermöglichen, FPGA-Beschleunigung auch in den anspruchsvolleren, rauen Umgebungen einzusetzen, die speziell für Edge-Anwendungen erforderlich sind.

Im Grunde genommen handelt es sich bei Intel Agilex um Silizium der neuesten Generation von Intel. Jeder dieser FPGAs verfügt über eine gehärtete PCIe-Protokollunterstützung, die kritische FPGA-Ressourcen und Strom spart, was für viele Anwendungen, bei denen KI mit anderen Arten der FPGA-Beschleunigung koexistiert, sehr wichtig sein kann.

Wenn man sich den Intel Agilex ansieht, basiert er auf der HYPERFLEX-Architektur der zweiten Generation. Dies bringt gehärtete DSP-Blöcke mit sich, die es uns in unserem Fall ermöglichten, Tausende von INT8-Operatoren und eine einheitliche Struktur einzubauen, die die IP leicht skalieren kann.

Darüber hinaus ermöglicht uns die PCIe Gen 4-Unterstützung auf diesen FPGA-Karten eine Verbesserung von mehr als 30 % im Vergleich zur Bandbreite, die bei der vorherigen Generation - beispielsweise PCIe Gen 3 - verfügbar ist. Dies kann sich sehr stark auf maschinelle Lernverfahren auswirken, bei denen wir sehr häufig hochauflösende Daten vom Host zum FPGA und zurück übertragen. Folglich kann eine höhere verfügbare Bandbreite - also eine höhere Geschwindigkeit - einen dramatischen Einfluss auf die Gesamteffizienz oder -leistung haben.

Und dann gibt es grundsätzlich auch ausreichend große Mengen an Speicher, die in Bezug auf DDR4-Unterstützung verfügbar sind. Wenn man sich die FPGA-Karte mit doppelter Breite anschaut, haben wir, glaube ich, bis zu 128 Gigabyte. Wenn man das mit den relativ großen Mengen an On-Chip-BRAM auf diesen FPGAs selbst koppelt, sollte das wirklich gute Skalierbarkeitsoptionen für viele Anwendungen bieten.

Als wir uns den Intel Agilex ansahen und unsere IP anpassten, konnten wir bis zu 20 Billionen Operationen bzw. 20 TOPS an dedizierter KI-Berechnung einbauen. Wir glauben, dass wir mit unserer IP auf diesen Karten einen 6-fachen Leistungsvorteil im Vergleich zu anderen FPGA-Beschleunigungslösungen auf dem Markt erzielen können.

Marcus

Okay, Sakya, jetzt sehen wir uns das Diagramm an, das die BittWare-Karten mit einigen der anderen Lösungen vergleicht. Die low-profile IA-420F Karte ist 6-7x besser und die IA-840F sogar noch besser. Das ist sehr beeindruckend. Wir sehen eine GPU in diesem Diagramm - und Sie hatten 20 TOPS erwähnt, die Sie jetzt auf Agilex erhalten - ich weiß, dass Sie in der Vergangenheit gesagt haben, dass es einen Unterschied gibt, wie die TOPS auf einer GPU genutzt werden. Worin besteht dieser Unterschied genau und wie können wir die Leistung besser vergleichen, abgesehen von der Angabe der TOPS?

Sakya

Sicher, absolut. Das ist eine weitere gute Frage. Wenn man also TOPS im Allgemeinen vergleicht, ist es nicht ganz repräsentativ für die Gesamtleistung des FPGAs oder eines Rechenprozessors.

Wenn Sie also zum Beispiel zwei Geräte nehmen - in diesem Fall ein FPGA mit 20 TOPS - dann steht unser DNA IP-fähiges 20 TOPS BittWare FPGA einer GPU gegenüber, die 20 TOPS hat.

Grundsätzlich sind GPUs keine sehr guten Nutzer der Gesamtmenge an Rechenleistung, die auf ihnen verfügbar ist. Wir nennen das Auslastung.

Die meisten modernen GPUs, sogar CPUs, nutzen maximal 20 % bis 30 % der insgesamt verfügbaren Rechenleistung.

Wenn Sie also 20 TOPS haben, kratzen Sie gerade mal an der Oberfläche, wenn man bedenkt, dass 20 % davon zu einem bestimmten Zeitpunkt genutzt werden.

Wenn wir das nun mit den DNA IP-fähigen FPGAs vergleichen - aufgrund der Laufzeit-Rekonfigurationsfähigkeit, die wir auf unserer IP haben - können wir fast 90 % der Rechenleistung nutzen, in diesem Fall werden 90 % der 20 TOPS für jede beliebige KI-Arbeitslast oder -Anwendung genutzt.

Infolgedessen ist die Effizienz - Bilder pro Sekunde pro Watt - bei dieser Auslastung mit unserer Lösung deutlich höher als bei einer entsprechenden GPU- oder FPGA-Lösung.

Marcus

Okay, danke für diese Klarstellung zu TOPS. Ich möchte nun über die MERA-Software sprechen. Wie Sie sagten, heißt die IP, die auf dem FPGA läuft, DNA, was eine sehr hohe Effizienz bietet, aber die MERA-Software selbst bietet erhebliche zeitsparende Vorteile, wie die Verwendung von Standard-Frameworks und die Tatsache, dass kein erneutes Training erforderlich ist, wenn man zum Beispiel von einer GPU kommt. Können Sie einige dieser Softwarevorteile von MERA näher erläutern?

Sakya

Ja, das ist richtig. Wir haben das MERA-Framework also mit Blick auf die Flexibilität von Machine-Learning-Ingenieuren entwickelt, die keine FPGA-spezifischen Fähigkeiten benötigen, was bei der Verwendung von FPGAs für die KI-Beschleunigung ein echter Schmerzpunkt war.

Einer der grundlegenden Vorteile von MERA ist daher eine nahezu Plug-and-Play-Umgebung, die:

Erstens können wir jede bestehende Anwendung für tiefe neuronale Netze, die bereits trainiert wurde - beispielsweise auf einer GPU - nahtlos auf diesen FPGA portieren, der mit der DNA IP ausgestattet ist, ohne dass ein erneutes Training oder Änderungen an der Architektur erforderlich sind.

Zweitens kann MERA über ein öffentliches PyPi-Repository installiert werden, was bedeutet, dass jeder, der Zugang zu Pip hat, MERA direkt auf das Gerät herunterladen kann, auf dem der FPGA läuft, und dann wird es mit eingebauter Unterstützung für Python oder C++ geliefert, und es unterstützt auch nativ alle wichtigen maschinellen Lern-Frameworks wie Pytorch, TensorFlow und TensorFlow Lite.

Drittens bietet es auch integrierte Unterstützung für den Open-Source-Compiler Apache TVM, der ein sehr beliebter Deep-Learning-Compiler ist. Dies ermöglicht es den Nutzern, nach einem einfachen Kalibrierungs- und Quantisierungsschritt ein beliebiges vortrainiertes Modell eines tiefen neuronalen Netzes einzusetzen und dabei vollständig im Rahmen des maschinellen Lernens ihrer Wahl zu bleiben.

Unser IP-spezifisches Modell, die Quantisierung und das Pruning sind im Grunde genommen überflüssig.

Das ist ein enormer Vorteil im Vergleich zu konkurrierenden Lösungen oder anderen Infrastrukturen mit FPGAs und anwendungsspezifischer Hardware.

In Anbetracht der Tatsache, dass fast alle derartigen Prozesse ein gewisses Maß an Feinabstimmung erfordern, die sehr hardwarespezifisch sind, geben wir den Ingenieuren für maschinelles Lernen durch die Eliminierung dieses Aspekts viel mehr Autonomie, um ihren Code, von dem sie wissen, dass er bereits auf einer GPU funktioniert, wirklich nahtlos zu übertragen.

Viertens gibt es eine vielfältige Unterstützung von Betreibern tiefer neuronaler Netze. So können die meisten modernen DNNs oder tiefen neuronalen Netze sofort eingesetzt werden. Außerdem stellen wir eine vorab getestete Sammlung von mehr als 50 Modellen für verschiedene Anwendungen bereit, mit denen der Benutzer spielen kann.

Fünftens gibt es auch so genannte Profiling-Tools wie einen integrierten Simulator-Interpreter, mit dem der Benutzer die Leistung sehr schnell testen kann, ohne die Lösung auf dem FPGA selbst einsetzen zu müssen. Auf diese Weise können sie sowohl die Modellgenauigkeit bestätigen als auch die Leistung relativ schnell abschätzen.

Dies sind also einige der Vorteile von MERA als Rahmenwerk.

Marcus

Okay, wir haben uns mit der Hardware beschäftigt. Wir haben die Software behandelt. Kommen wir nun zu einigen Anwendungsfällen, von denen ich ein paar interessant fand. Der erste ist die Superauflösung. Was ist das und wie funktioniert das EdgeCortix-Framework damit?

Sakya

Wenn man sich die Superauflösung anschaut, ist das die Möglichkeit, die Auflösung eines Bildes oder eines Videobildes drastisch zu erhöhen oder zu verringern.

Sie sprechen davon, dass Sie von einer, sagen wir, kleinen Auflösung von 360p - also einer sehr geringen Pixeldichte - zu einer sehr hohen Auflösung wie 4K übergehen. Das ist ein enormer Sprung in der Auflösung, oder umgekehrt - eine Reduzierung der Auflösung von 4K auf 360p.

Anwendungen, die einen Wechsel zwischen Auflösungen erfordern, oder Anwendungen, bei denen die Bandbreite erhalten bleiben soll. Wenn Sie z. B. bestimmte Streaming-Anwendungen mit Video durchführen, möchten Sie vielleicht die Bandbreite erhalten, indem Sie auf eine niedrigere Auflösung heruntergehen, die Daten übertragen und dann die Auflösung auf der Seite des Benutzers wiederherstellen.

Bei der Superauflösung werden üblicherweise klassische Methoden verwendet, die sehr verlustbehaftet sind. Infolgedessen würde ein Großteil des Informationsgehalts des Bildes verloren gehen, was zu einer Verpixelung führt, wenn man von einer sehr geringen Auflösung zu einer hohen Auflösung übergeht.

Mit Hilfe von neuronalen Netzen, die auf diesen Bildern und Videos trainiert wurden, um den Informationsgehalt zu extrapolieren, können wir den Großteil dieser Informationen weitgehend verlustfrei erhalten.

Diese Extrapolation ermöglicht es uns, einen Großteil der Informationen zu erhalten, ohne dass es zu einer Pixelung kommt, wie sie bei klassischen, nicht auf maschinellem Lernen basierenden Methoden zu beobachten ist.

Im Falle des EdgeCortix-Frameworks sind wir in der Lage, diese relativ komplexen hochauflösenden Modelle direkt auf dem FPGA mit sehr hohen Auflösungen auszuführen.

Dadurch können wir innerhalb von Millisekunden von einer kleinen 360p- oder 480p-Auflösung direkt auf 4K umschalten und so große Datenmengen für Video-Streaming-Anwendungen übertragen.

Marcus

Das ist hervorragend. Ich denke, das ist ein großartiges Beispiel für die Anpassungsfähigkeit an neue Anwendungen für KI. Ein weiterer interessanter Anwendungsfall ist die Nutzung von Sensordaten, die nicht unbedingt bildbasiert sind. In diesem Fall kann man mit Hilfe von KI Fingerabdrücke von Hochfrequenzdaten nehmen, um Dinge wie den Standort oder die Identifizierung eines Geräts vorherzusagen. Erzählen Sie mir mehr darüber, wie das funktioniert.

Sakya

Das ist also eine interessante Frage. Im Allgemeinen haben wir eine Vielzahl von Anwendungen sowohl in der Verteidigungskommunikation als auch bei Verbraucheranwendungen gesehen, bei denen wir die Quelle identifizieren müssen, an der Daten erzeugt oder von der Informationen übertragen werden. Dies geschieht in der Regel über so genannte Funkfrequenzen. Und so wie Menschen Fingerabdrücke haben, kann man jetzt die Funkfrequenzen erfassen und dann im Wesentlichen eindeutige Fingerabdrücke davon erstellen, woher die Daten stammen. Das kann ein Router sein, das kann ein Mobilfunkmast sein. Es könnte auch ein einzelnes Mobiltelefon sein. Als Ergebnis können wir nun all diese Daten nehmen, sie in Bilder umwandeln und dann ein tiefes neuronales Netzwerk trainieren, in diesem Fall ein neuronales Faltungsnetzwerk, das diese einzigartigen Merkmale identifizieren und in den meisten Fällen klassifizieren kann, ob es sich bei dem Gerät um ein echtes Gerät handelt. Wenn es sich zum Beispiel um ein bekanntes Gerät handelt, kann es auch klassifizieren oder lokalisieren, woher die Informationen stammen.

Die Fähigkeit, solche neuronalen Netze auf dem FPGA auszuführen oder zu verarbeiten, eröffnet das Feld für verschiedene Arten von Anwendungen, die sich über den Rand der Infrastruktur erstrecken, aber auch in der Verteidigung oder in der Kommunikation, die eine sehr spezifische Lokalisierung oder Identifizierung sowie eine Authentifizierung der Quellen, in denen Signale erzeugt werden, erfordern.

Es handelt sich also auf jeden Fall um ein wachsendes Feld, und wir sehen viele Anwendungen, die sowohl den Verteidigungs- als auch den Verbrauchersektor betreffen.

Marcus

Es ist großartig, diese aufkommenden Anwendungsfälle zu sehen, und meine letzte Frage knüpft daran an - was kommt als Nächstes für Edge-KI? Sehen Sie weitere Iterationen der Co-Exploration, wenn sich Hardware oder Anwendungsfälle ändern oder neu entstehen? Wie wägen Sie die Kompromisse zwischen Flexibilität und Effizienz am Rand ab?

Sakya

Ja, das ist eine gute Frage, und ich denke, das Feld ist völlig offen. Wir fangen gerade erst an, an der Oberfläche zu kratzen, wenn es darum geht, unsere neuronalen Netze im Hinblick auf die Hardware-Plattform, auf der sie laufen sollen, mitzugestalten. Vor allem FPGAs, um auf die ursprüngliche Frage zurückzukommen, bieten das richtige Substrat an Flexibilität, damit wir bestimmte Aspekte der Prozessorarchitektur feinabstimmen können, wenn wir es nicht auf Anhieb hinbekommen.

Gleichzeitig werden ständig neue Arten von Modellen erfunden. Früher waren neuronale Faltungsnetzwerke für Videos und Bilder sehr beliebt. Jetzt gibt es Modelle wie Transformatoren, die sich von diesen Faltungsmodellen leicht unterscheiden. Daher ist eine engere Integration und Anpassung zwischen den verschiedenen Generationen dieser neuronalen Netze wünschenswert, von denen wir wissen, dass sie zu einem bestimmten Zeitpunkt besser funktionieren als die Hardware-Plattform, auf der sie ausgeführt werden sollen.

Sie wollen wirklich keine Einheitsgröße für alle Szenarien. Sie wollen eine große Flexibilität in Bezug auf das Substrat, auf dem Sie dies ausführen wollen, im Vergleich zu den Funktionen des neuronalen Netzes oder dem Grad der Parallelität.

Insgesamt ist der Kompromiss zwischen Flexibilität und Effizienz etwas, von dem Sie wissen, dass es noch sehr lange Zeit bestehen wird. Vor allem, wenn man über die Grenzen nachdenkt - angesichts der Tatsache, dass man immer nur begrenzte Ressourcen zur Verfügung hat, dass es Einschränkungen bei der Energieversorgung und in vielen Fällen auch bei der Mobilität gibt - ist der einzige wirkliche Dreh- oder Angelpunkt, an dem wir drehen können, um unsere Leistung zu steigern, die Effizienz oder das Ressourcenmanagement.

Daher sehe ich diesen ganzen Bereich der Ko-Exploration als etwas, das von hier aus nur noch weiter wachsen wird.

Marcus

Nun gut, Sakya, wir haben eine Menge Themen behandelt - vielen Dank für das Gespräch mit uns.

Sakya

Danke Marcus, es war mir ein Vergnügen. Ich danke dir.

Marcus

Vielen Dank für unser Gespräch mit dem CEO und Gründer von EdgeCortix, Sakya Dasgupta.

Beschreibung des Produkts

mera-blau-weiß-Logo kopieren

Die EdgeCortix Deep Learning Compute Engines als Teil des DNA IP Core sind für die Bittware IA-840f und IA-420f Karten optimiert und werden als einsatzbereite Bitstreams ausgeliefert. Die EdgeCortix-Lösungssuite wird mit dem MERA™-Framework geliefert, das aus einem öffentlichen Pip-Repository installiert werden kann und die nahtlose Kompilierung und Ausführung von standardmäßigen oder benutzerdefinierten Faltungsneuronalen Netzen (CNN) ermöglicht, die in branchenüblichen Frameworks entwickelt wurden.

MERA besteht aus dem Compiler und dem Software-Toolkit, die erforderlich sind, um die Kompilierung von Graphen für tiefe neuronale Netze und die Inferenz unter Verwendung der integrierten DNA-Bitstreams zu ermöglichen. Mit eingebauter Unterstützung für das Open-Source-Compiler-Framework Apache TVM bietet es die Werkzeuge, APIs, Code-Generatoren und die Laufzeit, die erforderlich sind, um ein vorab trainiertes tiefes neuronales Netzwerk nach einem einfachen Kalibrierungs- und Quantisierungsschritt einzusetzen. MERA unterstützt Modelle, die direkt im Deep Learning Framework wie Pytorch oder TensorflowLit quantisiert werden.

Eigenschaften

KI-Inferenz-IP-Kern mit extrem niedriger Latenz:

  • Bis zu 24576 MACs und dedizierte Vektor-Engine für Nicht-Faltungsoperationen bei 400 MHz
  • Auf Datenfluss-Arrays basierende Architektur mit Optimierung für INT8-Parameter und -Aktivierungen
  • Patentierte, zur Laufzeit rekonfigurierbare Verbindung

Robustes MERA-Software-Framework auf Open-Source-Basis:

  • MERA Compiler 1.0 nutzt mehrere Formen der Parallelität und maximiert die Computernutzung
  • Native Unterstützung für Pytorch & TensorFlow Lite Modelle
  • Eingebauter Profiler im MERA-Rahmen
  • Integriert mit Apache TVM als Open-Source-Lösung

Datenblatt und Produktdetails

Detaillierte Funktionsliste

Vielfältige Bedienerunterstützung:

  • Standard- und tiefenwirksame Faltungen
  • Schrittweite und Dehnung
  • Symmetrisches/asymmetrisches Auffüllen
  • Max-Pooling, Durchschnitts-Pooling
  • ReLU, ReLU6, LeakyReLU und H-Swish
  • Upsampling und Downsampling
  • Restliche Verbindungen, Split usw.

 

Drop-in-Ersatz für GPUs:

  • Python- und C++-Schnittstellen
  • PyTorch und TensorFlow-lite werden unterstützt
  • Keine Umschulung erforderlich
  • Unterstützt hochauflösende Eingänge

INT8 Bit Quantisierung:

  • Quantisierung nach dem Training
  • Unterstützung für integrierte Quantisierer des Deep Learning Frameworks
  • Behält hohe Genauigkeit bei

FPGA-Karten-Bestelloptionen

IA-420F-0010 BittWare IA-420f Karte powered by EdgeCortix® Dynamischer neuronaler Beschleuniger
IA-840F-0014 BittWare IA-840f-Karte mit EdgeCortix® Dynamic Neural Accelerator

Über das Unternehmen

Ein auf Edge-AI ausgerichtetes fabrikloses Halbleiterentwicklungsunternehmen mit einem Software-First-Ansatz, das sich darauf konzentriert, eine klassenführende Effizienz und Latenz für KI-Inferenz zu liefern.

Interessieren Sie sich für Preise oder weitere Informationen?

Unser technisches Vertriebsteam steht bereit, um Ihnen Informationen zur Verfügbarkeit und Konfiguration zu geben oder Ihre technischen Fragen zu beantworten.