GPU-Optimiertes ROCKET: CUROCKET steigert Effizienz um bis zu 11-fach
ROCKET (RandOm Convolutional KErnel Transform) ist ein seit 2019 existierender Feature‑Extraction‑Algorithmus für die Zeitreihenklassifikation. Durch die Anwendung von zufällig generierten Convolution‑Kernen auf eine Zeitreihe erzeugt ROCKET Merkmale, die anschließend in linearen Klassifikatoren wie Ridge eingesetzt werden können. Trotz seiner hohen Genauigkeit war ROCKET zu seiner Zeit vor allem CPU‑basiert und damit weniger skalierbar.
Convolution ist jedoch ein hochgradig parallelisierbarer Prozess, der sich hervorragend für die Ausführung auf GPUs eignet. Das Problem liegt in der inhomogenen Kerneldistribution von ROCKET, die herkömmliche GPU‑Implementierungen ineffizient macht. In der aktuellen Arbeit wurde ein neuer Ansatz entwickelt, der diese Herausforderung löst und ROCKET auf der GPU effizient ausführt.
Der resultierende Algorithmus, CUROCKET, erreicht laut den Autoren eine bis zu 11‑fach höhere Rechenleistung pro Watt im Vergleich zur CPU‑Version. Diese Steigerung macht CUROCKET zu einer attraktiven Lösung für die schnelle Analyse großer Zeitreihenmengen.
Der komplette Code von CUROCKET ist als Open‑Source-Projekt auf GitHub verfügbar: https://github.com/oleeven/CUROCKET.