Scegli un modello di incorporamento del testo
Questo documento fornisce un benchmark delle prestazioni e dei costi del testo di incorporamento disponibili in BigQuery ML. Puoi utilizzare queste informazioni per aiutarti a decidere quale modello è il migliore per il tuo caso d'uso.
Modelli
In questo benchmark sono trattati i seguenti tipi di modelli:
- Un modello remoto.
che ha come target
Modello di base
textembedding-gecko@001
di Vertex AI. Questo modello funziona con FunzioneML.GENERATE_EMBEDDING
per generare incorporamenti. Un modello remoto. che ha come target un Modello BERT il deployment come endpoint Vertex AI. Il modello BERT è configurato come descritti nei Model Garden di Vertex AI:
- Tipo di macchina:
n1-highmem-8
- Tipo di acceleratore:
NVIDIA_TESLA_T4
- Conteggio acceleratori:
1
Questo modello funziona con Funzione
ML.PREDICT
per generare incorporamenti.- Tipo di macchina:
Modelli TensorFlow importati che implementano NNLM e ROTAZIONE di machine learning. Questi modelli lavorano con la funzione
ML.PREDICT
per generare incorporamenti.
Il benchmark utilizza la sintassi descritta
Incorporare il testo utilizzando la funzione ML.GENERATE_EMBEDDING
per l'elaborazione della query ML.GENERATE_EMBEDDING
.
Il benchmark utilizza la sintassi descritta
Generare incorporamenti di testo
per l'elaborazione delle query ML.PREDICT
.
Calcolo dei costi
Il benchmark calcola i costi di BigQuery in base a Prezzi di computing on demand di BigQuery (US $6,25 per TiB). Il calcolo non tiene conto del fatto che il primo 1 TiB di elaborazione di calcolo utilizzato al mese è gratuito.
Costi di Vertex AI associati alla chiamata del modello BERT
vengono calcolate utilizzando lo strumento n1-highmem-8
tasso di previsione.
I costi di Vertex AI associati alle chiamate
textembedding-gecko
modello
vengono calcolate utilizzando la proprietà Embeddings for Text
tasso di previsione.
Per informazioni sui prezzi di BigQuery ML, consulta Prezzi di BigQuery ML.
Dati di benchmark
Il benchmark utilizza il set di dati pubblico bigquery-public-data.hacker_news.full
.
preparato come segue:
I dati sono stati copiati in una tabella di test, duplicando ogni riga 100 volte:
CREATE OR REPLACE TABLE `mydataset.hacker_news.large` AS SELECT base.* FROM `bigquery-public-data.hacker_news.full` AS base, UNNEST(GENERATE_ARRAY(1, 100)) AS repeat_number;
Sono state create altre tabelle di test di dimensioni diverse da utilizzare nel benchmark in base alla tabella
hacker_news.large
. Testa le tabelle dei seguenti sono state utilizzate:- 100.000 righe
- 1.000.000 righe
- 10.000.000 righe
- 100.000.000 righe
- 1.000.000.000 righe
- 10.000.000.000 righe
Analisi comparativa
La seguente tabella contiene i dati di benchmark:
Modello | Dimensioni di incorporamento | Numero di righe | Durata | Totale millisecondi slot | Byte elaborati | Servizio utilizzato | Costo in$ |
---|---|---|---|---|---|---|---|
Ruota | 20 | 100.000 | 5 secondi | 6.128 | 37 MB | BigQuery | 0,00022 |
1 milione | 1 minuto e 1 secondo | 97.210 | 341 MB | 0,00203 | |||
10 milioni | 28 secondi | 1.203.838 | 3,21 GB | 0,01959 | |||
100 milioni | 32 secondi | 11.755.909 | 31,9 GB | 0,19470 | |||
1 miliardo | 2 minuti e 3 secondi | 135.754.696 | 312,35 GB | 1,90643 | |||
10 miliardi | 19 minuti e 55 secondi | 1.257.462.851 | 3,12 TB | 19,5 | |||
NNLM | 50 | 100.000 | 18 secondi | 66.112 | 227 MB | BigQuery | 0,00135 |
1 milione | 1 minuto e 1 secondo | 666.875 | 531 MB | 0,00316 | |||
10 milioni | 19 secondi | 4.140.396 | 3,39 GB | 0,02069 | |||
100 milioni | 27 secondi | 14.971.248 | 32,08 GB | 0,19580 | |||
1 miliardo | 8 minuti e 16 secondi | 288.221.149 | 312,54 GB | 1,90759 | |||
10 miliardi | 19 minuti e 28 secondi | 1.655.252.687 | 3,12 TB | 19,5 | |||
BERT1 | 768 | 100.000 | 29 minuti e 37 secondi | 2.731.868 | 38 MB | BigQuery | 0,00022 |
Vertex AI | 8,11 | ||||||
1 milione | 5 ore e 10 secondi | 28.905.706 | 339 MB | BigQuery | 0,00196 | ||
Vertex AI | 9,98 | ||||||
LLM Vertex AI textembedding-gecko@001 2 |
768 | 100.000 | 14 minuti e 14 secondi | 1.495.297 | 38 MB | BigQuery | 0,00022 |
Vertex AI | 0,73 | ||||||
1 milione | 2 ore e 24 minuti | 17.342.114 | 339 MB | BigQuery | 0,00196 | ||
Vertex AI | 2,97 |
1 I job di query BigQuery hanno un limite di 6 ore, quindi questo viene confrontato con un massimo di 1 milione di righe. Puoi utilizzare più risorse di calcolo di Vertex AI Model Garden per consentire al job di elaborare più righe entro il limite di 6 ore. Ad esempio, puoi aumentare il numero di acceleratori.
2 I job di query BigQuery hanno un limite di 6 ore, quindi questo viene confrontato con un massimo di 1 milione di righe. Puoi richiedere una quota più alta per consentire al job di elaborare più righe entro il limite di 6 ore. Puoi anche utilizzare questo set di script SQL o questo pacchetto Dataform per eseguire l'iterazione attraverso chiamate di inferenza oltre il limite di 6 ore.