מהי PyTorch ולמה היא משמשת?
PyTorch היא תוכנת קוד פתוח המשמשת כספריה ללמידת מכונה.
באמצעות PyTorch אפשר לפתח יישומים של עיבוד שפה טבעית או ראיה ממוחשבת ותוצרים נוספים בתחום למידת המכונה והבינה המלאכותית.
עיקר הפיתוח שלה נעשה במעבדת פיתוח של חברת פייסבוק כתשובה לפלטפורמת TensorFlow (פרי הפיתוח של גוגל),
שגם היא נועדה לפיתוח אפליקציות בתחום הבינה המלאכותית.
PyTorch היא חבילה מבוססת פייתון Python
מרוץ החימוש בין גוגל לפייסבוק מבטיח שבשלב זה הן TensorFlow והן PyTorch ימשיכו להתעדכן ולהוסיף כלים לספריות שלהם.
במקרה הזה מי שמרוויח הם מפתחי פתרונות machine learning (למידת מכונה) ו-AI, שהארסנל והאופציות העומדות בפניהם רק גדלות.
בשלב זה התוכנה מבית גוגל, TensorFlow היא הנפוצה יותר (היא גם הושקה כמה שנים לפני PyTorch), אך גם סביב PyTorch כבר התפתחה קהילה לא קטנה של אוהדים
ומפתחים והיא בהחלט נושפת בעורפה של TensorFlow.
כמו שהשם PyTorch מרמז, החבילה מבוססת על שפת פייתון (אם כי יש לה ממשק גם ל-C++).
PyTorch יודעת לבצע חישובים מספריים באמצעות תכנות טנזורים ועשויה לשמש תחליף לחבילת Numpy.
עובדה זו מאפשרת להשתמש ב-GPU (יחידות עיבוד גרפי) כדי להאיץ תהליכים חישוביים. כולל תהליכים שהאיטיות נחשבה כעקב האכילס שלהם, כמו למשל האצת אימון מודלים.
פיתוח רשתות עצביות באמצעות ממשק פשוט
PyTorch התגלתה ככלי מצוין לפיתוח רשתות עצביות ואפליקציות של machine learning באמצעות ממשק מאוד פשוט וידידותי.
זה לא מקרה שכמה מוצרי דגל שנמצאים בחזית הטכנולוגית של למידה עמוקה ובינה מלאכותית נוצרו בסיוע PyTorch.
למשל, מערכת ‘הטייס האוטומטי’ המהפכנית של טסלה שהופכת את הנהיגה האוטונומית מרעיון עתידני אוטופי למשהו שנמצא כבר בהישג יד.
דוגמה נוספת היא מערכת Pyro שעומדת בבסיס הטכנולוגיה של חברת אובר.
PyTorch מאפשרת עבודה על סמך 3 מודלים עיקריים:
- מודל Autograd:
מתבסס על בידול אוטומטי עם מרכיב הקלטה שמתעד את הפעולות שבוצעו ואז משתמש בהקלטה כדי לחשב את הגרדיינטים.
מודל זה מוצלח במיוחד כדי לחסוך זמן בבניית רשתות עצביות.
- מודל Optim:
שימוש באלגוריתמים שמבצעים אופטימיזציה בבניית רשתות עצביות, מאחר ורוב השיטות כבר נתמכות בדרך כלל לא צריך להתחיל את הבניה מאפס.
- מודל nn:
משלים את ה-Autograd ומאפשר הגדרות של גרפים ומעברי צבע במקרים בהם Autograd לא מספק את הרמה הנדרשת להגדרת רשתות עצביות.
כיאה לתוכנה שמיועדת לתת מענה למפתחי machine learning בעידן הדיגיטלי המודרני PyTorch היא מספקת תמיכה רחבה למשתמשים, כולל תמיכה בענן ייעודי וכלים לסקליביליות.

