דפוסי הטמעה של כלי ההערכה

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

רמה 1: בדיקות אימות של הפתרון

הבדיקות האלה מאמתות את בטיחות הרצת הקוד הבסיסית ואת התאימות למדיניות לפני ההרצה המלאה.

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

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

שיקולים:

  • אם האימות נכשל, מחזירים ציון שלילי גבוה, כמו -10000 או -100000. ‫AlphaEvolve מתעלם מהתוכניות האלה.

  • צריך לכלול את סוג הכשל ויומנים לניפוי באגים. ‫AlphaEvolve לא משתמש במטא-נתונים האלה כאות חיפוש, אבל הם שימושיים לניתוח בדיעבד של מצבי כשל.

רמה 2: בדיקות לאימות הפתרון

הבדיקות האלה מאמתות את תקינות האלגוריתם ואת העמידה באילוצים באמצעות בדיקות יחידה ובדיקות פונקציונליות.

  • דיוק פונקציונלי: בודקים אם הקוד פועל בצורה תקינה באמצעות בדיקות יחידה ובדיקות פונקציונליות.

  • עמידה באילוצים: בודקים אם הפתרון אפשרי או אם הוא עומד באילוצים.

  • צמצום הסיכון לפריצה של תגמולים: כדי למנוע פריצה של תגמולים, אפשר להחיל ציוני אימות כעונשים שליליים על פונקציית הכושר. הצגת ציון של -10000 או -100000 היא עונש יעיל.

שיקולים:

  • הפונקציה מחזירה את המספר או האחוז של הבדיקות שעברו בהצלחה. הגישה הזו מספקת אות הדרגתי: תוכנית שעוברת 4 מתוך 5 בדיקות מזוהה כקרובה יותר לתוכנית נכונה מאשר תוכנית שעוברת 0 מתוך 5 בדיקות.

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

רמה 3: בדיקות להערכת הפתרון (בדיקות ביצועים)

הבדיקות האלה מודדות מדדי ביצועים אובייקטיביים בהתאם לסוג יעד האופטימיזציה.

  • מדידה ישירה: מעקב אחרי יעדים באופן ישיר, אם המכשור מאפשר זאת.

  • אומדנים דטרמיניסטיים: חישוב יעדים באופן אנליטי לסגנונות קלאסיים של מחקר תפעולי.

  • אימות מחוץ לדגימה: בדיקה מול קבוצות נתונים לאימות בתרחישים לדוגמה שכוללים אופטימיזציה של צינור עיבוד נתונים של למידת מכונה או כוונון של מעטפת אג'נטית.

  • הערכות מבוססות-סימולציה: שימוש בסימולציות של שרשרת מרקוב בשיטת מונטה קרלו (MCMC), פונקציות פרוקסי מסוג אופטימיזציה בייסיאנית או גישות אחרות שמבוססות על מודלים.

שיקולים:

  • החזרת ציונים מפורטים ומצטברים.

  • אל תעבירו את חישוב הניקוד ל-LLM, אלא חשבו אותו באופן דטרמיניסטי בתוך רתמת ההערכה. ‫AlphaEvolve מבצע טיפוס גבעות בהשוואה לציון הביצועים המצטבר שחושב מראש.

  • קרדיט חלקי מספק אות הדרגתי שמאיץ את ההתכנסות של החיפוש. לדוגמה, תוכנית שעוברת 4 מתוך 5 בדיקות צריכה לקבל ציון של 0.8 ולא None. אם מחזירים None, ‏AlphaEvolve מתעלם מהתוכנית לגמרי, וזה מונע ממנו לקבל משוב שימושי. ציון של 0.8 מעיד שהמועמד קרוב להיות נכון ויש לו פוטנציאל אופטימיזציה.