Бенчмарк · coding

HumanEval

saturated 8 результатов 6 моделей

HumanEval оценивает способность модели писать корректный код на Python по описанию на естественном языке; метрика — pass@1, доля задач, решённых с первой попытки.

Подробнее
Пример
Типичное задание даёт сигнатуру функции и её docstring — например, «вернуть список всех простых чисел меньше n» — а модель должна написать тело функции.
Метрика
Метрика — pass@1: каждое сгенерированное решение прогоняется через скрытые unit-тесты, а оценка — это процент из 164 задач, чьё решение проходит все свои тесты.
Приёмка
Полностью автоматически: решение считается верным, только если проходит все скрытые unit-тесты этой задачи — ни человеческой оценки, ни точного совпадения строк.
Почему важно
Это один из первых широко используемых бенчмарков генерации кода, ставший стандартным ориентиром навыков программирования, хотя сильнейшие модели набирают на нём так много, что он фактически насыщен и почти не различает их.
Разбор примера
Задача
Дополните тело этой Python-функции так, чтобы оно прошло скрытые модульные тесты: ```python from typing import List def below_zero(operations: List[int]) -> bool: """You're given a list of deposit and withdrawal operations on a bank account starting at zero balance. Detect whether the balance ever drops below zero and return True at that point; otherwise return False. >>> below_zero([1, 2, 3]) False >>> below_zero([1, 2, -4, 5]) True """ ```
Решение
from typing import List


def below_zero(operations: List[int]) -> bool:
    balance = 0
    for op in operations:
        balance += op
        if balance < 0:
            return True
    return False
Разбор
Ведём текущий баланс, по порядку прибавляем каждую операцию и возвращаем True в момент, когда он становится отрицательным; если цикл завершился, баланс ни разу не ушёл в минус, поэтому возвращаем False. HumanEval оценивает так: дописывает завершение модели к промпту и прогоняет его на скрытых модульных тестах (pass@k) — задача засчитывается, только если проходят все assert.
0 24.5 49 73.5 98 2023-03-14 2024-11-13 2026-07-16 Grok-1.5 · 74.1 · 2024-03-28 Claude 3.5 Sonnet · 92 · 2024-06-20 Claude 3.5 Sonnet · 92 · 2024-06-20 Qwen2-72B · 64.6 · 2024-07-15 Qwen2-72B · 64.6 · 2024-07-15 Granite 4.0 3B · 83.5 · 2026-07-16 GPT-4 · 67 · 2023-03-14 GPT-4o · 90.2 · 2024-05-13
Grok-1.5 Claude 3.5 Sonnet Qwen2-72B Granite 4.0 3B GPT-4 GPT-4o
Хронология
Дата Модель Результат Источник
2026-07-16 Granite 4.0 3B 83.5% IBM открыла исходные коды CodeAlchemy — масштабного синтетического набора данных высококачественного кода
2024-07-15 Qwen2-72B 64.6% Технический отчет Qwen2 представляет плотные и MoE модели до 72B
2024-07-15 Qwen2-72B 64.6% Команда Qwen выпустила серию Qwen2 с моделями на 72B (плотными и MoE)
2024-06-20 Claude 3.5 Sonnet 92.0% Anthropic выпустила дополнение к Claude 3.5 Sonnet с улучшенными показателями в задачах программирования и зрения
2024-06-20 Claude 3.5 Sonnet 92.0% Anthropic
2024-05-13 GPT-4o 90.2% OpenAI
2024-03-28 Grok-1.5 74.1% xAI выпустила Grok-1.5 с улучшенным рассуждением и контекстом 128K
2023-03-14 GPT-4 67.0% OpenAI