Toolverse
All skills

evaluating-code-models

by davila7

Evaluates code generation models across HumanEval, MBPP, MultiPL-E, and 15+ benchmarks with pass@k metrics. Use when benchmarking code models, comparing coding abilities, testing multi-language support, or measuring code generation quality. Industry standard from BigCode Project

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Author
davila7
Category
Testing

About this skill

Evaluates code generation models across HumanEval, MBPP, MultiPL-E, and 15+ benchmarks with pass@k metrics. Use when benchmarking code models, comparing coding abilities, testing multi-language support, or measuring code generation quality. Industry standard from BigCode Project used by HuggingFace leaderboards.

How to use

  1. Sklonuj repozytorium BigCode Evaluation Harness i przejdź do katalogu projektu: git clone https://github.com/bigcode-project/bigcode-evaluation-harness.git, następnie cd bigcode-evaluation-harness.

  2. Zainstaluj pakiet wraz z zależnościami (transformers ≥4.25.1, accelerate ≥0.13.2, datasets ≥2.6.1) poleceniem pip install -e . i skonfiguruj akcelerator: accelerate config.

  3. Wybierz benchmark do testowania. Najczęściej używane to HumanEval (164 problemy kodowania), MBPP (500 zadań crowdsourcowanych) lub MultiPL-E (18 języków programowania). Listę wszystkich dostępnych zadań wyświetlisz poleceniem: python -c "from bigcode_eval.tasks import ALL_TASKS; print(ALL_TASKS)".

  4. Uruchom ewaluację modelu na wybranym benchmarku. Przykład dla modelu starcoder2-7b na HumanEval: accelerate launch main.py --model bigcode/starcoder2-7b --tasks humaneval --max_length_generation 512 --temperature 0.2 --n_samples 20 --batch_size 10 --allow_code_execution --save_generations. Dostosuj parametry: model (nazwa modelu), tasks (benchmark), temperature (losowość), n_samples (liczba prób na problem).

  5. Czekaj na zakończenie ewaluacji. Narzędzie wykonuje kod i mierzy pass@k — procent problemów rozwiązanych w co najmniej k próbach. Wyniki zapisywane są do pliku, jeśli użyjesz flagi --save_generations.

  6. Przeanalizuj wyniki w wygenerowanym raporcie. Porównaj metryki pass@1, pass@10 lub pass@100 między modelami, aby ocenić ich zdolności do generowania poprawnego kodu na wybranych benchmarkach.

Related skills