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:
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:
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 sintaxisML.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 búsqueda de respuestas, puedes proporcionar un mensaje similar aCONCAT("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:
ML.GENERATE_TEXT
: $0.00025 por 1,000 caracteres para los modelos de Palm2 y $0.000375 por 1,000 caracteres para los modelos Gemini 1.0. El ajuste supervisado de los modelos compatibles se cobra a dólares por hora de procesamiento de nodo según los precios de entrenamiento personalizado de Vertex AI. Para obtener más información, consulta los precios de Vertex AI.ML.TRANSLATE
: $0.02 por cada 1,000 caracteres Para obtener más información, consulta Precios de la API de Cloud Translation.ML.UNDERSTAND_TEXT
: Comienza en $0.001 por 1,000 caracteres, según el tipo de tarea y tu uso. Para obtener más información, consulta los precios de la API de Cloud Natural Language.
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:
ML.GENERATE_TEXT
: varía de un límite de 100 a 1,600 QPM en la regiónus-central1
predeterminada, según el modelo que se use.ML.TRANSLATE
: límite de 6,000 QPM para v3.ML.UNDERSTAND_TEXT
: Límite de 600 QPM.
Límite de tokens
Los límites de tokens son los siguientes:
ML.GENERATE_TEXT
: varía de un límite de tokens 8,192 a 24,576, 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 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 multirregionesEU
yUS
.ML.UNDERSTAND_TEXT
: disponible en las multirregionesEU
yUS
.