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:

Diagrama que muestra flujos de trabajo comunes para modelos remotos que usan modelos de Vertex AI o servicios de Cloud AI.

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:

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 a CONCAT("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:

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:

Límite de tokens

Los límites de tokens son los siguientes:

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 multirregiones EU y US.
  • ML.UNDERSTAND_TEXT: Disponible en las multirregiones EU y US.