Vertex AI: przekroczony limit wdrożenia lub brak GPU - limity CustomModelServing wg regionu
Rozwiązanie błędu DeployModel w Vertex AI spowodowanego przekroczonym limitem akceleratora CustomModelServing lub brakiem typu GPU/TPU w docelowym regionie: znalezienie dokładnego limitu, prośba o zwiększenie albo przeniesienie do dostępnego regionu, akceleratora lub rezerwacji.
CustomModelServing...PerProjectPerRegion, albo akcelerator, o który poprosiłeś, jest niedostępny w regionie. Model i kontener są w porządku, wdrożenie blokuje limit akceleratora lub moc w regionie. Ten runbook znajduje dokładny limit, doprowadza do jego zwiększenia albo kieruje Cię do akceleratora i regionu, które działają.
Ten runbook dotyczy limitu i dostępności akceleratora w czasie wdrożenia. Jeśli model jest już wdrożony, a throttlowany jest ruch na żywo, to zamiast tego runbook o predykcji 429. Do planowania kosztu GPU zobacz jak działa cennik Vertex AI. Po pomoc praktyczną umów konsultację.
Objawy
Wywołanie DeployModel kończy się błędem limitu lub dostępności. Nazwa metryki to kluczowa wskazówka.
# Przekroczony limit akceleratora dla tego projektu i regionu
google.api_core.exceptions.ResourceExhausted: 429 The following
quotas are exceeded: CustomModelServingT4GPUsPerProjectPerRegion
# Zerowy limit przyznany dla akceleratora (częste w nowych projektach / free tier)
The following quotas are exceeded:
CustomModelServingL4GPUsPerProjectPerRegion (limit: 0)
# Akcelerator po prostu niedostępny w wybranym regionie
# Wdrożenie wisi lub kończy się błędem mocy/dostępności dla
# żądanej pary machine-type + akcelerator w tym regionie.
Obserwowalny skutek:
- Wdrożenie, które działało w jednym regionie, w innym kończy się błędem przy tej samej konfiguracji
- Wdrożenie na GPU kończy się błędem, podczas gdy wdrożenie tego samego modelu tylko na CPU przechodzi
- Zupełnie nowy projekt nie może wdrożyć żadnego modelu na GPU, bo limit akceleratora wynosi 0
Przyczyna
Custom model serving w Vertex AI korzysta z limitu na projekt, na region i na typ akceleratora, a nie każdy akcelerator istnieje w każdym regionie.
- Limit akceleratora jest na region i na typ akceleratora. Metryka limitu wygląda jak
CustomModelServing<AKCELERATOR>PerProjectPerRegion, na przykładCustomModelServingT4GPUsPerProjectPerRegion. Każdy typ GPU (T4, L4, A100 i tak dalej) ma własny licznik w każdym regionie. Uderzenie w niego blokuje wdrożenie niezależnie od ogólnego limitu GPU gdzie indziej. - Nowe projekty często startują od zera. W nowych projektach i w niektórych warunkach free tier limit serwowania dla danego akceleratora może wynosić 0, więc pierwsze wdrożenie na GPU kończy się błędem, dopóki nie poprosisz o zwiększenie.
- Akcelerator nie jest oferowany w regionie. Nie każdy akcelerator jest dostępny w każdym regionie. Żądanie typu, którego region nie oferuje, kończy się błędem lub wisi, niezależnie od tego, ile limitu masz.
Rozwiązanie
Krok 1: Odczytaj dokładny limit z błędu
Nazwa metryki w błędzie mówi dokładnie, który licznik Cię blokuje. Zanotuj akcelerator i region.
CustomModelServingT4GPUsPerProjectPerRegion
^^ ^^^^^^^^^^
akcelerator zakres: na projekt, na region
Krok 2: Sprawdź bieżący limit i zużycie
Znajdź konkretną metrykę w konsoli Quotas lub przez gcloud, zawężoną do swojego regionu.
# Ścieżka w konsoli: IAM & Admin > Quotas
# Service = "Vertex AI API"
# Filtruj nazwę metryki z błędu, np. CustomModelServingT4GPUsPerProjectPerRegion
# Wymiar region = us-central1
# Albo wylistuj limity serwowania przez gcloud (nazwy zawierają CustomModelServing)
gcloud alpha services quota list \
--service=aiplatform.googleapis.com \
--consumer=projects/YOUR_PROJECT 2>/dev/null | grep -i customModelServing
# Sprawdź też limit GPU w Compute Engine w tym regionie
gcloud compute regions describe us-central1 \
--format="table(quotas.metric,quotas.limit,quotas.usage)" | grep -i gpu
Jeśli limit wynosi 0 lub jest na poziomie zużycia, przejdź do kroku 3 (zwiększenie) lub kroku 4 (przeniesienie).
Krok 3: Poproś o zwiększenie limitu
Jeśli region i akcelerator są właściwe, ale limit jest zbyt niski lub wynosi 0, poproś o zwiększenie dla dokładnie tej metryki.
# Konsola: IAM & Admin > Quotas > wybierz metrykę CustomModelServing<AKCEL>...
# dla swojego regionu > Edit Quotas > prześlij żądaną wartość.
# Zwiększenia są weryfikowane przez Google i mogą zająć czas, więc planuj z wyprzedzeniem.
Proś tylko o akcelerator i region, do których faktycznie wdrażasz. Zwiększenie na T4...us-central1 nic nie daje wdrożeniu L4...europe-west4.
Krok 4: Zmień akcelerator, region albo użyj rezerwacji
Jeśli limitu nie da się zwiększyć na czas albo akcelerator jest niedostępny w regionie, zmień cel, zamiast czekać.
# Opcja A: wdróż do regionu, który oferuje akcelerator i ma limit
gcloud ai endpoints deploy-model ENDPOINT_ID \
--region=europe-west4 \
--model=MODEL_ID \
--machine-type=g2-standard-8 \
--accelerator=type=nvidia-l4,count=1 \
--min-replica-count=1 --max-replica-count=1
# Opcja B: użyj innego akceleratora, na który region ma limit
# (na przykład L4 zamiast T4, albo A100 dla większych modeli)
# Opcja C: przy deficycie mocy wdróż na Spot VM lub z rezerwacją,
# aby nie blokować się czekaniem na dostępność on-demand
Dla modelu, który nie wymaga bezwzględnie GPU, typ maszyny tylko na CPU całkowicie omija limit akceleratora, warto to sprawdzić przed gonieniem za zwiększeniem GPU.
Walidacja
Potwierdź, że wdrożenie kończy się teraz powodzeniem na wybranym akceleratorze i regionie.
# Operacja wdrożenia kończy się bez ResourceExhausted
gcloud ai endpoints deploy-model ENDPOINT_ID \
--region=us-central1 --model=MODEL_ID \
--machine-type=n1-standard-4 \
--accelerator=type=nvidia-tesla-t4,count=1 \
--min-replica-count=1 --max-replica-count=1
# Oczekiwane: operacja kończy się, bez błędu limitu CustomModelServing
# Endpoint pokazuje wdrożony model
gcloud ai endpoints describe ENDPOINT_ID --region=us-central1 \
--format="value(deployedModels[].id)"
# Oczekiwane: id wdrożonego modelu
Moc serwowania na GPU to najdroższa pozycja wdrożenia Vertex AI i najbardziej deficytowa. Proś o limit tylko dla akceleratorów i regionów, których faktycznie użyjesz, i wybieraj najmniejszy akcelerator spełniający cel opóźnień. Przewymiarowany limit GPU jest trudniejszy do zatwierdzenia i droższy w utrzymaniu.
Planujesz moc GPU na Vertex AI?
Umów bezpłatną rozmowę na 30 minut. Pomagamy zespołom dobrać właściwy akcelerator i region, zaplanować limit przed startem i wybrać między on-demand, Spot a rezerwacjami.
Powiązane
- Vertex AI: wdrożenie endpointu zablokowane lub nieudane - inne tryby błędów wdrożenia (kontener, artefakt, gotowość)
- Vertex AI predykcja 429 / RESOURCE_EXHAUSTED - wersja sufitu limitu w czasie działania
- Jak działa cennik Vertex AI - serwowanie na GPU jako najdroższa pozycja
- Dokumentacja limitów Vertex AI