Elige un modelo de incorporación de texto
En este documento, se proporciona una comparativa del rendimiento y el costo de los modelos de incorporación de texto disponibles en BigQuery ML. Puedes usar esta información para decidir qué modelo es mejor para tu caso de uso.
Modelos
En esta comparativa, se analizan los siguientes tipos de modelos:
- Un modelo remoto
que se orienta al
modelo de base
textembedding-gecko@001
de Vertex AI. Este modelo trabaja con la funciónML.GENERATE_EMBEDDING
para generar incorporaciones. Un modelo remoto que se orienta a un modelo BERTimplementado como un extremo de Vertex AI. El modelo de BERT se configura como se describe en Vertex AI Model Garden:
- Tipo de máquina:
n1-highmem-8
- Tipo de acelerador:
NVIDIA_TESLA_T4
- Recuento de aceleradores:
1
Este modelo trabaja con la función
ML.PREDICT
para generar incorporaciones.- Tipo de máquina:
Modelos importados de TensorFlow que implementan modelos NNLM y SWIVEL. Estos modelos trabajan con la función
ML.PREDICT
para generar incorporaciones.
La comparativa usa la sintaxis descrita en
Incorpora texto mediante la función ML.GENERATE_EMBEDDING
para procesar la consulta ML.GENERATE_EMBEDDING
.
La comparativa usa la sintaxis descrita en
Genera incorporaciones de texto
para procesar las consultas ML.PREDICT
.
Cálculo de costos
La comparativa calcula los costos de BigQuery según los precios de procesamiento según demanda de BigQuery ($6.25 por TiB). El cálculo no tiene en cuenta el hecho de que el primer TiB de procesamiento por cómputo que se usa al mes es gratuito.
Los costos de Vertex AI asociados con la llamada al modelo BERT
se calculan con la
tasa de predicción n1-highmem-8
.
Los costos de Vertex AI asociados con la llamada
al modelo textembedding-gecko
se calculan
a través de la
tasa de predicción Embeddings for Text
.
Si deseas obtener información sobre los precios de BigQuery ML, consulta los precios de BigQuery ML.
Datos de comparativas
La comparativa usa el conjunto de datos públicos bigquery-public-data.hacker_news.full
,
preparado de la siguiente manera:
Se copiaron los datos en una tabla de prueba y duplicó cada fila 100 veces:
CREATE OR REPLACE TABLE `mydataset.hacker_news.large` AS SELECT base.* FROM `bigquery-public-data.hacker_news.full` AS base, UNNEST(GENERATE_ARRAY(1, 100)) AS repeat_number;
Se crearon tablas de prueba adicionales de diferentes tamaños para usar en la comparativa, en función de la tabla
hacker_news.large
. Se usaron tablas de prueba de los siguientes tamaños:- 100,000 filas
- 1,000,000 filas
- 10,000,000 filas
- 100,000,000 filas
- 1,000,000,000 filas
- 10,000,000,000 filas
Comparativa
La siguiente tabla contiene los datos de comparativas:
Modelo | Dimensiones de incorporación | Cantidad de filas | Hora y fecha de la ejecución | Total de milisegundos de ranura | Bytes procesados | Servicio utilizado | Costo en USD |
---|---|---|---|---|---|---|---|
SWIVEL | 20 | 100,000 | 5 segundos | 6,128 | 37 MB | BigQuery | 0.00022 |
1 millón | 1 minuto, 1 segundo | 97,210 | 341 MB | 0.00203 | |||
10 millones | 28 segundos | 1,203,838 | 3.21 GB | 0.01959 | |||
100 millones | 32 segundos | 11,755,909 | 31.9 GB | 0.19470 | |||
1,000 millones | 2 minutos, 3 segundos | 135,754,696 | 312.35 GB | 1.90643 | |||
10,000 millones | 19 minutos, 55 segundos | 1,257,462,851 | 3.12 TB | 19.5 | |||
NNLM | 50 | 100,000 | 18 segundos | 66,112 | 227 MB | BigQuery | 0.00135 |
1 millón | 1 minuto, 1 segundo | 666,875 | 531 MB | 0.00316 | |||
10 millones | 19 segundos | 4,140,396 | 3.39 GB | 0.02069 | |||
100 millones | 27 segundos | 14,971,248 | 32.08 GB | 0.19580 | |||
1,000 millones | 8 minutos, 16 segundos | 288,221,149 | 312.54 GB | 1.90759 | |||
10,000 millones | 19 minutos, 28 segundos | 1,655,252,687 | 3.12 TB | 19.5 | |||
BERT1 | 768 | 100,000 | 29 minutos, 37 segundos | 2,731,868 | 38 MB | BigQuery | 0.00022 |
Vertex AI | 8.11 | ||||||
1 millón | 5 horas, 10 segundos | 28,905,706 | 339 MB | BigQuery | 0.00196 | ||
Vertex AI | 9.98 | ||||||
LLM textembedding-gecko@001 de Vertex AI2 |
768 | 100,000 | 14 minutos, 14 segundos | 1,495,297 | 38 MB | BigQuery | 0.00022 |
Vertex AI | 0.73 | ||||||
1 millón | 2 horas y 24 minutos | 17,342,114 | 339 MB | BigQuery | 0.00196 | ||
Vertex AI | 2.97 |
1 Los trabajos de consulta de BigQuery tienen un límite de 6 horas, por lo que este modelo solo se compara en hasta 1 millón de filas. Puedes usar más recursos de procesamiento de Vertex AI Model Garden para permitir que el trabajo procese más filas dentro del límite de 6 horas. Por ejemplo, puedes aumentar la cantidad de aceleradores.
2 Los trabajos de consulta de BigQuery tienen un límite de 6 horas, por lo que este modelo solo se compara en hasta 1 millón de filas. Puedes solicitar una cuota más alta para permitir que el trabajo procese más filas dentro del límite de 6 horas. También puedes usar este conjunto de secuencias de comandos de SQL o este paquete de Dataform para iterar a través de llamadas de inferencia más allá del límite de 6 horas.