12. November 2026 · VRAMfarm-Team
Datensätze auf einen GPU-Server und zurück: Hugging Face, rclone, rsync, scp
Einen Datensatz mit 80 GB von zu Hause über eine Leitung mit 40 Mbit/s hochzuladen, dauert etwa viereinhalb Stunden, und läuft schon ein GPU-Server, zahlen Sie jede davon. Dieselben 80 GB, die eine Maschine mit 1-Gbit/s-Anbindung von Hugging Face oder aus einem S3-Bucket holt, sind in 15–20 Minuten da. Die Regel ist also einfach: Daten sollten aus der Cloud zum Server wandern, nicht von Ihrem Laptop, und der langsame Upload, falls er nötig ist, sollte einmal stattfinden, ohne dass eine GPU wartet.
Den Weg danach wählen, wo die Daten jetzt liegen
| Wo die Daten liegen | Werkzeug | Was die Geschwindigkeit begrenzt |
|---|---|---|
| Hugging Face (öffentlich, privat oder gated) | hf download |
Die Anbindung der Maschine |
| S3, Cloudflare R2, Backblaze B2, Google Cloud Storage | rclone copy |
Die Anbindung der Maschine, die Region des Buckets |
| Google Drive, Dropbox, OneDrive | rclone copy |
Die eigenen Grenzen des Dienstes, oft niedriger |
| Ein direkter Link | wget oder curl |
Der Quellserver |
| Ihr Computer, ein paar GB | scp oder der Upload in Jupyter |
Ihre Upload-Geschwindigkeit zu Hause |
| Ihr Computer, viele GB oder viele Dateien | rsync oder erst in einen Bucket hochladen |
Ihre Upload-Geschwindigkeit zu Hause |
Download- und Upload-Geschwindigkeit stehen vor dem Start bei jeder Maschine, in Mbit/s, und der Katalog kann danach sortieren und filtern. Zum Schätzen teilen Sie: 100 GB sind 800 Gigabit, bei 1.000 Mbit/s also etwa 13 Minuten bei voller Geschwindigkeit und 15–25 Minuten in der Praxis. Mit einem Upload von 40 Mbit/s zu Hause dauern dieselben 100 GB fünfeinhalb Stunden.
Liegen Ihre Daten nur auf Ihrem Computer und brauchen Sie sie mehr als einmal, laden Sie sie einmal in einen privaten Datensatz auf Hugging Face oder in Ihren eigenen Bucket hoch, über Nacht und ohne laufende GPU. Danach holt jeder Server sie mit der Geschwindigkeit eines Rechenzentrums.
Hugging Face: Datensätze und Modelle
Der Befehl hf gehört zum Paket huggingface_hub:
pip install -U huggingface_hub
hf auth login # nur für private oder gated Repos; Lese-Token einfügen
hf download <user>/<dataset> --repo-type dataset --local-dir /workspace/data
Mit --include "train/*.parquet" holen Sie nur einen Teil eines Repos. Aktuelle Versionen von huggingface_hub laden Dateien aus dem Xet-Speicher von Hugging Face von selbst in vielen parallelen Teilen herunter, ein einzelnes hf download lastet eine schnelle Leitung also meist aus. Mit einem Token umgehen Sie außerdem die strengeren Limits für anonyme Anfragen.
Wo die Dateien landen, zählt für Ihre nächste Sitzung. Alles in /workspace lässt sich mit Speichern und stoppen behalten, alles in ~/.cache/huggingface ist nach dem Stopp weg. Soll der Hugging-Face-Cache im gespeicherten Ordner liegen, setzen Sie vor dem Download export HF_HOME=/workspace/hf. Wenn nicht (öffentliche Daten, die Sie in Minuten wieder holen), lassen Sie ihn außerhalb und zahlen keinen Speicher dafür.
Ergebnisse schickt dasselbe Werkzeug zurück:
hf upload <user>/<results-repo> /workspace/outputs --repo-type dataset --private
Nutzen Sie dafür einen Token mit Schreibzugriff und widerrufen Sie ihn, wenn das Projekt fertig ist.
rclone aus S3, R2 oder Google Drive
rclone spricht mit fast jedem Speicherdienst. Installieren Sie es auf dem Server (das Installationsskript braucht unzip, das in schlanken Images oft fehlt):
apt-get update && apt-get install -y unzip curl
curl https://rclone.org/install.sh | bash
Bei S3-kompatiblem Speicher können Sie auf die Konfigurationsdatei verzichten und die Einstellungen als Umgebungsvariablen übergeben; so bleiben Ihre Schlüssel aus /workspace heraus. Der Name des Remotes in den Variablen (hier S3) wird im Befehl zu s3::
export RCLONE_CONFIG_S3_TYPE=s3
export RCLONE_CONFIG_S3_PROVIDER=AWS
export RCLONE_CONFIG_S3_REGION=eu-central-1
export RCLONE_CONFIG_S3_ACCESS_KEY_ID=...
export RCLONE_CONFIG_S3_SECRET_ACCESS_KEY=...
rclone copy s3:my-bucket/dataset /workspace/data --transfers 16 --progress
Für Cloudflare R2 oder Backblaze B2 setzen Sie PROVIDER auf Cloudflare oder Other und ergänzen RCLONE_CONFIG_S3_ENDPOINT mit dem Endpunkt aus Ihrem Konto. --transfers 16 kopiert 16 Dateien gleichzeitig, was bei vielen mittelgroßen Dateien viel bringt. Ergebnisse gehen auf demselben Weg zurück:
rclone copy /workspace/outputs s3:my-bucket/runs/2026-11-12 --progress
Google Drive braucht eine Anmeldung im Browser, und der Server hat keinen Browser. Führen Sie rclone config aus, fügen Sie ein Remote vom Typ drive hinzu, wählen Sie den Lesezugriff (read-only scope), wenn Sie nur herunterladen, und antworten Sie auf die Frage nach auto config mit n. rclone gibt dann einen Befehl rclone authorize "drive" ... aus. Führen Sie ihn auf Ihrem eigenen Computer aus (dort muss rclone installiert sein), melden Sie sich an und fügen Sie den ausgegebenen Token auf dem Server ein. Drive ist langsamer als ein Bucket und hat tägliche Download-Kontingente; für große oder wiederholte Übertragungen ist ein Bucket der bessere Ort.
Geben Sie dem Server den engsten Schlüssel, der funktioniert: nur Lesezugriff, ein Bucket, nach dem Projekt gelöscht. Die Gründe stehen in Sind meine Daten auf einer gemieteten GPU sicher?
Von Ihrem Computer: scp, rsync und der Upload in Jupyter
scp kopiert Dateien mit demselben SSH-Schlüssel, mit dem Sie sich anmelden. Den Port finden Sie unter Meine Server:
scp -P 31001 data.tar root@vramfarm.com:/workspace/
scp -P 31001 root@vramfarm.com:/workspace/outputs.tar .
rsync ist für alles Große besser: Es zeigt den Fortschritt, überspringt Dateien, die schon da sind, und wenn die Verbindung abbricht, macht derselbe Befehl dort weiter, wo er aufgehört hat. Die Server-Images enthalten es nicht immer, installieren Sie es also zuerst dort:
# auf dem Server
apt-get update && apt-get install -y rsync
# auf Ihrem Computer (Mac, Linux oder WSL)
rsync -avP -e "ssh -p 31001" ./data/ root@vramfarm.com:/workspace/data/
rsync -avP -e "ssh -p 31001" root@vramfarm.com:/workspace/outputs/ ./outputs/
Unter Windows funktioniert scp in PowerShell, und rsync läuft in WSL; die Anleitung zu SSH unter Windows behandelt beides, dazu WinSCP, falls Sie lieber mit einem Fenster arbeiten.
Der Upload in Jupyter (Dateien in den Dateibrowser ziehen) ist am einfachsten und gut für Skripte, Notebooks, eine LoRA oder ein paar Hundert Megabyte Bilder. Bei mehreren Gigabyte wird es wackelig: Der Browser-Tab muss offen bleiben, ein unterbrochener Upload beginnt von vorn, und 10.000 Dateien auf einmal hineinzuziehen ist langsam. Herunterladen geht per Rechtsklick → Download, eine Datei nach der anderen; packen Sie einen Ordner also vorher in ein Archiv.
Packen, und nur komprimieren, was kleiner wird
Viele kleine Dateien sind das Langsamste, was Sie übertragen können. Eine Million Bilder zu je 100 KB kopieren sich weit langsamer als ein Archiv mit 100 GB, weil jede Datei einen Hin-und-Rückweg kostet. Packen Sie sie vorher oder legen Sie den Datensatz gleich in Shards ab (tar, Parquet, WebDataset):
tar cf images.tar images/ # ohne Kompression: JPEGs werden nicht kleiner
tar czf logs.tgz logs/ # Text, CSV und JSON schrumpfen auf ein Drittel bis ein Zehntel
Bilder, Video, Audio, Modellgewichte und Parquet sind bereits komprimiert, gzip kostet da nur CPU-Zeit. Text lässt sich gut komprimieren. Ist zstd installiert (apt-get install -y zstd), packt und entpackt tar --zstd -cf data.tar.zst data/ mehrfach schneller als gzip, bei ähnlicher Größe.
Entpacken Sie beim Herunterladen, wenn das Archiv hinter einer URL liegt; so belegt es nie doppelt Platz:
curl -L "https://example.com/dataset.tar.gz" | tar xz -C /workspace/data
Prüfen Sie die Festplatte, bevor Sie anfangen. Die Größe der Festplatte wählen Sie beim Start, und ein Archiv samt entpackter Kopie braucht eine Zeit lang den doppelten Platz. Wenn „No space left on device“ erscheint:
df -h /workspace # wie voll die Festplatte ist
du -sh /workspace/* | sort -h # was den Platz belegt
rm -rf ~/.local/share/Trash/* # in Jupyter gelöschte Dateien landen zuerst hier
Die letzte Zeile erwischt viele: Dateien, die Sie im Dateibrowser von Jupyter löschen, wandern in einen Papierkorb und belegen weiter Platz, bis Sie ihn leeren. Je nach Setup kann der Papierkorb auch ein versteckter Ordner .Trash-0 ganz oben in /workspace sein; ls -a /workspace zeigt ihn, und er würde in einen gespeicherten Ordner mit aufgenommen, leeren Sie ihn also ebenfalls.
Was es kostet und wo die Daten liegen sollten
Traffic wird pro GB in beide Richtungen zum eigenen Tarif der Maschine abgerechnet, den der Katalog vor dem Start anzeigt. Die meisten Maschinen verlangen etwa einen Cent pro GB oder weniger, manche nichts, und manche Maschinen mit B200 und H200 mehr. Ein Datensatz mit 100 GB hinein und 5 GB Ergebnisse hinaus kommen bei einem Cent pro GB auf etwa 1,05 €.
Der größere Kostenpunkt ist meist die wartende GPU. Zwanzig Minuten Download auf einer H100 kosten 1,30 €, dieselben zwanzig Minuten auf einer RTX 4090 0,20 €. Starten Sie den Download also als Erstes und nutzen Sie die Wartezeit, um Ihre Skripte hochzuladen oder die Konfiguration zu prüfen.
Soll der Datensatz im gespeicherten Ordner liegen? Der Speicher kostet 0,03 € pro GB und Monat, 100 GB also 100 × 0,03 € im Monat. Das Wiederherstellen des Ordners auf einem neuen Server zählt ebenfalls als Traffic und ist nicht immer schneller als Hugging Face oder ein Bucket in einer guten Region. In der Praxis:
| Daten | Wo sie hingehören |
|---|---|
| Öffentliche Datensätze und Modellgewichte | Nirgendwohin; jedes Mal neu herunterladen |
| Ihr eigener Datensatz, jede Woche genutzt | Ihr Bucket oder ein privates Repo auf Hugging Face, bei kleinen Datensätzen auch der gespeicherte Ordner |
| Daten, die nur auf Ihrem Laptop liegen | Einmal in einen Bucket oder zu Hugging Face hochladen, dann herunterladen |
| Checkpoints, LoRAs, Ergebnisse | Der gespeicherte Ordner und eine Kopie zu Hause oder in Ihrem Bucket |
Die vollständige Rechnung, ob Behalten oder neu Herunterladen günstiger ist, mit Zahlen, steht in was mit Ihren Dateien passiert, wenn Sie eine GPU stoppen.
Bevor Sie stoppen, lassen Sie ein letztes rsync oder rclone copy Ihrer Ergebnisse laufen oder klicken Sie auf Speichern und stoppen. Die Serverfestplatte wird mit dem Server gelöscht, und einen Datensatz, den Sie in 15 Minuten neu herunterladen, ersetzen Sie leicht. Eine Woche voller Ergebnisse nicht.