Бенчмарковете за код имат мръсна тайна: за да оцените модел, трябва да изпълните написаното от него. Пускане на pass@k върху няколкостотин задачи с по десет решения означава хиляди току-що генерирани програми — а вие никога не бихте пуснали curl | bash дори за една от тях, ако идва от непознат.
Повечето започват на лаптопа си с subprocess.run и таймаут. Това работи, докато някое решение не запише файл от 40 GB, не започне да разклонява процеси, докато машината блокира, или не прочете тихомълком домашната ви директория. Решението не е по-хитър таймаут. Решението е да пускате решенията там, където не ви пука.
Настройката, която работи
Пясъчникът е Firecracker microVM с 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 секунди, от предплатен баланс.
| Натоварване | Тариф | Време | Приблизителна цена |
|---|---|---|---|
| 1000 кратки решения на Python | small (0.5 vCPU, 1 GB) | ~20 мин | $0.011 |
| 5000 решения, 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 описва фоновите задачи и прехвърлянето на файлове, а ограничения и таксуване на пясъчниците съдържа пълната таблица с квоти.
Свързано: пясъчник за AI агенти и първата задача на агент в пясъчник.
Коментари
Още няма коментари. Бъди първият.