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.
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.