Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku nasadíte jemně vyladěný model počasí Aurora jako trvalý koncový bod HTTP pomocí Ray Serve na Azure Kubernetes Service (AKS). Tato metoda používá prostředek RayService pro dlouhodobé poskytování služby a nepodléhá přijímacímu řízení systémem Kueue.
Important
Opensourcový software je zmíněn v dokumentaci a ukázkách AKS. Software, které nasadíte, je vyloučeno z dohod o úrovni služeb AKS, omezené záruky a podpory Azure. Při používání open-source technologií spolu s AKS konzultujte dostupné možnosti podpory od příslušných komunit a správců projektů, abyste vytvořili plán.
Microsoft přebírá odpovědnost za vytváření balíčků s otevřeným zdrojovým kódem, které nasazujeme na AKS. Tato odpovědnost zahrnuje plnou správu procesu sestavení, skenování, podepisování, validace a hotfixů, spolu s kontrolou nad binárními soubory v kontejnerových obrazech. Další informace najdete v tématu Řízení zranitelností pro AKS a Podpora pro AKS a rozsah pokrytí.
Prerequisites
- Infrastruktura nasazená po nasazení infrastruktury pro Ray a Kueue v AKS
- Namespace a servisní účet byly vytvořeny podle postupu v části Konfigurace front Kueue pro úlohy Ray v AKS.
- Doladění Aurory bylo dokončeno podle pokynů k doladění meteorologického modelu Aurora pomocí Ray na AKS – kontrolní bod LoRA musí existovat v
aurora/checkpoints/<run-id>/last.safetensorsúložišti objektů blob. -
envsubstnainstalováno (balíčekgettextv Linuxu,brew install gettextv systému macOS).
Nastavení proměnných prostředí
Přejděte do příkladu online obsluhy v klonovaném úložišti a nakonfigurujte požadované proměnné prostředí:
cd <path-to-cloned-repo>/AKS/examples/kueue-and-ray-on-aks/3-workloads/online-serving
export AZURE_STORAGE_ACCOUNT_NAME=$(terraform -chdir=../../1-infrastructure/terraform output -raw storage_account_name)
export AURORA_RUN_ID=<your-aurora-finetune-job-name>
source env.example
Note
AURORA_RUN_ID je JOB_NAME z vašeho dokončeného běhu dolaďování Aurora. Najdete ho pomocí:
az storage blob list -c aurora --prefix checkpoints/ \
--account-name ${AZURE_STORAGE_ACCOUNT_NAME} --auth-mode login -o table
Nasazení služby
Nasazení služby RayService:
./submit-service.sh
Skript vytvoří objekt ConfigMap z obslužného kódu aplikace, vykreslí manifest RayService prostřednictvím envsubsta použije ho. Operátor KubeRay vytvoří cluster Ray a nasadí aplikaci Serve.
Tip
Spusťte ./submit-service.sh --dry-run, chcete-li ověřit vygenerovaný manifest, aniž by se aplikoval do clusteru.
Note
RayService nepodléhá řízení přijetí pomocí Kueue. Provozní úlohy jsou dlouhodobého charakteru a vyžadují vyhrazené zdroje, nikoli semantiku dávkových front.
Ověření nasazení
Počkejte, dokud RayService nenahlásí stav Running:
kubectl -n ray get rayservice ${SERVICE_NAME} -w
Očekávaný výstup:
NAME SERVICE STATUS NUM SERVE ENDPOINTS
aurora-serve Running 1
Testování koncového bodu
Nastavte přesměrování portů pro službu serve a odešlete testovací požadavky:
kubectl -n ray port-forward svc/${SERVICE_NAME}-serve-svc 8000:8000
Kontrola stavu:
curl http://localhost:8000${ROUTE_PREFIX}
Očekávaný výstup:
{"status":"ok","gpu_name":"NVIDIA A100-SXM4-80GB","run_id":"<your-run-id>","adapter":"checkpoints/<your-run-id>/last.safetensors"}
Požadavek prognózy:
curl -X POST http://localhost:8000${ROUTE_PREFIX} \
-H 'Content-Type: application/json' \
-d '{"init_file": "init-2021-01-01-00z.npz", "lead_hours": 6}'
Očekávaný výstup:
{
"init_file": "init-2021-01-01-00z.npz",
"lead_hours": 6,
"surface_variables": {
"2t": {"shape": [1,1,52,100], "mean": 298.76, "min": 272.0, "max": 302.0},
"10u": {"shape": [1,1,52,100], "mean": -2.21, "min": -18.0, "max": 15.38},
"10v": {"shape": [1,1,52,100], "mean": 0.92, "min": -13.88,"max": 18.88},
"msl": {"shape": [1,1,52,100], "mean": 101320.07, "min": 100352.0, "max": 101888.0}
},
"gpu_name": "NVIDIA A100-SXM4-80GB",
...
}
Odpověď zahrnuje souhrnnou statistiku pro jednotlivé proměnné (tvar, průměr, minimum, maximum) pro každou proměnnou povrchu v prognóze.
Referenční informace ke konfiguraci
| Proměnné | Výchozí | Description |
|---|---|---|
AZURE_STORAGE_ACCOUNT_NAME |
(povinné) | Účet úložiště z modulu 1 |
AURORA_RUN_ID |
(povinné) | JOB_NAME z dokončeného běhu aurora-finetune |
AURORA_INPUT_CONTAINER |
aurora |
Kontejner s inicializačními daty |
AURORA_ADAPTER_CONTAINER |
aurora |
Kontejner s kontrolním bodem LoRA |
AURORA_INIT_FILE |
init-2021-01-01-00z.npz |
Výchozí inicializační soubor pro požadavky |
AURORA_LEAD_HOURS |
6 |
Výchozí časový předstih prognózy (musí být násobkem 6 hodin) |
AURORA_LORA_RANK |
8 |
Hodnost LoRA (musí odpovídat hodnotě při trénování) |
AURORA_REQUIRE_GPU_NAME |
A100 |
Kontrola názvu GPU (prázdné pro přeskočení) |
SERVICE_NAME |
aurora-serve |
Název prostředku RayService |
ROUTE_PREFIX |
/aurora |
Předpona trasy HTTP pro koncový bod služby |
CONFIGMAP_NAME |
aurora-serve-scripts |
Název objektu ConfigMap, který má obslužný skript |
Vyčistěte zdroje
Odstraňte RayService a jeho objekt ConfigMap:
kubectl -n ray delete rayservice ${SERVICE_NAME}
kubectl -n ray delete configmap ${CONFIGMAP_NAME}