מפתחי סוני חולקים כיצד למידת מכונה יכולה לשפר QA

במהלך הרצאה שניתנה באירוע CEDEC האחרון ביוקוהמה, יפן, מובילי פיתוח בתוך סוני דנו במאמציהם האחרונים ליישם מודלים של AI ולמידת מכונה כדי לשפר את היעילות והדיוק בתהליך ה-QA.

את ההרצאה הובילו חוקרי למידת מכונה ממחלקת המחקר והפיתוח של שירותי המשחקים של החברה, Hiroyuki Yabe ו-Yutaro Miynotauchi, לצד Nakahara Hiroki, מהנדסת תוכנה המתמקדת בהנדסת QA תוכנה. זה נועד להנחות יוצרים אחרים על הדרכים בהן החברה שילבה בינה מלאכותית בתהליך ה-QA באמצעות חומרה אמיתית של PS5, תוך איסוף מידע על המסך ושמע בלבד בדומה לשאלות ותשובות מונעות על ידי אדם, תוך מתן אפשרות לבדיקת כותרים באופן קבוע יותר ועם יותר יְעִילוּת.

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

להרצאה זו, הצוות שיתף את הממצאים שלהם באמצעות התוכנה לאוטומציה של פעולות QA בכותר ההשקה של PlayStation 5 Astro's Playroom. זה היה בולט שכן תכונה מרכזית אחת שדורשת בדיקות QA מקיפות הייתה השילוב של התקדמות המשחק עם פונקציונליות חומרה כמו כרטיסי הפעילות של ה-PS5, שיכולים לעקוב אחר התקדמות ביעדים מסוימים כאשר שחקנים עשו את דרכם ברמה.

סוכן שידור חוזר וסוכן חיקוי

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

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

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

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

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

כפי שהוסבר על ידי Yabe, "עבור סוכן החיקוי, יצרנו מודל למידת מכונה שיוכל לשחזר משחק אנושי ולהשתמש בו כדי לבדוק קטעי משחק שלא ניתן היה לשחזר במדויק. לשם כך, נבקש מהבודקים האנושיים לשחק בקטעים רבים. פעמים והעלו אותו לדגם במקרה של חדר המשחקים של Astro שיחקו כל קטע בערך עשר [עד] 20 פעמים כדי לקבל מדגם מייצג מערכת, ומשם להשתמש בה כדי לשכפל את המשחק האנושי לבדיקות נוספות."

"יצרנו מודל למידת מכונה שיכול לשחזר משחק אנושי ולהשתמש בזה כדי לבדוק קטעי משחק שלא ניתן היה לשחזר בדיוק"הירויוקי יאבה

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

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

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

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

קרדיט תמונה:Sony Interactive Entertainment

משקף משחק אנושי

הערה נוספת הייתה הצורך לשלב את ה-Class Balance בנתוני ההדרכה כדי להבטיח סיכויי הצלחה גדולים יותר, במיוחד כאשר מדובר במדגם למידה קטן כפי שניתן לצפות במקרים כאלה. מודל שאומן ללא הבחנה על קבוצה גנרית של נתונים עשוי להיות מוטה לתוצאות שמובילות להצלחה ברורה אך אינן משקפות משחק אנושי. בינתיים, משימות נדירות בעלות השפעה גדולה, כמו איסוף פריטים חיוניים להתקדמות שעלולים ליפול באקראי עם הבסתו של אויב, קשה לאמץ למידת מכונה. Balance הוצג כדי לתעדף משימות כאלה ולהפוך אותו לאפשרי שניתן יהיה להשתמש בו אפילו בנסיבות כאלה.

כפי שהסביר יוטארו מיאוצ'י, "זה לא נדיר במשחקים שיהיו רגעים שבהם יש צורך ללחוץ על כפתור כדי להרים פריט שנפל בנקודה אקראית ובכל זאת חיוני להתקדמות. עם זאת, פעולות כאלה שמופיעות לעתים רחוקות אבל יש השפעה גדולה על היכולת לנקות רמה קשים ללמידת מכונה, וקשה ליצור מודל לכך. השתמשנו ב-Class Balance כדי להתאים את מידת ההשפעה שיש ללמידה בתוך המודל שלנו ניתן לפעולות חשובות המופיעות בתדירות נמוכה יותר ולכן הן באות לידי ביטוי חזק יותר במודל".

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

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

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

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

עם זאת, במקרה של משחק ב', איסוף הנתונים האנושיים עבור המערכת האוטומטית עשוי להימשך שעה אחת כדי לייצר את המקבילה לבדיקות אנושיות של 50 שעות, מה שמאיץ באופן מסיבי את ה-QA כדי להפחית באופן כללי את מספר שעות העבודה הנדרשות כדי להקל על האוטומציה מספר מתחת למה שיידרש כדי להשיג את אותן תוצאות באמצעות בדיקות אנושיות.

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

מכיוון שהמערכת לא הייתה עצמאית לחלוטין, ואינה יכולה לפעול באוטונומיה מלאה ב-QA, היא עדיין דורשת קלט אנושי במידה מסוימת לתוצאות אפקטיביות

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

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

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

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