Auf der Wikipedia-Seite können wir lesen, dass Google einen benutzerdefinierten ASIC-Chip für maschinelles Lernen erstellt und auf TensorFlow zugeschnitten hat, um die KI zu beschleunigen.
Da ASIC-Chips speziell für eine bestimmte Verwendung angepasst wurden, ohne dass die Schaltung geändert werden kann, muss ein fester Algorithmus aufgerufen werden.
Wie genau funktioniert die Beschleunigung der KI mit ASIC-Chips, wenn der Algorithmus nicht geändert werden kann? Welcher Teil davon beschleunigt genau?
Antworten:
Tensoroperationen
Die Hauptarbeit in den meisten ML-Anwendungen ist einfach eine Reihe von (sehr großen) Tensoroperationen, z. B. Matrixmultiplikation. Sie können tun , dass in einem ASIC leicht, und alle anderen Algorithmen können obendrein nur laufen.
quelle
Ich denke, der Algorithmus hat sich nur minimal geändert, aber die erforderliche Hardware wurde auf den Punkt gebracht.
Die Anzahl der Gate-Übergänge wird reduziert (möglicherweise auch Float-Ops und Präzision), ebenso wie die Anzahl der Datenverschiebungsvorgänge, wodurch sowohl Strom als auch Laufzeit gespart werden. Google schlägt vor, dass die TPU eine 10-fache Kostenersparnis erzielt, um die gleiche Arbeit zu erledigen.
https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html
quelle
ASIC - Es steht für Application Specific IC. Grundsätzlich schreiben Sie Programme, um einen Chip in HDL zu entwerfen . Ich werde anhand von Fällen, wie moderne Computer funktionieren, meinen Standpunkt erläutern:
n
Anzahl der Kerne? Kein Problem. Sie möchten den Datenfluss von verschiedenen Verarbeitungseinheiten zu verschiedenen Orten definieren? Du kannst es schaffen. Auch bei sorgfältiger Planung können Sie einen Kompromiss zwischen ASIC-Bereich und Leistung und Geschwindigkeit erzielen. Das einzige Problem ist, dass Sie für all dies Ihre eigenen Standards erstellen müssen. Im Allgemeinen werden beim Entwurf von Prozessoren einige genau definierte Standards befolgt, z. B. die Anzahl der Pins und ihre Funktionalität, der IEEE 754-Standard für die Gleitkommadarstellung usw., die nach vielen Versuchen und Fehlern erstellt wurden. Wenn Sie all dies überwinden können, können Sie ganz einfach Ihren eigenen ASIC erstellen.Ich weiß nicht, was Google mit seinen TPUs macht, aber anscheinend haben sie eine Art Integer- und FP-Standard für ihre 8-Bit-Kerne entwickelt, abhängig von den jeweiligen Anforderungen. Sie implementieren es wahrscheinlich auf ASIC aus Gründen der Leistung, Fläche und Geschwindigkeit.
quelle
Geringe Genauigkeit ermöglicht eine hohe Parallelitätsberechnung in Convo- und FC-Schichten. Feste CPU- und GPU-Architektur, aber ASIC / FPGA kann basierend auf der neuronalen Netzwerkarchitektur entworfen werden
quelle