Funktion für die Verarbeitung natürlicher Sprache auswählen

In diesem Dokument werden die Funktionen zur Verarbeitung natürlicher Sprache in BigQuery ML verglichen: ML.GENERATE_TEXT, ML.TRANSLATE und ML.UNDERSTAND_TEXT.

ML.GENERATE_TEXT kann Aufgaben ausführen, die auch die anderen beiden Funktionen erledigen können, wie im folgenden Bild dargestellt:

Diagramm mit gängigen Workflows für Remote-Modelle, die Vertex AI-Modelle oder Cloud AI-Dienste verwenden.

Anhand der Informationen in diesem Dokument können Sie entscheiden, welche Funktion Sie verwenden sollten, wenn sich die Funktionen in ihren Capabilities überschneiden.

Grob gesagt unterscheiden sich diese Funktionen so:

  • ML.GENERATE_TEXT eignet sich gut für die kostengünstige Ausführung benutzerdefinierter Natural Language Processing-Aufgaben (NLP). Diese Funktion bietet mehr Sprachunterstützung, einen schnelleren Durchsatz und die Möglichkeit zur Modelloptimierung. Außerdem funktioniert sie mit multimodalen Modellen.
  • ML.TRANSLATE eignet sich gut für übersetzungsspezifische NLP-Aufgaben, bei denen eine hohe Anzahl von Abfragen pro Minute unterstützt werden muss.
  • ML.UNDERSTAND_TEXT eignet sich gut für die Ausführung von NLP-Aufgaben, die von der Cloud Natural Language API unterstützt werden.

Unterstützte Modelle

Folgende Modelle werden unterstützt:

Unterstützte Aufgaben

Folgende Aufgaben werden unterstützt:

  • ML.GENERATE_TEXT: Sie können jede NLP-Aufgabe ausführen. Welche Aufgabe das Modell ausführt, hängt vom von Ihnen angegebenen Prompt ab. Wenn Sie beispielsweise eine Aufgabe zur Beantwortung von Fragen ausführen möchten, können Sie einen Prompt ähnlich wie CONCAT("What are the key concepts in the following article?: ", article_text) angeben. Sie können auch Kontext als Teil des Prompts angeben. Beispiel: CONCAT("context: Only output 'yes' or 'no' to the following question: ", question).
  • ML.TRANSLATE: Sie können die folgenden Aufgaben ausführen:

  • ML.UNDERSTAND_TEXT: Sie können die folgenden Aufgaben ausführen:

Datenkontext

Berücksichtigen Sie bei der Auswahl der Funktion, ob Ihre Daten einzeln analysiert werden können oder ob zusätzlicher Kontext für die Analyse erforderlich ist. Wenn für Ihre Daten zusätzlicher Kontext erforderlich ist, ist die Verwendung von ML.GENERATE_TEXT mit einem Vertex AI-Modell die bessere Wahl. Mit diesen Modellen können Sie den Kontext als Teil des eingereichten Prompts angeben. Beachten Sie, dass die Tokenanzahl und die Kosten steigen, wenn Sie zusätzlichen Kontext als Eingabe angeben.

Wenn Ihre Daten analysiert werden können, ohne dass ein anderer Kontext vom Modell berücksichtigt wird (z. B. die Übersetzung eines Textstrings, ohne zu wissen, warum sie geschrieben wurde), könnte die Verwendung von ML.TRANSLATE oder ML.UNDERSTAND_TEXT eine bessere Wahl zu sein, vorausgesetzt, die gewünschte Aufgabe wird unterstützt.

Ausgabestruktur

ML.GENERATE_TEXT gibt in der Ausgabespalte ml_generate_text_llm_result immer wiederkehrende Ergebnisse zurück. Sie können auch den Prompt verwenden, um die Ausgabestruktur zu definieren. Beispielsweise können Sie das Modell anweisen, Ihr Ergebnis als JSON mit benutzerdefinierten übergeordneten und untergeordneten Feldern zurückzugeben, und geben Sie ein Beispiel für diese Anleitung dieses Ergebnis an.

ML.TRANSLATE und ML.UNDERSTAND_TEXT liefern für jeden erfolgreichen API-Aufruf die gleiche Ausgabe für einen bestimmten Aufgabentyp. Außerdem enthält die Ausgabe dieser Funktionen zusätzliche Metadaten zu den Ergebnissen. Die Ausgabe von ML.TRANSLATE enthält beispielsweise Informationen zur Eingabesprache und die Ausgabe von ML.UNDERSTAND_TEXT enthält Informationen zur Stärke des Sentiments bei Aufgaben der Sentimentanalyse. Die Generierung dieser Metadaten ist mit den Vertex AI-Modellen möglich, erfordert aber umfangreiche Prompt-Entwicklung und ist wahrscheinlich nicht so detailliert.

Preise

Die Kosten werden folgendermaßen berechnet:

Überwachte Abstimmung

Die überwachte Abstimmung wird so unterstützt:

  • ML.GENERATE_TEXT: Für einige Modelle wird die überwachte Abstimmung unterstützt.
  • ML.TRANSLATE: Die überwachte Abstimmung wird nicht unterstützt.
  • ML.UNDERSTAND_TEXT: Die überwachte Abstimmung wird nicht unterstützt.

Multimodalität

Die Unterstützung für die Multimodalität ist so:

  • ML.GENERATE_TEXT: unterstützt die Eingabe von Text und Text + Bild.
  • ML.TRANSLATE: unterstützt die Texteingabe.
  • ML.UNDERSTAND_TEXT: unterstützt die Texteingabe.

Limit für Abfragen pro Minute

Die Limits für die Anzahl der Aufrufe pro Minute sind:

Tokenlimit

Die Tokenlimits sind:

Unterstützte Sprachen

Folgende Sprachen werden unterstützt:

  • ML.GENERATE_TEXT: Unterstützt dieselben Sprachen wie Gemini oder Embeddings, je nachdem, welches Vertex AI-Modell Sie für den BigQuery ML-Remote-Modellendpunkt auswählen. Die PaLM-Textmodelle unterstützen dieselben Sprachen wie die Embeddings-Modelle.
  • ML.TRANSLATE: unterstützt Sprachen der Cloud Translation API.
  • ML.UNDERSTAND_TEXT: Unterstützt Sprachen der Cloud Natural Language API.

Regionale Verfügbarkeit

Die regionale Verfügbarkeit ist so:

  • ML.GENERATE_TEXT: Verfügbar in allen Regionen, in denen generative KI für Vertex AI unterstützt wird.
  • ML.TRANSLATE: verfügbar in den Multiregionen EU und US.
  • ML.UNDERSTAND_TEXT: verfügbar in den Multiregionen EU und US.