−25%

за Windows при годишно плащане, до 31.10. Към плановете

EQVPS
Започни

Пясъчник за оценка на LLM: 1000 решения, написани от модел, за около цент

Да оцените модел по програмистки задачи означава да изпълните хиляди програми, които никой не е писал на ръка. Пускайте ги в еднократни пясъчници на microVM вместо на лаптопа си — таксуване на секунда и честна бележка за пропускателната способност и ограниченията на CPU.

Бенчмарковете за код имат мръсна тайна: за да оцените модел, трябва да изпълните написаното от него. Пускане на 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 кратки решения на Pythonsmall (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 агенти и първата задача на агент в пясъчник.

Готов за deploy? Плати в crypto, без KYC — онлайн за около минута.

Deploy-ни сега →

Въпроси

Защо на оценката изобщо ѝ трябва пясъчник?

Защото изпълнявате хиляди програми, написани от модел. Повечето са безобидни, някои се зациклят завинаги, а няколко трият файлове или отварят мрежови връзки. На работната ви станция това е риск за данните; в пясъчник е просто неуспешно решение.

Да създавам ли по един пясъчник за всяко решение?

Обикновено не. Създаването на пясъчник отнема около секунда и се таксува поне 60 секунди, така че пясъчник на решение пилее и двете. Пуснете в един пясъчник харнес, който изпълнява много решения, всяко със собствен таймаут, и пресъздавайте пясъчника между моделите или когато нещо го счупи.

Колко бързо мога да вървя?

Един акаунт изпълнява най-много 2 команди едновременно в до 20 пясъчника. Практичният модел е няколко пясъчника, във всеки от които харнесът ви работи като фонова задача върху своя част от набора от данни.

Мога ли да пусна дълъг бенчмарк за часове?

Като фонова задача — да, до края на живота на пясъчника (24 часа за временен). Но пясъчник, държан на пълно натоварване на CPU повече от 15 минути, се смята за злоупотреба. Оценките на пориви са наред; равномерните многочасови изчисления са работа за VPS.

Може ли пясъчникът да извиква API на модела ми?

Изходящият интернет е отворен, така че да. Подайте API ключа като променлива на средата на пясъчника — съхранява се криптиран и API никога не го връща — вместо да го поставяте в генериран код.

Коментари

Още няма коментари. Бъди първият.

Остави коментар

Коментарите се модерират преди да се появят.