פרויקט אוקספורד: מיקרוסופט מגישה ממשקי API לאפליקציות חכמות

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

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

: מי בונה יישומים באוקספורד? למי מיועד אוקספורד?

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

הכל בפלטפורמות שונות, במובן זה שמכלול שירותי שירותי גישה אליהם בעיקר באמצעות ממשק REST API. כל דבר שיכול ליצור קשר עם אתר יכול להתקשר לשירותי ה- Back-end האלה. אנו מספקים קבוצה של ערכות SDK העוטפות את שיחות ה- REST ומקלות על השימוש בהן על לקוחות כמו Android ו- Windows ו- iOS. כל דבר שיכול לבצע שיחת אינטרנט מסוג HTTP יכול להתקשר לשירותים.

: האם אתה צופה את השימוש באוקספורד בעיקר במכשירים ניידים או במחשבים שולחניים של Windows?

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

: ספר לנו עוד על ממשקי API אלה. מה הם חלק מהדברים שמפתחים יכולים לעשות?

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

אני לא יכול לדבר על איך שותפים חיצוניים מסתכלים על השימוש בממשקי ה- API של אוקספורד, אך העיקריים עליהם עבדה מיקרוסופט, שאולי ראיתם, הראשון היה אתר How-old.net לחיזוי גילאים. ומגדרים. ואז היה לנו TwinsorNot.net, וזה קיבל שתי תמונות, עד כמה האנשים האלה דומים? שניהם היו דוגמאות טובות לממשקי ה- API של Face. האחרון שהשתמש בממשק ה- API ובכמה ממשקי API לדיבור, היה פרויקט IoT של Windows 10 עליו נכתבו כמה פוסטים בבלוג איפה הצלחתם לפתוח דלת עם הפנים ולשוחח עם הדלת - או עם המנעול, במקרה הזה. אני חושב שאלה שלוש דוגמאות שמיקרוסופט עבדה עליהן כדי להראות לך הנה סוג של יישום שניתן לבנות ולשתף אותו עם אנשים אחרים.

: תחת ממשקי ה- REST הללו, מה גורם לאוקספורד לתקתק?

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

: מדוע פרויקט אוקספורד נפרד מפרויקט Azure Machine Learning?

גלגון:  ב- Azure Machine Learning, אחד המרכיבים העיקריים הוא Studio Machine Learning Studio, שבו אנשים יכולים להיכנס עם הנתונים שלהם, לבנות ניסוי, להכשיר את המודל שלהם, ואז לארח את המודל הזה. עם אוקספורד, זהו מודל שנבנה מראש שיש למיקרוסופט, מודל שנמשיך לשפר בעתיד ואנחנו מאפשרים לאנשים לעשות שימוש במודל זה על פני ממשקי REST אלה.

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

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

: הזכרת את iOS ו- Android. מה הייתה הקליטה בפלטפורמות האלה?

גלגון: על ידי הפיכת ה- API ל- RESTful ומספקת את העטיפות הללו עבורם, בהחלט ראינו אנשים מורידים את העטיפות הללו, ועושים בהם שימוש. אבל בסופו של יום, במקרה, "הנה עטיפה בשפת Java סביב שיחה מקוונת", "הנה עטיפה של Objective-C סביב שיחת רשת." אין לנו הרבה תובנות לגבי המכשיר המדויק שמבצע את השיחה.

: האם אוקספורד תהיה קוד פתוח?

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

: כיצד מיקרוסופט מתכננת להרוויח כסף מאוקספורד?

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

: מה הלאה של אוקספורד?

גלגון: לאן שאנחנו הולכים מכאן זה באמת שלושה תחומים. התחום הראשון הוא על עדכון ושיפור המודלים הקיימים. קיבלנו משוב ממפתחים [על האופן שבו] אחד ממשקי ה- API לא יכול לעבוד נהדר עם סוגים מסוימים של תמונות. נשפר שם את מודל הליבה.

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

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