−25%

على الدفع السنوي لـ Windows حتى 31 أكتوبر. عرض الخطط

EQVPS
ابدأ الآن

صندوق رمل لتقييم نماذج LLM: شغّل 1,000 حل كتبها نموذج بنحو سنت واحد

تقييم نموذج في مهام البرمجة يعني تنفيذ آلاف البرامج التي لم يكتبها أحد بيده. شغّلها في صناديق رمل تُستخدم مرة واحدة على microVM بدل حاسوبك المحمول — محاسبة بالثانية، مع ملاحظة صريحة حول الإنتاجية وحدود المعالج.

لمعايير البرمجة سرٌّ غير مريح: لكي تقيّم نموذجًا عليك أن تشغّل ما كتبه. تشغيل 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 صندوق رمل، لكن يُنفَّذ أمران فقط في الوقت نفسه. المهمة في الخلفية تُحتسب ما دامت تعمل. لذا فإن التقييم السريع يبدو كصندوقين يطحن كل منهما جزءه في الخلفية، لا كعشرين صندوقًا تتنازع على مكانين.

لمعايير البرمجة المعتادة هذا أكثر من كافٍ: معظم الحلول تنتهي في أقل من ثانية، وصندوق واحد يعالج الآلاف في الساعة. إن احتجت إلى تقييم نماذج كثيرة في وقت واحد على حزمة ضخمة، فستصطدم بالسقف. عندها يكون VPS يشغّل عزلك الخاص هو الأداة الأفضل.

قاعدة المعالج التي يجب أن تعرفها

صناديق الرمل مصممة للعمل المتقطع. الصندوق الذي يبقى فوق 90% من المعالج لأكثر من 15 دقيقة يُعامَل كإساءة استخدام — ويُوقَف الصندوق المؤقت. التقييمات العادية، التي تتناوب بين تنفيذ سريع وتسجيل النتائج، لا تقترب من ذلك. أما معيار يحرق المعالج بالكامل لساعات (تجميع مشروع كبير لكل حل، أو اختبارات إجهاد عددية) فسيقترب. لذلك خذ VPS بالشهر: باقة AI agent تمنحك 4 vCPU و 4 GB مقابل 10 دولارات.

كم يكلّف التشغيل

تدفع بالثانية مقابل وحدات vCPU والذاكرة في الباقة، بحد أدنى 60 ثانية، من رصيد مدفوع مسبقًا.

الحملالباقةالوقتالتكلفة التقريبية
1,000 حل قصير بلغة Pythonsmall (0.5 vCPU, 1 GB)~20 دقيقة$0.011
5,000 حل، مع السماح بـ numpystandard (1 vCPU, 2 GB)~ساعتان$0.13
بناء + اختبارات لكل حلplus (2 vCPU, 4 GB)~3 ساعات$0.40

استدعاءات النموذج التي تولّد هذه الحلول ستكلفك أكثر من التنفيذ — عادةً بمرتبة عشرية كاملة.

المفاتيح وقابلية إعادة الإنتاج

إن كانت أداة التقييم تستدعي API نموذج من داخل صندوق الرمل — مثلًا للتقييم بأسلوب LLM-as-judge — فمرّر المفتاح كمتغير بيئة لصندوق الرمل. تُخزَّن القيم مشفّرة، ولا تُسجَّل أبدًا، ولا يعيد API إلا أسماء المتغيرات.

ولضمان إعادة الإنتاج، ثبّت إصدارات الحزم في أداة التقييم وسجّل باقة صندوق الرمل مع النتائج. كل صندوق يبدأ من الصورة النظيفة نفسها، وهذا يزيل من أرقامك متغير "كان يعمل على حاسوبي". بصراحة، هذا وحده يستحق الانتقال.

ابدأ من صفحة صناديق الرمل وتوثيق صناديق الرمل. تحصل الحسابات الجديدة على رصيد 1 دولار من وقت صناديق الرمل — يكفي لأول تقييم بآلاف قليلة من الحلول على باقة small. يشرح مرجع SDK المهام في الخلفية ونقل الملفات، ويحوي قسم حدود صناديق الرمل ومحاسبتها جدول الحصص الكامل.

ذو صلة: صندوق رمل لوكلاء الذكاء الاصطناعي وأول مهمة لوكيل داخل صندوق رمل.

جاهز للنشر؟ ادفع بالعملات المشفّرة، بلا KYC — يعمل في نحو دقيقة.

← انشر الآن

الأسئلة الشائعة

لماذا يحتاج التقييم إلى صندوق رمل أصلًا؟

لأنك تنفّذ آلاف البرامج التي كتبها نموذج. معظمها غير ضار، وبعضها يدخل في حلقة لا تنتهي، وقلة منها تحذف ملفات أو تفتح اتصالات شبكية. على محطة عملك هذا خطر على بياناتك؛ أما في صندوق الرمل فهو مجرد حل فاشل.

هل أنشئ صندوق رمل لكل حل؟

عادةً لا. إنشاء صندوق الرمل يستغرق نحو ثانية ويُحاسَب على 60 ثانية على الأقل، لذا فإن صندوقًا لكل حل يهدر الأمرين. شغّل داخل صندوق رمل واحد أداة تقييم تنفّذ حلولًا كثيرة، لكل منها مهلة خاصة، وأعد إنشاء الصندوق بين النماذج أو عندما يعطله شيء ما.

ما السرعة التي يمكنني بلوغها؟

ينفّذ الحساب الواحد أمرين كحد أقصى في الوقت نفسه عبر ما يصل إلى 20 صندوق رمل. النمط العملي هو بضعة صناديق، يشغّل كل منها أداة التقييم كمهمة في الخلفية تعالج جزءًا من مجموعة البيانات.

هل يمكنني تشغيل معيار طويل لساعات؟

كمهمة في الخلفية نعم، حتى نهاية عمر صندوق الرمل (24 ساعة للصندوق المؤقت). لكن الصندوق الذي يبقى على حمل كامل للمعالج أكثر من 15 دقيقة يُعامَل كإساءة استخدام. التقييمات المتقطعة لا بأس بها؛ أما الحسابات الثابتة لساعات فمكانها VPS.

هل يستطيع صندوق الرمل استدعاء API نموذجي؟

الإنترنت الصادر مفتوح، لذا نعم. مرّر مفتاح API كمتغير بيئة لصندوق الرمل — يُخزَّن مشفّرًا ولا يعيده API أبدًا — بدل لصقه في الشيفرة المولَّدة.

التعليقات

لا تعليقات بعد. كن الأول.

اترك تعليقًا

تُراجَع التعليقات قبل ظهورها.