Esse repositório contém código para executar as avaliações e reproduzir os resultados do documento técnico Jurassic-1 (consulte o blog), com suporte atual para executar as tarefas através da API do estúdio AI21 e da API do GPT3 do OpenAI.
Por favor, use a seguinte entrada do 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 .
O ponto de entrada para executar as avaliações é LM_Evaluation/run_eval.py, que recebe uma lista de tarefas e modelos a serem executados.
O argumento dos modelos deve estar no formulário "Provedor/Model_name", onde o provedor pode ser "AI21" ou "OpenAI" e o nome do modelo é um dos modelos suportados pelos provedores.
Ao executar em um dos modelos da API, defina as chaves da sua API usando as variáveis de ambiente AI21_STUDIO_API_KEY e OPENAI_API_KEY. Certifique -se de considerar os custos e os limites da cota dos modelos que você está executando com antecedência.
Exemplos:
# 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
Atualmente, o repositório suporta os conjuntos de dados de probabilidade de múltipla escolha e documento zero-tiro relatados no documento técnico Jurassic-1.
Os conjuntos de dados de múltipla escolha são formatados conforme descrito no papel GPT3, e as métricas de avaliação relatadas padrão são as descritas lá.
Todos os nossos conjuntos de dados formatados, exceto no StoryCloze, estão disponíveis publicamente e referenciados em lm_evaluation/tasks_config.py. O StoryCloze precisa ser baixado e formatado manualmente, e o local deve ser configurado através da variável de ambiente 'storycloze_test_path'.
As tarefas de probabilidade de documentos incluem documentos de 19 fontes de dados, incluindo C4 e conjuntos de dados de 'The Pile'.
Cada documento é pré-dividido nos limites da frase para subdocumentos de até 1024 tokens GPT cada, para garantir que todos os modelos vejam as mesmas entradas/contextos, independentemente da simulação e para apoiar a avaliação de modelos limitados a comprimentos de sequência de 1024.
Cada uma das 19 tarefas possui ~ 4 MB dos dados totais de texto.
Por padrão, todos os resultados serão salvos na pasta 'Resultados' e executar as mesmas tarefas carregarão os resultados existentes. A pasta de resultados pode ser alterada usando a variável de ambiente lm_evaluation_results_dir.