
? Impacto •? Notícias • Início rápido • Avaliação remota • Código gerado por LLM •? Uso avançado •? Submissão de resultados • Citação
O BigCodebench tem sido usado por muitas equipes LLM, incluindo:
bigcodebench==v0.2.0 !bigcodebench==v0.1.9 .bigcodebench==v0.1.8 .bigcodebench==v0.1.7 .bigcodebench==v0.1.6 .0.1.5 . O BigCodeBench é um benchmark fácil de usar para resolver tarefas práticas e desafiadoras via código. O objetivo é avaliar os verdadeiros recursos de programação de grandes modelos de linguagem (LLMS) em um ambiente mais realista. O benchmark foi projetado para tarefas de geração de código de nível de função do tipo Humaneval, mas com instruções muito mais complexas e chamadas de funções diversas.
Existem duas divisões no BigCodeBench:
Complete : This Split foi projetado para conclusão de código com base nos documentos abrangentes.Instruct : A divisão funciona apenas para os modelos de instrução e bate-papo, onde os modelos são solicitados a gerar um trecho de código com base nas instruções de linguagem natural. As instruções contêm apenas as informações necessárias e exigem raciocínio mais complexo.O BigCodebench se concentra na automação de tarefas via geração de código com diversas chamadas de funções e instruções complexas , com:
Para começar, primeiro configure o ambiente:
# By default, you will use the remote evaluation API to execute the output samples.
pip install bigcodebench --upgrade
# You are suggested to use `flash-attn` for generating code samples.
pip install packaging ninja
pip install flash-attn --no-build-isolation
# Note: if you have installation problem, consider using pre-built
# wheels from https://github.com/Dao-AILab/flash-attention/releases # Install to use bigcodebench.generate
pip install " git+https://github.com/bigcode-project/bigcodebench.git " --upgradeUsamos a decodificação gananciosa como exemplo para mostrar como avaliar as amostras de código geradas por meio da API remota.
Aviso
Para facilitar a geração, usamos a inferência em lote por padrão. No entanto, os resultados da inferência em lote podem variar de tamanhos de lote para tamanhos e versões em lote e versões , pelo menos para o back -end VLLM. Se você deseja obter resultados mais determinísticos para decodificação gananciosa, defina --bs como 1 .
Observação
A execução remotamente no BigCodeBench-Full normalmente leva de 6 a 7 minutos, e no BigCodeBench-Hard normalmente leva de 4-5 minutos.
bigcodebench.evaluate
--model meta-llama/Meta-Llama-3.1-8B-Instruct
--split [complete | instruct]
--subset [full | hard]
--backend [vllm | openai | anthropic | google | mistral | hf]bcb_results .[model_name]--bigcodebench-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated.jsonl .[model_name]--bigcodebench-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated_eval_results.json .[model_name]--bigcodebench-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated_pass_at_k.json . Observação
O BigCodebench usa instruções diferentes para modelos de base e bate -papo. Por padrão, é detectado pelo tokenizer.chat_template ao usar hf / vllm como back -end. Para outros back -end, apenas o modo de bate -papo é permitido.
Portanto, se seus modelos básicos vieram com um tokenizer.chat_template , adicione --direct_completion para evitar ser avaliado em um modo de bate -papo.
Acesse APIs OpenAI do OpenAi Console
export OPENAI_API_KEY= < your_openai_api_key >Acesse APIs antrópicas do console antrópico
export ANTHROPIC_API_KEY= < your_anthropic_api_key >Acesse APIs Mistral do Console Mistral
export MISTRAL_API_KEY= < your_mistral_api_key >Access Gemini APIs do Google AI Studio
export GOOGLE_API_KEY= < your_google_api_key > Compartilhamos amostras de código pré-geradas do LLMS que avaliamos:
sanitized_samples_calibrated.zip para sua conveniência. Consulte o uso avançado para obter mais detalhes.
Envie um email para as amostras de código geradas e os resultados da execução para [email protected] se você quiser contribuir com seu modelo para a tabela de classificação. Observe que os nomes dos arquivos devem estar no formato de [model_name]--[revision]--[bigcodebench|bigcodebench-hard]-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated.jsonl e [model_name]--[revision]--[bigcodebench|bigcodebench-hard]-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated_eval_results.json . Você pode registrar um problema para nos lembrar se não respondermos ao seu email dentro de 3 dias.
@article { zhuo2024bigcodebench ,
title = { BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions } ,
author = { Zhuo, Terry Yue and Vu, Minh Chien and Chim, Jenny and Hu, Han and Yu, Wenhao and Widyasari, Ratnadira and Yusuf, Imam Nur Bani and Zhan, Haolan and He, Junda and Paul, Indraneil and others } ,
journal = { arXiv preprint arXiv:2406.15877 } ,
year = { 2024 }
}