DYNAMISCHES UNTERTEILEN VON AKTIVIERUNGEN UND KERNELS ZUM VERBESSERN VON SPEICHEREFFIZIENZ

Ausführungsformen richten sich im Allgemeinen auf das dynamische Unterteilen von Aktivierungen und Kernels zum Verbessern von Speichereffizienz. Eine Ausführungsform eines Verfahrens in einer Berechnungsengine, Maschinenlernen durchführend, umfasst Folgendes: Empfangen, durch eine faltende Schicht e...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Chen, Xiaoming, Yao, Anbang, Huang, Junjie, Luo, Yuanke, Lv, Tao
Format: Patent
Sprache:ger
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Ausführungsformen richten sich im Allgemeinen auf das dynamische Unterteilen von Aktivierungen und Kernels zum Verbessern von Speichereffizienz. Eine Ausführungsform eines Verfahrens in einer Berechnungsengine, Maschinenlernen durchführend, umfasst Folgendes: Empfangen, durch eine faltende Schicht eines auf der Berechnungsengine implementierten faltenden neuronalen Netzwerks (CNN), von mehreren in den Eingangsdaten enthaltenen Aktivierungsgruppen, wobei die faltende Schicht eine oder mehrere Kernel-Gruppen umfasst und die eine oder mehreren Kernel-Gruppen jeweils mehrere Kernels umfassen; Bestimmen von mehreren Speichereffizienzmetriken basierend auf der Anzahl von Aktivierungsgruppen der mehreren Aktivierungsgruppen und der Anzahl von Kernels der mehreren Kernels; Auswählen einer ersten optimalen Anzahl von Aktivierungsgruppen und einer zweiten optimalen Anzahl von Kernels, die mit einer optimalen Speichereffizienzmetrik in den mehreren Speichereffizienzmetriken verbunden sind; und Durchführen einer faltenden Operation auf den Eingangsdaten basierend auf der ersten optimalen Anzahl und der zweiten optimalen Anzahl. Embodiments are generally directed to dynamically dividing activations and kernels for improving memory efficiency. An embodiment of a method in a compute engine performing machine learning comprises: receiving, by a convolutional layer of a convolutional neural network (CNN) implemented on the compute engine, a plurality of activation groups contained in an input data, wherein the convolutional layer includes one or more kernel groups and the one or more kernel groups each include a plurality of kernels; determining a plurality of memory efficiency metrics based on the number of activation groups of the plurality of activation groups and the number of kernels of the plurality of kernels; selecting a first optimal number of activation groups and a second optimal number of kernels that are associated with an optimal memory efficiency metric in the plurality of memory efficiency metrics; and performing a convolutional operation on the input data based on the first optimal number and the second optimal number.