Los modelos de idiomas grandes son gigantes caros y lentos, y evaluarlos en conjuntos de datos modernos gigantescos solo lo empeora.
Si tan solo hay una forma de seleccionar un subconjunto significativo ( y pequeño ) del corpus y obtener una evaluación altamente precisa .....
¡Espera, suena como la optimización bayesiana!
Bocoel funciona en los siguientes pasos:
Las evaluaciones generadas son fácilmente administradas por la utilidad del gerente provisto.
Hasta donde sabemos, este es el primer trabajo con el objetivo de reducir los costos de cálculo durante la evaluación (evaluación comparativa) con un presupuesto (posiblemente dinámico).
GPT2 , Pythia , LLAMA y más a través de la integración con los transformadores y conjuntos de datos de HuggingfaceComo lo que ves? ¡Considere darle una estrella (★)!
En pocas palabras, la optimización bayesiana tiene como objetivo optimizar el objetivo de exploración (el área púrpura en la imagen) o el objeto de explotación (la altura de los puntos negros). Utiliza procesos gaussianos como columna vertebral para la inferencia, y utiliza una función de adquisición para decidir dónde probar a continuación. Vea aquí para obtener una introducción más profunda.
Dado que la optimización bayesiana funciona bien con un modelo de caja negra costosa de evaluar (parafraseo: LLM) , es perfecto para este caso de uso en particular. Bocoel utiliza la optimización bayesiana como columna vertebral para explorar el espacio de incrustación dado por nuestro corpus, que le permite seleccionar un buen subconjunto que actúa como una mini instantánea del corpus.
Los LLM son dolorosamente lentos, especialmente los generativos (que es lo que generalmente se conoce como LLM), ya que la generación de secuencias es secuencial por la naturaleza.
A pesar del requisito de bocoel de usar un incrustador para codificar todo el corpus, los incrustadores son más rápidos que las LLM por órdenes de magnitud y el tiempo se obtiene prácticamente cualquier ahorro en la evaluación de LLM.
No quiero dependencias opcionales:
pip install bocoel
Dame la experiencia completa (todas las dependencias opcionales):
pip install "bocoel[all]"
Vea los ejemplos de carpeta/gething_started para un uso simplista de la biblioteca para comenzar con solo unas pocas líneas de código.
Los ejemplos de uso están bajo los examples de carpetas. La referencia de API se puede encontrar aquí.
¡Los contribuyentes buscan! No seas tímido. No dude en presentar problemas y PRS. Para PRS, siga la guía sobre contribución y el código de conducta. La apertura y la inclusión se toman muy en serio.
El código está disponible bajo la licencia BSD-3.
Si encuentra útil este proyecto en su investigación, cite este trabajo en
@misc{bocoel2024,
title = {BoCoEL: Bayesian Optimization as a Coverage Tool for Evaluating Large Language Models},
url = {https://bocoel.rentruewang.com/research/},
author = {Wang, RenChu},
month = {January},
year = {2024}
}