MLOps عملی است برای استفاده از روشهای DevOps برای کمک به خودکارسازی، مدیریت و ممیزی گردشهای کاری یادگیری ماشین (ML). گردش کار ML شامل مراحل زیر است:
- داده ها را آماده، تجزیه و تحلیل و تبدیل کنید.
- یک مدل را آموزش دهید و ارزیابی کنید.
- استفاده از مدل های آموزش دیده در تولید
- مصنوعات ML را ردیابی کنید و وابستگی آنها را درک کنید.
مدیریت این مراحل به صورت موقت می تواند دشوار و زمان بر باشد.
TFX با ارائه یک جعبه ابزار که به شما کمک می کند فرآیند ML خود را بر روی ارکسترهای مختلف، مانند: Apache Airflow، Apache Beam و Kubeflow Pipelines هماهنگ کنید، پیاده سازی MLOps را آسان تر می کند. با پیاده سازی گردش کار خود به عنوان خط لوله TFX، می توانید:
- فرآیند ML خود را خودکار کنید، که به شما امکان می دهد به طور منظم مدل خود را بازآموزی، ارزیابی و استقرار دهید.
- از منابع محاسباتی توزیع شده برای پردازش مجموعه داده های بزرگ و حجم کاری استفاده کنید.
- سرعت آزمایش را با اجرای یک خط لوله با مجموعه های مختلف فراپارامترها افزایش دهید.
این راهنما مفاهیم اصلی مورد نیاز برای درک خطوط لوله TFX را شرح می دهد.
غیرواقعی، ساختگی
خروجی مراحل در خط لوله TFX مصنوع نامیده می شود. مراحل بعدی در گردش کار شما ممکن است از این مصنوعات به عنوان ورودی استفاده کند. به این ترتیب، TFX به شما امکان می دهد داده ها را بین مراحل گردش کار انتقال دهید.
به عنوان مثال، مؤلفه استاندارد ExampleGen
نمونه های سریالی را منتشر می کند، که مؤلفه هایی مانند مؤلفه استاندارد StatisticsGen
از آنها به عنوان ورودی استفاده می کنند.
مصنوعات باید به شدت با نوع مصنوع ثبت شده در فروشگاه ML Metadata تایپ شوند. درباره مفاهیم مورد استفاده در فراداده ML بیشتر بیاموزید.
انواع مصنوعات یک نام دارند و طرحی از ویژگی های آن را تعریف می کنند. نام نوع مصنوع باید در فروشگاه فراداده ML شما منحصر به فرد باشد. TFX چندین نوع مصنوع استاندارد را ارائه می دهد که انواع داده ها و انواع مقادیر پیچیده را توصیف می کند، مانند: رشته، عدد صحیح و شناور. می توانید از این نوع مصنوعات دوباره استفاده کنید یا انواع مصنوعات سفارشی را که از Artifact
مشتق شده اند تعریف کنید.
پارامتر
پارامترها ورودی خطوط لوله هستند که قبل از اجرای خط لوله شما شناخته شده اند. پارامترها به شما امکان می دهند رفتار خط لوله یا بخشی از خط لوله را از طریق پیکربندی به جای کد تغییر دهید.
برای مثال، میتوانید از پارامترها برای اجرای یک خط لوله با مجموعههای مختلف فراپارامترها بدون تغییر کد خط لوله استفاده کنید.
استفاده از پارامترها به شما امکان می دهد سرعت آزمایش را با تسهیل اجرای خط لوله خود با مجموعه پارامترهای مختلف افزایش دهید.
درباره کلاس RuntimeParameter بیشتر بدانید.
جزء
یک کامپوننت اجرای یک وظیفه ML است که می توانید از آن به عنوان یک مرحله در خط لوله TFX خود استفاده کنید. اجزای تشکیل شده از:
- مشخصات کامپوننت، که مصنوعات ورودی و خروجی کامپوننت و پارامترهای مورد نیاز جزء را تعریف می کند.
- یک مجری، که کد را برای انجام مرحله ای در گردش کار ML شما، مانند دریافت و تبدیل داده ها یا آموزش و ارزیابی یک مدل، پیاده سازی می کند.
- یک رابط مؤلفه، که مشخصات مؤلفه و اجراکننده را برای استفاده در خط لوله بسته بندی می کند.
TFX چندین مؤلفه استاندارد ارائه می دهد که می توانید در خطوط لوله خود از آنها استفاده کنید. اگر این کامپوننت ها نیازهای شما را برآورده نمی کنند، می توانید اجزای سفارشی بسازید. درباره اجزای سفارشی بیشتر بیاموزید .
خط لوله
خط لوله TFX یک پیاده سازی قابل حمل از یک گردش کار ML است که می تواند بر روی ارکسترهای مختلف اجرا شود، مانند: Apache Airflow، Apache Beam و Kubeflow Pipelines. خط لوله از نمونه های جزء و پارامترهای ورودی تشکیل شده است.
نمونه های کامپوننت، مصنوعات را به عنوان خروجی تولید می کنند و معمولاً به مصنوعات تولید شده توسط نمونه های جزء بالادستی به عنوان ورودی بستگی دارند. دنباله اجرا برای نمونه های جزء با ایجاد یک نمودار غیر چرخه ای جهت دار از وابستگی های مصنوع تعیین می شود.
به عنوان مثال، خط لوله ای را در نظر بگیرید که موارد زیر را انجام می دهد:
- داده ها را مستقیماً از یک سیستم اختصاصی با استفاده از یک جزء سفارشی دریافت می کند.
- با استفاده از مؤلفه استاندارد StatisticsGen، آمار را برای داده های آموزشی محاسبه می کند.
- یک طرح داده با استفاده از مؤلفه استاندارد SchemaGen ایجاد می کند.
- با استفاده از مؤلفه استاندارد ExampleValidator، داده های آموزشی را از نظر ناهنجاری بررسی می کند.
- مهندسی ویژگی را روی مجموعه داده با استفاده از مولفه استاندارد Transform انجام می دهد.
- یک مدل را با استفاده از مؤلفه استاندارد Trainer آموزش می دهد.
- مدل آموزش دیده را با استفاده از مولفه Evaluator ارزیابی می کند.
- اگر مدل ارزیابی خود را پشت سر بگذارد، خط لوله مدل آموزش دیده را با استفاده از یک جزء سفارشی در یک سیستم استقرار اختصاصی قرار می دهد.
برای تعیین توالی اجرا برای نمونه های جزء، TFX وابستگی های مصنوع را تجزیه و تحلیل می کند.
- مؤلفه انتقال داده هیچ گونه وابستگی به مصنوعات ندارد، بنابراین می تواند اولین گره در نمودار باشد.
- StatisticsGen به نمونه های تولید شده توسط داده ها بستگی دارد، بنابراین باید پس از دریافت داده ها اجرا شود.
- SchemaGen به آمار ایجاد شده توسط StatisticsGen بستگی دارد، بنابراین باید بعد از StatisticsGen اجرا شود.
- ExampleValidator به آمار ایجاد شده توسط StatisticsGen و طرح ایجاد شده توسط SchemaGen بستگی دارد، بنابراین باید بعد از StatisticsGen و SchemaGen اجرا شود.
- تبدیل به نمونههای تولید شده توسط دادهها و طرحواره ایجاد شده توسط SchemaGen بستگی دارد، بنابراین باید پس از جذب داده و SchemaGen اجرا شود.
- Trainer به نمونه های تولید شده توسط داده ها، طرحواره ایجاد شده توسط SchemaGen و مدل ذخیره شده تولید شده توسط Transform بستگی دارد. Trainer فقط پس از جذب داده ها، SchemaGen و Transform قابل اجرا است.
- ارزیاب به نمونه های تولید شده توسط داده ها و مدل ذخیره شده تولید شده توسط Trainer بستگی دارد، بنابراین باید پس از مصرف داده ها و Trainer اجرا شود.
- Deployer سفارشی به مدل ذخیره شده تولید شده توسط Trainer و نتایج تجزیه و تحلیل ایجاد شده توسط Evaluator بستگی دارد، بنابراین Deployer باید بعد از Trainer و Evaluator اجرا شود.
بر اساس این تحلیل، یک ارکستر اجرا می کند:
- نمونههای اجزای بلع داده، StatisticsGen، SchemaGen به صورت متوالی.
- مؤلفه های ExampleValidator و Transform می توانند به صورت موازی اجرا شوند زیرا آنها وابستگی های مصنوع ورودی را به اشتراک می گذارند و به خروجی یکدیگر وابسته نیستند.
- پس از تکمیل کامپوننت Transform، نمونه های Trainer، Evaluator و Custom Deployer به ترتیب اجرا می شوند.
درباره ساخت خط لوله TFX بیشتر بیاموزید.
الگوی خط لوله TFX
الگوهای خط لوله TFX با ارائه یک خط لوله از پیش ساخته شده که می توانید برای موارد استفاده خود سفارشی کنید، شروع به توسعه خط لوله را آسان تر می کند.
درباره سفارشی کردن الگوی خط لوله TFX بیشتر بیاموزید.
اجرای خط لوله
اجرای یک اجرای منفرد یک خط لوله است.
ارکستراتور
ارکستراتور سیستمی است که در آن می توانید اجرای خط لوله را اجرا کنید. TFX از ارکستراتورهایی مانند: Apache Airflow ، Apache Beam و Kubeflow Pipelines پشتیبانی می کند. TFX همچنین از عبارت DagRunner برای اشاره به پیاده سازی استفاده می کند که از یک ارکستراتور پشتیبانی می کند.