کتاب Effective Machine Learning Teams: Best Practices for ML Practitioners (تیمهای موثر یادگیری ماشین: بهترین روشها برای تمرینکنندگان ML) بر اساس تجربه نویسندگان در چندین پروژه دادههای دنیای واقعی و ML، تکنیکهای اثباتشده به تیمها کمک میکند از تلههای رایج در دنیای ML اجتناب کنند، بنابراین میتوانید سریعتر و قابل اطمینانتر تکرار کنید. با این تکنیکها، دانشمندان داده و مهندسان ML میتوانند بر اصطکاک غلبه کنند و هنگام ارائه راهحلهای یادگیری ماشین، جریان را تجربه کنند.
در ادامه مقدمهای از کتاب Effective Machine Learning Teams را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Effective Machine Learning Teams:
ساعت ۲۱:۲۵ بود. و درخشش ملایم صفحه کامپیوتر دانا به چشمان تاریک او خیره شد، همانطور که او وارد سیستم شد تا به رفع یک خطا ادامه دهد – خطوط لوله قرمز و زبانههای باز بیشماری که صفحه نمایش او را پر میکردند. او شام خورده بود و کارهای روزمرهاش را تمام کرده بود، اما ذهنش واقعاً آنجا نبود – در واقع در چند جا بود.
آن روز پراکنده بود، بین دورههای آموزشی طولانی و پیامهای رفت و برگشتی با تیم پشتیبانی در مورد سؤالات مشتریان در مورد اینکه چرا مدل درخواستهای وام آنها را رد کرد. او در اعماق اشکال زدایی بود که چرا عملکرد مدل علیرغم بهینهسازیهای مختلف در دادهها و معماری مدل بهبود نمییابد. ردیابیهای گاه به گاه پشته فقط اوضاع را بدتر میکرد.
او خسته بود و انبوه درهمتنیده تغییرات کد غیرمتعهد نشسته روی دستگاه محلیاش به بار شناختی نهفتهای که در سرش حباب میکرد اضافه کرد. اما او مجبور بود به راه خود ادامه دهد – تیم او قبلاً تاریخ انتشار اولیه را چهار ماه از دست داده بود و بیصبری مدیران خود را نشان میداد. چیزی که اوضاع را بدتر میکرد، ترس از این بود که ممکن است شغلش در خط باشد. از هر ده کارمند شرکت او یک نفر – که چند نفر از آنها را میشناخت – در آخرین دور اقدامات کاهش هزینهها اخراج شدند.
همه اعضای تیم او خوشنیت و توانا بودند، اما هر روز در باتلاق آزمایشهای خستهکننده، استقرار تولید مملو از اضطراب، و عبور از کدهای ناخوانا و شکننده گرفتار میشدند. پس از چند ماه زحمت، همه آنها فرسوده شدند. آنها بهترین سطح خود را انجام میدادند، اما احساس میشد که خانهای بدون پایه میسازند – همه چیز مدام از هم میپاشد.
بسیاری از افراد به لطف اکوسیستم رو به رشد ابزارها، تکنیکها، آموزشها و جامعه پزشکان ML، سفر یادگیری ماشینی (ML) خود را با شتاب زیادی آغاز میکنند و به سرعت اعتماد به نفس پیدا میکنند.
با این حال، وقتی فراتر از محیط کنترلشده نوتبوکهای آموزشی و مسابقات Kaggle در فضای مشکلات دنیای واقعی، دادههای آشفته، سیستمهای به هم پیوسته و افراد با اهداف متفاوت فارغالتحصیل میشویم، بسیاری از ما ناگزیر برای درک پتانسیل ML در عمل تلاش میکنیم.
وقتی ادعاهای پر زرق و برق مبنی بر اینکه علم داده جذابترین شغل است را کنار میزنیم، اغلب میبینیم که پزشکان ML در کارهای دستی سنگین، کدهای پیچیده و شکننده، و ناامیدی از آزمایشهای سیزیف ML که هرگز نور روز را در تولید نمیبینند، غرق شدهاند.
در سال ۲۰۱۹، گزارش شد که ۸۷ درصد از پروژههای علم داده هرگز به تولید نمیرسند. با توجه به روندهای AI/ML سازمانی ۲۰۲۱ Algorithmia، حتی در میان شرکتهایی که مدلهای ML را با موفقیت در تولید پیادهسازی کردهاند، ۶۴ درصد از پاسخدهندگان نظرسنجی میگویند که استقرار یک مدل جدید بیش از یک ماه طول میکشد که نسبت به ۵۶ درصد در سال ۲۰۲۰ افزایش یافته است. الگوریتمیا همچنین دریافتند که ۳۸ درصد از سازمانهای مورد بررسی بیش از ۵۰ درصد از زمان دانشمندان داده خود را صرف استقرار مدل میکنند.
این موانع مانع میشوند – یا در برخی موارد، حتی جلوی آنها را میگیرند – که متخصصین ML از تخصص خود در ML استفاده کنند تا ارزش و وعده هوش مصنوعی را برای مشتریان و کسبوکارها برآورده کنند. اما خبر خوب این است که نباید اینطور باشد. در چند سال گذشته، ما این امتیاز را داشتهایم که روی پروژههای مختلف داده و ML کار کنیم و با متخصصان ML از صنایع مختلف همکاری کنیم.
در حالی که موانع و مشکلاتی وجود دارد، همانطور که در بالا توضیح دادیم، مسیرها، شیوهها و سیستمهای کاری بهتری نیز وجود دارد که به پزشکان ML اجازه میدهد تا محصولات دارای ML را به طور قابل اعتماد به دست مشتریان برسانند.
این چیزی است که کتاب Effective Machine Learning Teams در مورد آن است. ما از تجربیات خود استفاده خواهیم کرد تا مجموعهای از اصول و شیوههای پایدار را تقطیر کنیم که به طور مداوم به ما کمک میکند تا راه حلهای ML را به طور مؤثر در دنیای واقعی ارائه دهیم. این شیوهها به این دلیل کار میکنند که مبتنی بر رویکردی جامع برای ساختن سیستمهای ML هستند. آنها فراتر از ML هستند تا حلقههای بازخورد ضروری را در زیرسیستمهای مختلف ایجاد کنند (به عنوان مثال، محصول، مهندسی، دادهها، فرآیندهای تحویل، توپولوژیهای تیم) و تیمها را قادر میسازند که سریع و ایمن شکست بخورند، به سرعت آزمایش کنند و با اطمینان ارائه دهند.
کتاب Effective Machine Learning Teams برای چه کسی است؟
چه فکر کنید که میتوانید، چه فکر کنید نمیتوانید – حق با شماست. هنری فورد
خواه شما یک متخصص ML در دانشگاه هستید، یک شرکت، یک استارت آپ، یک توسعه دهنده یا مشاوره، اصول و شیوههای این کتاب میتواند به شما و تیمتان کمک کند تا در ارائه راه حلهای ML مؤثرتر باشید. مطابق با ماهیت متقابل تکنیکهای تحویل ML که در کتاب Effective Machine Learning Teams به تفصیل توضیح میدهیم، به نگرانیها و آرزوهای چند نقش در تیمهایی که ML را انجام میدهند میپردازیم:
- دانشمندان داده و مهندسان ML
دامنه شغلی یک دانشمند داده طی چند سال گذشته تکامل یافته است. به جای تمرکز صرف بر روی تکنیکهای مدلسازی و تجزیه و تحلیل دادهها، ما شاهد انتظارات (به طور ضمنی یا صریح) هستیم که نیاز به داشتن قابلیتهای یک دانشمند داده کامل دارد: بحث و جدل داده، مهندسی ML، MLOps و فرمولبندی پروندههای تجاری. دیگران. این کتاب در مورد قابلیتهای لازم برای دانشمندان داده و مهندسان ML برای طراحی و ارائه راهحلهای ML در دنیای واقعی توضیح میدهد.
در گذشته، ما اصول، تمرینها و تمرینهای عملی را در این کتاب به دانشمندان داده، مهندسین ML، دانشجویان دکترا، مهندسین نرمافزار، تحلیلگران کیفیت و مدیران محصول ارائه کردهایم و به طور مداوم بازخورد مثبت دریافت کردهایم.
متخصصان ML که در این صنعت با آنها کار کردهایم، گفتهاند که از بهبود چرخههای بازخورد، جریان و قابلیت اطمینان حاصل از اقداماتی مانند آزمایش خودکار و بازسازی مجدد بهره بردهاند. نکته اصلی ما این است که جامعه ML تمایلی به یادگیری این مهارتها و شیوهها دارد و این تلاش ما برای افزایش به اشتراکگذاری این دانش است.
- مهندسین نرمافزار، مهندسین زیرساخت و پلت فرم، معماران
هنگامی که ما کارگاههایی را در مورد موضوعاتی که در این کتاب پوشش میدهیم برگزار میکنیم، اغلب با مهندسان نرمافزار، مهندسین زیرساخت و پلت فرم و معمارانی که در فضای ML کار میکنند، مواجه میشویم. در حالی که قابلیتهای دنیای نرمافزار (به عنوان مثال، زیرساخت بهعنوان کد، اتوماسیون استقرار، آزمایش خودکار) در طراحی و ارائه راهحلهای ML در دنیای واقعی ضروری است، اما آنها نیز کافی نیستند. برای ایجاد راهحلهای قابل اعتماد ML، باید لنز نرمافزار را گسترش دهیم و به اصول و روشهای دیگر نگاه کنیم – مانند آزمایشهای مدل ML، تحویل دوگانه، کشف مستمر، و حاکمیت ML – برای رسیدگی به چالشهایی که مختص ML هستند.
- مدیران محصول، مدیران تحویل، مدیران مهندسی
اگر فکر کنیم که برای ساختن یک محصول ML فقط به دانشمندان داده و مهندسان ML نیاز داریم، خود را در معرض شکست قرار میدهیم. در مقابل، تجربه ما به ما میگوید که تیمها زمانی مؤثرتر هستند که دارای عملکرد متقابل باشند و به قابلیتهای ML، دادهها، مهندسی، محصول و تحویل لازم مجهز باشند.
در کتاب Effective Machine Learning Teams، توضیح میدهیم که چگونه میتوانید شیوههای تحویل ناب و تفکر سیستمی را برای ایجاد ساختارهایی به کار ببرید که به تیمها کمک میکند تا بر صدای مشتری تمرکز کنند، حلقههای بازخورد را کوتاه کنند، سریع و قابل اعتماد آزمایش کنند، و برای ساختن چیزهای درست تکرار کنند.
همانطور که W. Edwards Deming یک بار گفت: \”یک سیستم بد هر بار یک فرد خوب را شکست میدهد. \” بنابراین، ما اصول و شیوههایی را به اشتراک میگذاریم که به تیمها کمک میکند ساختارهایی ایجاد کنند که جریان اطلاعات را بهینه میکند، ضایعات را کاهش میدهد (مانند انتقال، وابستگیها) و ارزش را بهبود میبخشد.
اگر کارمان را به درستی انجام داده باشیم، این کتاب از شما دعوت میکند تا از نزدیک به نحوه انجام کارها در ML و در تیمهایتان نگاه کنید، تا در مورد اینکه چقدر برای شما خوب کار میکنند، فکر کنید و جایگزینهای بهتری را در نظر بگیرید.
کتاب Effective Machine Learning Teams را با ذهنی باز و – برای فصلهای متمرکز بر مهندسی – با ویرایشگر کد باز بخوانید. همانطور که پیترام. سنگه در کتاب خود به نام رشته پنجم (دوبلدی) گفت: «دریافت اطلاعات فقط با یادگیری واقعی ارتباط بسیار دور دارد. بیهوده خواهد بود اگر بگوییم، \”من همین الان یک کتاب عالی در مورد دوچرخه سواری خواندم – اکنون آن را یاد گرفتهام. \” آنها پروژههای دنیای واقعی را وارد میکنند.
به کتاب Effective Machine Learning Teams با یک ذهنیت بهبود مستمر نزدیک شوید، نه یک ذهنیت کمال گرا. هیچ پروژه کاملی وجود ندارد که در آن همه چیز به خوبی بدون چالش کار کند.
همیشه پیچیدگی و چالش وجود خواهد داشت (و ما میدانیم که مقدار سالم چالش برای رشد ضروری است)، اما روشهای کتاب Effective Machine Learning Teams به شما کمک میکند پیچیدگی تصادفی را به حداقل برسانید تا بتوانید بر پیچیدگی اساسی راه حلهای ML خود و ارائه تمرکز کنید. مسئولانه ارزش قائل شوید
کتاب Effective Machine Learning Teams چگونه سازماندهی شده است؟
فصل ۱، «چالشها و مسیرهای بهتر در ارائه راهحلهای ML»
خلاصهای از کل کتاب Effective Machine Learning Teams است. ما دلایل سطح بالا و سطح پایین برای چرایی و چگونگی شکست پروژههای ML را بررسی میکنیم. سپس با اتخاذ شیوههای تحویل ناب در پنج رشته کلیدی: محصول، تحویل، یادگیری ماشین، مهندسی و داده، مسیر مطمئنتری را برای ارائه ارزش در راهحلهای ML ترسیم میکنیم.
در فصلهای باقیمانده کتاب Effective Machine Learning Teams، شیوههای تیمهای مؤثر ML و تمرینکنندگان ML را شرح میدهیم. در قسمت اول، «محصول و تحویل»، روی روشهای زیرسیستمهای دیگری که برای ارائه راهحلهای ML ضروری هستند، مانند تفکر محصول و تحویل ناب توضیح میدهیم.
در بخش دوم کتاب Effective Machine Learning Teams، «مهندسی»، شیوههایی را پوشش میدهیم که به پزشکان ML در هنگام پیادهسازی و ارائه راهحلها کمک میکنند (مانند آزمایش خودکار، بازسازی مجدد، استفاده مؤثر از ویرایشگر کد، تحویل مداوم، و MLOps). در قسمت سوم، «تیمها»، پویاییهایی را بررسی میکنیم که بر اثربخشی تیمهای ML تأثیر میگذارند، مانند اعتماد، پیشرفت مشترک، تنوع، و همچنین تکنیکهای اثربخشی مهندسی که به شما در ایجاد تیمهایی با عملکرد بالا کمک میکنند.
ما همچنین به چالشهای رایجی که سازمانها هنگام مقیاسبندی شیوههای ML فراتر از یک یا دو تیم با آنها روبهرو هستند، میپردازیم و تکنیکهایی را در توپولوژیهای تیم، حالتهای تعامل و رهبری به اشتراک میگذاریم تا به تیمها کمک کنیم بر این چالشهای مقیاسبندی غلبه کنند.
بخش اول کتاب Effective Machine Learning Teams: محصول و تحویل
فصل ۲، «روشهای محصول و تحویل برای تیمهای ML»
ما تکنیکهای کشف محصول را مورد بحث قرار میدهیم که به ما کمک میکنند فرصتها را شناسایی کنیم، فرضیههای بازار و فناوری را به سرعت آزمایش کنیم، و روی راهحلهای عملی همگرا شویم. با شروع با ارزشمندترین مشکلات و راه حلهای عملی، خود را برای موفقیت در هنگام تحویل آماده میکنیم.
ما همچنین شیوههای تحویل را انجام میدهیم که به ما کمک میکند شکل، اندازه و ترتیب کار را برای ایجاد یک جریان ثابت ارزش انجام دهیم. ما به چالشهای منحصربهفرد ناشی از ماهیت آزمایشی و با عدم قطعیت بالا برخی از مشکلات ML میپردازیم و تکنیکهایی مانند مدل تحویل دوگانه را مورد بحث قرار میدهیم که به ما کمک میکند سریعتر در چرخههای کوتاهتر یاد بگیریم.
در نهایت، تکنیکهایی را برای اندازهگیری جنبههای حیاتی پروژههای ML پوشش میدهیم و تکنیکهایی را برای شناسایی و مدیریت ریسکهای پروژه به اشتراک میگذاریم.
بخش دوم کتاب Effective Machine Learning Teams: مهندسی
فصل ۳ و ۴ کتاب Effective Machine Learning Teams: مدیریت وابستگی مؤثر
در اینجا، ما اصول و شیوههایی را برای ایجاد محیطهای زمان اجرا سازگار، قابل تکرار، ایمن و تولید مانند برای اجرای کد خود به همراه یک مثال عملی که میتوانید همراه با آن کدنویسی کنید، شرح میدهیم. هنگامی که به زمین میزنیم و شروع به ارائه راهحلها میکنیم، خواهید دید که چگونه تمرینهای این فصل از کتاب Effective Machine Learning Teams، به شما و همتیمیهایتان این امکان را میدهد که به جای گرفتار شدن در جهنم وابستگی، بدون زحمت، محیطهای ثابتی ایجاد کنید.
فصل ۵ و ۶ کتاب Effective Machine Learning Teams: تست خودکار برای سیستمهای ML
این فصلهای کتاب Effective Machine Learning Teams، یک روبریک برای آزمایش اجزای راهحل ML شما ارائه میدهند – اعم از تستهای نرمافزاری، آزمایشهای مدل یا آزمایش دادهها. ما نشان میدهیم که چگونه تستهای خودکار به ما کمک میکنند چرخههای بازخورد خود را کوتاه کنیم و تلاش خستهکننده آزمایش دستی، یا بدتر از آن، رفع نقصهای تولیدی را که از شکافهای آزمایش دستی سر خوردهاند، کاهش دهیم.
ما محدودیتهای پارادایم تست نرمافزار را در مدلهای ML توصیف میکنیم، و اینکه چگونه عملکردهای تناسب اندام و تستهای رفتاری ML میتوانند به ما در مقیاسبندی تست خودکار مدلهای ML کمک کنند. ما همچنین تکنیکهایی را برای آزمایش جامع مدلهای زبان بزرگ (LLM) و برنامههای LLM پوشش میدهیم.
فصل ۷ کتاب Effective Machine Learning Teams، «ویرایشگر کد خود را با تکنیکهای ساده شارژ کنید»
ما به شما نشان خواهیم داد که چگونه ویرایشگر کد خود (PyCharm یا VS Code) را پیکربندی کنید تا به شما در کدنویسی مؤثرتر کمک کند. پس از اینکه IDE خود را در چند مرحله پیکربندی کردیم، یک سری میانبرهای صفحه کلید را مرور خواهیم کرد که میتواند به شما کمک کند تا بازآفرینی خودکار را انجام دهید، مشکلات را به طور خودکار شناسایی و برطرف کنید، و در میان موارد دیگر، پایگاه کد خود را بدون گم شدن در علفهای هرز پیمایش کنید..
فصل ۸ کتاب Effective Machine Learning Teams، «بازسازی و مدیریت فنی بدهی»
در این فصل از کتاب Effective Machine Learning Teams، از حکمت طراحی نرمافزار استفاده میکنیم تا به ما در طراحی کدهای قابل خواندن، آزمایشپذیر، قابل نگهداری و تکامل کمک کند. با روحیه «یادگیری با انجام دادن»، خواهید دید که چگونه میتوانیم یک دفترچه یادداشت مشکل دار، درهم و برهم و شکننده را برداریم و از تکنیکهای refactoring برای بهبود مکرر پایگاه کد خود به حالت مدولار، آزمایش شده و خوانا استفاده کنیم. همچنین تکنیکهایی را یاد خواهید گرفت که میتواند به شما و تیمتان کمک کند بدهی فنی را قابل مشاهده کنید و اقداماتی را برای حفظ آن در سطح سالم انجام دهید.
فصل ۹، «MLOps و تحویل مستمر برای ML (CD۴ML)»
ما یک دیدگاه گسترده از آنچه که MLOps و CI/CD (ادغام مداوم و تحویل مداوم) واقعاً مستلزم آن است، بیان خواهیم کرد. هشدار اسپویلر: این چیزی فراتر از خودکارسازی استقرار مدل و تعریف خطوط لوله CI است.
ما یک طرح اولیه برای شکل منحصر به فرد CI/CD برای پروژههای ML ارائه میدهیم و نحوه تنظیم هر جزء در این طرح اولیه را برای ایجاد راه حلهای قابل اعتماد ML و رهایی هم تیمیهای خود از کار تکراری و غیر متمایز میگذرانیم تا بتوانند بر روی آنها تمرکز کنند. سایر مشکلات با ارزش بالاتر ما همچنین به نحوه عملکرد CD۴ML به عنوان مکانیزم کنترل ریسک برای کمک به تیمها برای حفظ استانداردهای حاکمیت ML و هوش مصنوعی مسئول خواهیم پرداخت.
بخش سوم کتاب Effective Machine Learning Teams: تیمها
فصل ۱۰، «ساختار گروههای مؤثر ML»
در این فصل از کتاب Effective Machine Learning Teams، ما فراتر از مکانیک میرویم تا عوامل بین فردی را درک کنیم که عملکردهای خوب را در تیمهای مؤثر امکانپذیر میکند. ما اصول و شیوههایی را شرح خواهیم داد که به ایجاد یک تیم ایمن، انسان محور و رشد محور کمک میکند. ما موضوعاتی مانند اعتماد، ارتباطات، اهداف مشترک، پیشرفت هدفمند و تنوع در تیمها را بررسی خواهیم کرد. ما برخی از ضد الگوها را به اشتراک میگذاریم که باید مراقب آنها باشید و برخی از تاکتیکهایی را که میتوانید برای پرورش فرهنگ همکاری، ارائه مؤثر و یادگیری استفاده کنید، به اشتراک میگذاریم.
فصل ۱۱ کتاب Effective Machine Learning Teams، «سازمانهای ML مؤثر»
این فصل از کتاب Effective Machine Learning Teams، اشکال مختلفی را برای تیمهای ML معرفی میکند و به چالشهای رایجی میپردازد که سازمانها هنگام مقیاسبندی عملکرد ML خود به چندین تیم با آن مواجه هستند.
ما از استراتژیهای مورد بحث در Team Topologies (IT Revolution Press) استفاده میکنیم و ساختارها، اصول و شیوههای منحصربهفردی را ترسیم میکنیم که به تیمها کمک میکند تا تعادلی بین جریان کار و تخصص متمرکز، همکاری و استقلال پیدا کنند.
ما مزایا و محدودیتهای این ساختارها را ارزیابی میکنیم و راهنمایی برای تکامل آنها برای برآورده کردن نیازهای سازمان ارائه میکنیم. ما با بحث در مورد نقش رهبری عمدی و شیوههای حمایتی آن در شکلدهی سازمانهای ML چابک و پاسخگو به پایان میرسیم.
سرفصلهای کتاب Effective Machine Learning Teams:
- Preface
- 1. Challenges and Better Paths in Delivering ML Solutions
- I. Product and Delivery
- 2. Product and Delivery Practices for ML Teams
- II. Engineering
- 3. Effective Dependency Management: Principles and Tools
- 4. Effective Dependency Management in Practice
- 5. Automated Testing: Move Fast Without Breaking Things
- 6. Automated Testing: ML Model Tests
- 7. Supercharging Your Code Editor with Simple Techniques
- 8. Refactoring and Technical Debt Management
- 9. MLOps and Continuous Delivery for ML (CD4ML)
- III. Teams
- 10. Building Blocks of Effective ML Teams
- 11. Effective ML Organizations
- Index
- About the Authors
جهت دانلود کتاب Effective Machine Learning Teams میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.