Scegli un modello di incorporamento del testo
Questo documento fornisce un benchmark per le prestazioni e i costi dei modelli di incorporamento di testo disponibili in BigQuery ML. Puoi usare queste informazioni per decidere quale modello è più adatto al tuo caso d'uso.
ottimizzabili
Questo benchmark include i seguenti tipi di modelli:
- Un modello remoto che ha come target il modello di base
textembedding-gecko@001
di Vertex AI. Questo modello funziona con la funzioneML.GENERATE_EMBEDDING
per generare incorporamenti. Un modello remoto che ha come target un modello BERT di cui è stato eseguito il deployment come endpoint Vertex AI. Il modello BERT è configurato come descritto in Vertex AI Model Garden:
- Tipo di macchina:
n1-highmem-8
- Tipo di acceleratore:
NVIDIA_TESLA_T4
- Numero di acceleratori:
1
Questo modello funziona con la funzione
ML.PREDICT
per generare incorporamenti.- Tipo di macchina:
Modelli TensorFlow importati che implementano i modelli NNLM e SWIVEL. Questi modelli funzionano con la funzione
ML.PREDICT
per generare incorporamenti.
Il benchmark utilizza la sintassi descritta in Incorporare il testo utilizzando la funzione ML.GENERATE_EMBEDDING
per elaborare la query ML.GENERATE_EMBEDDING
.
Il benchmark utilizza la sintassi descritta in
Generare incorporamenti di testo
per elaborare le query ML.PREDICT
.
Calcolo dei costi
Il benchmark calcola i costi di BigQuery in base ai prezzi di calcolo on demand di BigQuery (6,25 $per TiB). Il calcolo non tiene conto del fatto che il primo TiB di elaborazione del calcolo utilizzato al mese è gratuito.
I costi di Vertex AI associati alla chiamata del modello BERT vengono calcolati utilizzando la percentuale di previsione n1-highmem-8
.
I costi di Vertex AI associati alla chiamata del modello textembedding-gecko
vengono calcolati utilizzando la percentuale di previsione Embeddings for Text
.
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:
Ha copiato i dati 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 tabelle di test aggiuntive di dimensioni diverse da utilizzare nel benchmark, in base alla tabella
hacker_news.large
. Sono state utilizzate tabelle di test delle seguenti dimensioni:- 100.000 righe
- 1.000.000 righe
- 10.000.000 righe
- 100.000.000 righe
- 1.000.000.000 di righe
- 10.000.000.000 di righe
Analisi comparativa
La seguente tabella contiene i dati di benchmark:
Modello | Dimensioni di incorporamento | Numero di righe | Durata | Totale millisecondi dello slot | Byte elaborati | Servizio utilizzato | Costo in € |
---|---|---|---|---|---|---|---|
GIREVOLE | 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 € | ||||||
Vertex AI textembedding-gecko@001 LLM2 |
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 modello viene sottoposto a benchmark solo per 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 modello viene sottoposto a benchmark solo per un massimo di 1 milione di righe. Puoi richiedere una quota maggiore 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 tramite chiamate di inferenza oltre il limite di 6 ore.