کتاب Designing Machine Learning Systems (طراحی سیستمهای یادگیری ماشین: فرآیندی تکراری برای برنامههای کاربردی آماده تولید) نسخه نهایی درباره طراحی سیستمهای یادگیری ماشین و توسعهی آنها مطالب ارزشمندی را به شما آموزش میدهد. این کتاب در 11 فصل از مقدمات طراحی سیستمهای ماشین تا نکات پیشرفتهی آن توضیح میدهد.
در ادامه مقدمهای از کتاب Designing Machine Learning Systems را شرح خواهیم داد.
مقدمهای بر کتاب Designing Machine Learning Systems:
از زمان اولین دوره یادگیری ماشینی که در سال ۲۰۱۷ در استنفورد تدریس کردم، بسیاری از مردم از من در مورد نحوه استقرار مدلهای ML در سازمانهایشان راهنمایی خواستند. این سؤالات میتوانند کلی باشند، مانند \”از چه مدلی استفاده کنم؟ \” \”چند وقت یکبار باید مدل خود را دوباره آموزش دهم؟ \” \”چگونه میتوانم تغییرات توزیع داده را تشخیص دهم؟ \” \”چگونه اطمینان حاصل کنم که ویژگیهای استفاده شده در طول آموزش با ویژگیهای استفاده شده در طول استنتاج مطابقت دارد؟ \”
این سؤالات همچنین میتوانند خاص باشند، مانند «من متقاعد شدهام که تغییر از پیشبینی دستهای به پیشبینی آنلاین به مدل ما افزایش عملکرد میدهد، اما چگونه مدیرم را متقاعد کنم که به من اجازه انجام این کار را بدهد؟ » یا «من ارشدترین دانشمند داده در شرکتم هستم و اخیراً وظیفه راهاندازی اولین سکوی یادگیری ماشینی به من داده شده است. از کجا آغاز کنم؟ \”
پاسخ کوتاه من به همه این سؤالات همیشه این است: \”بستگی دارد. \” پاسخهای طولانی من اغلب شامل ساعتها بحث میشود تا بفهمم پرسشکننده از کجا میآید، واقعاً به چه چیزی میخواهد دست یابد، و مزایا و معایب رویکردهای مختلف برای مورد استفاده خاص آنها.
سیستمهای ML هم پیچیده و هم منحصر به فرد هستند. آنها پیچیده هستند زیرا از مؤلفههای مختلف زیادی تشکیل شدهاند (الگوریتمهای ML، دادهها، منطق کسبوکار، معیارهای ارزیابی، زیرساختهای اساسی، و غیره) و بسیاری از ذینفعان مختلف (دانشمندان داده، مهندسان ML، رهبران کسبوکار، کاربران، حتی جامعه در کل) را درگیر میکنند.. سیستمهای ML منحصربهفرد هستند زیرا به دادهها وابسته هستند و دادهها از یک مورد استفاده به مورد دیگر متفاوت هستند.
به عنوان مثال، دو شرکت ممکن است در یک دامنه (تجارت الکترونیک) باشند و مشکل مشابهی داشته باشند که میخواهند ML حل کند (سیستم توصیهکننده)، اما سیستمهای ML حاصل از آنها میتواند معماری مدل متفاوتی داشته باشد، از مجموعههای متفاوتی از ویژگیها استفاده کند، و بر اساس آن ارزیابی شود. معیارهای مختلف، و بازده سرمایهگذاری متفاوت است.
بسیاری از پستهای وبلاگ و آموزشهای تولید ML بر پاسخ به یک سؤال خاص تمرکز دارند. در حالی که تمرکز کمک میکند تا نکته را فراتر ببرید، آنها میتوانند این تصور را ایجاد کنند که میتوان هر یک از این سؤالات را به صورت مجزا در نظر گرفت. در واقعیت، تغییرات در یک مؤلفه احتمالاً بر سایر مؤلفهها تأثیر میگذارد. بنابراین، لازم است سیستم را به عنوان یک کل در نظر بگیریم، در حالی که هر تصمیمی برای طراحی اتخاذ میشود.
کتاب Designing Machine Learning Systems رویکردی جامع به سیستمهای ML دارد. اجزای مختلف سیستم و اهداف ذینفعان مختلف درگیر را در نظر میگیرد. محتوای این کتاب با استفاده از مطالعات موردی واقعی، که من شخصاً روی بسیاری از آنها کار کردهام، با پشتوانه منابع فراوان، و توسط پزشکان ML در دانشگاه و صنعت بررسی شده است.
بخشهایی که نیاز به دانش عمیق از یک موضوع خاص دارند – به عنوان مثال، پردازش دستهای در مقابل پردازش جریانی، زیرساخت برای ذخیرهسازی و محاسبات، و هوش مصنوعی مسئول – توسط کارشناسانی که کارشان بر روی آن موضوع متمرکز است بررسی میشود. به عبارت دیگر، این کتاب تلاشی است برای دادن پاسخهای ظریف به پرسشهای پیش گفته و موارد دیگر.
وقتی برای اولین بار یادداشتهای سخنرانی را نوشتم که پایه و اساس این کتاب را گذاشت، فکر کردم آنها را برای دانشجویانم نوشتم تا آنها را برای خواستههای شغل آینده خود به عنوان دانشمندان داده و مهندسان ML آماده کنم.
با این حال، به زودی متوجه شدم که از طریق این فرآیند به طرز فوقالعادهای نیز یاد گرفتم. پیشنویسهای اولیهای که با خوانندگان اولیه به اشتراک گذاشتم، گفتگوهای بسیاری را برانگیخت که مفروضات من را آزمایش کرد، مرا وادار کرد دیدگاههای متفاوتی را در نظر بگیرم، و من را با مشکلات جدید و رویکردهای جدید آشنا کرد.
امیدوارم اکنون که کتاب در دست شماست، این روند یادگیری برای من ادامه پیدا کند، زیرا شما تجربیات و دیدگاههایی دارید که منحصر به شما هستند. لطفاً هر گونه بازخوردی که ممکن است درباره این کتاب داشته باشید، از طریق سرور MLOps Discord که من اجرا میکنم (که در آن میتوانید سایر خوانندگان این کتاب را نیز بیابید)، توییتر، لینکدین یا کانالهای دیگری که میتوانید در من پیدا کنید، با من در میان بگذارید. سایت اینترنتی.
کتاب Designing Machine Learning Systems برای چه کسی است؟
این کتاب برای کسانی است که میخواهند از ML برای حل مشکلات دنیای واقعی استفاده کنند. ML در این کتاب به الگوریتمهای یادگیری عمیق و کلاسیک با گرایش به سیستمهای ML در مقیاس، مانند آنچه در شرکتهای متوسط تا بزرگ و استارتآپهای با رشد سریع دیده میشود، اشاره دارد. سیستمها در مقیاس کوچکتر معمولاً پیچیدگی کمتری دارند و ممکن است از رویکرد جامع ارائهشده در این کتاب کمتر بهره ببرند.
از آنجایی که پیشینه من مهندسی است، زبان کتاب Designing Machine Learning Systems برای مهندسین از جمله مهندسان ML، دانشمندان داده، مهندسان داده، مهندسان سکوی ML و مدیران مهندسی است. ممکن است بتوانید با یکی از سناریوهای زیر ارتباط برقرار کنید:
- به شما یک مشکل تجاری و دادههای خام زیادی داده شده است. شما میخواهید این دادهها را مهندسی کنید و معیارهای مناسب را برای حل این مشکل انتخاب کنید.
- مدلهای اولیه شما در آزمایشهای آفلاین عملکرد خوبی دارند و میخواهید آنها را مستقر کنید.
- شما بازخورد کمی در مورد عملکرد مدلهایتان پس از استقرار مدلهایتان دارید، و میخواهید راهی برای شناسایی سریع، اشکالزدایی و رسیدگی به هر مشکلی که ممکن است مدلهایتان در تولید با آن مواجه شوند پیدا کنید.
- فرآیند توسعه، ارزیابی، استقرار و بهروزرسانی مدلها برای تیم شما عمدتاً دستی، کند و مستعد خطا بوده است. شما میخواهید این فرآیند را خودکار و بهبود بخشید.
- هر مورد استفاده از ML در سازمان شما با استفاده از گردش کار خاص خود به کار گرفته شده است، و شما میخواهید پایه و اساس (به عنوان مثال، فروشگاه مدل، فروشگاه ویژگی، ابزار نظارت) را ایجاد کنید که میتواند در موارد استفاده مجدد به اشتراک گذاشته شود و مورد استفاده مجدد قرار گیرد.
- شما نگران این هستید که ممکن است سوگیریهایی در سیستمهای ML شما وجود داشته باشد و میخواهید سیستمهای خود را مسئول کنید!
همچنین اگر جزء یکی از گروههای زیر هستید میتوانید از کتاب Designing Machine Learning Systems بهرهمند شوید:
- توسعهدهندگان ابزاری که میخواهند نواحی کمخدمتشده در تولید ML را شناسایی کنند و نحوه قرار دادن ابزارهای خود را در اکوسیستم بیابند.
- افرادی که به دنبال نقشهای مرتبط با ML در صنعت هستند.
- رهبران فنی و تجاری که در حال بررسی راه حلهای ML برای بهبود محصولات و/یا فرآیندهای تجاری شما هستند. خوانندگان بدون پیشینه فنی قوی ممکن است بیشترین بهره را از فصلهای ۱، ۲ و ۱۱ ببرند.
آنچه کتاب Designing Machine Learning Systems نیست:
این کتاب مقدمهای برای ML نیست. کتابها، دورهها و منابع زیادی برای تئوریهای ML وجود دارد، و بنابراین، این کتاب از این مفاهیم دوری میکند تا بر جنبههای عملی ML تمرکز کند. به طور خاص، این کتاب فرض میکند که خوانندگان درک اساسی از موضوعات زیر دارند:
مدلهای ML مانند خوشهبندی، رگرسیون لجستیک، درختهای تصمیمگیری، فیلتر مشارکتی و معماریهای مختلف شبکه عصبی از جمله پیشخور، بازگشتی، کانولوشن و ترانسفورماتور.
- تکنیکهای ML مانند نظارت شده در مقابل بدون نظارت، نزول گرادیان، تابع هدف/از دست دادن، منظمسازی، تعمیم و تنظیم فراپارامتر
- معیارهایی مانند دقت، F۱، دقت، فراخوان، ROC، میانگین مربعات خطا، و احتمال ورود به سیستم
- مفاهیم آماری مانند واریانس، احتمال و توزیع نرمال/دم بلند
- وظایف رایج ML مانند مدلسازی زبان، تشخیص ناهنجاری، طبقهبندیاشیا و ترجمه ماشینی
لازم نیست این موضوعات را از درون بدانید – برای مفاهیمی که یادآوری تعاریف دقیق آنها ممکن است کمی تلاش کند، به عنوان مثال، امتیاز F۱، یادداشتهای کوتاهی را به عنوان مرجع اضافه میکنیم – اما باید درک دقیقی از معنای آنها داشته باشید.
در حالی که کتاب Designing Machine Learning Systems ابزارهای فعلی را برای نشان دادن مفاهیم و راه حلهای خاص ذکر میکند، اما یک کتاب آموزشی نیست. فناوریها در طول زمان تکامل مییابند. ابزارها به سرعت وارد و از بین میروند، اما رویکردهای اساسی برای حل مسأله باید کمی بیشتر دوام بیاورند.
کتاب Designing Machine Learning Systems چارچوبی را برای شما فراهم میکند تا ابزاری را که برای موارد استفاده شما بهترین کارایی را دارد ارزیابی کنید. وقتی ابزاری وجود دارد که میخواهید از آن استفاده کنید، پیدا کردن آموزشهای آنلاین برای آن معمولاً ساده است.
در نتیجه، کتاب Designing Machine Learning Systems دارای تکههای کد کمی است و در عوض بر ارائه بحثهای زیادی پیرامون مبادلات، مزایا و معایب، و مثالهای عینی تمرکز دارد.
بیشتر بخوانید: کتاب Agile Machine Learning with DataRobot
پیمایش در کتاب Designing Machine Learning Systems
فصلهای این کتاب به گونهای سازماندهی شدهاند که مشکلاتی را که دانشمندان داده در طول چرخه حیات یک پروژه ML با آنها پیش میروند، منعکس کنند. دو فصل اول کتاب Designing Machine Learning Systems، زمینه را برای تنظیم یک پروژه ML برای موفقیت فراهم میکند، از ابتداییترین سؤال شروع میشود: آیا پروژه شما به ML نیاز دارد؟
همچنین انتخاب اهداف پروژه شما و نحوه چارچوببندی مشکل خود را به گونهای پوشش میدهد که راه حلهای سادهتری ارائه دهد. اگر قبلاً با این ملاحظات آشنا هستید و برای رسیدن به راهحلهای فنی بیصبر هستید، از دو فصل اول صرفنظر کنید.
فصل ۴ تا ۶ کتاب Designing Machine Learning Systems، مرحله پیش از استقرار یک پروژه ML را پوشش میدهد: از ایجاد دادههای آموزشی و ویژگیهای مهندسی تا توسعه و ارزیابی مدلهای شما در یک محیط توسعه. این مرحلهای است که در آن تخصص در هر دو حوزه ML و مشکل به ویژه مورد نیاز است.
فصلهای ۷ تا ۹ کتاب Designing Machine Learning Systems، مرحله استقرار و پس از استقرار یک پروژه ML را پوشش میدهند. ما از طریق یک داستان یاد خواهیم گرفت که بسیاری از خوانندگان ممکن است بتوانند با این موضوع ارتباط برقرار کنند که استقرار یک مدل پایان فرآیند استقرار نیست. مدل مستقر شده نیاز به نظارت و به روزرسانی مداوم برای تغییر محیطها و الزامات تجاری دارد.
فصلهای ۳ و ۱۰ کتاب Designing Machine Learning Systems، بر زیرساختهای مورد نیاز برای فعال کردن ذینفعان با پیشینههای مختلف برای ارائه سیستمهای موفق ML تمرکز دارند. فصل ۳ بر سیستمهای داده تمرکز دارد، در حالی که فصل ۱۰ بر زیرساختهای محاسباتی و پلت فرمهای ML تمرکز دارد.
من برای مدت طولانی در مورد اینکه چقدر به سیستمهای داده عمیق برویم و کجا آن را در کتاب معرفی کنم بحث کردم. سیستمهای داده، از جمله پایگاههای داده، فرمتهای داده، جابجایی دادهها و موتورهای پردازش داده، معمولاً بهطور پراکنده در درسهای ML پوشش داده میشوند و بنابراین بسیاری از دانشمندان داده ممکن است آنها را سطح پایین یا نامربوط بدانند.
پس از مشورت با بسیاری از همکارانم، به این نتیجه رسیدم که چون سیستمهای ML به دادهها وابسته هستند، پوشش اولیه اصول سیستمهای داده به ما کمک میکند تا در ادامه کتاب به بحث در مورد موضوعات دادهای در یک صفحه بپردازیم.
در حالی که ما در کتاب Designing Machine Learning Systems بسیاری از جنبههای فنی یک سیستم ML را پوشش میدهیم، سیستمهای ML توسط افراد و برای مردم ساخته شدهاند و میتوانند تأثیر بزرگی بر زندگی بسیاری داشته باشند. نوشتن کتابی در مورد تولید ML بدون فصلی در مورد جنبه انسانی آن، که تمرکز فصل ۱۱ کتاب Designing Machine Learning Systems، فصل آخر است، بیخیال است.
توجه داشته باشید که «دانشمند داده» نقشی است که در چند سال اخیر بسیار تکامل یافته است، و بحثهای زیادی برای تعیین اینکه این نقش باید شامل چه مواردی باشد وجود داشته است – ما در فصل ۱۰ کتاب Designing Machine Learning Systems، به برخی از این بحثها خواهیم پرداخت.
در کتاب Designing Machine Learning Systems، ما از \”دانشمند داده\” به عنوان یک اصطلاح کلی استفاده میکنیم تا شامل هر کسی شود که در توسعه و استقرار مدلهای ML کار میکند، از جمله افرادی که عنوان شغلی آنها ممکن است مهندسان ML، مهندسان داده، تحلیلگران داده و غیره باشد.
سرفصلهای کتاب Designing Machine Learning Systems:
- Cover
- Copyright
- Table of Contents
- Preface
- Chapter 1. Overview of Machine Learning Systems
- Chapter 2. Introduction to Machine Learning Systems Design
- Chapter 3. Data Engineering Fundamentals
- Chapter 4. Training Data
- Chapter 5. Feature Engineering
- Chapter 6. Model Development and Offline Evaluation
- Chapter 7. Model Deployment and Prediction Service
- Chapter 8. Data Distribution Shifts and Monitoring
- Chapter 9. Continual Learning and Test in Production
- Chapter 10. Infrastructure and Tooling for MLOps
- Chapter 11. The Human Side of Machine Learning
- Epilogue
- Index
- About the Author
- Colophon
فایل کتاب Designing Machine Learning Systems را میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.