کتاب Scaling Machine Learning with Spark (مقیاسسازی یادگیری ماشینی با اسپارک: یادگیری ماشین توزیع شده با MLlib، TensorFlow و PyTorch) راهنمای کامل برای آموزش Machine Learning یا یادگیری ماشین با استفاده از ابزارهای Spark, PyTorch, MLlib و TensorFlow است.
در ادامه مقدمهای از کتاب Scaling Machine Learning with Spark را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Scaling Machine Learning with Spark:
به Scaling Machine Learning with Spark: Distributed ML with MLlib، TensorFlow و PyTorch خوش آمدید. هدف این کتاب این است که شما را در سفرتان راهنمایی کند تا در مورد سیستمهای یادگیری ماشینی (ML) بیشتر بدانید. آپاچی اسپارک در حال حاضر محبوبترین چارچوب برای پردازش داده در مقیاس بزرگ است.
دارای API های متعددی است که در پایتون، جاوا و اسکالا پیادهسازی شدهاند و توسط بسیاری از شرکتهای قدرتمند از جمله نتفلیکس، مایکروسافت و اپل استفاده میشود. PyTorch و TensorFlow از محبوبترین چارچوبها برای یادگیری ماشین هستند. ترکیب این ابزارها که امروزه در بسیاری از سازمانها مورد استفاده قرار میگیرند، به شما این امکان را میدهد که از نقاط قوت آنها نهایت استفاده را ببرید.
با این حال، قبل از شروع، شاید شما تعجب کنید که چرا تصمیم گرفتم این کتاب را بنویسم. سؤال خوبی بود. دو دلیل وجود دارد. اولین مورد حمایت از اکوسیستم و جامعه یادگیری ماشین با به اشتراک گذاشتن دانش، تجربه و تخصص است که در دهه گذشته به عنوان محقق الگوریتم یادگیری ماشین، طراحی و پیادهسازی الگوریتمهایی برای اجرا بر روی دادههای بزرگ جمعآوری کردهام.
من بیشتر دوران حرفه ای خود را صرف کار به عنوان مهندس زیرساخت داده، ساخت زیرساخت برای تجزیه و تحلیل در مقیاس بزرگ با انواع قالببندی، انواع، طرحوارهها و غیره، و ادغام دانش جمع آوری شده از مشتریان، اعضای جامعه و همکارانی که خود را به اشتراک گذاشته اند، گذرانده ام. تجربه در حین طوفان فکری و توسعه راه حلها. صنعت ما میتواند از چنین دانشی برای پیشبرد سریعتر خود با استفاده از تخصص دیگران استفاده کند. در حالی که تمام محتوای کتاب Scaling Machine Learning with Spark برای همه قابل اجرا نخواهد بود، بسیاری از آن رویکردهای جدیدی را برای طیف وسیعی از پزشکان باز میکند.
این من را به دومین دلیلم برای نوشتن کتاب Scaling Machine Learning with Spark میرساند: میخواهم رویکردی جامع برای ساخت راهحلهای یادگیری ماشینی مقیاسپذیر سرتاسر ارائه کنم که فراتر از رویکرد سنتی است. امروزه بسیاری از راه حلها با توجه به نیازهای خاص سازمان و اهداف تجاری خاص سفارشی میشوند.
این به احتمال زیاد برای سالهای آتی معمول صنعت خواهد بود. در کتاب Scaling Machine Learning with Spark، هدف من این است که وضعیت موجود را به چالش بکشم و راهحلهای خلاقانهتری را الهام بخشم، در حالی که مزایا و معایب رویکردها و ابزارهای متعدد را توضیح میدهم، و شما را قادر میسازم از هر ابزاری که در سازمانتان استفاده میشود استفاده کنید و بهترینها را از همه دنیا به دست آورید. هدف کلی من این است که همکاری و درک بهتر یکدیگر را برای متخصصان داده و یادگیری ماشین سادهتر کنم.
بیشتر بخوانید: کتاب Machine Learning Security Principles
چه کسی باید کتاب Scaling Machine Learning with Spark را بخواند؟
این کتاب برای متخصصان یادگیری ماشینی با تجربه قبلی در صنعت طراحی شده است که میخواهند در مورد MLlib Apache Spark بیاموزند و درک خود را از سیستم و جریان کلی افزایش دهند. این به ویژه برای دانشمندان داده و مهندسین یادگیری ماشین مرتبط خواهد بود، اما مهندسان MLOps، مهندسان نرم افزار، و هر کسی که علاقه مند به یادگیری یا ساخت مدلهای یادگیری ماشین توزیع شده و ساخت خطوط لوله با MLlib، PyTorch توزیع شده، و TensorFlow هستند نیز ارزش پیدا خواهند کرد. فنآورانی که مفاهیم سطح بالای کار با یادگیری ماشین را درک میکنند و میخواهند پای خود را در بخش فنی نیز فرو ببرند، باید کتاب را جالب و در دسترس بیابند.
آیا به یادگیری ماشینی توزیع شده نیاز دارید؟
مانند هر چیز خوب، بستگی دارد. اگر مجموعه دادههای کوچکی دارید که در حافظه دستگاه شما جای میگیرد، پاسخ منفی است. اگر در نقطهای باید کد خود را کوچک کنید و مطمئن شوید که میتوانید مدلی را روی مجموعه داده بزرگتری که در حافظه یک ماشین جا نمیشود آموزش دهید، بله.
اغلب بهتر است از ابزارهای مشابه در چرخه عمر توسعه نرمافزار، از محیط توسعه محلی گرفته تا مرحلهبندی و تولید، استفاده شود. با این حال، در نظر بگیرید که این همچنین پیچیدگیهای دیگری را در مدیریت یک سیستم توزیع شده معرفی میکند که معمولاً توسط تیم دیگری در سازمان شما مدیریت میشود. ایده خوبی است که یک زبان مشترک برای همکاری با همکاران خود داشته باشید.
همچنین، یکی از بزرگترین چالشهایی که امروزه افرادی که مدلهای یادگیری ماشین را ایجاد میکنند، انتقال آنها از توسعه محلی به سمت تولید است. بسیاری از ما با کد اسپاگتی گناه میکنیم که باید قابل تکرار باشد، اما اغلب چنین نیست و نگهداری و همکاری در آن سخت است. من به عنوان بخشی از بحث مدیریت چرخه حیات آزمایشات به آن موضوع خواهم پرداخت.
پیمایش در کتاب Scaling Machine Learning with Spark
این کتاب به گونه ای طراحی شده است که از اطلاعات پایه در چند فصل اول، شامل گردش کار یادگیری ماشین با استفاده از Apache Spark و PySpark و مدیریت چرخه زندگی آزمایش یادگیری ماشین با MLflow، تا پلتفرم یادگیری ماشین اختصاصی در فصلهای 7، 8، و 9. کتاب با نگاهی به الگوهای استقرار، استنتاج و نظارت بر مدلها در تولید به پایان میرسد. در اینجا خلاصه ای از آنچه در هر فصل خواهید یافت آورده شده است:
فصل 1، “اصطلاحات و مفاهیم یادگیری ماشین توزیع شده”
این فصل از کتاب Scaling Machine Learning with Spark، مقدمهای در سطح بالا برای یادگیری ماشین ارائه میدهد و اصطلاحات و مفاهیم مربوط به محاسبات توزیع شده و توپولوژیهای شبکه را پوشش میدهد. من شما را از طریق مفاهیم و اصطلاحات مختلف راهنمایی میکنم، بنابراین شما یک پایه قوی برای فصلهای بعدی دارید.
فصل 2، “مقدمه ای بر اسپارک و پای اسپارک”
هدف این فصل از کتاب Scaling Machine Learning with Spark، این است که شما را با Spark و کتابخانه Python آن، PySpark آشنا کند. ما در مورد اصطلاحات، انتزاعات نرم افزاری و موارد دیگر بحث خواهیم کرد.
فصل 3، “مدیریت چرخه زندگی آزمایش یادگیری ماشین با MLflow”
این فصل MLflow را معرفی میکند، پلتفرمی که مدیریت چرخه زندگی یادگیری ماشین را تسهیل میکند. ما در مورد اینکه آزمایش یادگیری ماشین چیست و چرا مدیریت چرخه عمر آن مهم است بحث خواهیم کرد، و اجزای مختلف MLflow را که این امکان را فراهم میکنند، بررسی خواهیم کرد.
فصل 4، “مصرف دادهها، پیش پردازش، و آمار توصیفی”
بعد، ما به کار با دادهها میپردازیم. در این فصل، من درباره نحوه استفاده از Spark برای جذب دادهها، انجام پیش پردازش اولیه (استفاده از فایلهای تصویری به عنوان مثال)، و دریافت حسی برای دادهها صحبت خواهم کرد. همچنین نحوه جلوگیری از به اصطلاح مشکل فایل های کوچک با فایل های تصویری را با استفاده از PySpark API پوشش خواهم داد.
فصل 5، “مهندسی ویژگی”
هنگامی که مراحل فصل قبل را انجام دادید، آماده هستید تا ویژگیهایی را که برای آموزش مدل یادگیری ماشین خود استفاده خواهید کرد، مهندسی کنید. این فصل به طور مفصل توضیح میدهد که مهندسی ویژگی چیست، انواع مختلف را پوشش میدهد و نحوه استفاده از عملکرد Spark برای استخراج ویژگیها را نشان میدهد. همچنین نحوه و زمان استفاده از applicationInPandas و pandas_udf را برای بهینه سازی عملکرد بررسی خواهیم کرد.
فصل 6، “مدلهای آموزشی با Spark MLlib”
این فصل از کتاب Scaling Machine Learning with Spark، شما را در کار با MLlib برای آموزش یک مدل، ارزیابی و ایجاد خط لوله برای بازتولید مدل و در نهایت تداوم آن روی دیسک راهنمایی میکند.
فصل 7، “پل زدن جرقه و چارچوبهای یادگیری عمیق”
این فصل از کتاب Scaling Machine Learning with Spark، نحوه ساخت یک سیستم داده برای ترکیب قدرت Spark با چارچوبهای یادگیری عمیق را توضیح میدهد. در مورد پل زدن Spark و خوشههای یادگیری عمیق بحث میکند و مقدمهای بر Petastorm، Horovod و پروژه Hydrogen ابتکاری Spark ارائه میکند.
فصل 8، “رویکرد یادگیری ماشینی توزیع شده تنسورفلو”
در اینجا، من شما را از طریق یک مثال گام به گام از کار با TensorFlow توزیعشده – بهویژه tf.keras- در حین استفاده از پیشپردازشهایی که با Spark انجام دادهاید، راهنمایی میکنم. همچنین در مورد الگوهای مختلف TensorFlow برای مقیاسبندی یادگیری ماشین و معماریهای مؤلفهای که از آن پشتیبانی میکنند، یاد خواهید گرفت.
فصل 9، “رویکرد یادگیری ماشینی توزیع شده PyTorch”
این فصل از کتاب Scaling Machine Learning with Spark، رویکرد PyTorch را برای مقیاسبندی یادگیری ماشین، از جمله معماری داخلی آن، پوشش میدهد. ما یک مثال گام به گام از کار با PyTorch توزیع شده را در حین استفاده از پیش پردازشی که در فصلهای قبلی با Spark انجام دادید، مرور خواهیم کرد.
فصل 10، “الگوهای استقرار برای مدلهای یادگیری ماشین”
در این فصل از کتاب Scaling Machine Learning with Spark، من الگوهای مختلف استقرار در دسترس ما را ارائه میدهم، از جمله استنتاج دستهای و جریانی با Spark و MLflow، و مثالهایی از استفاده از عملکرد pyfunc در MLflow ارائه میدهم که به ما امکان میدهد تقریباً هر مدل یادگیری ماشینی را مستقر کنیم. این فصل همچنین نظارت و اجرای یک سیستم یادگیری ماشین تولید را در فازها پوشش میدهد.
سرفصلهای کتاب Scaling Machine Learning with Spark:
- Preface
- 1. Distributed Machine Learning Terminology and Concepts
- 2. Introduction to Spark and PySpark
- 3. Managing the Machine Learning Experiment Lifecycle with MLflow
- 4. Data Ingestion, Preprocessing, and Descriptive Statistics
- 5. Feature Engineering
- 6. Training Models with Spark MLlib
- 7. Bridging Spark and Deep Learning Frameworks
- 8. TensorFlow Distributed Machine Learning Approach
- 9. PyTorch Distributed Machine Learning Approach
- 10. Deployment Patterns for Machine Learning Models
- Index
جهت دانلود کتاب Scaling Machine Learning with Spark میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.