Per utilizzare la previsione online, puoi interagire con l'API AI Platform Training e AI Platform Prediction tramite il suo
endpoint globale (ml.googleapis.com
) o tramite uno dei suoi endpoint a livello di regione
(REGION-ml.googleapis.com
). L'utilizzo di un endpoint a livello di regione
per la previsione online offre ulteriore protezione per il tuo modello contro
le interruzioni in altre regioni, perché isola le risorse del modello e della versione
da altre regioni.
Al momento AI Platform Prediction supporta i seguenti endpoint a livello di regione:
us-central1
us-east1
us-east4
us-west1
northamerica-northeast1
europe-west1
europe-west2
europe-west3
europe-west4
asia-east1
asia-northeast1
asia-southeast1
australia-southeast1
Questa guida mette a confronto i vantaggi e le limitazioni dell'utilizzo degli endpoint a livello di regione rispetto all'endpoint globale. La guida illustra anche l'utilizzo di un endpoint a livello di regione per la previsione online.
Informazioni sugli endpoint a livello di regione
Gli endpoint a livello di area geografica presentano diverse differenze chiave rispetto all'endpoint globale:
Gli endpoint a livello di area geografica supportano solo i tipi di macchine di Compute Engine (N1). Non puoi utilizzare tipi di macchine legacy (MLS1) sugli endpoint a livello di regione. Ciò significa che si applicano tutti i vantaggi e i limiti di utilizzo dei tipi di macchine di Compute Engine (N1). Ad esempio, puoi utilizzare le GPU sugli endpoint a livello di regione, ma al momento non puoi abilitare il logging dei flussi (console).
Per utilizzare un tipo di macchina Compute Engine (N1), devi utilizzare un endpoint a livello di regione.
Gli endpoint a livello di area geografica supportano solo la previsione online e le spiegazioni AI. I modelli di cui è stato eseguito il deployment negli endpoint a livello di regione non supportano la previsione batch.
AI Platform Prediction condivide l'API AI Platform Training e Prediction con AI Platform Training e AI Platform Vizier. Tieni presente che gli endpoint a livello di regione attualmente non supportano AI Platform Training. Solo l'endpoint
us-central1
supporta AI Platform Vizier.Per ulteriori dettagli sui metodi dei metodi API disponibili su quali endpoint, consulta il riferimento API.
I nomi delle risorse di AI Platform Prediction sono univoci per il tuo progetto Google Cloud su qualsiasi
endpoint specifico, ma possono essere duplicati in vari endpoint. Ad esempio, puoi creare un modello denominato "hello-world" sull'endpoint europe-west4
e un altro modello denominato "hello-world" sull'endpoint us-central1
.
Quando elenchi i modelli su un endpoint a livello di regione, vedi solo i modelli creati in tale endpoint. Analogamente, quando elenchi i modelli nell'endpoint globale, vengono visualizzati solo i modelli creati nell'endpoint globale.
Confronto tra endpoint a livello di area geografica e aree geografiche endpoint globali
Quando crei una risorsa modello sull'endpoint globale, puoi specificare un'area geografica per il modello. Quando crei versioni all'interno di questo modello e fornisci previsioni, i nodi di previsione vengono eseguiti nella regione specificata.
Quando utilizzi un endpoint a livello di regione, AI Platform Prediction esegue i nodi di previsione nella regione dell'endpoint. Tuttavia, in questo caso AI Platform Prediction fornisce un ulteriore isolamento eseguendo tutta l'infrastruttura AI Platform Prediction in quell'area geografica.
Ad esempio, se utilizzi l'area geografica us-east1
sull'endpoint globale, i nodi di previsione vengono eseguiti in us-east1
. Tuttavia, l'infrastruttura di AI Platform Prediction che gestisce le tue risorse (routing delle richieste, gestione dei modelli e creazione delle versioni, aggiornamenti ed eliminazione e così via) non viene necessariamente eseguita in us-east1
. D'altra parte, se utilizzi l'endpoint della regione di europe-west4
, i nodi di previsione e tutta l'infrastruttura di previsione di AI Platform vengono eseguiti in europe-west4
.
Utilizzo di endpoint a livello di regione
Per utilizzare un endpoint a livello di regione, devi prima creare un modello sull'endpoint della regione. Quindi, esegui tutte le azioni correlate al modello (ad esempio, la creazione di una versione del modello e l'invio di richieste di previsione) sullo stesso endpoint.
Se utilizzi la console Google Cloud, assicurati di selezionare la casella di controllo Utilizza endpoint a livello di regione quando crei il modello. Esegui tutte le altre azioni di Google Cloud Console come faresti con l'endpoint globale.
Se utilizzi l'interfaccia a riga di comando di Google Cloud, --region
segnala la regione del tuo endpoint su ogni comando che interagisce con il modello e le relative risorse figlio. È incluso quanto segue:
- Ogni comando nel gruppo di comandi
gcloud ai-platform models
. - Ogni comando nel gruppo di comandi
gcloud ai-platform versions
. - Ogni comando nel gruppo di comandi
gcloud ai-platform operations
quando interagisce con le operazioni a lunga esecuzione associate a una versione del modello. - Il comando
gcloud ai-platform predict
. - Il comando
gcloud beta ai-platform explain
.
In alternativa, puoi impostare la proprietà ai_platform/region
su una regione specifica per assicurarti che la gcloud CLI utilizzi sempre l'endpoint regionale corrispondente per i comandi di AI Platform Prediction, anche quando non specifichi il flag --region
. (Questa configurazione non si applica ai comandi del gruppo di comandi gcloud ai-platform operations
.)
Se interagisci direttamente con l'API AI Platform Training e AI Platform Prediction (ad esempio, utilizzando la Google API Client Library for Python), esegui tutte le richieste API come faresti con l'endpoint globale, ma utilizza l'endpoint a livello di area geografica. Per ulteriori dettagli sui metodi API disponibili sugli endpoint a livello di regione, consulta il riferimento API.
I seguenti esempi mostrano come utilizzare un endpoint a livello di regione per creare un modello, creare una versione e inviare una richiesta di previsione online. Per utilizzare gli esempi, sostituisci REGION ovunque venga visualizzato con una delle regioni in cui sono disponibili gli endpoint a livello di regione:
us-central1
us-east1
us-east4
us-west1
northamerica-northeast1
europe-west1
europe-west2
europe-west3
europe-west4
asia-east1
asia-northeast1
asia-southeast1
australia-southeast1
Creazione di un modello
console Google Cloud
Nella console Google Cloud, vai alla pagina Crea modello e seleziona il tuo progetto Google Cloud:
Assegna un nome al modello, seleziona la casella di controllo Utilizza endpoint a livello di regione e seleziona l'area geografica dell'endpoint da utilizzare dall'elenco a discesa Area geografica.
Fai clic su pulsante Crea.
gcloud
Esegui questo comando:
gcloud ai-platform models create MODEL_NAME \
--region=REGION
Nel comando sostituisci i seguenti segnaposto:
- MODEL_NAME: un nome scelto per il modello.
- REGION: l'area geografica dell'endpoint da utilizzare.
Python
In questo esempio viene utilizzata la libreria client delle API di Google per Python. Prima di poterlo utilizzare, devi installare la libreria client delle API di Google per Python e configurare l'autenticazione nell'ambiente di sviluppo.
Esegui questo codice Python:
from google.api_core.client_options import ClientOptions
from googleapiclient import discovery
endpoint = 'https://REGION-ml.googleapis.com'
client_options = ClientOptions(api_endpoint=endpoint)
ml = discovery.build('ml', 'v1', client_options=client_options)
request_body = { 'name': 'MODEL_NAME' }
request = ml.projects().models().create(parent='projects/PROJECT_ID',
body=request_body)
response = request.execute()
print(response)
Nel codice, sostituisci i seguenti segnaposto:
- REGION: l'area geografica dell'endpoint da utilizzare.
- MODEL_NAME: un nome scelto per il modello.
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
Scopri di più sulla creazione di un modello.
Creazione di una versione del modello
In questo esempio si presuppone che tu abbia già caricato artefatti modello compatibili in Cloud Storage.
console Google Cloud
Utilizzando il modello creato nella sezione precedente, segui la guida alla creazione di una versione del modello in Google Cloud Console.
gcloud
In questo esempio si presuppone che tu abbia già caricato artefatti modello compatibili in Cloud Storage. Esegui questo comando:
gcloud ai-platform versions create VERSION_NAME \
--region=REGION \
--model=MODEL_NAME \
--framework=FRAMEWORK \
--machine-type=MACHINE_TYPE \
--origin=MODEL_DIRECTORY \
--python-version=3.7 \
--runtime-version=2.10
Nel comando sostituisci i seguenti segnaposto:
- REGION: area geografica dell'endpoint utilizzato nella sezione precedente.
- VERSION_NAME: un nome scelto per la versione.
- MODEL_NAME: nome del modello creato nella sezione precedente.
- FRAMEWORK: il framework utilizzato per creare gli artefatti del modello.
- MACHINE_TYPE: un tipo di macchina Compute Engine (N1).
- MODEL_DIRECTORY: un URI Cloud Storage della directory del modello (che inizia con"quot;gs://"").
Python
Esegui questo codice Python:
from google.api_core.client_options import ClientOptions
from googleapiclient import discovery
endpoint = 'https://REGION-ml.googleapis.com'
client_options = ClientOptions(api_endpoint=endpoint)
ml = discovery.build('ml', 'v1', client_options=client_options)
request_body = { 'name': 'VERSION_NAME',
'deploymentUri': 'MODEL_DIRECTORY',
'runtimeVersion': '2.10',
'machineType': 'MACHINE_TYPE',
'framework': 'FRAMEWORK',
'pythonVersion': '3.7'}
request = ml.projects().models().versions().create(
parent='projects/PROJECT_ID/models/MODEL_NAME',
body=request_body)
response = request.execute()
print(response)
Nel codice, sostituisci i seguenti segnaposto:
- REGION: area geografica dell'endpoint utilizzato nella sezione precedente.
- VERSION_NAME: un nome scelto per la versione.
- MODEL_DIRECTORY: un URI Cloud Storage della directory del modello (che inizia con "quot;gs://"").
- MACHINE_TYPE: un tipo di macchina Compute Engine (N1).
- FRAMEWORK: il framework utilizzato per creare gli artefatti del modello.
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- MODEL_NAME: nome del modello creato nella sezione precedente.
Scopri di più sulla creazione di una versione del modello.
Inviare una richiesta di previsione online
console Google Cloud
In Google Cloud Console, vai alla pagina Modelli:
Nell'elenco a discesa Area geografica, seleziona la regione dell'endpoint utilizzata dal modello. Fai clic sul nome del modello creato in una sezione precedente per passare alla pagina Dettagli modello.
Fai clic sul nome della versione creata in una sezione precedente per accedere alla pagina Dettagli versione.
Fai clic sulla scheda Testa e utilizza. Inserisci una o più istanze di dati di input e fai clic sul pulsante Test per inviare una richiesta di previsione online.
gcloud
Questo esempio presuppone che tu abbia salvato l'input della previsione in un file JSON delimitato da nuova riga nel tuo ambiente locale. Esegui questo comando:
gcloud ai-platform predict \
--region=REGION \
--model=MODEL_NAME \
--version=VERSION_NAME \
--json-request=INPUT_PATH
Nel comando sostituisci i seguenti segnaposto:
- REGION: area geografica dell'endpoint utilizzato nelle sezioni precedenti.
- MODEL_NAME: nome del modello creato in una sezione precedente.
- VERSION_NAME: nome della versione del modello che hai creato nella sezione precedente.
- INPUT_PATH: il percorso sul tuo file system locale verso un file JSON con un input di previsione.
Python
Esegui questo codice Python:
from google.api_core.client_options import ClientOptions
from googleapiclient import discovery
endpoint = 'https://REGION-ml.googleapis.com'
client_options = ClientOptions(api_endpoint=endpoint)
ml = discovery.build('ml', 'v1', client_options=client_options)
request_body = { 'instances': INSTANCES }
request = ml.projects().predict(
name='projects/PROJECT_ID/models/MODEL_NAME/VERSION_NAME',
body=request_body)
response = request.execute()
print(response)
Nel codice, sostituisci i seguenti segnaposto:
- REGION: area geografica dell'endpoint utilizzato nelle sezioni precedenti.
- INSTANCES: un elenco di istanze di input di previsione.
- MODEL_NAME: nome del modello creato in una sezione precedente.
- VERSION_NAME: nome della versione che hai creato nella sezione precedente.
Scopri di più sulle previsioni online.
Passaggi successivi
- Vedi le differenze nella disponibilità a livello di regione per gli endpoint a livello di regione e l'endpoint globale. Ciò include differenze nella disponibilità delle GPU.
- Scopri di più sui tipi di macchine di Compute Engine (N1), richiesti per gli endpoint a livello di regione.
- Scopri altre opzioni che puoi configurare quando crei modelli e versioni.