−25%

על Windows בתשלום שנתי, עד 31.10. לחבילות

EQVPS
התחלה

ארגז חול להערכת LLM: הריצו 1,000 פתרונות שכתב מודל בסנט אחד בערך

לתת ציון למודל במשימות תכנות פירושו להריץ אלפי תוכניות שאיש לא כתב ביד. הריצו אותן בארגזי חול חד־פעמיים על microVM במקום על המחשב הנייד — חיוב לפי שנייה, עם הערה כנה על תפוקה ועל מגבלות CPU.

למדדי תכנות יש סוד מלוכלך: כדי לתת ציון למודל צריך להריץ את מה שכתב. הרצת pass@k על כמה מאות בעיות עם עשרה פתרונות לכל אחת היא אלפי תוכניות שנוצרו זה עתה — ולא הייתם מריצים אף אחת מהן ב-curl | bash אילו הגיעה מאדם זר.

רוב האנשים מתחילים על המחשב הנייד עם subprocess.run ומגבלת זמן. זה עובד עד שפתרון כותב קובץ של 40 GB, מפצל תהליכים עד שהמכונה נתקעת, או קורא בשקט את תיקיית הבית שלכם. הפתרון הוא לא מגבלת זמן חכמה יותר. הפתרון הוא להריץ את הפתרונות במקום שלא אכפת לכם ממנו.

ההגדרה שעובדת

ארגז חול הוא Firecracker microVM עם Python 3.12,‏ Node.js 22 ו-bash, שעולה בתוך כשנייה ונמחקת כשסיימתם. אינטרנט יוצא עובד, נכנס לא, ואין בפנים שום דבר שלכם.

המלכודת היא להתייחס לארגז חול כמו לקריאה לפונקציה. כל ארגז מחויב לפחות על 60 שניות ולוקח שנייה לעלות, כך שארגז לכל פתרון הוא איטי ובזבזני. במקום זאת שימו את ה-harness בפנים:

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 פתרונות Python קצריםsmall (0.5 vCPU, 1 GB)~20 דקות$0.011
‏5,000 פתרונות, numpy מותרstandard (1 vCPU, 2 GB)~שעתיים$0.13
בנייה + בדיקות לכל פתרוןplus (2 vCPU, 4 GB)~3 שעות$0.40

הקריאות למודל שמייצרות את הפתרונות יעלו לכם יותר מההרצה — בדרך כלל פי עשרה בערך.

מפתחות ושחזוריות

אם ה-harness קורא ל-API של מודל מתוך ארגז החול — למשל לציון בסגנון LLM-as-judge — העבירו את המפתח כמשתנה סביבה של ארגז החול. הערכים נשמרים מוצפנים, לעולם לא נרשמים ביומן, וה-API מחזיר רק את שמות המשתנים.

לשחזוריות, קבעו גרסאות חבילות ב-harness ורשמו את תעריף ארגז החול יחד עם התוצאות. כל ארגז חול מתחיל מאותה תמונה נקייה, וזה מוציא מהמספרים שלכם את המשתנה "אצלי במחשב זה עבד". בכנות, רק בשביל זה שווה לעבור.

התחילו בדף ארגזי החול ובתיעוד ארגזי החול. חשבונות חדשים מקבלים 1 דולר של זמן ארגז חול — מספיק להערכה ראשונה של כמה אלפי פתרונות בתעריף small. מדריך ה-SDK מסביר משימות רקע והעברת קבצים, ומגבלות וחיוב של ארגזי חול כולל את טבלת המכסות המלאה.

קשור: ארגז חול לסוכני AI והמשימה הראשונה של סוכן בארגז חול.

מוכנים להקים? שלמו בקריפטו, ללא KYC — חי בערך תוך דקה.

הקימו עכשיו →

שאלות נפוצות

למה הערכה צריכה ארגז חול בכלל?

כי אתם מריצים אלפי תוכניות שמודל כתב. רובן לא מזיקות, חלקן נתקעות בלולאה אינסופית, ומעטות מוחקות קבצים או פותחות חיבורי רשת. בתחנת העבודה שלכם זה סיכון לנתונים; בארגז חול זה פשוט פתרון שנכשל.

האם ליצור ארגז חול לכל פתרון?

בדרך כלל לא. יצירת ארגז חול לוקחת כשנייה ומחויבת לפחות על 60 שניות, כך שארגז לכל פתרון מבזבז את שניהם. הריצו בתוך ארגז חול אחד harness שמריץ פתרונות רבים, כל אחד עם מגבלת זמן משלו, וצרו את הארגז מחדש בין מודלים או כשמשהו שובר אותו.

כמה מהר אפשר להתקדם?

חשבון מריץ לכל היותר 2 פקודות בו־זמנית על פני עד 20 ארגזי חול. הדפוס המעשי הוא כמה ארגזי חול, שבכל אחד מהם ה-harness שלכם רץ כמשימת רקע ומעבד חלק ממערך הנתונים.

אפשר להריץ מדד ארוך במשך שעות?

כמשימת רקע כן, עד סוף תוחלת החיים של ארגז החול (24 שעות לארגז זמני). אבל ארגז חול שמוחזק בעומס CPU מלא יותר מ-15 דקות נחשב לשימוש לרעה. הערכות בפרצים זה בסדר; חישובים יציבים של שעות שייכים ל-VPS.

האם ארגז החול יכול לקרוא ל-API של המודל שלי?

אינטרנט יוצא פתוח, אז כן. העבירו את מפתח ה-API כמשתנה סביבה של ארגז החול — הוא נשמר מוצפן וה-API לעולם לא מחזיר אותו — במקום להדביק אותו בקוד שנוצר.

תגובות

אין עדיין תגובות. היו הראשונים.

השאירו תגובה

התגובות עוברות מודרציה לפני שהן מופיעות.