בתמונה: למטה של OpenAI. מקור: ויקיפדיה
תחום הבינה המלאכותית מסמן שלב חדש בכל הנוגע לאוטומציה. מודלי שפה גדולים (LLM) כמו ChatGPT מפגינים יכולות מאוד גבוהות ביצירת תכנים טקסטואליים וגרפיים וכן ביכולת לתקשר עם בני אדם ולקיים דיאלוג אינטראקטיבי. היכולות המרשימות הללו עשויות לייתר לא מעט מקצועות, שעד כה לא העלנו בדעתנו שמחשבים יוכלו לבצע, כמו אנשי מכירות, שירות לקוחות, מורים וכדומה.
גם קוד הוא שפה, וכמו טקסטים של שפה, שורות קוד מצויות בשפע ברשת, ועל כן יש דאטה גדול של קוד שבאמצעותו ניתן לאמן רשתות נוירונים כך שיידעו לקודד לפי דרישה. האוטומציה הזו הופיעה לראשונה בדמות Github Co-pilot, וכעת גם בדמות ChatGPT 4, שמסוגל לייצר באופן אוטומטי קוד עבור משימה כלשהי.
בעולם טכנולוגי כמו שלנו, תכנות הפך לאחד המקצועות המבוקשים והנחשבים ביותר. ואולם כעת, באופן אירוני למדי, אי אפשר להתחמק מהשאלה, האם ה-AI יכולה להחליף את המתכנת?
ניר דובוביצקי, ארכיטקט תוכנה בכיר בבית התוכנה CodeValue, כבר אימץ את הכלים הללו כמו Chat GPT כחלק משגרת העבודה שלו כמתכנת. לדבריו, גם אם מדובר בכלים מאוד מרשימים, שהופכים את חייו של המתכנת לנוחים יותר, הם עדיין לא מאיימים על משרתו.
אף שהשם "בינה מלאכותית" כבר נטוע עמוק בתוך השיח, לניר חשוב לפרק את המושג. "'בינה מלאכותית' היא מונח שיווקי. גם אם משתמשים במינוח הזה, חשוב להבהיר כי אין כאן שום ביטוי של אינטליגנציה, הבנה או ידע. זהו כלי סטטיסטי, מרשים ככל שיהיה. אין ל-AI יכולת אמיתית להבדיל בין אמת לשקר, בין עובדה לבדיה."
"אחת המטרות העיקריות של קוד היא גם לתקשר למתכנת שבא אחריך את מה התכוונת לעשות, ולא רק שהקוד יעבוד. מהסיבה הזו חשוב לי מאוד המבנה של הקוד שאני כותב. קוד זה כמו סיפור, פרוזה, וחשוב לי שמתכנת אחר יבין אותו. הכלים הללו, גם כאשר הם מבצעים את המשימה, מתאפיינים בסגנון לקוי, וזה פוגע ביכולת לעבוד במשותף על קוד."
אז באיזה אופן אתה משתמש בכלים הללו?
"זה בהחלט כלי אוטומטי שמאוד מסייע. עוד קפיציה באוטומציה. אבל אני מקפיד להיעזר בו רק בדברים שאני יודע. שהרי אם זה משהו שאני לא יודע, אני גם לא אדע לבדוק ולוודא שה-AI עשה זאת כמו שצריך. בבעיות שאני מבין ויודע, אני משתמש בכלים הללו, כי זה חוסך לי המון הקלדה ויש לי ביטחון שאוכל לוודא כי הקוד נכתב כמו שצריך"
"נכון להיום, הכלים הללו עדיין לא מסוגלים לקודד ברמה גבוהה משימות מורכבות, שמצריכות הבנה עמוקה של האינטראקציה בין הגורמים. בעיות מסוג אלה הן עדיין רק ביכולתו של מתכנת מיומן ומנוסה לפתור. גם כאשר הכלים הללו ינפיקו קוד משכנע עבור בעיה מורכבת, וגם אם הקוד ירוץ היטב בסביבת פיתוח, לא תהיה לך דרך לוודא שאין בו באגים מהותיים. הכלים הללו מעצימים מתכנת, ואולי יאפשרו להפחית בכוח האדם הנדרש, אבל הן לא יכולים, ולפי שעה לא קרובים, להחליף מתכנת."
כל מודל הוא פני הדאטה שלו
המושג "בינה מלאכותית" בעייתי גם מכיוון שהוא מטשטש את האופן שבו המודלים הללו נוצרים ופועלים. ניר דובוביצקי "כל מודל, כל רשת נוירונים, היא תוצר של הדאטה שאימן ואימת אותה. אימון המודלים הללו דורש המון דאטה ודאטה טוב. למעשה, לא תמיד ניתן לדעת מראש כמה דאטה יידרש כדי לאמן מודל מהימן, זה ניסוי וטעייה. המפתח הוא בווריפיקציה. כל זה הוא פתח להטיה – הן ברמת הדאטה המשמש לאימון והן ברמת הדאטה והאנשים האחראים לווריפיקציה. על כן, לא מעט מודלים כאלה חושפים הטיות מגדריות ואתניות, כמו למשל יישומי זיהוי פנים מסוימים, שמגלים יכולות גבוהות מאוד בזיהוי בני אדם לבנים, אך כושלים לחלוטין בזיהוי אנשים שחורים. ההטיה נעוצה בדאטה ששימש לאימון ולאימות המודל."
"למעשה, אי אפשר לעשות וריפיקציה מושלמת, תמיד תהיה הטיה באופן שבו בדקנו את המודל. על כן, צריך לערב בני אדם בתהליך האימון ובתהליך האופרציה, כדי להיות על המשמר ולתקן את הטעויות. צריך להיות מאוד זהירים, בעיקר כאשר מדובר במערכות שנוגעות לחיי אדם כמו מערכות נהיגה אוטונומיות. במערכות כאלה כל הטיה עלולה לסכן חיי אדם."