Bericht (virtuelles) MLUGS Treffen im April 2023
18. April 2023
Protokoll
Andreas M.: Rechenzeit in die Cloud verlegen
Warum?
- Der eigene PC/Notebook wird für etwas anderes gebraucht
- Es würde einfach zu lange dauern
Option 1: Virtual private server
AWS: EC2
- Instanzarten: https://instances.vantage.sh/?region=eu-west-1
- von "Hand" starten, AMI auswählen, SSH-Key runterladen; starten
- einloggen mit "ssh -i cert.pem ec2-aa-bb-cc-dd.eu-west-1.compute.amazonaws.com"
S3:
- daten von S3 holen: s3cmd oder aws-cli-v2
- script ausführen; am Ende ergebnisse wieder zu S3; danach shutdown ausführen
EBS Volume:
- volume mounten und ergebnisse + daten auf das volume; am ende des scripts trotzdem shutdown
- server wieder starten, um ergebisse via ssh runterzuladen
Pro/Cons:
- Vorteile: freies konfigurieren von CPU/Disk, GPUs und ARM möglich, S3 traffic kostet nichts wenn in der selben Region
- Nachteile: eher komplex, weil viele Möglichkeiten
Hetzner VPS
- https://www.hetzner.com/cloud
- auch von Hand, wie bei AWS
- Storage pro VPS skaliert mit cpus/memory. mglw. also genug für den Job
- auch hier via script am Ende shutdownen
Pro/Cons:
- Vorteile: billiger, weniger Enterprisy, sehr aufgeräumt, arm64
- Nachteile: (noch) keine GPUs
andere
- Google Cloud Compute: relativ ähnlich zu AWS
- Paperspace: primär für GPUs
- Azure
- Digital Ocean
- jeder hoster da draussen
Option 2: Compute/Training task als Job laufen lassen
Github Actions
- https://docs.github.com/en/actions
- Was: kostenlos wenn public; 2000 freiminuten wenn private; ergebnisse einfach ins repo comitten; gibt auch windows als OS
- Wann: der Job sollte nicht zu lange laufen (max 6h) und cpu/memory ist nicht steuerbar
- Beispiel: https://github.com/mfa/waterlevel-bw
Google Cloud Run Jobs
- https://codelabs.developers.google.com/codelabs/codelabs/cloud-run-jobs
- Was: einen Container ausführen, darin kann ein Script sein, Umgebung ist definierbar
- Wann: Wenn der Job relativ häufig laufen soll, aber nicht in eine GH Action passt
- Beispiel: --
AWS CodeBuild
- https://docs.aws.amazon.com/codebuild/latest/userguide/concepts.html
- Was: eigentlich für build/test-Umgebungen, aber kann natürlich jede Art von Script sein
- Wann: ähnlich GH Actions, viel mehr Konfigurationsmöglichkeiten
- Beispiel: (internes tooling @AX)
AWS Sagemaker
- https://aws.amazon.com/sagemaker/train
- Was: trainieren von models
- Wann: wenn man GPUs braucht; oder sehr viel CPU/Memory
- Beispiel: --
fly.io machines
- https://fly.io/docs/machines/guides-examples/functions-with-machines/
- Was: via Dockerfile konfigurierte Maschine, volle Kontrolle über alles
- Wann: Lust auf bleeding-edge server ohne system maintenance
- Beispiel: https://madflex.de/run-a-compute-job-on-fly-io/
Andreas H. - Satellitenhelligkeit in Frames von Bildern bestimmen
- die Rechenaufgabe, die der Aufhänger für den ersten Talk war
- viele Minuten Video, 25fps, 1 Minute processing pro Frame
- wahrscheinlich wird es Hetzner um die ca. 10 Tage zu rechnen
- https://mastodon.social/@andreashornig/109321769511881072
next
-
2023-05-16
- wir suchen Vorträge