חזרה
SiTech
„אין סיבה שתוכנה תהיה איטית“ — הטענה של דן לו
SiTech AI Team2 წთ. საკითხავი

„אין סיבה שתוכנה תהיה איטית“ — הטענה של דן לו

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

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

הטענה

הפוסט נפתח בטענה ויראלית שלפיה מבקרי הקוד ה"מנופח" שמייצרים מודלי שפה יתביישו כשהכול ייכתב מחדש ב"אסמבלר מהונדס במיוחד". לו לא הולך כל כך רחוק: אסמבלר בכתב יד לא מחכה לנו, אבל אופטימיזציות שדרשו בעבר אדם או צוות עם כישורים נדירים זמינות כעת לכל מי שיכול להקליד כמה משפטים. לדבריו, עלות זמן האדם ירדה "לעתים קרובות פי 1000, פי 10,000 או פי מיליון", ועלות הדולר ירדה בערך פי 1000 לעומת המהנדס של Bing שכתב פעם את המהדרים וה-JIT בתוך אינדקס החיפוש.

מספרים בשטח: regex ו-ripgrep

הטענה נתמכת בניסויים במנוע ה-regex ‏FRE, שנבנה כך שסוכן עבד בלופ במשך חודש על חבילת הבנצ'מרקים rebar. ההתאמת יתר הייתה כה חזקה עד שהיה צריך ליידע את הסוכן שיש בנצ'מרק מסתור, ורק אז האופטימיזציות הוכללו. בניסוי אחד ripgrep הידר את התבניות לקוד מקור מקומי בנתיב רקע ועבר אליו כשההידור הסתיים: האצה של פי 2 עד פי 4 בשאילתות ארוכות ופשוטות, ומהירות גבוהה בכ-7% בשאילתות מייצגות שבהן הנתיב המקומי רלוונטי — במחיר של האטה בשאילתות קצרות.

תוכנה המותאמת לעומס עבודה אחד

מארק ברוקר השווה את המגמה ל-FFTW ולטריקים של סצנת הדמו — קוד המעוצב לבעיה אחת במקום למחלקה של בעיות — וחזה יותר "תוכנה דינמית ומותאמת". מייקל מליס, שעובד על pgrust, מוסיף: המם ש"כתיבת הקוד מעולם לא הייתה החלק הקשה" נכון רק בתחומים מסוימים. מהדרי JIT נדירים משום שכתיבתם הייתה יקרה מדי מכדי להשתלם, ומסדי נתונים נחשבו היסטורית לתוכנה הקשה ביותר לבנייה. לו עצמו עבד על BitFunnel, אינדקס החיפוש של Bing שזכה בפרס המאמר הטוב ב-SIGIR; בגרסת Bing יש כמה מהדרי JIT — היקף שביחס אליו "אעשה זאת בסוף שבוע" נכון כעת באמת.

מה בכל זאת לא משתנה

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

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.