FrugalGPT y la reducción de los costos operativos de LLM |  de Matthew Gunton |  marzo de 2024

Hay varias formas de determinar el costo de ejecutar un LLM (uso de electricidad, costo de computación, etc.); sin embargo, si utiliza un LLM de terceros (un LLM como servicio), generalmente le cobran según el fichas que utilizas. Los diferentes proveedores (OpenAI, Anthropic, Cohere, etc.) tienen diferentes formas de contar los tokens, pero en aras de la simplicidad, consideraremos que el costo se basa en la cantidad de tokens procesados ​​por el LLM.

La parte más importante de este marco es la idea de que diferentes modelos cuestan cantidades diferentes. Los autores del artículo reunieron convenientemente la siguiente tabla que destaca la diferencia de costo, y la diferencia entre ellos es significativa. Por ejemplo, los tokens de salida de AI21 cuestan un orden de magnitud más que los de GPT-4 en esta tabla.

tabla 1 del papel

Como parte de la optimización de costos, siempre debemos encontrar una manera de optimizar la calidad de la respuesta y al mismo tiempo minimizar el costo. Normalmente, los modelos de mayor costo suelen ser modelos de mayor rendimiento, capaces de brindar respuestas de mayor calidad que los de menor costo. La relación general se puede ver en el siguiente gráfico, con el rendimiento de Frugal GPT superpuesto en rojo.

Figura 1c del papel comparar varios LLM en función de la frecuencia con la que responderían con precisión a las preguntas basadas en el conjunto de datos HEADLINES

Aprovechando la gran diferencia de costos entre los modelos, el sistema FrugalGPT de los investigadores se basa en una cascada de LLM para brindarle al usuario una respuesta. En pocas palabras, la consulta del usuario comienza con el LLM más barato y, si la respuesta es lo suficientemente buena, se devuelve. Sin embargo, si la respuesta no es lo suficientemente buena, la consulta se pasa al siguiente LLM más barato.

Los investigadores utilizaron la siguiente lógica: si un modelo menos costoso responde incorrectamente a una pregunta, entonces es probable que un modelo más caro dé la respuesta correcta. Por lo tanto, para minimizar los costos, la cadena se ordena desde la menos costosa hasta la más costosa, asumiendo que la calidad aumenta a medida que encarece.

Figura 2e del papel ilustrando la cascada LLM

Esta configuración se basa en determinar de manera confiable cuándo una respuesta es lo suficientemente buena y cuándo no. Para resolver esto, los autores crearon un modelo DistilBERT que tomaría la pregunta y la respuesta y luego asignaría una puntuación a la respuesta. Como el modelo DistilBERT es exponencialmente más pequeño que los otros modelos de la secuencia, el costo de ejecutarlo es casi insignificante en comparación con los demás.

Naturalmente, uno podría preguntarse, si la calidad es lo más importante, ¿por qué no simplemente consultar el mejor LLM y trabajar en formas de reducir el costo de ejecutar el mejor LLM?

Cuando se publicó este artículo, GPT-4 era el mejor LLM que encontraron, sin embargo, ¡GPT-4 no siempre dio una mejor respuesta que el sistema FrugalGPT! (Los lectores con ojos de águila verán esto como parte del gráfico de costo versus rendimiento anterior.) Los autores especulan que así como la persona más capaz no siempre da la respuesta correcta, el modelo más complejo tampoco lo hará. Por lo tanto, al hacer que la respuesta pase por un proceso de filtrado con DistilBERT, elimina cualquier respuesta que no esté a la altura y aumenta las probabilidades de una buena respuesta.

Figura 5a del papel mostrando casos en los que FrugalGPT está superando a GPT-4

En consecuencia, este sistema no solo reduce sus costos sino que también puede aumentar la calidad más que simplemente utilizar el mejor LLM.

Es fascinante considerar los resultados de este artículo. Para mí, esto plantea dudas sobre cómo podemos llegar aún más lejos con ahorros de costos sin tener que invertir en una mayor optimización del modelo.

Una de esas posibilidades es almacenar en caché todas las respuestas del modelo en una base de datos vectorial y luego realizar una búsqueda de similitud para determinar si la respuesta en el caché funciona antes de iniciar la cascada LLM. Esto reduciría significativamente los costos al reemplazar una costosa operación de LLM por una operación de consulta y similitud comparativamente menos costosa.

Además, hace que uno se pregunte si aún vale la pena optimizar los costos de los modelos obsoletos, ya que si puede reducir su costo por token, aún pueden crear valor en la cascada LLM. De manera similar, la pregunta clave aquí es en qué punto se obtienen rendimientos decrecientes al agregar nuevos LLM a la cadena.