−25%

на річну оплату Windows, до 31.10. До тарифів

EQVPS
Почати

Пісочниця для оцінювання LLM: 1 000 рішень моделі приблизно за цент

Щоб оцінити модель на задачах із програмування, треба виконати тисячі програм, яких ніхто не писав руками. Запускайте їх в одноразових пісочницях на мікро-VM, а не на своєму ноутбуці: посекундна оплата й чесно про пропускну здатність і ліміт CPU.

У бенчмарків із коду є брудний секрет: щоб оцінити модель, треба запустити те, що вона написала. Прогін pass@k на кілька сотень задач із десятьма рішеннями на кожну — це тисячі щойно згенерованих програм, а ви б жодну з них не зробили curl | bash від незнайомця.

Більшість починає на ноутбуці з subprocess.run і таймаутом. Це працює, поки якесь рішення не запише файл на 40 GB, не розмножить процеси до зупинки машини або тихо не прочитає ваш домашній каталог. Рішення не в хитрішому таймауті. Рішення — запускати рішення там, де вам не шкода.

Схема, яка працює

Пісочниця — це мікро-VM Firecracker з Python 3.12, Node.js 22 і bash, яка стартує приблизно за секунду й видаляється, коли ви закінчили. Вихідний інтернет працює, вхідний ні, і нічого вашого всередині немає.

Пастка — поводитися з пісочницею як із викликом функції. Кожна оплачується мінімум за 60 секунд і стартує секунду, тож одна пісочниця на рішення — повільно й марнотратно. Натомість помістіть харнес усередину:

from eqvps import Sandbox

with Sandbox.create(tariff="standard", ttl=4 * 3600) as sb:
    sb.upload("/root/harness.py", open("harness.py").read())
    sb.upload("/root/samples.jsonl", open("slice_03.jsonl").read())
    task = sb.exec("python3 /root/harness.py /root/samples.jsonl > /root/results.jsonl",
                   background=True)
    task.wait(poll_interval=10)
    results = sb.download_text("/root/results.jsonl")

Усередині harness.py запускає кожне рішення в підпроцесі зі своїм коротким таймаутом і записує pass, fail або timeout. Одне буйне рішення вбиває свій підпроцес, а не прогін. Якщо рішенню вдалося зламати саму пісочницю, ви втрачаєте один шматок, перестворюєте пісочницю й продовжуєте.

Файли — до 5 MB за одну передачу, тож діліть великі датасети на шматки — для паралельності це й так потрібно.

Пропускна здатність, чесно

Акаунт може тримати до 20 пісочниць, але одночасно виконуються 2 команди. Фонове завдання рахується, поки працює. Тож швидке оцінювання виглядає як дві пісочниці, кожна з яких у фоні перемелює свій шматок, а не двадцять пісочниць, що б'ються за два слоти.

Для типових бенчмарків із коду цього вистачає з лишком: більшість рішень виконуються менш ніж за секунду, і одна пісочниця проходить тисячі за годину. Якщо треба оцінювати багато моделей одразу на величезному наборі, ви впретеся в стелю. Тоді кращий інструмент — VPS із вашою власною ізоляцією.

Правило CPU, про яке варто знати

Пісочниці розраховані на пікове навантаження. Пісочниця, завантажена понад 90% CPU довше за 15 хвилин, вважається зловживанням — тимчасова пісочниця зупиняється. Звичайні прогони оцінювання, де швидкі запуски чергуються з обліком результатів, до цього не наближаються. Бенчмарк, який годинами палить CPU на повну (збирання великого проєкту на кожне рішення, чисельні стрес-тести), — наблизиться. Для такого беріть VPS помісячно: тариф AI agent дає 4 vCPU і 4 GB за $10.

Скільки коштує прогін

Ви платите посекундно за vCPU і RAM тарифу, мінімум 60 секунд, з передплаченого балансу.

НавантаженняТарифЧасПриблизна вартість
1 000 коротких рішень на Pythonsmall (0.5 vCPU, 1 GB)~20 хв$0.011
5 000 рішень, numpy дозволеноstandard (1 vCPU, 2 GB)~2 год$0.13
Збирання + тести на кожне рішенняplus (2 vCPU, 4 GB)~3 год$0.40

Виклики моделі, що генерують ці рішення, коштуватимуть більше за виконання — зазвичай на порядок.

Ключі й відтворюваність

Якщо харнес викликає API моделі зсередини пісочниці — скажімо, для оцінювання в стилі LLM-as-judge, — передайте ключ змінною оточення пісочниці. Значення зберігаються зашифрованими, не логуються, а API повертає лише імена змінних.

Для відтворюваності закріпіть версії пакетів у харнесі й записуйте тариф пісочниці разом із результатами. Кожна пісочниця стартує з одного й того самого чистого образу, а це прибирає з ваших цифр змінну «на моєму ноутбуці працювало». Чесно кажучи, заради одного цього варто переходити.

Почніть зі сторінки пісочниць і документації з пісочниць. Нові акаунти отримують $1 часу пісочниць — цього вистачить на перший прогін оцінювання з кількох тисяч рішень на тарифі small. Фонові завдання й передачу файлів описує довідник SDK, а повна таблиця квот — у розділі ліміти й оплата пісочниць.

За темою: пісочниця для ШІ-агентів і перше завдання агента в пісочниці.

Готові розгорнути? Оплата криптою, без KYC — сервер за хвилину.

Розгорнути →

Часті питання

Навіщо оцінюванню взагалі пісочниця?

Бо ви виконуєте тисячі програм, написаних моделлю. Більшість нешкідливі, деякі зациклюються, а одиниці видаляють файли або відкривають мережеві з'єднання. На вашій робочій машині це ризик для даних; у пісочниці — просто провалене рішення.

Чи створювати одну пісочницю на одне рішення?

Зазвичай ні. Створення пісочниці займає близько секунди й оплачується мінімум за 60 секунд, тож пісочниця на кожне рішення витрачає і те, і те. Запускайте всередині однієї пісочниці харнес, який виконує багато рішень, кожне зі своїм таймаутом, і перестворюйте пісочницю між моделями або коли щось її зламало.

Наскільки швидко можна йти?

Акаунт виконує не більше 2 команд одночасно в межах до 20 пісочниць. Практична схема — кілька пісочниць, у кожній ваш харнес працює фоновим завданням і проходить свій шматок датасету.

Чи можна ганяти довгий бенчмарк годинами?

Фоновим завданням — так, до кінця життя пісочниці (24 години в тимчасової). Але пісочниця, завантажена по CPU на повну понад 15 хвилин, вважається зловживанням. Пікові прогони оцінювання — нормально; багатогодинні рівні обчислення місце на VPS.

Чи може пісочниця звертатися до API моєї моделі?

Вихідний інтернет відкритий, тож так. Передайте API-ключ змінною оточення пісочниці — він зберігається зашифрованим і ніколи не повертається API, — а не вставляйте його в згенерований код.

Коментарі

Поки немає коментарів. Будьте першим.

Залишити коментар

Коментарі проходять модерацію перед публікацією.