Scegli una funzione di elaborazione del linguaggio naturale
Questo documento fornisce un confronto delle funzioni di elaborazione del linguaggio naturale disponibili in BigQuery ML, ovvero ML.GENERATE_TEXT
, ML.TRANSLATE
e ML.UNDERSTAND_TEXT
.
ML.GENERATE_TEXT
può eseguire le stesse attività delle altre due funzioni, come mostrato nell'immagine seguente:
Puoi utilizzare le informazioni contenute in questo documento per decidere quale funzione utilizzare nei casi in cui le funzioni abbiano funzionalità sovrapposte.
A livello generale, la differenza tra queste funzioni è la seguente:
ML.GENERATE_TEXT
è una buona scelta per eseguire attività di elaborazione del linguaggio naturale (NLP) personalizzate a un costo inferiore. Questa funzione offre un maggiore supporto per le lingue, un throughput più elevato e la possibilità di ottimizzare i modelli. Inoltre, funziona con i modelli multimodali.ML.TRANSLATE
è una buona scelta per eseguire attività di NLP specifiche per la traduzione in cui devi supportare un'elevata frequenza di query al minuto.ML.UNDERSTAND_TEXT
è una buona scelta per eseguire attività di NLP supportate dall'API Cloud Natural Language.
Modelli supportati
I modelli supportati sono i seguenti:
ML.GENERATE_TEXT
: puoi utilizzare un sottoinsieme del modello Vertex AI Gemini o PaLM per generare testo. Per ulteriori informazioni sui modelli supportati, consulta la sintassiML.GENERATE_TEXT
.ML.TRANSLATE
: utilizzi il modello predefinito dell'API Cloud Translation.ML.UNDERSTAND_TEXT
: utilizzi il modello predefinito dell'API Cloud Natural Language.
Attività supportate
Le attività supportate sono le seguenti:
ML.GENERATE_TEXT
: puoi eseguire qualsiasi attività di NLP. L'attività svolta dal modello dipende dal prompt specificato. Ad esempio, per eseguire un'attività di risposta alle domande, puoi fornire un prompt simile aCONCAT("What are the key concepts in the following article?: ", article_text)
. Puoi anche fornire il contesto all'interno del prompt. Ad esempio,CONCAT("context: Only output 'yes' or 'no' to the following question: ", question)
.ML.TRANSLATE
: puoi eseguire le seguenti attività:ML.UNDERSTAND_TEXT
: puoi eseguire le seguenti attività:
Contesto dei dati
Quando scegli la funzione da utilizzare, valuta se i dati possono essere analizzati singolarmente o se richiedono un contesto aggiuntivo per supportare l'analisi.
Se i tuoi dati richiedono un contesto aggiuntivo, l'utilizzo di ML.GENERATE_TEXT
con un
modello Vertex AI è una scelta migliore, in quanto questi modelli ti consentono di fornire il contesto nell'ambito del prompt inviato. Tieni presente che fornire un contesto aggiuntivo come input aumenta il conteggio e il costo dei token.
Se i tuoi dati possono essere analizzati senza che il modello prenda in considerazione altro contesto, ad esempio la traduzione di una stringa di testo senza sapere perché è stata scritta, l'utilizzo di ML.TRANSLATE
o ML.UNDERSTAND_TEXT
potrebbe essere una scelta migliore, a condizione che l'attività che vuoi eseguire sia supportata.
Struttura di output
ML.GENERATE_TEXT
restituisce costantemente risultati nella colonna di output ml_generate_text_llm_result
. Puoi anche
utilizzare il prompt per definire la struttura di output. Ad esempio, puoi indicare al modello di restituire il risultato come JSON con campi principali e secondari personalizzati e fornire un esempio di come produrre questo risultato.
ML.TRANSLATE
e ML.UNDERSTAND_TEXT
producono lo stesso output per un determinato tipo di attività per ogni chiamata riuscita all'API. Inoltre, l'output di queste funzioni include metadati aggiuntivi sui relativi risultati. Ad esempio,
ML.TRANSLATE
include informazioni sulla lingua di input, mentre
ML.UNDERSTAND_TEXT
include informazioni sull'intensità del
sentiment per le attività di analisi del sentiment. La generazione di questi metadati è possibile con i modelli Vertex AI, ma richiede un'ingegneria dei prompt significativa e probabilmente non fornisce la stessa granularità.
Prezzi
I prezzi sono i seguenti:
ML.GENERATE_TEXT
: per i prezzi dei modelli Vertex AI che utilizzi con questa funzione, consulta Prezzi di Vertex AI. La regolazione supervisionata dei modelli supportati viene addebitata in dollari per ora nodo in base ai prezzi dell'addestramento personalizzato di Vertex AI.ML.TRANSLATE
: per i prezzi del servizio Cloud AI che utilizzi con questa funzione, consulta Prezzi dell'API Cloud Translation.ML.UNDERSTAND_TEXT
: per i prezzi del servizio Cloud AI che utilizzi con questa funzione, consulta Prezzi dell'API Cloud Natural Language.
Ottimizzazione supervisionata
L'ottimizzazione supervisionata è supportata come segue:
ML.GENERATE_TEXT
: l'ottimizzazione supervisionata è supportata per alcuni modelli.ML.TRANSLATE
: l'ottimizzazione supervisionata non è supportata.ML.UNDERSTAND_TEXT
: l'ottimizzazione supervisionata non è supportata.
Multimodalità
Il supporto della multimodalità è il seguente:
ML.GENERATE_TEXT
: supporta l'input di testo e di testo + immagine.ML.TRANSLATE
: supporta l'inserimento di testo.ML.UNDERSTAND_TEXT
: supporta l'inserimento di testo.
Limite di query al minuto (QPM)
I limiti QPM sono i seguenti:
ML.GENERATE_TEXT
: varia da un limite di 100 a 1600 QPM nella regioneus-central1
predefinita, a seconda del modello utilizzato.ML.TRANSLATE
: limite di 6000 QPM per la versione 3.ML.UNDERSTAND_TEXT
: limite di 600 QPM.
Limite di token
I limiti per i token sono i seguenti:
ML.GENERATE_TEXT
: varia da un limite di 8192 a 24576 token, a seconda del modello utilizzato.ML.TRANSLATE
: nessun limite di token. Tuttavia, questa funzione ha un limite di 30.000 byte.ML.UNDERSTAND_TEXT
: limite di 100.000 token.
Lingue supportate
Le lingue supportate sono:
ML.GENERATE_TEXT
: supporta le stesse lingue di Gemini o Embeddings, a seconda del modello Vertex AI scelto per l'endpoint del modello remoto BigQuery ML. I modelli di testo PaLM supportano le stesse lingue dei modelli di embedding.ML.TRANSLATE
: supporta le lingue dell'API Cloud Translation.ML.UNDERSTAND_TEXT
: supporta le lingue dell'API Cloud Natural Language.
Disponibilità per regione
La disponibilità per regione è la seguente:
ML.GENERATE_TEXT
: disponibile in tutte le regioni di Generative AI per Vertex AI.ML.TRANSLATE
: disponibile nelle regioni multipleEU
eUS
.ML.UNDERSTAND_TEXT
: disponibile nelle regioni multipleEU
eUS
.