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, 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 un nivel general, 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 lenguajes, mayor capacidad de procesamiento y capacidad de ajuste de modelos, y también funciona con modelos multimodales.
  • ML.TRANSLATE es una buena opción para realizar tareas de PLN específicas de 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 PLN 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 búsqueda de respuestas, puedes proporcionar un mensaje similar a CONCAT("What are the key concepts in the following article?: ", article_text). También puedes proporcionar contexto como parte del mensaje. 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 los datos

Cuando elijas qué función usar, considera si tus datos se pueden analizar de forma aislada o si se requiere 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 del mensaje que envías. Ten en cuenta que proporcionar contexto adicional a medida que la entrada aumenta el recuento de tokens y el costo.

Si tus datos se pueden analizar sin que el modelo considere otro contexto, por ejemplo, traducir una string de texto sin saber por qué se escribió, entonces usar ML.TRANSLATE o ML.UNDERSTAND_TEXT podría ser un una mejor opción, siempre que se admita la tarea que deseas realizar.

Estructura de salida

ML.GENERATE_TEXT muestra de forma coherente los resultados en la columna de salida ml_generate_text_llm_result. También puedes usar la instrucción para definir la estructura del resultado. Por ejemplo, puedes indicarle al modelo que muestre tu resultado como JSON con campos superiores y secundarios 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 en cada llamada exitosa a la API. Además, el resultado de estas funciones incluye metadatos adicionales sobre sus resultados. Por ejemplo, el resultado ML.TRANSLATE incluye información sobre el idioma de entrada, y el resultado ML.UNDERSTAND_TEXT incluye información sobre la magnitud de la opinión para las tareas de análisis de opiniones. Se pueden generar estos metadatos con los modelos de Vertex AI, pero esto requiere una ingeniería de mensajes significativa y no es probable que proporcione el mismo nivel de detalle.

Precios

Los precios se calculan de la siguiente manera:

Entrenamiento del modelo

La asistencia para el entrenamiento personalizado es la siguiente:

  • ML.GENERATE_TEXT: El ajuste supervisado es compatible con algunos modelos.
  • ML.TRANSLATE: No se admite el entrenamiento personalizado.
  • ML.UNDERSTAND_TEXT: No se admite el entrenamiento personalizado.

Multimodalidad

La compatibilidad con la multimodalidad es la siguiente:

  • ML.GENERATE_TEXT: admite entradas de texto y texto + imagen.
  • ML.TRANSLATE: admite entradas de texto.
  • ML.UNDERSTAND_TEXT: admite entradas 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 compatibles

Los idiomas compatibles son los siguientes:

  • ML.GENERATE_TEXT: es compatible con los lenguajes de IA generativa para Vertex AI.
  • ML.TRANSLATE: admite los idiomas de la API de Cloud Translation.
  • ML.UNDERSTAND_TEXT: admite 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.