Einführung IncubAItor

Download this notebook

Der IncubAItor soll eine Einführung in künstliche Intelligenz für Start-ups geben. Der Fokus liegt dabei auf einem kurzen Einstieg in die Programmierung von einfachen KI-Anwendungen mit verschiedenen Frameworks und darauf basierend ausführlich auf das Deployment einer (KI-) Anwendung in der Cloud einzugehen. Dabei wird die Infrastruktur der Universität Münster genutzt, wobei dies keine Vorausetzung für den incubAItor ist. Zudem werden kleinteilig viele Tools und deren Nutzung beschrieben, sodass die Einführung auch für Anfänger*innen aus allen Bereichen geeignet ist. Für tiefer gehende KI-Anwendungen sei auf die weiteren Notebooks von InterKI verwiesen. Der Deployment-Teil bezieht sich zwar auf KI-Anwendungen, kann aber auch für andere Anwendungen hilfreich sein.

Inhalt

Einführung Einführung in die genutzten Programme und Frameworks

  1. Trainiere dein eigenes Netz In diesem Teil werden mit verschiedenen Frameworks Modelle erstellt und trainiert. Dieses Kapitel kann übersprungen werden, falls das Wissen um KI schon vorhanden ist, jedoch sollte das Modell aus 1.2 einmal trainiert werden, damit es in den folgenden Kapiteln genutzt werden kann.
    1. PhotonAI Mit Hilfe von PhotonAI wird das erste Netz konstruiert und für verschiedene Parameter trainiert und evaluiert.
    2. Tensorflow Mit Hilfe von Tensorflow wird das selbe Netz aus 1.1 konstruiert und trainiert. Dieses Modell wird im Folgenden genutzt.
    3. Torch Mit Hilfe von Torch wird das selbe Netz konstruiert. Torch wird später dann auch für PALMA genutzt.
    4. Keras Mit Hilfe von Keras wird ein komplexeres Netz zur bildlichen Erkennung der Stimmung eines Menschen gebaut.
    5. Huggingface Mit Hilfe von Huggingface Transformers werden Sprachmodelle geladen.
  2. PALMA Wir geben eine Einführung in PALMA und lassen Teile der vorherigen Kapitel auf den HPC-Ressourcen laufen. Dieses Kapitel kann übersprungen werden, falls die HPC Ressourcen nicht benötigt werden.
  3. Web-App Mit Hilfe von Flask wird eine Web-Schnittstelle (API) erstellt, um die Vorhersagen aus einem neuronalen Netz über einen Webbrowser zu erreichen.
  4. Deployment Wir nutzen Docker und Git, um Docker Container zu bauen und auf verschiedenen Infrastrukturen zum Laufen zu bringen.
    1. Docker Ein Docker Container des in Kapitel 3 erstellten Programms wird erstellt
    2. OpenStack Der Docker Container kann mit Hilfe von GitLab Pipelines gebaut werden und automatisiert auf einem Cloud Service bereitgestellt werden.
    3. Kubernetes Mit Hilfe von Kubernetes kann eine durch Container bereitgestellte Anwendung ausfallsicher und skalierbar bereitgestellt werden.
  5. Outlook

Über die Organisation des Codes

Den kompletten incubAItor findet man im GitLab der Universität Münster über https://zivgitlab.uni-muenster.de/reach-euregio/incubaitor/. Er ist in mehrere Kapitel unterteilt, in denen man die zugehörigen Jupyter-Notebooks mit den Erklärungen auf Deutsch und auf Englisch findet, sowie den zu den Kapiteln gehörenden Code. Aus den Notebooks sollte nicht nur die Funktionsweise der Kapitel hervorgehen, sondern insbesondere auch, wie die einzelnen Teile des Codes zum Laufen gebracht werden können.

Sollten Worte dieser Erklärung wie böhmische Dörfer klingen, lies gerne weiter erstmal diese Einführung!

Durch das Klonen des Repositories können die einzelnen Kapitel auch direkt zum Laufen gebracht werden, dennoch sollten die Notebooks beachtet werden, da z.B. die Daten erst heruntergeladen werden müssen und in die entsprechenden Ordner kopiert werden oder das Modell aus Kapitel 1.2 erst trainiert werden muss, bevor es ab Kapitel 3 genutzt werden kann.

KI für Start-ups

Die Verbreitung und die Weiterentwicklung der relevanten KI-Frameworks erlauben es inzwischen, einfache und auch komplexe KI-Anwendungen einfach zum Laufen zu bringen. Dabei wird die Programmiersprache Python genutzt, um diese Frameworks anzusprechen. Grundlegende KI-Frameworks sind Tensorflow und Torch (neuerdings auch JAX). Das Framework Keras hingegen nutzt ab Version 3 eines dieser Frameworks als Backend und stellt viele Konfigurationen von KI-Netzwerken einfach bereit. Zudem gibt es von Huggingface das Paket transformers, welches ebenfalls Tensorflow oder Torch im Hintergrund nutzt und gängige komplexere Open Source Modelle bereitstellt, aber auch vortrainierte Netze implementiert werden können.