אינטל הקימה קבוצת מחקר לתכנות אוטומטי

27 אוקטובר, 2019

מטרת הקבוצה: פיתוח טכנולוגיה לכתיבה אוטומטית של תוכנות באמצעות מחשב, שיוכלו לפעול ביעילות בסביבה של מחשוב הטרוגני הכולל מעבדי ASIC ,FPGA ,CPU ,GPU ומחשבים נוירוניים. "נייצר מיליוני משרות חדשות"

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

חברת אינטל (Intel) הקימה קבוצת מחקר חדשה המפתחת טכנולוגיות לכתיבה אוטומטית של תוכנות במסגרת מעבדות המחקר Intel Labs. הקבוצה מנוהלת על-ידי פרופ' ג'סטין גוטשליך מאוניברסיטת פנסילבניה, אשר ייסד ב-2016 את מרכז המחקר CAPA לתיכנות עבור מערכות הטרוגניות בשותפות של אינטל וה-NSF (הקרן הלאומית למדע), ולפני-כן המנהל ההנדסי של יצרנית המשחקים Game Zone. מטרת קבוצת המחקר היא לפתח תהליך כתיבת תוכנות אוטומטית על-ידי המחשב, באמצעות שילוב של בינה מלאכותית, תכנות פורמלי מסורתי ופיתוח שפות תכנות חדשות.

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

בעיית כוח האדם מעיקה על התעשייה: להערכת ארגון Code.org, בארצות הברית לבדה קיימות כיום כ-500,000 משרות בתכנות שהתעשייה לא מצליחה למלא, זאת כאשר האקדמיה מפיקה רק 50,000 בוגרים בשנה בלימודי הנדסת מחשבים. ג'סטין: "כלומר, מתוך כל המשרות שיאויישו בתעשייה, רק ל-10% מהעובדים שיתקבלו יש הכשרה מתאימה כדי להתפתח ולהיות מתכנתים טובים".

הבעיה מחמירה בגלל שהתעשייה עוברת מתהליך של הגדלת מספר הטרנזיסטורים בשבב, לצמיחה באמצעות חדשנות. הדבר מתבטא באימוץ פלטפורמות הטרוגניות כמו מעבדי CPU, מעבדי GPU, רכיבי FPGA, שימוש ברכיבי ASIC ייעודיים וההתפתחות של פלטפורמות מחשוב המחקות בחומרה את הארכיטקטורה של הנוירונים במוח (neuromorphic). "במצב כזה יהיה קשה, ואולי אפילו בלתי אפשרי, למצוא מתכנתים שיוכלו לכתוב תוכנות טובות, יעילות ובטוחות עבור כל פלטפורמות החומרה".

תקלות שרק מכונה יודעת לאתר

הוא הסביר שכל התוכנות הגדולות, כמו מערכות הפעלה, דפדפנים, פלטפורמות חברתיות ועוד, כוללות תקלות שחלק גדול מהן לא ניתן לאיתור על-ידי בני-אדם, הפוגעות בדיוק של התוצאות, בבטיחות ובביצועים. במחקר שהוא ביצע בשיתוף עם חוקרים מאוניברסיטת Texas A&M, נבחנה היעילות של תוכנת הבדיקות האוטומטית AutoPerf, והוכח שהיא יעילה יותר מכל הטכניקות הידניות המוכרות. "המחקר מוכיח שטעויות שחמקו זמן רב מעיני המתכנתים, אותרו באופן אוטומטי ללא התערבות אנושית. השלב הבא הוא תיקון אוטומטי של הבאגים".

לדבריו, גוגל הוכיחה את היתרונות של תכנות אוטומטי במסגרת השירות Google Translate. "היישום הזה נבנה על-ידי מהנדסים שכתבו 50,000 שורות קוד בטכניקות תכנות קלאסיות. אולם גוגל שכתבה את הקוד באמצעות מערכת תכנות מכונה שצימצמה את התוכנה ל-500 שורות קוד. "לא רק שהתוכנה קטנה פי 1,000, אלא שביצועיה אפילו השתפרו. זה מדהים". מבחינת האדם, המשמעות המרכזית של תכנות מכונה היא שהמתכנתים יכולים לכתוב בשפה עלית מופשטת בהרבה, ועל-ידי כך לפתוח את עולם התכנות בפני אנשים נוספים ובפני מקצועות חדשים שלא היתה להם נגישות ליידע הטכנולוגי, "ולייצר מיליוני משרות חדשות".

מחקרים ראשונים של הקבוצה החדשה מראים כיצד ניתן להשיג פתרון בעיות אוטומטי באמצעות שיפור התיפקוד של תוכנות גנטיות (Genetic Algorithm), אשר פועלות באמצעות סריקה של כל הפתרונות האפשריים לבעייה מוגדרת, ואיתור הפתרון הטוב ביותר. מאמר חדש של המעבדה שפורסם לאחרונה ביחד עם קבוצת חוקרים מ-MIT, מגדיר את היסודות שלאורם יתפתח תחום התיכנות האוטומטי. לקריאת המאמר: The Three Pillars of Machine Programming.

Share via Whatsapp

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

פורסם בתגיות: אינטל , תוכנה