Les modèles de grandes langues sont des géants coûteux et lents, et les évaluer sur des ensembles de données modernes gigantesques ne fait qu'empirer.
Si seulement il existe un moyen de sélectionner un sous-ensemble significatif ( et petit ) du corpus et d'obtenir une évaluation très précise .....
Attendez, cela ressemble à une optimisation bayésienne!
Bocoel fonctionne dans les étapes suivantes:
Les évaluations générées sont facilement gérées par l'utilitaire de gestionnaire fourni.
À notre connaissance, il s'agit du premier travail visant à réduire les coûts de calcul pendant l'évaluation (comparaison) avec un budget (éventuellement dynamique).
GPT2 , Pythia , LLAMA et plus grâce à l'intégration avec les transformateurs et ensembles de données HuggingFaceComme ce que vous voyez? Veuillez envisager de donner une étoile (★)!
En termes simples, l'optimisation bayésienne vise à optimiser soit l'objectif d'exploration (la zone violette de l'image) ou l'objet d'exploitation (la hauteur des points noirs). Il utilise les processus gaussiens comme épine dorsale pour l'inférence et utilise une fonction d'acquisition pour décider où goûter ensuite. Voir ici pour une introduction plus approfondie.
Étant donné que l'optimisation bayésienne fonctionne bien avec un modèle de boîte noire coûteux à évaluer (paraphrase: LLM) , il est parfait pour ce cas d'utilisation particulier. Bocoel utilise l'optimisation bayésienne comme une colonne vertébrale pour explorer l'espace d'incorporation donné par notre corpus, ce qui lui permet de sélectionner un bon sous-ensemble agissant comme un mini instantané du corpus.
Les LLM sont douloureusement lentes, en particulier les génératrices (ce qui est généralement appelé LLM), car la génération de séquences est séquentielle par nature.
Malgré l'obligation de bocoel d'utiliser un intérêt pour coder le corpus entier, les intérêts sont plus rapides que les LLM par ordres de grandeur et le temps est gagné par pratiquement toutes les économies dans l'évaluation des LLM.
Je ne veux pas de dépendances facultatives:
pip install bocoel
Donnez-moi l'expérience complète (toutes les dépendances facultatives):
pip install "bocoel[all]"
Consultez les exemples de dossiers / GETTE_STARTED pour une utilisation simpliste de la bibliothèque pour commencer avec seulement quelques lignes de code.
Les exemples d'utilisation sont dans les examples de dossiers. La référence de l'API peut être trouvée ici.
Les contributeurs voulaient! Ne soyez pas timide. N'hésitez pas à déposer des problèmes et des PR. Pour PRS, veuillez suivre le guide sur la contribution et le code de conduite. L'ouverture et l'inclusivité sont prises très au sérieux.
Le code est disponible sous la licence BSD-3.
Si vous trouvez ce projet utile dans vos recherches, veuillez citer ce travail à
@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}
}