Este repositorio contiene código para ejecutar las evaluaciones y reproducir los resultados del documento técnico Jurassic-1 (ver publicación de blog), con soporte actual para ejecutar las tareas a través de la API de estudio AI21 y la API GPT3 de OpenAI.
Utilice la siguiente entrada de Bibtex:
@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 .
El punto de entrada para ejecutar las evaluaciones es lm_evaluation/run_eval.py, que recibe una lista de tareas y modelos para ejecutar.
El argumento de los modelos debe estar en el formulario "proveedor/model_name" donde el proveedor puede ser "AI21" o "OpenAI" y el nombre del modelo es uno de los modelos compatibles con los proveedores.
Cuando se ejecute a través de uno de los modelos API, establezca las teclas API utilizando las variables de entorno AI21_studio_api_Key y OpenAI_API_KEY. Asegúrese de considerar los costos y los límites de las cuotas de los modelos que está ejecutando de antemano.
Ejemplos:
# 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
El repositorio actualmente admite los conjuntos de datos de probabilidad de documentos de opción múltiple y de documentos informados en el documento técnico Jurassic-1.
Los conjuntos de datos de opción múltiple se formatean como se describe en el documento GPT3, y las métricas de evaluación informadas predeterminadas son las descritas allí.
Todos nuestros conjuntos de datos formateados, excepto StoryCloze, están disponibles públicamente y se hace referencia en lm_evaluation/tareas_config.py. StoryCloze debe descargarse y formatearse manualmente, y la ubicación debe configurarse a través de la variable de entorno 'Storycloze_test_path'.
Las tareas de probabilidad de documentos incluyen documentos de 19 fuentes de datos, incluidos C4 y conjuntos de datos de 'la pila'.
Cada documento está previamente dividido en los límites de las oraciones a subdocumentos de hasta 1024 tokens GPT cada uno, para garantizar que todos los modelos ven las mismas entradas/contextos independientemente de la tokenización y para apoyar la evaluación de modelos que se limitan a longitudes de secuencia de 1024.
Cada una de las 19 tareas tiene ~ 4 MB de datos de texto totales.
De manera predeterminada, todos los resultados se guardarán en la carpeta 'resultados', y volver a sin embargo las mismas tareas cargarán los resultados existentes. La carpeta de resultados se puede cambiar utilizando la variable de entorno lm_evaluation_results_dir.