PaLM-SayCan — מתכנן-משימות שחיבר את PaLM למטבח של Everyday Robots

רובוטיקה

הגדרה

PaLM-SayCan היא שיטה משנת 2022 המחברת מודל שפה גדול לרובוט אמיתי: המודל מדרג איזו פעולה תקדם את הבקשה, ופונקציית ערך נלמדת קובעת מה בכלל אפשרי לבצע כרגע.

הבעיה: מודל שפה שאינו יודע מה הרובוט מסוגל לעשות

מודל שפה גדול מכיל ידע רב על העולם, אבל אין לו ניסיון פיזי. אם מבקשים ממנו עזרה אחרי ששפכו משקה, הוא עשוי להציע להזמין מנקה או לשאוב את הנוזל — תשובות סבירות בשפה, חסרות משמעות עבור רובוט מסוים בחדר מסוים. המאמר שהציג את השיטה, שכותרתו "Do As I Can, Not As I Say", מציב את הפער הזה במרכז: לא חוסר ידע, אלא חוסר עיגון של הידע במה שגוף מסוים יכול לעשות כאן ועכשיו.

שני חצאים: מה כדאי, ומה אפשר

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

מה הרובוט ידע לעשות

הניסויים נערכו במטבח משרדי אמיתי ובמטבח חיקוי שנבנה במיוחד, עם מניפולטור נייד של Everyday Robots. מאגר המיומנויות מנה 551 מיומנויות משבע משפחות — הרמה, הנחה, סידור מחדש, פתיחה וסגירה של מגירות וניווט למקומות — על 17 עצמים. במקום לאמן מדיניות ופונקציית ערך נפרדות לכל מיומנות, אומנו מדיניות ופונקציות ערך רב-משימתיות המותנות בתיאור הלשוני, כשחלק מהאימון נעשה בסימולטור והועבר משם למציאות. בהערכה עצמה השתמשו ב-15 עצמים ובחמישה מקומות בעלי משמעות, ובהם דלפקים, שולחן ופח.

המספרים: 84 ו-74 אחוזים

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

מאיפה השם: SayCan שקיבל את PaLM

הגרסה הראשונה של השיטה פורסמה ב-4 באפריל 2022 והשתמשה במודל שפה אחר, FLAN. ב-16 באוגוסט 2022 עודכנה העבודה: מודל השפה הוחלף ב-PaLM בגודל 540 מיליארד פרמטרים, והמערכת המשולבת קיבלה את השם PaLM-SayCan. לפי דף הפרויקט, ההחלפה הפחיתה את שיעור השגיאות בערך בחצי לעומת FLAN, ולטענת המחברים זו הפעם הראשונה שאפשר לראות כיצד שיפור במודל שפה מיתרגם לשיפור מקביל ברובוטיקה. באותו עדכון נוספו גם מיומנות של פתיחת מגירות, הנחיה בשיטת שרשור מחשבה, ובדיקה של הוראות בשפות נוספות.

מה נכשל, ומה למדו מזה

הסרת כל חצי מהמשוואה חושפת את תרומתו. בלי פונקציות הערך התוכניות היו נכונות ב-67 אחוזים בלבד, ובגרסה שבה מודל השפה מייצר טקסט חופשי שמוקרן אחר-כך למיומנות הדומה לו ביותר — 74 אחוזים; שתיהן נמוכות מ-84. הזנת ההוראה המלאה ישירות למדיניות, בלי שלב תכנון כלל, נתנה אפס בכל המשפחות. מבין השגיאות שנותרו, כ-65 אחוזים מקורן במודל השפה וכ-35 אחוזים בפונקציות היכולת. המערכת התקשתה במיוחד בשלילה, למשל 'הבא לי חטיף שאינו תפוח', ובאזכורים מעורפלים — חולשות שהמאמר מייחס למודל השפה עצמו, ושאותו עדכון שהכניס את PaLM הוסיף גם את ההנחיה בשרשור מחשבה כדי לצמצם חלק מהן. כשנה אחר-כך שימשה השיטה קו בסיס במאמר PaLM-E, שדיווח שפונקציות היכולת מגבילות רק את מה שאפשרי ברגע הנוכחי ואינן נושאות די מידע כדי שמודל השפה יבנה מהן תוכנית ארוכת-טווח בסביבת תכנון מורכבת.

שאלות נפוצות ❓

מה ההבדל בין SayCan לבין PaLM-SayCan?

אותה שיטה, מודל שפה אחר. הגרסה מאפריל 2022 השתמשה ב-FLAN; בעדכון מאוגוסט 2022 הוחלף מודל השפה ב-PaLM בן 540 מיליארד הפרמטרים, והשם PaLM-SayCan מציין בדיוק את ההרכבה הזאת. לפי דף הפרויקט ההחלפה הפחיתה את שיעור השגיאות בערך בחצי.

איך פונקציית ערך יודעת מה אפשרי?

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

האם המערכת ממירה שפה ישירות לתנועה?

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

מה קרה כשחיברו את השיטה ל-RT-1?

מאמר RT-1 מדווח שרמת הביצועים של המודל אפשרה להריץ במסגרת SayCan משימות ארוכות-טווח במיוחד, בנות עד 50 שלבים. כלומר המתכנן נשאר אותו מתכנן, ושדרוג המדיניות שמבצעת את הצעדים הוא שהאריך את המשימות שהמערכת המשולבת הצליחה להשלים.

מה המגבלה העיקרית של הגישה?

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