Ce dépôt contient du code pour exécuter les évaluations et reproduire les résultats du document technique Jurassic-1 (voir article de blog), avec la prise en charge actuelle de l'exécution des tâches via l'API Studio AI21 et l'API GPT3 d'OpenAI.
Veuillez utiliser l'entrée Bibtex suivante:
@techreport{J1WhitePaper,
author = {Lieber, Opher and Sharir, Or and Lenz, Barak and Shoham, Yoav},
title = {Jurassic-1: Technical Details And Evaluation},
institution = {AI21 Labs},
year = 2021,
month = aug,
}
git clone https://github.com/AI21Labs/lm-evaluation.git
cd lm-evaluation
pip install -e .
Le point d'entrée pour exécuter les évaluations est LM_Evaluation / Run_eval.py, qui reçoit une liste de tâches et de modèles à exécuter.
L'argument des modèles doit être sous la forme "Provider / Model_name" où le fournisseur peut être "AI21" ou "OpenAI" et le nom du modèle est l'un des modèles pris en charge des fournisseurs.
Lorsque vous exécutez l'un des modèles API, définissez la ou vos touches API à l'aide des variables d'environnement AI21_STUDIO_API_KEY et OpenAI_API_KEY. Assurez-vous de considérer les coûts et les limites de quota des modèles que vous exécutez au préalable.
Exemples:
# Evaluate hellaswag and winogrande on j1-large
python -m lm_evaluation.run_eval --tasks hellaswag winogrande --models ai21/j1-large
# Evaluate all multiple-choice tasks on j1-jumbo
python -m lm_evaluation.run_eval --tasks all_mc --models ai21/j1-jumbo
# Evaluate all docprob tasks on curie and j1-large
python -m lm_evaluation.run_eval --tasks all_docprobs --models ai21/j1-large openai/curie
Le repo prend actuellement en charge les ensembles de données de probabilité multiple et de documents à tirs zéro rapportés dans le document technique Jurassic-1.
Les ensembles de données à choix multiples sont formatés comme décrit dans l'article GPT3, et les mesures d'évaluation par défaut rapportées sont celles décrites là-bas.
Tous nos ensembles de données formatés à l'exception de StoryCloze sont disponibles publiquement et référencés dans LM_Evaluation / tasks_config.py. StoryCloze doit être téléchargé et formaté manuellement, et l'emplacement doit être configuré via la variable d'environnement «Storycloze_test_path».
Les tâches de probabilité de document comprennent des documents de 19 sources de données, y compris C4 et des ensembles de données de «The Pile».
Chaque document est pré-séparé aux limites des phrases à des sous-documents de 1024 jetons GPT chacun, pour garantir que tous les modèles voient les mêmes entrées / contextes indépendamment de la tokenisation et pour soutenir l'évaluation des modèles limités aux longueurs de séquence de 1024.
Chacune des 19 tâches a environ 4 Mo de données de texte total.
Par défaut, tous les résultats seront enregistrés dans les «résultats» du dossier, et relancer les mêmes tâches chargera les résultats existants. Le dossier des résultats peut être modifié à l'aide de la variable d'environnement LM_Evaluation_Results_Dir.