Toolverse
Wszystkie skille

evaluating-code-models

autor: davila7

Testuj modele generowania kodu na 15+ benchmarkach z metryką pass@k

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
davila7
Kategoria
Testowanie

O skillu

Narzędzie do ewaluacji modeli kodowania na standardowych benchmarkach: HumanEval, MBPP, MultiPL-E i ponad 15 innych. Mierzysz jakość generowania kodu, porównujesz zdolności kodowania modeli i testujesz wsparcie dla wielu języków programowania. Używany przez HuggingFace leaderboards — standard branżowy z projektu BigCode.

Jak używać

  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.

Podobne skille