Escolher uma função de processamento de linguagem natural
Neste documento, você encontra uma comparação das funções de processamento de linguagem natural disponíveis no BigQuery ML, que são ML.GENERATE_TEXT
, ML.TRANSLATE
e
ML.UNDERSTAND_TEXT
.
ML.GENERATE_TEXT
também pode realizar tarefas que as outras duas funções também podem realizar, como
mostrado na imagem a seguir:
Use as informações deste documento para decidir qual função usar nos casos em que as funções têm recursos sobrepostos.
De modo geral, a diferença entre essas funções é a seguinte:
ML.GENERATE_TEXT
é uma boa opção para executar tarefas personalizadas de processamento de linguagem natural (PLN) a um custo menor. Essa função oferece mais suporte a linguagens, capacidade de processamento mais rápida e capacidade de ajuste de modelos, além de funcionar com modelos multimodais.ML.TRANSLATE
é uma boa opção para executar tarefas de PLN específicas de tradução, em que você precisa oferecer suporte a uma alta taxa de consultas por minuto.ML.UNDERSTAND_TEXT
é uma boa opção para executar tarefas de PLN com suporte da API Cloud Natural Language.
Modelos compatíveis
Os modelos compatíveis são os seguintes:
ML.GENERATE_TEXT
: é possível usar um subconjunto do modelo Gemini ou PaLM da Vertex AI para gerar texto. Para mais informações sobre modelos compatíveis, consulte a sintaxeML.GENERATE_TEXT
.ML.TRANSLATE
: você usa o modelo padrão da API Cloud Translation.ML.UNDERSTAND_TEXT
: você usa o modelo padrão da API Cloud Natural Language.
Tarefas compatíveis
As tarefas com suporte são estas:
ML.GENERATE_TEXT
: é possível executar qualquer tarefa de PLN. A tarefa que o modelo executa é baseada no comando especificado. Por exemplo, para executar uma tarefa de responder a perguntas, forneça um comando semelhante aCONCAT("What are the key concepts in the following article?: ", article_text)
. Também é possível fornecer contexto como parte do comando. Por exemplo,CONCAT("context: Only output 'yes' or 'no' to the following question: ", question)
.ML.TRANSLATE
: é possível realizar as seguintes tarefas:ML.UNDERSTAND_TEXT
: é possível realizar as seguintes tarefas:
Contexto de dados
Ao escolher qual função usar, considere se os dados podem ser analisados isoladamente ou se exigem contexto adicional para dar suporte à análise.
Caso seus dados precisem de mais contexto, usar ML.GENERATE_TEXT
com um
modelo da Vertex AI é a melhor opção, já que esses modelos permitem
fornecer contexto como parte do comando enviado. Lembre-se de que fornecer mais contexto à medida que a entrada aumenta a contagem e o custo de tokens.
Se os dados puderem ser analisados sem que outro contexto seja considerado pelo
modelo, por exemplo, traduzir uma string de texto sem saber por que ela foi
escrito, o uso de ML.TRANSLATE
ou ML.UNDERSTAND_TEXT
poderá ser uma melhor escolha, desde que a tarefa que você quer realizar tenha suporte.
Estrutura de saída
ML.GENERATE_TEXT
retorna resultados de maneira consistente na coluna de saída ml_generate_text_llm_result
. Também é possível
usar seu comando para definir a estrutura de saída. Por exemplo, é possível instruir
o modelo a retornar o resultado como JSON com campos pais e filhos personalizados
e fornecer um exemplo de como produzir esse resultado.
ML.TRANSLATE
e ML.UNDERSTAND_TEXT
produzem a mesma saída para um determinado tipo de tarefa em cada chamada bem-sucedida para a API. Além disso, a saída dessas funções inclui outros metadados sobre os resultados. Por exemplo, a saída ML.TRANSLATE
inclui informações sobre o idioma de entrada, e a saída ML.UNDERSTAND_TEXT
inclui informações sobre a magnitude do sentimento para tarefas de análise de sentimento. A geração desses metadados é possível
com os modelos da Vertex AI, mas isso requer uma engenharia de comando
significativa e provavelmente não fornecerá a mesma granularidade.
Preços
O preço é o seguinte:
ML.GENERATE_TEXT
: para conferir os preços dos modelos da Vertex AI que você usa com essa função, consulte Preços da Vertex AI. O ajuste supervisionado de modelos compatíveis é cobrado em dólares por hora de uso do nó de acordo com os preços do treinamento personalizado da Vertex AI.ML.TRANSLATE
: para saber os preços do serviço de IA do Cloud que você usa com essa função, consulte Preços da API Cloud Translation.ML.UNDERSTAND_TEXT
: para saber os preços do serviço de IA do Cloud que você usa com essa função, consulte Preços da API Cloud Natural Language.
Ajuste supervisionado
O suporte a ajustes supervisionados é o seguinte:
ML.GENERATE_TEXT
: o ajuste supervisionado é compatível com alguns modelos.ML.TRANSLATE
: não há suporte para o ajuste supervisionado.ML.UNDERSTAND_TEXT
: não há suporte para o ajuste supervisionado.
Multimodalidade
O suporte a multimodalidade é o seguinte:
ML.GENERATE_TEXT
: oferece suporte a entrada de texto e imagem + texto.ML.TRANSLATE
: oferece suporte à entrada de texto.ML.UNDERSTAND_TEXT
: oferece suporte à entrada de texto.
Limite de consultas por minuto (QPM)
Os limites de QPM são os seguintes:
ML.GENERATE_TEXT
: varia de um limite de 100 a 1.600 QPM na regiãous-central1
padrão, dependendo do modelo usado.ML.TRANSLATE
: limite de 6.000 QPM para v3.ML.UNDERSTAND_TEXT
: limite de 600 QPM.
Limite de tokens
Os limites de tokens são os seguintes:
ML.GENERATE_TEXT
: varia de um limite de 8.192 a 24.576, dependendo do modelo usado.ML.TRANSLATE
: sem limite de tokens. No entanto, essa função tem um limite de 30.000 bytes.ML.UNDERSTAND_TEXT
: Limite de tokens 100.000.
Idiomas compatíveis
Os idiomas compatíveis são os seguintes:
ML.GENERATE_TEXT
: oferece suporte aos mesmos idiomas de Gêmeos ou Embeddings, dependendo do modelo da Vertex AI escolhido para o endpoint do modelo remoto do BigQuery ML. Os modelos de texto do PaLM oferecem suporte nas mesmas linguagens dos modelos de embeddings.ML.TRANSLATE
: oferece suporte aos idiomas da API Cloud Translation.ML.UNDERSTAND_TEXT
: oferece suporte aos idiomas da API Cloud Natural Language.
Disponibilidade por região
A disponibilidade por região é a seguinte:
ML.GENERATE_TEXT
: disponível em todas as regiões de IA generativa para a Vertex AI.ML.TRANSLATE
: disponível nas multirregiõesEU
eUS
.ML.UNDERSTAND_TEXT
: disponível nas multirregiõesEU
eUS
.