Déployez un artifact de modèle depuis W&B vers NVIDIA NeMo Inference Microservice. Pour ce faire, utilisez W&B Launch. W&B Launch convertit les artifacts de modèle au format NVIDIA NeMo Model, puis les déploie sur un serveur NIM/Triton en cours d’exécution.
W&B Launch prend actuellement en charge les types de modèles compatibles suivants :
- Llama2
- StarCoder
- NV-GPT (bientôt disponible)
Le temps de déploiement varie selon le modèle et le type de machine. La configuration de base de Llama2-7b prend environ 1 minute sur l’instance Google Cloud a2-ultragpu-1g.
-
Créez une Launch queue si vous n’en avez pas déjà une. Voir un exemple de configuration de file d’attente ci-dessous.
net: host
gpus: all # peut être un ensemble spécifique de GPU ou `all` pour tout utiliser
runtime: nvidia # nécessite également le runtime de conteneur nvidia
volume:
- model-store:/model-store/
-
Créez ce job dans votre projet :
wandb job create -n "deploy-to-nvidia-nemo-inference-microservice" \
-e $ENTITY \
-p $PROJECT \
-E jobs/deploy_to_nvidia_nemo_inference_microservice/job.py \
-g andrew/nim-updates \
git https://github.com/wandb/launch-jobs
-
Lancez un agent sur votre machine équipée d’un GPU :
wandb launch-agent -e $ENTITY -p $PROJECT -q $QUEUE
-
Soumettez le launch job de déploiement avec les configurations souhaitées depuis la Launch UI
- Vous pouvez aussi le soumettre via la CLI :
wandb launch -d gcr.io/playground-111/deploy-to-nemo:latest \
-e $ENTITY \
-p $PROJECT \
-q $QUEUE \
-c $CONFIG_JSON_FNAME
-
Vous pouvez suivre le processus de déploiement dans la Launch UI.
-
Une fois l’opération terminée, vous pouvez immédiatement appeler l’endpoint avec
curl pour tester le modèle. Le nom du modèle est toujours ensemble.
#!/bin/bash
curl -X POST "http://0.0.0.0:9999/v1/completions" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"model": "ensemble",
"prompt": "Tell me a joke",
"max_tokens": 256,
"temperature": 0.5,
"n": 1,
"stream": false,
"stop": "string",
"frequency_penalty": 0.0
}'