SplitEE: Früher Ausstieg in tiefen neuronalen Netzen mit geteiltem Rechnen

Tiefe Neuronale Netze (DNNs) haben aufgrund ihrer herausragenden Leistung bei verschiedenen Aufgaben Aufmerksamkeit gefunden. Allerdings ist die Bereitstellung voll ausgebildeter DNNs in ressourcenbeschränkten Geräten (Edge, Mobil, IoT) aufgrund ihrer großen Größe schwierig. Um dieses Problem zu bewältigen, werden verschiedene Ansätze betrachtet, wie das Auslagern eines Teils der Berechnung in die Cloud für die endgültige Inferenz (geteilte Berechnung) oder das Durchführen der Inferenz an einer Zwischenschicht ohne durch alle Schichten zu gehen (frühe Ausgänge). In dieser Arbeit schlagen wir vor, beide Ansätze durch die Verwendung von frühen Ausgängen in der geteilten Berechnung zu kombinieren. In unserem Ansatz entscheiden wir bis zu welcher Tiefe der DNN-Berechnung auf dem Gerät durchgeführt werden soll (Spaltungsschicht) und ob ein Beispiel von dieser Schicht aus verlassen kann oder ausgelagert werden muss. Diese Entscheidungen basieren auf einer gewichteten Kombination von Genauigkeit, Rechen- und Kommunikationskosten. Wir entwickeln einen Algorithmus namens SplitEE, um eine optimale Strategie zu erlernen. Da vortrainierte DNNs oft in neuen Domains bereitgestellt werden, wo die Grundwahrheiten möglicherweise nicht verfügbar sind und Beispiele im Streaming-Modus eintreffen, arbeitet SplitEE in einem Online- und unüberwachten Setup. Wir führen umfangreiche Experimente mit fünf verschiedenen Datensätzen durch. SplitEE erreicht eine signifikante Kostenreduzierung ($>50\%$) mit einem geringen Genauigkeitsverlust ($<2\%$) im Vergleich zum Fall, wenn alle Beispiele an der letzten Schicht inferiert werden. Der anonymisierte Quellcode ist unter \url{https://anonymous.4open.science/r/SplitEE_M-B989/README.md} verfügbar.