JupyterHub –Coding lernen mit Jupyter Notebooks

Seit einem Jahr bietet der CMS der HU Berlin eine JupyterHub-Instanz an, die Lehrenden und Studierenden einen Zugang zu Rechenumgebungen und Ressourcen bietet, ohne dass sie mit Installations- und Wartungsaufgaben konfrontiert werden. Sie befindet sich derzeit noch im Testbetrieb, wird aber bereits aktiv von Lehrenden und Studierenden in ausgewählten Lehrveranstaltungen genutzt.

Innerhalb der HU-Cloud – basierend auf OpenStack – existiert seit dem Wintersemester 2022/23 eine Kubernetes-Testumgebung, in der eine JupyterHub-Instanz mit mehreren virtuellen Maschinen (VM) läuft. Sukzessive werden die virtuellen Maschinen seit dem Sommersemester 2023 erweitert, so dass momentan fünf CPU-VMs und fünf GPU-VMs für die Lehre zur Verfügung stehen. Als Software-as-a-Service erreichen User mit einem HU-Account den JupyterHub sowohl innerhalb des HU-Netzes als auch über VPN, d. h. prinzipiell ist er auch für Lehrveranstaltungen in einem PC-Pool nutzbar.

Nach der Anmeldung auf der Startseite von JupyterHub1 stehen mehrere Programmierumgebungen, sog. JuypterLabs, zur Auswahl. Neben den Standard-Umgebungen für Data Science, Spark, R und Tensorflow, die vom JupyterHub-Projekt selbst gepflegt werden, gibt es zwei speziell für die Lehre erstellte JupyterHub-Umgebungen. Zum einen steht eine Umgebung für eine Lehrveranstaltung zum Thema Natural Language Processing bereit.

„Im Rahmen der Lehre an der Professur für Digital History am Institut für Geschichtswissenschaften haben wir spezielle Images für die Übungen ‚Computer Vision‘ (SoSe 2023) und ‚NLP‘ (WiSe 2023/2024) entwickelt. Verfügbar in der GitLab Container Registry der HU Berlin, bieten diese Docker-Container den Studierenden konsistente Arbeitsumgebungen mit GPU-Unterstützung im JupyterHub. Die Images integrieren fortschrittliche Python-Bibliotheken für Machine Learning, einschließlich des YOLO Frameworks für Objektklassifikation und -erkennung in der Computer Vision sowie spaCy und flair für Named Entity Recognition im NLP.“
Zitat von Sophie Eckenstaler, wissenschaftliche Mitarbeiterin am IfG

Zum anderen findet sich in Jupyterhub auch ein erweitertes Image für die Verwendung der Programmiersprache R.

Mit Hilfe der GitlLab Container Registry-Funktion der HU Berlin2 wurden für diese Umgebungen eigene Container-Images erstellt. Dazu wurden die Standard-Umgebungen durch speziell für die jeweiligen Lehrveranstaltungen benötigte Pakete und (Übungs-)Daten erweitert. Solche in GitLab selbsterzeugten Container-Images können problemlos in JupyterHub eingebunden und auch bei Bedarf jederzeit aktualisiert werden, so dass Lehrende und Studierende in ihren Übungen damit arbeiten können.

Die VMs mit GPU-Unterstützung – basierend auf dem A100 Modell von NVIDIA, ausgestattet mit 80 GB RAM3 – sind aktuell im sog. MIG Mode4 als Multi-Instance GPUs konfiguriert. Diese spezielle Konfiguration sorgt für eine Aufteilung einer der jeweiligen VM zugewiesenen GPU in sieben kleinere virtuelle GPUs mit jeweils 10 GB RAM.
D. h. bei derzeit fünf zur Verfügung stehenden GPU-VMs können bis zu 35 User gleichzeitig jeweils in einer JupyterHub-Umgebung mit GPU-Unterstützung arbeiten.

Da sich der JupyterHub noch im Aufbau befindet, ist sein Einsatz zurzeit noch auf Gruppengrößen von einzelnen Seminaren und Übungen begrenzt. Hinzu kommt eine weitere Einschränkung. Aufgrund des Testbetriebes werden die anfallenden Daten, wie bspw. erstellte Jupyter-Notebooks oder hochgeladene Dateien, nach Ende des jeweiligen Semesters gelöscht.

Für den anlaufenden Pilotbetrieb in den kommenden Semestern ist geplant, mindestens fünf weitere virtuelle Maschinen mit GPU-Unterstützung zur Verfügung zu stellen. Darüber hinaus ist eine mögliche Integration mit dem Lernmanagementsystem Moodle angedacht sowie eine (teilautomatisierte) Bewertung von Notebooks bspw. mit Hilfe von nb_grader5 vorgesehen. Ebenso wäre eine Anbindung an das Medienrepositorium6 vorstellbar.

Ein Mitbestimmungsverfahren (MBV) für den neu entstehenden CMS-Dienst sowie das dafür notwendige IT-Verfahren, dass u. a. die Erstellung eines Verzeichnis von Verarbeitungstätigkeiten (VVT), eine Systemdokumentation, eine Risikoanalyse und eines Sicherheitskonzeptes

sowie die Erstellung einer Datenschutzerklärung beinhaltet, sind derzeit in Vorbereitung. Auch eine Testung auf Barrierefreiheit für Jupyterhub ist vorgesehen.

Weitere Informationen zum JupyterHub-Dienst des CMS finden Sie auf der Webseite des CMS7.

Für Fragen bzgl. der Nutzung der JupyterHub-Instanz für Lehrveranstaltungen stehen Ihnen die Ansprechpersonen des AI-SKILLS-Projektes8 zur Verfügung.

Bei Fragen bzgl. der Technik und Software wenden Sie sich bitte an
jupyterhub-support@hu-berlin.de.

  1. https://jupyterhub.cms.hu-berlin.de ↩︎
  2. https://scm.cms.hu-berlin.de ↩︎
  3. https://www.nvidia.com/de-de/data-center/a100/ ↩︎
  4. https://docs.nvidia.com/datacenter/tesla/mig-user-guide/index.html ↩︎
  5. https://nbgrader.readthedocs.io/en/stable ↩︎
  6. https://www.cms.hu-berlin.de/de/dl/multimedia/bereiche/medienrepositorium ↩︎
  7. https://www.digitale-lehre.hu-berlin.de/de/lehr-und-lernlandschaft/jupyterhub/jupyterhub ↩︎
  8. https://ai-skills.hu-berlin.de/contact.php ↩︎
28. August 2024 | Veröffentlicht von cmsredakteur
Veröffentlicht unter CMS-Jahresbroschüre 2023/24

Schreiben Sie einen Kommentar

(erforderlich)