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.
ajustables
En esta comparativa, se abordan los siguientes tipos de modelos:
- Un modelo remoto que se orienta al modelo de base
textembedding-gecko@001
de Vertex AI. Este modelo funciona con la funciónML.GENERATE_EMBEDDING
para generar incorporaciones. Un modelo remoto que se orienta a un modelo BERT implementado como un extremo de Vertex AI. El modelo 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 funciona con la función
ML.PREDICT
para generar incorporaciones.- Tipo de máquina:
Modelos de TensorFlow importados que implementan modelos NNLM y SWIVEL. Estos modelos funcionan con la función
ML.PREDICT
para generar incorporaciones.
La comparativa usa la sintaxis descrita en Incorpora texto con 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 de procesamiento que se usa por mes es gratuito.
Los costos de Vertex AI asociados con la llamada al modelo BERT se calculan mediante la tasa de predicción n1-highmem-8
.
Los costos de Vertex AI asociados con la llamada al modelo textembedding-gecko
se calculan mediante 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:
Copió 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;
Creaste 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
En la siguiente tabla, se muestran 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 de Vertex AI textembedding-gecko@001 2 |
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.