מה זה בכלל: ספרייה לחישוב עם טנזורים
TensorFlow היא ספריית-תוכנה פתוחה-קוד שמספקת למפתחים את אבני-הבניין הבסיסיות לבניית ולאימון רשתות-נוירונים: ייצוג-נתונים כ"טנזורים" (מערכים רב-ממדיים של מספרים, מכאן שמה), חישוב-גרדיאנטים אוטומטי לצורך התפשטות-לאחור, והרצה יעילה על מעבדי-גרפיקה (GPU) ועל שבבים-ייעודיים. בלי ספרייה כזו, כל צוות-מחקר היה צריך לכתוב מחדש קוד-חישוב בסיסי ומורכב בעצמו לכל פרויקט. TensorFlow, כמו מתחרתה PyTorch, חוסכת את זה — ומאפשרת למפתחים להתמקד בעיצוב הארכיטקטורה של המודל, לא בפרטי-החישוב שמתחתיה. יכולת כזו נחוצה כמעט לכל פרויקט למידה-עמוקה רציני היום, קטן כגדול.
2015: השחרור על ידי צוות Google Brain
TensorFlow פותחה בתוך גוגל על ידי צוות המחקר הפנימי Google Brain, ושוחררה כקוד-פתוח בנובמבר 2015 — החלטה שהפכה אותה מכלי-פנימי לתשתית-סטנדרטית שכל מפתח בעולם יכול להוריד ולהשתמש בה בחינם. המאמר האקדמי הרשמי שמתאר את הארכיטקטורה שלה, "TensorFlow: A System for Large-Scale Machine Learning", יצא ב-2016 והוצג בכנס USENIX OSDI. שחרור-הקוד-הפתוח היה חלק ממגמה רחבה יותר של חברות-טכנולוגיה גדולות לפרסם כלי-תשתית-AI פנימיים — מהלך שהאיץ משמעותית את קצב-המחקר וההפצה בתחום כולו.
כתובה בפייתון, רצה בכל מקום
כמו רוב כלי למידת-המכונה המודרניים, הממשק העיקרי של TensorFlow הוא בשפת Python — כיום שפת-התכנות הנפוצה ביותר במדעי-הנתונים ובלמידת-מכונה. מתחת לממשק הזה, החישוב הכבד עצמו רץ בקוד-C++ ממוטב, כדי לשלב בין קלות-כתיבה בפייתון לביצועים גבוהים בפועל. יתרון מרכזי של TensorFlow הוא טווח-הפריסה הרחב שלה: אותו מודל שאומן על שרת-ענן חזק יכול לרוץ, כמעט בלי שינוי, גם על טלפון נייד (TensorFlow Lite) וגם ישירות בדפדפן (TensorFlow.js) — לא כל ספריית-מתחרה מציעה טווח כזה.
TensorFlow מול PyTorch — לא ניצחון חד-משמעי לאף צד
מאז שחרורה ב-2017 של PyTorch, ספריית-הקוד-הפתוח המתחרה שפיתחה Meta (אז Facebook), שתי הספריות מתחרות זו בזו על מובילות התעשייה. הגישה המקורית של TensorFlow — בניית "גרף-חישוב" סטטי מראש לפני ההרצה — התאימה טוב לביצועי-ייצור בקנה-מידה גדול, אך נחשבה מסורבלת יותר לכתיבה וניפוי-שגיאות ביחס לגישה הדינמית של PyTorch, שהפכה פופולרית יותר במיוחד במחקר אקדמי. TensorFlow אימצה מאז מצב-הרצה דינמי משלה (Eager Execution) כדי לצמצם את הפער. כיום שתי הספריות מיומנות דיו להתאים לרוב המשימות; הבחירה ביניהן נשענת בעיקר על הרגל-קהילתי ועל דרישות-פריסה ספציפיות, לא על פער-יכולות מהותי.
איפה TensorFlow עדיין דומיננטית
חרף התחזקות PyTorch במחקר אקדמי, TensorFlow נשארת נפוצה במיוחד בסביבות-ייצור תעשייתיות ובחברות גדולות שכבר השקיעו בתשתית סביבה — חלקית בזכות הכלים הנלווים שלה (כמו TensorFlow Serving לפריסת-מודלים בקנה-מידה) וחלקית בזכות התמיכה ארוכת-הטווח של גוגל. Keras, ממשק-תכנות פשוט וידידותי יותר, משמש כיום כשכבת-הכתיבה הרשמית והמומלצת מעל TensorFlow, ומקל משמעותית על כניסת מפתחים חדשים לתחום שלא רוצים להתמודד עם מורכבות-הפרטים הטכניים ברמה הנמוכה. התוצאה היא מערכת-אקולוגית בשלה ומגוונת יותר ביחס לרוב הספריות המתחרות, גם אם לא בהכרח הפופולרית ביותר בקרב חוקרים צעירים כיום.