Texteinbettungsmodell auswählen
In diesem Dokument erhalten Sie einen Benchmark für die Leistung und Kosten der in BigQuery ML verfügbaren Texteinbettungsmodelle. Anhand dieser Informationen können Sie um Ihnen bei der Entscheidung zu helfen, welches Modell für Ihren Anwendungsfall am besten geeignet ist.
Modelle
Folgende Modelltypen werden in dieser Benchmark berücksichtigt:
- Remote-Modell,
das auf das
Vertex AI-Basismodell
textembedding-gecko@001
abzielt. Dieses Modell generiert mit der FunktionML.GENERATE_EMBEDDING
Einbettungen. Remote-Modell, das auf ein BERT-Modell abzielt, das als Vertex AI-Endpunkt bereitgestellt wird. Das BERT-Modell ist wie in Vertex AI Model Garden beschrieben konfiguriert:
- Maschinentyp:
n1-highmem-8
- Beschleunigertyp:
NVIDIA_TESLA_T4
- Anzahl der Beschleuniger:
1
Dieses Modell generiert mit der Funktion
ML.PREDICT
Einbettungen.- Maschinentyp:
Importierte TensorFlow-Modelle, die NNLM- und SWIVEL- Modelle implementieren. Diese Modelle arbeiten mit der Funktion
ML.PREDICT
, um Einbettungen zu generieren.
Die Benchmark verwendet die unter Text mit der Funktion ML.GENERATE_EMBEDDING
einbetten beschriebene Syntax zur Verarbeitung der ML.GENERATE_EMBEDDING
-Abfrage.
Für die Benchmark wird die Syntax verwendet, die unter
Texteinbettungen generieren
zum Verarbeiten von ML.PREDICT
-Abfragen beschrieben wird.
Berechnung der Kosten
In der Benchmark werden die BigQuery-Kosten basierend auf den Preisen für On-Demand-Computing von BigQuery (6,25 $ pro TiB) berechnet. Bei der Berechnung wird nicht berücksichtigt, dass das erste TiB an Rechenverarbeitungsleistung pro Monat kostenlos ist.
Die mit dem Aufruf des BERT-Modells verbundenen Vertex AI-Kosten
werden mit der
Vorhersageraten1-highmem-8
berechnet.
Die Vertex AI-Kosten für den Aufruf des
textembedding-gecko
-Modells
werden anhand der
VorhersagerateEmbeddings for Text
berechnet.
Weitere Informationen zu den Preisen für BigQuery ML finden Sie unter BigQuery ML-Preise.
Benchmarkdaten
Für die Benchmark wird das öffentliche Dataset bigquery-public-data.hacker_news.full
verwendet, das
so vorbereitet wird:
Die Daten wurden in eine Testtabelle kopiert und jede Zeile wurde 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;
Basierend auf der Tabelle
hacker_news.large
wurden zusätzliche Testtabellen unterschiedlicher Größen für die Benchmark erstellt. Es wurden Tabellen mit den folgenden Größen 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 sechs Stunden begrenzt. Daher wird dieses Modell nur für bis zu einer Million Zeilen verglichen. Sie können mehr Rechenressourcen aus Vertex AI Model Garden verwenden, damit der Job innerhalb des Limits von sechs Stunden mehr Zeilen verarbeiten kann. Sie können beispielsweise die Anzahl der Beschleuniger erhöhen.
2 BigQuery-Abfragejobs sind auf sechs Stunden begrenzt. Daher wird dieses Modell nur für bis zu einer Million Zeilen verglichen. Sie können ein höheres Kontingent anfordern, damit der Job innerhalb von sechs Stunden mehr Zeilen verarbeiten kann. Sie können auch diese SQL-Skripts oder dieses Dataform-Paket verwenden, um Inferenzaufrufe über das Limit von sechs Stunden hinaus zu iterieren.