Perfekter Mix: Kotlin und Python kombinieren für Machine Learning

Seite 3: Kotlin und Python: Machine Learner können Stärken geschickt kombinieren

Inhaltsverzeichnis

Wie lässt sich Kotlin ganz konkret für das Machine Learning nutzen? Kotlin-Liebhaber wie der Verfasser dieses Artikels würden in einer idealen Welt Kotlin für jeden Schritt in ihren ML-Projekten einsetzen. Die Realität ist differenzierter: Im Bereich Daten-Pipelines und Datenaufbereitung lässt sich Kotlin hervorragend einsetzen. Null-Safety, Typsicherheit und eine Einbindung des unendlichen Java-Universums machen Kotlin hier zu einer praxisnahen und empfehlenswerten Wahl. Im Bereich des Modell-Buildings und der Experimente mit Modellarchitekturen ist es zurzeit ratsam, weiterhin auf Python zu setzen. Hier gibt es zwar mit KotlinDL gute Ansätze, aber Python ist in diesem Umfeld flexibler, und die vorhandenen Bibliotheken sind deutlich umfangreicher. Zudem weisen sie einen höheren Reifegrad auf.

Im Bereich des Model Serving, also im Produktivbetrieb von Machine-Learning-Modellen, gilt zurzeit eine klare Empfehlung für Python. Die vom Verfasser mit Python gebauten und trainierten Modelle exportiert er als ONNX-Modelle, die er ohne Probleme mit KotlinDL und Ktor als API oder Webservice zur Verfügung stellen kann. Zum jetzigen Zeitpunkt läuft es darauf hinaus, ein ML-System aus mehreren Komponenten zusammenzubauen, die sowohl mit Python als auch mit Kotlin gebaut werden.

Durch die Vielzahl an Komponenten, die für erfolgreiche Machine-Learning-Projekte nötig sind, und durch die Wahl modularer Architekturen ist es möglich, die Stärken beider Programmiersprachen an den jeweils passenden Stellen einzusetzen. So lässt sich Kotlin dort einsetzen, wo tendenziell langlebigerer und stabilerer Code nötig ist. Flexible und experimentelle Ansätze lassen sich in Python gut abbilden.

Young Professionals schreiben für Young Professionals
Hauke Brammer

Hauke Brammer

ist Senior Software Engineer bei der DeepUp GmbH. Er arbeitet im Bereich von MLOps und ML-Engineering und hält dazu regelmäßig Vorträge. Seine Leidenschaft ist es, das Beste aus dem Software Engineering in die Welt des Machine Learning zu bringen.

(sih)