یادگیری ماشین در مقیاس: چرا Pyspark Mllib هنوز در سال 2025 برنده می شود


نویسنده (ها): یووال مهتا

در ابتدا منتشر شده در به سمت هوش مصنوعیبشر

یادگیری ماشین در مقیاس: چرا Pyspark Mllib هنوز در سال 2025 برنده می شود
عکس توسط کوین کو در بی تظاهر کردن

یادگیری ماشین ممکن است هنگام تنظیم مدل ها روی Kaggle ، پر زرق و برق باشد مجموعه داده ها یا نسخه ی نمایشی GPT. اما در تولید؟ این یک آسیاب است

شما فقط در حال ساختن یک مدل نیستید. شما در حال ساختن یک سیستم هستید ، که داده های فیلتر نشده ای را از کاربران واقعی به خود اختصاص می دهد ، آن را در گره های توزیع شده تغییر می دهد ، مدلی را آموزش می دهد که در اواسط اجرا نمی شود و پیش بینی ها را به صورت روزانه یا حتی ساعتی فشار می دهد. و این جایی است که Pyspark Mllib می درخشد ، نه به عنوان یک ابزار مدل سازی بلکه به عنوان زیرساخت.

Mllib در سال 2025: نه فقط زنده مانده ، هنوز هم مقیاس

pyspark mllib چشمگیر نیست. این به شما هر معماری مدرن یا ترفند گروه خونریزی را به شما نمی دهد. اما هنوز هم 90 ٪ شرکت را کنترل می کند یادگیری ماشین در واقع به نظر می رسد: مجموعه داده های عظیم ، آموزش قابل تکرار کارخطوط لوله سازگار و مقیاس بدون بهانه.

خط لوله های Mllib که مستقیماً روی موتور جرقه ساخته شده است:

  • قاب داده APIS (نه RDDS دیگر) ،
  • تحولات اعلانی در اطراف گره ها ،
  • حافظه خودکار و مدیریت پارتیشنوت
  • ابزارهای تنظیم و ارزیابی مدل داخلیبشر

همه این موارد به طور بومی روی خوشه های توزیع شده اجرا می شود. بدون بسته بندی بدون هک فقط زیرساخت هایی که برای یک دهه آزمایش شده است.

تصویر تولید شده توسط دستمال Ai

خطوط لوله محصول هستند

یک ثانیه مدل را فراموش کنید.

آنچه شما واقعاً در تولید می خواهید یک است خط لولهبشر چیزی که قابل اعتماد است:

  • 100 متر+ ردیف داده های خام ،
  • برجسته ، رمزگذاری ، مقیاس و به آنها می پیوندد ،
  • مدل ها را به روشی توزیع شده آموزش می دهد ، و
  • پیش بینی های خروجی بدون تجزیه بیش از حد ، مقیاس یا زمان.

این محصول است. وزن مدل نیست. نه اعتبار سنجی AUC. خط لوله پایان به انتها.

خطوط لوله Mllib به شما اجازه می دهد تا کل جریان را اعلام کنید. هر مرحله ، از StringIndexer به LogisticRegressionیک مرحله می شود. این مراحل در مقیاس متناسب ، تبدیل و ارزیابی می شود ، بدون اینکه شما را مجبور به دستکاری در هر قسمت کند. مهمتر از همه ، آنها قابل استفاده مجدد ، ذخیره و قابل استفادهبشر بدون کپی کردن از نوت بوک به برنامه ریزان کار.

چرا مقیاس ذهنیت متفاوتی را می طلبد

در اینجا چیزی است که اکثر تیم ها هنگام حرکت از Scikit-Learn به Mllib اشتباه می کنند:

آنها مقیاس را به عنوان یک مشکل سخت افزاری درمان می کنند ، نه یک مشکل سیستم.

اما وقتی از رکورد 100K به 100 میلیون حرکت می کنید ، همه چیز تغییر می کند:

  • پیوستن در حافظه.
  • collect() رانندگان Crash را صدا می کند.
  • شما نمی توانید خطوط را در عملکردهای دست ساز ردیابی کنید.
  • ناسازگاری های ویژگی ، ناسازگاری و خط لوله قابلیت تکرارپذیری را از بین می برد.

Mllib شما را مجبور می کند که متفاوت فکر کنید. پاداش خط لوله اعلامیبا تعاریف طرحواره سازگاروت کاسه ویژگی تمیزبشر نه به این دلیل که عقیده است ، بلکه به این دلیل است که می داند وقتی سیستم ها بزرگ می شوند چه اتفاقی می افتد.

2025 به روزرسانی هایی که در واقع مهم هستند

جرقه بی سر و صدا و هوشمندانه در حال تکامل بوده است. اگر در طی چند سال ملیب را لمس نکرده اید ، در اینجا آنچه جدید و ارزشمند است ذکر شده است:

API فقط DataFrame یکپارچه

MLLIB قدیمی مبتنی بر RDD طولانی است. اکنون همه چیز بر روی بهینه ساز کاتالیزور SQL SQL ساخته شده است ، به این معنی که تحولات هستند سریعتر ، ایمن تر و آگاهی از حافظهبشر

اعدام پرس و جو تطبیقی (AQE)

Spark 3.5+ خط لوله شما را بهینه می کند در زمان اجرابشر این می تواند استراتژی های پیوستن ، پارتیشن های تعادل را تغییر داده و بر اساس ویژگی های واقعی داده ها با SKEW سازگار شود ، نه فقط آنچه تصور می کنید.

پشتیبانی پانداس UDF

بله ، اکنون می توانید بنویسید پاندا UDF ها در خط لوله شما این بدان معناست که می توانید منطق سفارشی را بدون تسلیم شدن در اعدام توزیع شده وصل کنید. یک میانه نادر و خوش آمدید بین سهولت و مقیاس.

شتاب GPU

با DeepspeedTorchDistributor و ادغام مجری متحد ، Mllib اکنون از آموزش در GPU های توزیع شدهبشر این امر بدون بازنویسی خطوط لوله ، پیکتورچ را به گردش کار جرقه می رساند.

یک مورد استفاده که به سختی برخورد می کند: پیش بینی churn برای 50 متر مشتری

بیایید بتن ، بدون کد ، فقط زمینه را بدست آوریم.

شما در یک telco کار می کنید. شما دارید:

  • سیاهههای مربوط به استفاده روزانه (1TB+) ،
  • خلاصه چت پشتیبانی مشتری (نیمه ساختار یافته) ،
  • اطلاعات اشتراک و صورتحساب (رابطه) ،
  • و الگویی برای پیش بینی مشتری قبل از وقوع آن.

آنچه Mllib به شما می دهد:

  • خط لوله برای رمزگذاری تمام متغیرهای طبقه بندی شده خود در بین میلیون ها کاربر ،
  • مجامع بردار برای ردیابی ویژگی ها ،
  • متقاطع برای آزمایش چندگانه regParam وت elasticNetParam ارزش ها ، توزیع شدهبا
  • و یک فینال .fit() این فقط به پایان نمی رسد ، بلکه بدون منفجر کردن حافظه شما این کار را انجام می دهد.

خط لوله شما روزانه اجرا می شود. این برگه خودکار است. هر مرحله را ثبت می کند. و از آنجا که به عنوان یک شیء Mllib ذخیره می شود ، می تواند فردا بارگیری شود ، هفته آینده بازآفرینی شود و از طریق MLFlow یا کارهای دسته ای سفارشی سرو شود.

این علمی تخیلی نیست. این کاری است که شرکت ها هر روز انجام می دهند ، با Mllib در زیر کاپوت.

آنچه Mllib نیست (و این اشکالی ندارد)

برای روشن شدن ، Mllib کامل نیست.

  • ندارد catBoost یا lightgbmبشر
  • شما شبکه های عصبی برش پیدا نخواهید کرد.
  • نوشتن حلقه های آموزش سفارشی سخت تر است.
  • فعل آن می تواند برای نمونه سازی آزار دهنده باشد.

اما این قیمتی است که برای مقیاس پرداخت می کنید. Mllib در مورد براق نیست. این در مورد ثبات است. اگر به ترانسفورماتورها ، تعبیه های تنظیم شده ریز یا تعمیم صفر نیاز دارید ، از چهره بغل کردن استفاده کنید.

اما اگر سیستم ML شما باید میلیاردها ردیف را اداره کند ، بدون شکست اجرا شود و مستقیماً با دریاچه داده خود ادغام شود ، ملیب هنوز بی نظیر است.

تنظیم خوب نیست-لازم است

بیشتر تیم هایی که از Mllib شکایت می کنند “کم تحرک” این قسمت را رد کردند.

Mllib با بومی همراه است CrossValidator وت TrainValidationSplitبشر از آنها استفاده کنید

شبکه های پارام را تنظیم کنید. بگذارید جرقه به صورت موازی و ارزیابی چندین مدل. مطمئناً ، زمان لازم است اما شما را از حمل یک مدل شکننده که در نوت بوک شما عالی عمل می کند ، نجات می دهد و در طبیعت شکست می خورد.

Mllib همچنین از ارزیابی مدل با:

  • BinaryClassificationEvaluator
  • MulticlassClassificationEvaluator
  • RegressionEvaluator

این ارزیابان معیارها را محاسبه می کنند توزیع، بدون نیاز به پیش بینی ها به یک گره واحد.

در مقیاس ، این بقا است.

چه موقع از mllib استفاده کنید (و چه موقع نیست)

📈 از mllib استفاده کنید:

  • مجموعه داده شما در حافظه جای نمی گیرد
  • شما می خواهید قابلیت تکرار خط لوله کامل را داشته باشید
  • شما به هر حال با جرقه کار می کنید (اتی + مدل سازی)
  • شما به آموزش و اعتبارسنجی در سطح خوشه نیاز دارید
  • تحمل گسل و ارکستراسیون شغلی

🧪 از mllib استفاده نکنید:

  • شما به معماری لبه خونریزی نیاز دارید
  • داده های شما کوچک و سریع است
  • شما در حال استفاده از میکروسرویس یا مدل های تنظیم شده خوب با منطق استنتاج سفارشی هستید

Mllib همیشه بهترین مناسب نیست. اما وقتی متناسب باشد ، مانند زیرساخت ها متناسب است.

تصویر تولید شده توسط دستمال Ai

Mllib آینده ML نیست – این پایه و اساس است

ابزارها می آیند و می روند. API های مدل تکامل می یابند. اما خطوط لوله؟ خطوط لوله بمانند.

و Pyspark Mllib یک ساختار خط لوله ای را به شما می دهد تا در طول نسخه ها ، در سراسر تیمی ، در بین داده های داده و قطع تولید ساخته شود.

پر زرق و برق نیست. این پخته نشده است. اما هنگامی که ساعت 2 صبح در تماس هستید ، سعی می کنید بفهمید که چرا مدل Churn شما پس از تغییر طرحواره شکسته شد ، جریان اعلامیه ، قابل آزمایش و قابل ردیابی Mllib مانند هوشمندانه ترین تصمیمی که در تمام سال گرفته اید احساس می کند.

📚 منابع برای مهندس مدرن Mllib

منتشر شده از طریق به سمت هوش مصنوعی



منبع: https://towardsai.net/p/artificial-intelligence/machine-learning-at-scale-why-pyspark-mllib-still-wins-in-2025

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *