Elige una función de procesamiento de lenguaje natural
En este documento, se proporciona una comparación de las funciones de procesamiento de lenguaje natural disponibles en BigQuery ML, que son ML.GENERATE_TEXT
, ML.TRANSLATE
y ML.UNDERSTAND_TEXT
.
ML.GENERATE_TEXT
también puede realizar tareas que las otras dos funciones pueden hacer, como se muestra en la siguiente imagen:
Puedes usar la información de este documento para decidir qué función usar en los casos en que las funciones tengan capacidades superpuestas.
En términos generales, la diferencia entre estas funciones es la siguiente:
ML.GENERATE_TEXT
es una buena opción para realizar tareas personalizadas de procesamiento de lenguaje natural (PLN) a un costo menor. Esta función ofrece más compatibilidad con idiomas, una capacidad de procesamiento más rápida y la capacidad de ajuste de modelos, y también funciona con modelos multimodales.ML.TRANSLATE
es una buena opción para realizar tareas de NLP específicas de la traducción en las que necesitas admitir una alta tasa de consultas por minuto.ML.UNDERSTAND_TEXT
es una buena opción para realizar tareas de PNL compatibles con la API de Cloud Natural Language.
Modelos compatibles
Los modelos compatibles son los siguientes:
ML.GENERATE_TEXT
: Puedes usar un subconjunto del modelo Gemini o PaLM de Vertex AI para generar texto. Para obtener más información sobre los modelos compatibles, consulta la sintaxis deML.GENERATE_TEXT
.ML.TRANSLATE
: Usas el modelo predeterminado de la API de Cloud Translation.ML.UNDERSTAND_TEXT
: Usas el modelo predeterminado de la API de Cloud Natural Language.
Tareas admitidas
Las tareas admitidas son las siguientes:
ML.GENERATE_TEXT
: puedes realizar cualquier tarea de PLN. La tarea que realiza el modelo se basa en la instrucción que especifiques. Por ejemplo, para realizar una tarea de respuesta a preguntas, puedes proporcionar una instrucción similar aCONCAT("What are the key concepts in the following article?: ", article_text)
. También puedes proporcionar contexto como parte de la instrucción. Por ejemplo,CONCAT("context: Only output 'yes' or 'no' to the following question: ", question)
.ML.TRANSLATE
: podrás realizar las siguientes tareas:ML.UNDERSTAND_TEXT
: podrás realizar las siguientes tareas:
Contexto de datos
Cuando elijas qué función usar, considera si tus datos se pueden analizar de forma independiente o si requieren contexto adicional para respaldar el análisis.
Si tus datos requieren contexto adicional, usar ML.GENERATE_TEXT
con un modelo de Vertex AI es una mejor opción, ya que esos modelos te permiten proporcionar contexto como parte de la instrucción que envías. Ten en
cuenta que proporcionar contexto adicional como entrada aumenta el recuento y el costo de los tokens.
Si tus datos se pueden analizar sin que el modelo considere otro contexto (por ejemplo, traducir una cadena de texto sin saber por qué se escribió), usar ML.TRANSLATE
o ML.UNDERSTAND_TEXT
podría ser una mejor opción, siempre que se admita la tarea que deseas realizar.
Estructura de salida
ML.GENERATE_TEXT
muestra resultados de forma coherente en la columna de salida ml_generate_text_llm_result
. También puedes usar la instrucción para definir la estructura de salida. Por ejemplo, puedes indicarle al modelo que muestre el resultado como JSON con campos superiores e inferiores personalizados, y proporcionar un ejemplo de cómo producir este resultado.
ML.TRANSLATE
y ML.UNDERSTAND_TEXT
producen el mismo resultado para un tipo de tarea determinado para cada llamada correcta a la API. Además, el resultado de estas funciones incluye metadatos adicionales sobre sus resultados. Por ejemplo, el resultado de ML.TRANSLATE
incluye información sobre el idioma de entrada, y el resultado de ML.UNDERSTAND_TEXT
incluye información sobre la magnitud de la opinión para las tareas de análisis de opiniones. Generar estos metadatos es posible
con los modelos de Vertex AI, pero esto requiere una ingeniería de instrucciones
significativa y es probable que no proporcione el mismo nivel de detalle.
Precios
Los precios se calculan de la siguiente manera:
ML.GENERATE_TEXT
: Para conocer los precios de los modelos de Vertex AI que usas con esta función, consulta Precios de Vertex AI. El ajuste supervisado de los modelos compatibles se cobra en dólares por hora de procesamiento de nodo según los precios del entrenamiento personalizado de Vertex AI.ML.TRANSLATE
: Para conocer los precios del servicio de Cloud AI que usas con esta función, consulta los precios de la API de Cloud Translation.ML.UNDERSTAND_TEXT
: Para conocer los precios del servicio de IA de Cloud que usas con esta función, consulta los precios de la API de Cloud Natural Language.
Ajuste supervisado
La compatibilidad con la optimización supervisada es la siguiente:
ML.GENERATE_TEXT
: El ajuste supervisado es compatible con algunos modelos.ML.TRANSLATE
: No se admite el ajuste supervisado.ML.UNDERSTAND_TEXT
: No se admite el ajuste supervisado.
Multimodalidad
La compatibilidad con la multimodalidad es la siguiente:
ML.GENERATE_TEXT
: admite entradas de texto y texto + imagen.ML.TRANSLATE
: Admite la entrada de texto.ML.UNDERSTAND_TEXT
: Admite la entrada de texto.
Límite de consultas por minuto (QPM)
Los límites de QPM son los siguientes:
ML.GENERATE_TEXT
: oscila entre un límite de 100 y 1,600 QPM en la región predeterminada deus-central1
, según el modelo que se use.ML.TRANSLATE
: Límite de 6,000 QPM para la versión 3.ML.UNDERSTAND_TEXT
: Límite de 600 QPM.
Límite de tokens
Los límites de tokens son los siguientes:
ML.GENERATE_TEXT
: oscila entre un límite de 8,192 y 24,576 tokens, según el modelo que se use.ML.TRANSLATE
: Sin límite de tokens. Sin embargo, esta función tiene un límite de 30,000 bytes.ML.UNDERSTAND_TEXT
: Límite de 100,000 tokens.
Idiomas admitidos
Los lenguajes admitidos son los siguientes:
ML.GENERATE_TEXT
: admite los mismos lenguajes que Gemini o Embeddings, según el modelo de Vertex AI que elijas para el extremo del modelo remoto de BigQuery ML. Los modelos de texto de PaLM admiten los mismos idiomas que los modelos de Embeddings.ML.TRANSLATE
: admite los idiomas de la API de Cloud Translation.ML.UNDERSTAND_TEXT
: Admite los idiomas de la API de Cloud Natural Language.
Disponibilidad por región
La disponibilidad por región es la siguiente:
ML.GENERATE_TEXT
: disponible en todas las regiones de IA generativa para Vertex AI.ML.TRANSLATE
: Disponible en las multirregionesEU
yUS
.ML.UNDERSTAND_TEXT
: Disponible en las multirregionesEU
yUS
.