Texteinbettungsmodell auswählen
Dieses Dokument bietet eine Benchmark der Leistung und Kosten der in BigQuery ML verfügbaren Texteinbettungsmodelle. Anhand dieser Informationen können Sie entscheiden, welches Modell für Ihren Anwendungsfall am besten geeignet ist.
Modelle
Die folgenden Modelltypen werden in dieser Benchmark behandelt:
- Ein Remote-Modell, das auf das Vertex AI
textembedding-gecko@001
Foundation Model abzielt. Dieses Modell generiert Einbettungen mithilfe der FunktionML.GENERATE_EMBEDDING
. Ein Remote-Modell, das auf ein als Vertex AI-Endpunkt bereitgestelltes BERT-Modell abzielt. Das BERT-Modell ist wie im Vertex AI Model Garden beschrieben konfiguriert:
- Maschinentyp:
n1-highmem-8
- Beschleunigertyp:
NVIDIA_TESLA_T4
- Anzahl der Beschleuniger:
1
Dieses Modell generiert Einbettungen mithilfe der Funktion
ML.PREDICT
.- Maschinentyp:
Importierte TensorFlow-Modelle, die NNLM- und SWIVEL-Modelle implementieren. Diese Modelle verwenden die Funktion
ML.PREDICT
, um Einbettungen zu generieren.
In der Benchmark wird die unter Text mithilfe der Funktion ML.GENERATE_EMBEDDING
einbetten beschriebene Syntax zur Verarbeitung der ML.GENERATE_EMBEDDING
-Abfrage verwendet.
Die Benchmark verwendet die unter Texteinbettungen generieren beschriebene Syntax zur Verarbeitung der ML.PREDICT
-Abfragen.
Berechnung der Kosten
Die Benchmark berechnet die BigQuery-Kosten anhand der On-Demand-Computing-Preise für BigQuery (6,25 $pro TiB). Bei der Berechnung wird nicht berücksichtigt, dass das erste 1 TiB an Rechenverarbeitung pro Monat kostenlos ist.
Die mit dem Aufruf des BERT-Modells verbundenen Vertex AI-Kosten werden anhand der Vorhersagerate von n1-highmem-8
berechnet.
Die mit dem Aufruf des Modells textembedding-gecko
verbundenen Vertex AI-Kosten werden anhand der Vorhersagerate Embeddings for Text
berechnet.
Weitere Informationen zu den Preisen für BigQuery ML finden Sie unter BigQuery ML-Preise.
Benchmarkdaten
Die Benchmark verwendet das öffentliche Dataset bigquery-public-data.hacker_news.full
, das so vorbereitet wird:
Die Daten wurden in eine Testtabelle kopiert und jede Zeile 100-mal dupliziert:
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;
Erstellen zusätzlicher Testtabellen unterschiedlicher Größen, die in der Benchmark verwendet werden sollen, basierend auf der Tabelle
hacker_news.large
. Es wurden Testtabellen der folgenden Größe verwendet:- 100.000 Zeilen
- 1.000.000 Zeilen
- 10.000.000 Zeilen
- 100.000.000 Zeilen
- 1.000.000.000 Zeilen
- 10.000.000.000 Zeilen
Benchmark
Die folgende Tabelle enthält die Benchmarkdaten:
Modell | Einbettungsdimensionen | Zeilenanzahl | Ausführungszeit | Slot-Millisekunden insgesamt | Verarbeitete Byte | Verwendeter Dienst | Kosten (in $) |
---|---|---|---|---|---|---|---|
SWIVEL | 20 | 100.000 | 5 Sekunden | 6.128 | 37 MB | BigQuery | 0,00022 |
1 Million | 1 Minute, 1 Sekunde | 97.210 | 341 MB | 0,00203 | |||
10 Millionen | 28 Sekunden | 1.203.838 | 3,21 GB | 0,01959 | |||
100 Millionen | 32 Sekunden | 11.755.909 | 31,9 GB | 0,19470 | |||
1 Milliarde | 2 Minuten und 3 Sekunden | 135.754.696 | 312,35 GB | 1,90643 | |||
10 Milliarden | 19 Minuten und 55 Sekunden | 1.257.462.851 | 3,12 TB | 19,5 | |||
NNLM | 50 | 100.000 | 18 Sekunden | 66.112 | 227 MB | BigQuery | 0,00135 |
1 Million | 1 Minute, 1 Sekunde | 666.875 | 531 MB | 0,00316 | |||
10 Millionen | 19 Sekunden | 4.140.396 | 3,39 GB | 0,02069 | |||
100 Millionen | 27 Sekunden | 14.971.248 | 32,08 GB | 0,19580 | |||
1 Milliarde | 8 Minuten und 16 Sekunden | 288.221.149 | 312,54 GB | 1,90759 | |||
10 Milliarden | 19 Minuten und 28 Sekunden | 1.655.252.687 | 3,12 TB | 19,5 | |||
BERT1 | 768 | 100.000 | 29 Minuten und 37 Sekunden | 2.731.868 | 38 MB | BigQuery | 0,00022 |
Vertex AI | 8,11 | ||||||
1 Million | 5 Stunden, 10 Sekunden | 28.905.706 | 339 MB | BigQuery | 0,00196 | ||
Vertex AI | 9,98 | ||||||
Vertex AI textembedding-gecko@001 LLM2 |
768 | 100.000 | 14 Minuten und 14 Sekunden | 1.495.297 | 38 MB | BigQuery | 0,00022 |
Vertex AI | 0,73 | ||||||
1 Million | 2 Stunden, 24 Minuten | 17.342.114 | 339 MB | BigQuery | 0,00196 | ||
Vertex AI | 2,97 |
1 BigQuery-Abfragejobs sind auf 6 Stunden begrenzt. Daher wird dieses Modell nur für bis zu 1 Million Zeilen verglichen. Sie können mehr Rechenressourcen von Vertex AI Model Garden verwenden, damit der Job mehr Zeilen innerhalb des Limits von 6 Stunden verarbeiten kann. Sie können beispielsweise die Anzahl der Beschleuniger erhöhen.
2 BigQuery-Abfragejobs sind auf 6 Stunden begrenzt. Daher wird dieses Modell nur für bis zu 1 Million Zeilen verglichen. Sie können ein höheres Kontingent anfordern, damit der Job mehr Zeilen innerhalb des Limits von 6 Stunden verarbeiten kann. Sie können auch diese Gruppe von SQL-Skripts oder dieses Dataform-Paket verwenden, um Inferenzaufrufe über das Limit von 6 Stunden hinaus zu durchlaufen.