کتاب Deep Learning at Scale: At the Intersection of Hardware, Software, and Data (یادگیری عمیق در مقیاس: در تقاطع سختافزار، نرمافزار و داده) مفاهیم پیچیده یادگیری عمیق کامل پشته را به تصویر میکشد و آنها را از طریق تمرینهای عملی تقویت میکند تا شما را با ابزارها و تکنیکهایی برای مقیاسبندی پروژه خود مسلح کند.
در ادامه مقدمهای از کتاب Deep Learning at Scale را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Deep Learning at Scale:
من کار حرفهای خود را به عنوان یک مهندس نرمافزار شروع کردم. در طول مدتی که در آن نقش بودم، عمیقاً به اجرای نرمافزارها و سیستمها در مقیاس بزرگ علاقهمند شدم. من چیزهای زیادی در مورد سیستمهای توزیع شده، عملکرد، بهینهسازیها و اجرای قابل اعتماد آنها در مقیاس یاد گرفتم.
متعاقباً، من نقشهای بسیاری دیگر را انجام دادم، از ساختن سیستمها در تقاطع نرمافزار و عملیات (DevOps) و سیستمهای کمکی برای فعال کردن نرمافزارهای هوشمند (MLOps)، تا اجرای استنتاج یادگیری عمیق در مقیاس و توسعه موتورهای داده برای یادگیری عمیق.
مهندسی یادگیری ماشین)، برای توسعه مدلهای چندوظیفهای و چندهدفه برای عملکردهای حیاتی مانند مراقبتهای بهداشتی و گردشهای کاری تصمیمگیری تجاری به عنوان دانشمند داده و متخصص یادگیری ماشین.
از آنجایی که من درگیر ساختن سیستمهای هوشمند شدهام، یادگیری عمیق بخش بزرگی از کاری است که امروز انجام میدهم. پذیرش گسترده سیستمهای هوشمند مبتنی بر یادگیری عمیق (AI) به دلیل توانایی آن در حل مشکلات در مقیاس با کارایی است.
با این حال، ساختن چنین سیستمهایی پیچیده است، زیرا یادگیری عمیق فقط در مورد الگوریتمها و ریاضیات نیست. بسیاری از پیچیدگیها در تقاطع سختافزار، نرمافزار، دادهها و یادگیری عمیق (به طور خاص الگوریتمها و تکنیکها) نهفته است.
من خودم را خوشبخت میدانم که در یک سری نقشها تجربه کسب کردم که مرا وادار کرد به سرعت درک دقیقی از ساخت و مدیریت سیستمهای هوش مصنوعی مبتنی بر یادگیری عمیق در مقیاس ایجاد کنم.
دانشی که به دلیل فرصتهایی که به من ارائه میشود به راحتی در دسترس نیست و مصرف میشود، زیرا هر یک از این حوزهها – سختافزار، نرمافزار و دادهها – به اندازه خود یادگیری عمیق پیچیده هستند.
انگیزه اصلی این کتاب، دموکراتیک کردن این دانش است تا هر متخصص یادگیری ماشینی، چه مهندس یا غیر، بتواند در چشم انداز یادگیری عمیق حرکت کند. من همیشه احساس میکردم که این دانش تا حدودی تکهتکه است، و فرصتی را دیدم که آن را جمعآوری کنم تا یک پایگاه دانش منسجم ایجاد کنم.
این پایگاه دانش یکپارچه راهنماییهای نظری و عملی را برای توسعه دانش مهندسی یادگیری عمیق ارائه میدهد تا بتوانید به راحتی حجم کاری یادگیری عمیق خود را بدون نیاز به اکتشافات زیادی که من انجام دادم، کاهش دهید.
چرا مقیاسبندی مهم است؟
یادگیری عمیق و مقیاسبندی با هم مرتبط هستند. یادگیری عمیق میتواند اهداف شما را از تک کار به چند کار، از یک حالت به چندوجه، از یک کلاس به هزاران کلاس مقیاسبندی کند.
هر چیزی امکانپذیر است، به شرطی که سختافزار مقیاسپذیر و حجم زیادی از دادهها و نرمافزار نوشتن داشته باشید که میتواند به طور مؤثر مقیاس را برای استفاده از همه منابع در دسترس شما داشته باشد.
مقیاسبندی پیچیده است و بنابراین رایگان نیست. توسعه یک سیستم مبتنی بر یادگیری عمیق نیازمند تعداد زیادی لایه، حجم زیادی از دادهها و سختافزاری است که قادر به مدیریت بارهای کاری فشرده محاسباتی باشد.
مقیاسبندی مستلزم درک انعطافپذیری کل سیستم شما – نه فقط مدل بلکه کل پشته یادگیری عمیق شما – و انطباق با موقعیتهایی است که کشش به نقطه شکست نزدیک میشود.
انگیزه ثانویه این کتاب در اینجا نهفته است:
به شما امکان میدهد درک عمیقتری از سیستم خود و زمانی که ممکن است خراب شود و اینکه چگونه میتوانید از وقفههای غیرضروری جلوگیری کنید به دستآورید.
کتاب Deep Learning at Scale برای چه کسی است:
هدف این کتاب این است که به شما کمک کند تا دانش عمیقتری در مورد پشته یادگیری عمیق ایجاد کنید – به طور خاص، نحوه رابط یادگیری عمیق با سختافزار، نرمافزار و دادهها.
هنگامی که میخواهید مدل یادگیری عمیق خود را مقیاس کنید، چه با گسترش منابع سختافزاری یا با افزودن حجم بیشتری از داده یا افزایش ظرفیت خود مدل، به عنوان یک منبع ارزشمند عمل میکند.
راندمان بخش کلیدی هر عملیات مقیاسبندی است. به همین دلیل، توجه به کارایی در سراسر کتاب گنجانده شده است تا دانش و منابعی را که برای مقیاسبندی مؤثر نیاز دارید در اختیار شما قرار دهد.
کتاب Deep Learning at Scale برای تمرینکنندگان یادگیری ماشینی از همه اقشار نوشته شده است: مهندسان، مهندسان داده، MLOps، دانشمندان یادگیری عمیق، مهندسان یادگیری ماشین، و سایرین علاقهمند به یادگیری در مورد توسعه مدل در مقیاس.
فرض بر این است که خواننده در حال حاضر دانش اساسی در مورد مفاهیم یادگیری عمیق مانند بهینه سازها، اهداف یادگیری و توابع از دست دادن، و مونتاژ و تدوین مدل، و همچنین مقداری تجربه با توسعه مدل دارد. آشنایی با Python و PyTorch نیز برای بخشهای کاربردی کتاب ضروری است.
با توجه به پیچیدگی و وسعت، کتاب Deep Learning at Scale در درجه اول بر توسعه و آموزش مدلسازی با تمرکز گسترده بر آموزش توزیع شده تمرکز دارد.
در حالی که چند فصل اول کتاب Deep Learning at Scale، ممکن است برای موارد استفاده از استقرار و استنتاج مفید باشد، استنتاج مقیاسبندی فراتر از محدوده این کتاب است. موضوعاتی که به آنها خواهیم پرداخت شامل:
- چگونه مدل شما به یک نمودار محاسباتی تجزیه میشود و چگونه دادههای شما در طول فرآیند آموزش از طریق این نمودار جریان مییابد.
- داستان کمتر گفته شده اما زیبا از اعداد ممیز شناور و اینکه چگونه میتوان از این بوزونهای یادگیری عمیق هیگز برای دستیابی به کارایی حافظه استفاده کرد.
- چگونه محاسبات تسریع شده آموزش شما را سرعت میبخشد و چگونه میتوانید از منابع سخت افزاری در اختیارتان به بهترین شکل استفاده کنید.
- نحوه آموزش مدل خود با استفاده از پارادایمهای آموزشی توزیع شده (به عنوان مثال دادهها، مدل، خط لوله و موازیسازی چند بعدی ترکیبی). همچنین با یادگیری فدرال و چالشهای آن آشنا خواهید شد.
- چگونه از اکوسیستم PyTorch در ارتباط با کتابخانههای NVIDIA و Triton برای مقیاسبندی آموزش مدل خود استفاده کنید.
- اشکال زدایی، نظارت و بررسی تنگناهایی که به طور نامطلوبی سرعت آموزش مدل را کاهش میدهند.
- چگونه چرخه عمر آموزش را تسریع کنیم و حلقه بازخورد خود را برای تکرار توسعه مدل و بهترین شیوههای مرتبط ساده کنیم.
- مجموعهای از ترفندها و تکنیکهای داده و نحوه بکارگیری آنها برای مقیاسبندی آموزش شما بر منابع محدود.
- چگونه ابزارها و تکنیکهای مناسب را برای پروژه یادگیری عمیق خود انتخاب کنید.
- گزینههایی برای مدیریت زیرساخت محاسباتی هنگام اجرا در مقیاس.
کتاب Deep Learning at Scale چگونه سازماندهی شده است؟
این کتاب شامل یک فصل مقدماتی است که به دنبال آن دهها فصل به سه بخش تقسیم میشود که مفاهیم پایه، آموزش توزیعشده و مقیاسبندی شدید را پوشش میدهد.
هر فصل کتاب Deep Learning at Scale، بر پایه مفاهیم، مبانی و اصول فصلهای قبل استوار است تا دانشی جامع از یادگیری عمیق ارائه دهد که باعث کاهش کارآمد و مؤثر حجم کار آموزشی میشود.
معرفی کتاب Deep Learning at Scale
فصل 1، «آنچه طبیعت و تاریخ در مورد مقیاس به ما آموخته است»، چارچوب نظری را برای تصمیمگیری در مورد زمان مقیاسبندی تعیین میکند و چالشهای سطح بالایی را که در کاهش مقیاس وجود دارد بررسی میکند.
در این فصل از کتاب Deep Learning at Scale، همچنین در مورد تاریخچه یادگیری عمیق و اینکه چگونه مقیاس بندی عامل اصلی موفقیت آن بوده است، خواهید خواند.
بخش اول: مفاهیم بنیادی یادگیری عمیق
فصل 2، «یادگیری عمیق»، یادگیری عمیق را از طریق دریچه نمودارهای محاسباتی و جریان داده معرفی میکند. تمرینکنندگان یادگیری ماشینی در مراحل اولیه ممکن است این فصل را مفید بدانند زیرا عملکرد درونی یادگیری عمیق را از طریق تمرینهای پایتون خالص و بدون حاشیه توضیح میدهد. شاغلین با تجربه تر یادگیری عمیق ممکن است این فصل را نادیده بگیرند.
فصل 3، «سمت محاسباتی یادگیری عمیق»، به درونیات محاسبات الکترونیکی و سختافزار میپردازد و چگونگی دستیابی و مقیاسبندی قابلیتهای محاسباتی را بررسی میکند.
همچنین بینشهای دقیقی در مورد انواع سختافزارهای تسریعشده موجود امروزی ارائه میکند تا شما را با دانش لازم برای انتخاب مناسبترین سختافزار برای پروژه خود مسلح کند.
فصل 4، «همکاری: یادگیری عمیق کارآمد»، دانش بنیادی یادگیری عمیق را گرد هم میآورد تا راهنماییهای عملیتری درباره نحوه ساختن یک سیستم هوشمند کارآمد و مؤثر برای کارتان و نحوه اندازهگیری و نظارت بر آن ارائه دهد.
در این فصل از کتاب Deep Learning at Scale، شما همچنین با گردآوری گراف و یک سری ترفندهای حافظه آشنا خواهید شد تا دانش ساخت یک پشته کارآمد را در اختیار شما قرار دهد.
بخش دوم: آموزش توزیع شده
فصل 5، «سیستمها و ارتباطات توزیعشده»، پایههای سیستمهای توزیعشده را معرفی میکند و بینشهای دقیقی درباره انواع مختلف و چالشهای مرتبط با هر یک ارائه میدهد. ارتباطات یک جنبه حیاتی از سیستمهای توزیع شده است که در این فصل از طریق دریچه یادگیری عمیق توضیح داده شده است.
این فصل از کتاب Deep Learning at Scale، همچنین بینشهایی درباره گزینهها و ابزارهایی ارائه میدهد که میتوان از آنها برای کوچک کردن منابع سختافزاری برای دستیابی به محاسبات توزیعشده استفاده کرد، همراه با معنای این امر برای سختافزار با شتاب.
فصل 6، «مبانی نظری یادگیری عمیق توزیع شده»، فصل 5 را گسترش میدهد تا دانش نظری و بنیادی در مورد یادگیری عمیق توزیع شده ارائه دهد. در این فصل از کتاب Deep Learning at Scale، شما با انواع تکنیکهای آموزشی یادگیری عمیق توزیع شده و چارچوبی برای انتخاب یکی آشنا خواهید شد.
فصل 7، «موازیسازی دادهها»، به جزئیات موازیسازی دادههای توزیعشده میپردازد و مجموعهای از تمرینهای عملی را ارائه میکند که این تکنیکها را نشان میدهد.
فصل 8، «مقیاسسازی فراتر از موازیسازی دادهها: مدل، خط لوله، تانسور، و موازیسازی ترکیبی»، دانش اساسی و عملی در مورد آموزش مدل مقیاسگذاری فراتر از موازی دادهها ارائه میکند.
در این فصل از کتاب Deep Learning at Scale، شما با مدل، خط لوله و موازیسازی ترکیبی چند بعدی آشنا خواهید شد و چالشها و محدودیتهای هر یک از این تکنیکها را از طریق تمرینهای عملی تجربه خواهید کرد.
فصل 9، «بهدست آوردن تخصص عملی با مقیاسبندی در همه ابعاد»، تمام آموختههای قسمت دوم را گرد هم میآورد تا دانش و بینشهایی درباره نحوه تحقق موازیسازی چند بعدی به شیوهای مؤثرتر ارائه دهد.
بخش سوم: پیمایش شدید
فصل 10، «مقیاسسازی دادهمحور»، دیدگاهی دادهمحور ارائه میکند و اطلاعات ارزشمندی در مورد تکنیکهای مختلف برای به حداکثر رساندن سود از دادههایتان ارائه میدهد.
این فصل از کتاب Deep Learning at Scale، همچنین بینشهای مفیدی در مورد چگونگی دستیابی به کارایی در خطوط لوله داده خود از طریق تکنیکهای نمونه گیری و انتخاب ارائه میدهد.
فصل 11، «مقیاسسازی آزمایشها: برنامهریزی و مدیریت مؤثر»، بر مقیاسبندی آزمایشها تمرکز دارد و بینشهایی درباره برنامهریزی و مدیریت آزمایش ارائه میکند.
این فصل از کتاب Deep Learning at Scale، اطلاعات مفیدی را برای زمانی که در حال انجام آزمایشهای متعدد هستید و میخواهید شانس خود را برای یافتن بهترین مدل به حداکثر برسانید، ارائه میکند. تکنیکهایی مانند تنظیم دقیق، ترکیبی از متخصصان (MoE)، یادگیری متضاد و غیره را پوشش میدهد.
فصل ۱۲، «تنظیم دقیق مدلهای بزرگ»، تنظیم دقیق مدلهای بزرگ را با یک مثال عملی بررسی میکند.
فصل 13، «مدلهای بنیاد»، چارچوب مفهومی مدلهای پایه را ارائه میکند و خلاصهای از این چشمانداز در حال تحول را ارائه میدهد.
آنچه برای استفاده از کتاب Deep Learning at Scale نیاز دارید:
برای اجرای نمونه کدهای این کتاب، به یک دستگاه کار با حداقل CPU 16 هسته ای و 16 گیگابایت (در حالت ایده آل 32 گیگابایت) رم نیاز دارید.
بیشتر تمرینهای قسمت دوم کتاب Deep Learning at Scale، از سختافزار تسریعشده استفاده میکنند، بنابراین دسترسی به سیستمی با بیش از یک پردازنده گرافیکی (در حالت ایدهآل NVIDIA) برای برخی از تمرینها مورد نیاز است.
اکثر تمرینها به روشی پلتفرم-آگنوستیک نوشته شدهاند و یک Dockerfile با فهرستی از وابستگیهای زمان اجرا مورد نیاز برای اجرای تمرینها ارائه شده است.
سرفصلهای کتاب Deep Learning at Scale:
- Preface
- 1. What Nature and History Have Taught Us About Scale
- I. Foundational Concepts of Deep Learning
- 2. Deep Learning
- 3. The Computational Side of Deep Learning
- 4. Putting It All Together: Efficient Deep Learning
- II. Distributed Training
- 5. Distributed Systems and Communications
- 6. Theoretical Foundations of Distributed Deep Learning
- 7. Data Parallelism
- 8. Scaling Beyond Data Parallelism: Model, Pipeline, Tensor, and Hybrid Parallelism
- 9. Gaining Practical Expertise with Scaling Across All Dimensions
- III. Extreme Scaling
- 10. Data-Centric Scaling
- 11. Scaling Experiments: Effective Planning and Management
- 12. Efficient Fine-Tuning of Large Models
- 13. Foundation Models
- Index
- About the Author
جهت دانلود کتاب Deep Learning at Scale میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.