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:

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.