Choisir une fonction de traitement du langage naturel
Ce document compare les fonctions de traitement du langage naturel disponibles dans BigQuery ML, à savoir ML.GENERATE_TEXT
, ML.TRANSLATE
et ML.UNDERSTAND_TEXT
.
ML.GENERATE_TEXT
peut également effectuer des tâches que les deux autres fonctions peuvent réaliser, comme illustré dans l'image suivante :
Vous pouvez utiliser les informations de ce document pour vous aider à choisir la fonction à utiliser lorsque les fonctions se chevauchent.
De manière générale, la différence entre ces fonctions est la suivante :
ML.GENERATE_TEXT
est un bon choix pour effectuer des tâches de traitement du langage naturel (TLN) personnalisées à moindre coût. Cette fonction offre une plus grande compatibilité avec les langages, un débit plus rapide et une fonctionnalité de réglage de modèles. Elle fonctionne également avec les modèles multimodaux.ML.TRANSLATE
est un bon choix pour effectuer des tâches de TLN spécifiques à la traduction lorsque vous devez gérer un taux élevé de requêtes par minute.ML.UNDERSTAND_TEXT
est un bon choix pour effectuer des tâches TLN compatibles avec l'API Cloud Natural Language.
Modèles compatibles
Les modèles compatibles sont les suivants :
ML.GENERATE_TEXT
: vous pouvez utiliser un sous-ensemble du modèle Vertex AI Gemini ou PaLM pour générer du texte. Pour en savoir plus sur les modèles compatibles, consultez la page SyntaxeML.GENERATE_TEXT
.ML.TRANSLATE
: vous utilisez le modèle par défaut de l'API Cloud Translation.ML.UNDERSTAND_TEXT
: vous utilisez le modèle par défaut de l'API Cloud Natural Language.
Tâches disponibles
Les tâches suivantes sont acceptées :
ML.GENERATE_TEXT
: vous pouvez effectuer n'importe quelle tâche TLN. La tâche effectuée par le modèle dépend de l'invite que vous spécifiez. Par exemple, pour effectuer une tâche de système de questions-réponses, vous pouvez fournir une requête semblable à celle-ci :CONCAT("What are the key concepts in the following article?: ", article_text)
. Vous pouvez également fournir du contexte dans le cadre de la requête. Exemple :CONCAT("context: Only output 'yes' or 'no' to the following question: ", question)
.ML.TRANSLATE
: vous pouvez effectuer les tâches suivantes :ML.UNDERSTAND_TEXT
: vous pouvez effectuer les tâches suivantes :
Contexte des données
Lorsque vous choisissez la fonction à utiliser, déterminez si vos données peuvent être analysées de manière isolée ou si elles nécessitent davantage de contexte pour appuyer l'analyse.
Si vos données nécessitent davantage de contexte, il est préférable d'utiliser ML.GENERATE_TEXT
avec un modèle Vertex AI, car ces modèles vous permettent de fournir du contexte dans le cadre de la requête que vous envoyez. N'oubliez pas que le contexte supplémentaire lors de l'entrée augmente le nombre de jetons et le coût.
Si vos données peuvent être analysées sans qu'aucun autre contexte ne soit pris en compte par le modèle (par exemple, traduire une chaîne de texte sans savoir pourquoi elle a été écrite), l'utilisation de ML.TRANSLATE
ou ML.UNDERSTAND_TEXT
peut s'avérer être un meilleur choix, à condition que la tâche que vous souhaitez effectuer soit compatible.
Structure de sortie
ML.GENERATE_TEXT
renvoie systématiquement les résultats dans la colonne de sortie ml_generate_text_llm_result
. Vous pouvez également utiliser votre requête pour définir votre structure de sortie. Par exemple, vous pouvez demander au modèle de renvoyer votre résultat au format JSON avec des champs parents et enfants personnalisés, et fournir un exemple de production de ce résultat.
ML.TRANSLATE
et ML.UNDERSTAND_TEXT
produisent le même résultat pour un type de tâche donné et pour chaque appel réussi à l'API. De plus, le résultat de ces fonctions inclut des métadonnées supplémentaires sur leurs résultats. Par exemple, la sortie ML.TRANSLATE
inclut des informations sur la langue d'entrée, et la sortie ML.UNDERSTAND_TEXT
inclut des informations sur l'ampleur du sentiment pour les tâches d'analyse des sentiments. La génération de ces métadonnées est possible avec les modèles Vertex AI, mais cela nécessite un prompt engineering important et n'est pas susceptible de fournir la même précision.
Tarification
Les tarifs sont les suivants :
ML.GENERATE_TEXT
: pour connaître la tarification des modèles Vertex AI que vous utilisez avec cette fonction, consultez la tarification de Vertex AI. Le réglage supervisé des modèles compatibles est facturé en dollars par nœud-heure, selon les tarifs de l'entraînement personnalisé Vertex AI.ML.TRANSLATE
: pour connaître les tarifs du service Cloud AI que vous utilisez avec cette fonction, consultez la page Tarifs de l'API Cloud Translation.ML.UNDERSTAND_TEXT
: pour connaître les tarifs du service Cloud AI que vous utilisez avec cette fonction, consultez la page Tarifs de l'API Cloud Natural Language.
Réglage supervisé
La compatibilité du réglage supervisé est la suivante:
ML.GENERATE_TEXT
: le réglage supervisé est compatible avec certains modèles.ML.TRANSLATE
: le réglage supervisé n'est pas compatible.ML.UNDERSTAND_TEXT
: le réglage supervisé n'est pas compatible.
La multimodalité
La compatibilité de la multimodalité est la suivante :
ML.GENERATE_TEXT
: accepte la saisie de texte et de texte et d'images.ML.TRANSLATE
: accepte la saisie de texte.ML.UNDERSTAND_TEXT
: accepte la saisie de texte.
Limite de requêtes par minute (RPM)
Les limites de RPM sont les suivantes :
ML.GENERATE_TEXT
: valeur comprise entre 100 et 1 600 RPM dans la région par défautus-central1
, selon le modèle utilisé.ML.TRANSLATE
: limite de 6 000 RPM pour la version v3.ML.UNDERSTAND_TEXT
: limite de 600 RPM
Limite de jetons
Les limites de jetons sont les suivantes :
ML.GENERATE_TEXT
: valeur comprise entre 8 192 et 24 576, suivant le modèle utilisé.ML.TRANSLATE
: aucune limite de jetons. Cependant, cette fonction a une limite de 30 000 octets.ML.UNDERSTAND_TEXT
: limite de 100 000 jetons.
Langues disponibles
Les langues compatibles sont les suivantes :
ML.GENERATE_TEXT
: compatible avec les mêmes langues que Gemini ou Embeddings, en fonction du modèle Vertex AI que vous choisissez pour le point de terminaison du modèle BigQuery ML distant. Les modèles de texte PaLM sont compatibles avec les mêmes langues que les modèles d'embeddings.ML.TRANSLATE
: accepte les langues de l'API Cloud Translation.ML.UNDERSTAND_TEXT
: accepte les langues de l'API Cloud Natural Language.
Régions concernées
La disponibilité des régions est la suivante :
ML.GENERATE_TEXT
: disponible dans toutes les régions Generative AI pour Vertex AI.ML.TRANSLATE
: disponible dans les emplacements multirégionauxEU
etUS
.ML.UNDERSTAND_TEXT
: disponible dans les emplacements multirégionauxEU
etUS
.