Conoce GPTCache una biblioteca para desarrollar una caché semántica de consultas LLM.
GPTCache es una biblioteca para desarrollar una caché semántica de consultas LLM.
ChatGPT y los modelos de lenguaje grandes (LLMs) son extremadamente flexibles, lo que permite la creación de numerosos programas. Sin embargo, los costos asociados con las llamadas a la API de LLM pueden volverse significativos cuando la aplicación gana popularidad y experimenta un aumento en el tráfico. Al procesar muchas consultas, los servicios de LLM también pueden tener largos tiempos de espera.
Para enfrentar esta dificultad de frente, los investigadores han desarrollado GPTCache, un proyecto destinado a crear una caché semántica para almacenar respuestas de LLM. Un programa de código abierto de GPTCache puede acelerar los LLMs almacenando en caché sus respuestas de salida. Cuando la respuesta ha sido solicitada anteriormente y ya está almacenada en una caché, esto puede reducir drásticamente el tiempo necesario para obtenerla.
GPTCache es flexible y simple, lo que lo hace ideal para cualquier aplicación. Es compatible con muchas máquinas de aprendizaje de idiomas (LLMs), como ChatGPT de OpenAI.
- ¿Qué pasó con la Web Semántica?
- Por qué Silicon Valley es el lugar ideal para la Inteligencia Artificial
- Construye y entrena modelos de visión por computadora para detectar posiciones de autos en imágenes utilizando Amazon SageMaker y Amazon Rekognition
¿Cómo funciona?
Para funcionar, GPTCache almacena en caché las respuestas finales del LLM. La caché es un búfer de memoria utilizado para recuperar información utilizada recientemente de manera rápida. GPTCache busca inicialmente en la caché para determinar si la respuesta solicitada ya está almacenada allí cada vez que se realiza una nueva solicitud al LLM. Si la respuesta se encuentra en la caché, se devolverá inmediatamente. Si no está allí, el LLM generará la respuesta y la agregará a la caché.
La arquitectura modular de GPTCache permite implementar soluciones de caché semántica personalizadas. Los usuarios pueden adaptar su experiencia con cada módulo seleccionando diferentes configuraciones.
El Adaptador de LLM unifica las API y los protocolos de solicitud utilizados por varios modelos de LLM estandarizándolos en la API de OpenAI. Dado que el Adaptador de LLM puede cambiar entre modelos de LLM sin necesidad de reescribir el código o familiarizarse con una nueva API, simplifica las pruebas y experimentaciones.
El Generador de Embebidos crea embebidos utilizando el modelo solicitado para realizar una búsqueda de similitud. La API de embebido de OpenAI se puede utilizar con los modelos admitidos. Esto incluye ONNX utilizando el modelo GPTCache/paraphrase-albert-onnx, la API de embebido de Hugging Face, la API de embebido de Cohere, la API de embebido de fastText y la API de embebido de SentenceTransformers.
En el Almacenamiento en Caché, las respuestas de los LLM, como ChatGPT, se mantienen hasta que se puedan recuperar. Al determinar si dos entidades son semánticamente similares, se recuperan las respuestas almacenadas en caché y se envían de vuelta a la parte solicitante. GPTCache es compatible con muchos sistemas de gestión de bases de datos diferentes. Los usuarios pueden elegir la base de datos que mejor se adapte a sus requisitos en términos de rendimiento, escalabilidad y costo de las bases de datos más comúnmente admitidas.
Opciones para el Almacenamiento de Vectores: GPTCache incluye un módulo de Almacenamiento de Vectores, que utiliza embebidos derivados de la solicitud original para identificar las K solicitudes más similares. Esta función se puede utilizar para determinar qué tan similares son dos solicitudes. Además, GPTCache admite múltiples almacenes de vectores, como Milvus, Zilliz Cloud y FAISS, y presenta una interfaz sencilla para trabajar con ellos. Se ofrecen a los usuarios varias opciones de almacén de vectores, cualquiera de las cuales puede afectar el rendimiento de la búsqueda de similitud de GPTCache. Con su soporte para varios almacenes de vectores, GPTCache promete ser adaptable y satisfacer las necesidades de una variedad más amplia de casos de uso.
El Administrador de Caché de GPTCache gestiona las políticas de eliminación para los componentes de Almacenamiento en Caché y Almacenamiento de Vectores. Para crear espacio para nuevos datos, una política de reemplazo decide qué datos antiguos deben eliminarse de la caché cuando se llena.
La información para el Evaluador de Similitud proviene tanto de las secciones de Almacenamiento en Caché como de Almacenamiento de Vectores de GPTCache. Compara la solicitud de entrada con las solicitudes en el Almacenamiento de Vectores utilizando varios enfoques diferentes. Si una solicitud se sirve desde la caché o no depende del grado de similitud. GPTCache ofrece una interfaz unificada para métodos similares y una biblioteca de implementaciones disponibles. La capacidad de GPTCache para determinar coincidencias en la caché utilizando una variedad de algoritmos de similitud le permite adaptarse a una amplia gama de casos de uso y requisitos del usuario.
Características y beneficios
- Mayor capacidad de respuesta y velocidad gracias a una disminución en la latencia de las consultas de LLM posible gracias a GPTCache.
- Ahorro de costos: gracias a la estructura de precios basada en tokens y solicitudes común en muchos servicios de LLM. GPTCache puede reducir el costo del servicio limitando la cantidad de veces que se debe llamar a la API.
- Aumento de la escalabilidad gracias a la capacidad de GPTCache para aliviar el trabajo del servicio de LLM. A medida que aumenta el número de solicitudes que recibe, esto puede ayudarlo a seguir operando con máxima eficiencia.
- Los costos asociados con la creación de una aplicación de LLM se pueden mantener al mínimo con la ayuda de GPTCache. Almacenar en caché los datos generados por o simulados en LLM le permite probar su aplicación sin realizar solicitudes a la API del servicio de LLM.
GPTCache se puede utilizar junto con su aplicación elegida, LLM (ChatGPT), almacenamiento de caché (SQLite, PostgreSQL, MySQL, MariaDB, SQL Server u Oracle) y almacenamiento de vectores (FAISS, Milvus, Ziliz Cloud). El objetivo del proyecto GPTCache es aprovechar al máximo los modelos de lenguaje en aplicaciones basadas en GPT mediante la reutilización de respuestas generadas previamente siempre que sea posible, en lugar de comenzar desde cero cada vez.
We will continue to update Zepes; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Acélere los resultados comerciales con mejoras del 70% en el rendimiento del procesamiento de datos, entrenamiento e inferencia con Amazon SageMaker Canvas
- Escala el entrenamiento y la inferencia de miles de modelos de aprendizaje automático con Amazon SageMaker
- Dando a los usuarios más de lo que pueden manejar
- Píldoras de la impresora 3D
- Luchando contra los ‘hechos’ falsos con dos pequeñas palabras
- EE.UU. busca malware chino que podría interrumpir las operaciones militares
- Los robots submarinos podrían abrir paso a un futuro de alta tecnología para la minería en aguas profundas