Funktion für Natural Language Processing auswählen

In diesem Dokument werden die Natural Language Processing-Funktionen verglichen, die in BigQuery ML verfügbar sind: ML.GENERATE_TEXT, ML.TRANSLATE und ML.UNDERSTAND_TEXT.

ML.GENERATE_TEXT kann Aufgaben ausführen, die auch die anderen beiden Funktionen ausführen können, wie in der folgenden Abbildung 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.

Auf übergeordneter Ebene unterscheiden sich diese Funktionen in folgender Weise:

  • ML.GENERATE_TEXT ist eine gute Wahl, um benutzerdefinierte NLP-Aufgaben (Natural Language Processing) zu geringeren Kosten auszuführen. Diese Funktion bietet mehr Sprachunterstützung, einen schnelleren Durchsatz und eine Funktion zur Modelloptimierung und funktioniert auch mit multimodalen Modellen.
  • ML.TRANSLATE ist eine gute Wahl für übersetzungsspezifische NLP-Aufgaben, bei denen Sie eine hohe Rate von Abfragen pro Minute unterstützen müssen.
  • ML.UNDERSTAND_TEXT ist eine gute Wahl für NLP-Aufgaben, die von der Cloud Natural Language API unterstützt werden.

Unterstützte Modelle

Die folgenden Modelle werden unterstützt:

Unterstützte Aufgaben

Unterstützte Aufgaben sind:

  • ML.GENERATE_TEXT: Sie können jede NLP-Aufgabe ausführen. Welche Aufgabe das Modell ausführt, hängt von der von Ihnen angegebenen Eingabeaufforderung ab. Wenn Sie beispielsweise eine Aufgabe zur Beantwortung von Fragen ausführen möchten, können Sie eine Eingabeaufforderung ä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

Überlegen Sie bei der Auswahl der zu verwendenden Funktion, ob Ihre Daten isoliert analysiert werden können oder ob zusätzlicher Kontext zur Unterstützung der Analyse erforderlich ist. Wenn Ihre Daten zusätzlichen Kontext erfordern, ist die Verwendung von ML.GENERATE_TEXT mit einem Vertex AI-Modell die bessere Wahl, da Sie mit diesen Modellen Kontext als Teil des von Ihnen gesendeten Prompts angeben können. Beachten Sie, dass durch die Bereitstellung von zusätzlichem Kontext bei der Eingabe die Anzahl der Tokens und die Kosten erhöht werden.

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 konsistent Ergebnisse in der Ausgabespalte ml_generate_text_llm_result zurück. Sie können auch die Eingabeaufforderung 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 erzeugen für jeden erfolgreichen Aufruf an die API dieselbe Ausgabe für einen bestimmten Aufgabentyp. Darüber hinaus enthält die Ausgabe dieser Funktionen zusätzliche Metadaten zu den Ergebnissen. Die ML.TRANSLATE-Ausgabe enthält beispielsweise Informationen über die Eingabesprache und die ML.UNDERSTAND_TEXT-Ausgabe enthält Informationen über den Grad der Stimmung in Sentimentanalyseaufgaben. Das Generieren dieser Metadaten ist mit den Vertex AI-Modellen möglich, aber dies erfordert ein erhebliches Prompt Engineering und bietet wahrscheinlich nicht dieselbe Granularität.

Preise

Die Kosten werden folgendermaßen berechnet:

Modelltraining

Die Unterstützung für benutzerdefinierte Trainings sieht so aus:

  • ML.GENERATE_TEXT: Die überwachte Abstimmung wird für einige Modelle unterstützt.
  • ML.TRANSLATE: Benutzerdefiniertes Training wird nicht unterstützt.
  • ML.UNDERSTAND_TEXT: Benutzerdefiniertes Training wird nicht unterstützt.

Multimodalitäten

So wird Multimodalitäten unterstützt:

  • ML.GENERATE_TEXT: unterstützt Text- und Text- und Bildeingabe.
  • ML.TRANSLATE: Unterstützt die Texteingabe.
  • ML.UNDERSTAND_TEXT: Unterstützt die Texteingabe.

Limit für Abfragen pro Minute

Für die QPM gelten folgende Limits:

Tokenlimit

Es gelten die folgenden Token-Limits:

Unterstützte Sprachen

Folgende Sprachen werden unterstützt:

Regionale Verfügbarkeit

Die Verfügbarkeit nach Region ist:

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