Ewaluacja i benchmarki · OpenAI

HumanEval

Ręcznie opracowany przez OpenAI benchmark programowania w Pythonie: 164 zadania z sygnaturami funkcji, docstringami i testami jednostkowymi. Modele ocenia się miarą Pass@k — prawdopodobieństwem wygenerowania co najmniej jednego poprawnego rozwiązania w k próbach. Definitywny benchmark zdolności generowania kodu.

Wczytaj
from datasets import load_dataset
ds = load_dataset("openai/openai_humaneval")
Podgląd przykładowego wiersza
{
  "task_id": "HumanEval/0",
  "prompt": "def has_close_elements(numbers: List[float], threshold: float) -> bool:\n    \"\"\" Check whether any two numbers in the list are closer than threshold. \"\"\"",
  "canonical_solution": "    for idx, elem in enumerate(numbers):\n        for idx2, elem2 in enumerate(numbers):\n            if idx != idx2:\n                distance = abs(elem - elem2)\n                if distance < threshold:\n                    return True\n    return False",
  "test": "assert has_close_elements([1.0, 2.0, 3.0], 0.5) == False"
}

Najczęstsze pytania

Czy mogę użyć HumanEval komercyjnie?

Tak — HumanEval jest udostępniony na licencji MIT, liberalnej licencji pozwalającej na użycie komercyjne, w tym trenowanie modeli wdrażanych w produkcie. Przed publikacją sprawdź wymogi atrybucji na karcie zbioru.

Ile danych zawiera HumanEval i czy potrzebuję wszystkich?

HumanEval zawiera 164 Problems. To benchmark ewaluacyjny, używany w całości do mierzenia modeli — nigdy nie mieszaj go z danymi treningowymi, bo wyniki benchmarku stracą sens.

Do czego HumanEval nadaje się najlepiej?

Benchmarking Python code generation - never train on it. Należy do sekcji „Ewaluacja i benchmarki" naszego centrum zbiorów danych, gdzie znajdziesz alternatywy i zbiory komplementarne.