Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a cikkben egy Olyan RayJob-feladatot küld be, amely vLLM offline kötegkövetkeztetést futtat az LLM-betanítási példa által létrehozott LoRA-adapterrel. A feladat beolvassa a Viggo tesztfelosztását és a LoRA-adaptert az Azure Blob Storage-ból, előrejelzéseket generál egyetlen GPU használatával, majd feltölti az eredményeket.
Fontos
A nyílt forráskódú szoftverek az AKS dokumentációjában és mintáiban szerepelnek. Az Ön által üzembe helyezett szoftverek nem tartoznak az AKS szolgáltatási szintű szerződéseibe, a korlátozott jótállásba és az Azure-támogatásba. Mivel nyílt forráskódú technológiát használ az AKS mellett, tekintse meg a megfelelő közösségek és projektfenntartók által rendelkezésre álló támogatási lehetőségeket a terv kidolgozásához.
A Microsoft felelősséget vállal az AKS-en üzembe helyezhető nyílt forráskódú csomagok elkészítéséért. Ez a felelősség magában foglalja a buildelési, vizsgálati, aláírási, érvényesítési és gyorsjavítási folyamat teljes tulajdonjogát, valamint a tárolólemezképek bináris fájljainak vezérlését. További információért lásd: Az AKS sebezhetőség-kezelése és AKS támogatás lefedettsége.
Prerequisites
- A Ray és a Kueue infrastruktúrájának AKS-en való üzembe helyezése lépést követően telepített infrastruktúra.
- A Kueue-üzenetsorok a Ray-számítási feladatokhoz való konfigurálását követően konfigurált Kueue-üzenetsorok az AKS-en.
- Legalább egy A100 GPU elérhető a fürtben.
- Az LLM-betanítás a Rayrel való betanítást követően fejeződött be az AKS-en – a LoRA-adapternek a Blob Storage-ban kell lennie
llm-pipeline/lora/. -
envsubsttelepítve (gettextcsomag Linux rendszeren,brew install gettextmacOS rendszeren).
Környezeti változók beállítása
Navigáljon a klónozott tárházban található kötegelt inferenciapéldához, és állítsa be a szükséges környezeti változókat:
cd <path-to-cloned-repo>/AKS/examples/kueue-and-ray-on-aks/3-workloads/batch-inference
export AZURE_STORAGE_ACCOUNT_NAME=$(terraform -chdir=../../1-infrastructure/terraform output -raw storage_account_name)
source env.example
Note
Ha csapatvárólistákat konfigurált (B lehetőség), állítsa be a(z) export QUEUE_NAME=team-a vagy export QUEUE_NAME=team-b elemet a(z) source env.example futtatása előtt. Az alapértelmezett beállítás QUEUE_NAME=default csak az egysoros konfigurációval működik (A lehetőség).
A számítási feladat elküldése
Küldje el a kötegelt következtetést RayJob:
./submit.sh
A szkript létrehoz egy ConfigMap-et a következtetési szkriptből, megjeleníti a jegyzéksablont envsubst, és alkalmazza azt. A Kueue elismeri a feladatot, ha 1 GPU érhető el a konfigurált várólistában.
Jótanács
Futtassa a(z) ./submit.sh --dry-run parancsot a renderelt manifestum ellenőrzéséhez anélkül, hogy alkalmazná a fürtön.
A haladás nyomon követése
Keresse meg és exportálja a feladatnevet, ha egy új shellben dolgozik:
export JOB_NAME=$(kubectl -n ray get rayjob --no-headers -o custom-columns=":metadata.name" | grep batch-inference)
Nézze meg a RayJob állapotát és a Kueue-belépést:
kubectl -n ray get rayjob ${JOB_NAME} -w
kubectl -n ray get workload -w
A feladat befejeződésekor várható kimenet:
NAME JOB STATUS DEPLOYMENT STATUS START TIME END TIME AGE
batch-inference-xxxxxxxxxx SUCCEEDED Complete 2026-01-01T00:00:00Z 2026-01-01T00:09:00Z 9m
NAME QUEUE RESERVED IN ADMITTED FINISHED AGE
rayjob-batch-inference-xxxxxxxxxx-xxxxx default cluster-queue True True 9m
A worker naplóinak követése:
kubectl -n ray logs -l ray.io/cluster=$(kubectl -n ray get rayjob ${JOB_NAME} -o jsonpath='{.status.rayClusterName}') -f --tail=100
Eredmények ellenőrzése
Előrejelzési fájlok listázása a Blob Storage-ban:
az storage blob list -c llm-pipeline --prefix "inference/${JOB_NAME}/" \
--account-name ${AZURE_STORAGE_ACCOUNT_NAME} --auth-mode login -o table
Várt kimenet:
Name Blob Type Blob Tier Length Content Type
--------------------------------------------------- ----------- ----------- -------- ------------------------
inference/<job-name>/metrics.json BlockBlob Hot 128 application/octet-stream
inference/<job-name>/predictions.jsonl BlockBlob Hot 411777 application/octet-stream
Töltse le és vizsgálja meg az előrejelzéseket:
az storage blob download -c llm-pipeline \
-n "inference/${JOB_NAME}/predictions.jsonl" \
--account-name ${AZURE_STORAGE_ACCOUNT_NAME} --auth-mode login \
--file /tmp/predictions.jsonl
head -1 /tmp/predictions.jsonl | python3 -m json.tool
Várt kimenet:
{
"input": "I'm wondering, have you played any games you found genuinely shocking?",
"expected": "request(specifier[shocking])",
"generated": "request_explanation"
}
Konfigurációs referencia
| Változó | Alapértelmezett | Description |
|---|---|---|
AZURE_STORAGE_ACCOUNT_NAME |
(kötelező) | Tárfiók az 1. modulból |
JOB_NAME |
batch-inference-<timestamp> |
Egyedi RayJob-név |
QUEUE_NAME |
default |
Kueue LocalQueue név |
LLM_DATA_CONTAINER |
llm-pipeline |
Blobtároló viggo tesztadatokkal |
LLM_LORA_CONTAINER |
llm-pipeline |
Blobtároló LoRA-adapterekkel |
CONFIGMAP_NAME |
batch-inference-scripts |
A következtetési szkriptet tartalmazó ConfigMap neve |
Erőforrások tisztítása
Törölje a RayJob és annak konfigurációtérképét:
kubectl -n ray delete rayjob ${JOB_NAME}
kubectl -n ray delete configmap ${CONFIGMAP_NAME}
Az összes infrastruktúra lebontásához tekintse meg az Infrastruktúra üzembe helyezése – Erőforrások törlése című témakört.