Mit VESSL Run ist die Feinabstimmung und Skalierung der neuesten Open-Supply-Modelle einfacher denn je
Heute veröffentlichen wir VESSL Run, die einfachste Möglichkeit, Open-Supply-KI/ML-Modelle zu trainieren, zu optimieren und zu skalieren. VESSL Run vereinfacht die komplexen Rechen-Backends und Systemdetails, die zum Ausführen von Standardmodellen in einer einheitlichen YAML-Schnittstelle erforderlich sind. Dies bedeutet, dass Entwickler mit dem Coaching beginnen können, ohne sich mit ML-spezifischen Peripheriegeräten wie Cloud-Infrastrukturen, CUDA-Konfigurationen und Python-Abhängigkeiten herumschlagen zu müssen.
Gemeinsam mit VESSL Run veröffentlichen wir außerdem mehrere benutzerdefinierte Docker-Pictures für die neuesten generativen KI-Modelle und Spotlight-Artikel von CVPR 2023 wie DreamBooth Steady Diffusion. Entdecken Sie diese Modelle unter bit.ly/cvpr2023 und führen Sie sie direkt vom Terminal aus aus.
pip set up --upgrade vessl
vessl run hiya
Wir haben eine Explosion von Open-Supply-Modellen gesehen, die den neuesten Closed-Supply-Pendants ebenbürtig, wenn nicht sogar besser sind – Steady Diffusion für DALL-E 2 und LLaMa für GPT-3. Jeden Tag sehen wir, wie ML-Enthusiasten und -Profis ihre eigenen Versionen und Anwendungen dieser Modelle erstellen und sie auf GitHub präsentieren. Diese Modelle mit Hunderten von Gabeln und Sternen haben jedoch ein großes Drawback.
Die meisten davon funktionieren nicht.
Wenn Sie versucht haben, diese Modelle tatsächlich auszuführen – ob Sie nun den Anleitungen auf Modellkarten gefolgt sind oder Colab-Notebooks ausgeführt haben –, haben Sie wahrscheinlich Stunden damit verbracht, PyTorch und CUDA zu konfigurieren. Selbst wenn Sie diesen Schritt schaffen, ist die Feinabstimmung und Skalierung des Modells für Ihre Datensätze und Ihre Cloud eine ganz andere Sache. Der Wert dieser Modelle geht entweder durch CUDA-Fehler verloren oder sie bleiben als Spielzeugprojekte bestehen, ohne das Produktionsniveau zu erreichen. Es ist eine alltägliche Geschichte, mit der die meisten von uns in der KI heute konfrontiert sind.
Unser Ansatz zur Lösung dieses Issues besteht darin, eine einfache, einheitliche YAML-Schnittstelle bereitzustellen, die die Peripheriegeräte rund um die Modelle abstrahiert. Dazu gehört alles von CUDA-Konfigurationen und Python-Abhängigkeiten für Ihren ersten Begin; benutzerdefinierte Datenlader und Cloud-Infrastrukturen zur Feinabstimmung und Skalierung; und schließlich Endpunkte und automatische Skalierung für Bereitstellung und Bereitstellung. Mit VESSL Run können Entwickler mit den neuesten Open-Supply-Modellen auf ihren Datensätzen und GPUs experimentieren, ohne manuelle Einrichtungsprozesse durchlaufen zu müssen.
Das folgende YAML-Snippet ist beispielsweise alles, was Sie zur Ausführung benötigen Dreambooth über stabile Verbreitung mit A100-GPUs.
- Hängen Sie ein öffentliches GitHub-Repository und einen Datensatz aus einem S3-Bucket ein.
- Richten Sie eine Trainingsumgebung mit unserem benutzerdefinierten Docker-Picture ein.
- Führen Sie eine Trainingsaufgabe auf einem lokalen DGX-Cluster mit A100-GPUs aus.
title: dreamboothstablediffusion
picture: nvcr.io/nvidia/pytorch:22.10-py3
assets:
cluster: vessl-ai-dgx-cluster
accelerators: NVIDIA-A100-SXM4-80GB:1
volumes:
/root/examples: git://github.com/vessl-ai/examples
/output:
artifact: true
run:
- workdir: /root/examples/Dreambooth-Steady-Diffusion
command: |
conda env create -f surroundings.yaml
supply activate ldm
pip set up Omegaconf
pip set up pytorch-lightning
mkdir knowledge/
wget https://github.com/prawnpdf/prawn/uncooked/grasp/knowledge/fonts/DejaVuSans.ttf -P knowledge/
wget https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/major/sd-v1-4-full-ema.ckpt
python major.py --base configs/stable-diffusion/v1-finetune_unfrozen.yaml -t --actual_resume ./sd-v1-4-full-ema.ckpt -n "generate_pikachu" --no-test --gpus "0," --data_root ./dataset --reg_data_root ./reg --class_word "{$class_word}"
rm -rf ./logs/*.ipynb_checkpoints
python scripts/stable_txt2img.py --ddim_eta 0.0 --n_samples 2 --n_iter 4 --scale 10.0 --ddim_steps 100 --ckpt ./logs/*/checkpoints/final.ckpt --prompt "{$immediate}"
cp -r ./outputs /outputenv:
class_word: "pikachu"
immediate: "A photograph of sks pikachu taking part in soccer."
Sie können es in Aktion sehen, indem Sie den folgenden Befehl ausführen und sich auf die beziehen YAML-Datei.
vessl run -f dreambooth.yaml
Im Wesentlichen mit jedem vessl run
starten Sie einen Kubernetes-Pod, der speziell für maschinelles Lernen konfiguriert ist. Unsere benutzerdefinierten Docker-Pictures sind Docker-Versionen jedes GitHub-Repos für maschinelles Lernen – /Dreambooth-Stable-Diffusion
, /nanoGPT
, /LangChain
und mehr – mit den richtigen CUDA- und Anwendungsabhängigkeiten.
Das bedeutet, dass Sie nicht nur einzelne Trainingsjobs starten, sondern auch dauerhafte Arbeitsbereiche für GPU-fähige Inferenzaufgaben mit derselben YAML-Definition erstellen können – und Instruments wie Streamlit verwenden können, um beispielsweise eine Lensa-ähnliche App zu erstellen – und das alles, ohne sich um die Peripheriegeräte kümmern zu müssen .
interactive:
runtime: 24h
ports:
- 8501
Wir haben ein paar laufsichere Modelle für die neuesten generativen KI-Modelle vorbereitet und stellen auf unserer Seite Beiträge vom CVPR 2023 vor VESSL Hub-Galerie. Diese werden alle mit unseren benutzerdefinierten Docker-Pictures geliefert und können damit gestartet werden vessl run
Befehl.
- DreamBooth
- LangChain
- VisProg
- ImageBind
- Segmentieren Sie alles
- MobileNerf
Wir haben auch einige Ressourcen zusammengestellt, die Ihnen den Einstieg erleichtern sollen:
Unsere neueste Entwicklung auf VESSL Run erweitert unsere Bemühungen, zusammen mit unserem ML-Aufgabenstarter und Workflow-Supervisor die einfachste Möglichkeit zum Trainieren und Bereitstellen produktionsbereiter ML-Modelle im großen Maßstab zu bieten.
Der Beginn von Steady Diffusion und LLaMa hat gezeigt, dass viele Menschen KI-fähige Instruments entwickeln möchten, sei es für ein Nebenprojekt oder ein umfassendes KI-Produkt. Durch die Schaffung einer einfachen und einheitlichen Schnittstelle, die die winzigen, aber zeitaufwändigen Peripheriegeräte abstrahiert, hoffen wir, die neuesten offenen Modelle allen Entwicklern zugänglich zu machen und mehr Enthusiasten die Möglichkeit zu geben, schnell mit den neuesten Entwicklungen im maschinellen Lernen zu experimentieren.
—
Yong Hee, Wachstumsmanager
Floyd Ryo, Produktmanager
David Oh, Praktikant als ML-Ingenieur