20.7 C
نیویورک

نقشه راه بنیاد MLOps برای شرکت ها با Amazon SageMaker

تاریخ:

از آنجایی که کسب و کارهای سازمانی از یادگیری ماشینی (ML) در سراسر سازمان خود استقبال می کنند، گردش کار دستی برای ساخت، آموزش و استقرار مدل های ML به گلوگاه نوآوری تبدیل می شود. برای غلبه بر این، شرکت ها باید یک مدل عملیاتی روشن را شکل دهند که تعیین کند چگونه چندین شخصیت، مانند دانشمندان داده، مهندسان داده، مهندسان ML، IT، و سهامداران تجاری، باید با یکدیگر همکاری و تعامل داشته باشند. نحوه تفکیک نگرانی ها، مسئولیت ها و مهارت ها؛ و نحوه استفاده بهینه از خدمات AWS. این ترکیب ML و عملیات (MLOps) به شرکت‌ها کمک می‌کند چرخه عمر ML سرتاسری خود را ساده‌سازی کنند و بهره‌وری دانشمندان داده را افزایش دهند و در عین حال دقت مدل بالا را حفظ کنند و امنیت و انطباق را افزایش دهند.

در این پست، شما در مورد مراحل کلیدی ساخت پایه های MLOps، نحوه کار چندین شخصیت با هم بر روی این بنیاد و آمازون SageMaker ابزارهای هدفمند و ادغام های داخلی با سایر سرویس های AWS که می توانند پذیرش ML را در یک تجارت سازمانی تسریع کنند.

مدل بلوغ MLOps

ایجاد یک بنیاد MLOps که بتواند عملیات، افراد و نیازهای فناوری مشتریان سازمانی را پوشش دهد، چالش برانگیز است. بنابراین، مدل بلوغ زیر را تعریف می‌کنیم که قابلیت‌های لازم MLOps را در چهار مرحله کلیدی تعریف می‌کند.

مدل بلوغ MLOps با 4 مرحله

  1. فاز اولیه: در طول این مرحله، دانشمندان داده می‌توانند با استفاده از خدمات SageMaker مدل‌هایی را روی AWS آزمایش و بسازند، آموزش دهند و مستقر کنند. محیط توسعه پیشنهادی است Amazon SageMaker Studio، که در آن دانشمندان داده قادر به آزمایش و همکاری بر اساس نوت بوک های استودیو هستند.
  2. فاز قابل تکرار – با قابلیت آزمایش بر روی AWS، گام بعدی ایجاد گردش کار خودکار برای پیش پردازش داده ها و ساخت و آموزش مدل ها (خطوط ML) است. دانشمندان داده با مهندسان ML در یک محیط مجزا همکاری می‌کنند تا الگوریتم‌ها و کد منبع قوی و آماده تولید بسازند که با استفاده از آن تنظیم شده است. خطوط لوله آمازون SageMaker. مدل های تولید شده در رجیستری مدل Amazon SageMaker ذخیره و محک زده می شوند.
  3. فاز قابل اعتماد - حتی اگر مدل ها از طریق خطوط لوله ML تولید شده اند، قبل از اینکه به تولید ارتقاء یابند باید آزمایش شوند. بنابراین، در این مرحله، روش تست خودکار، هم برای زیرساخت مدل و هم برای راه‌اندازی، در یک محیط مرحله‌بندی ایزوله (پیش تولید) که تولید را شبیه‌سازی می‌کند، معرفی می‌شود. پس از اجرای موفقیت آمیز آزمایش، مدل ها در محیط ایزوله تولید مستقر می شوند. برای ارتقای مدل ها در میان محیط های متعدد، ارزیابی دستی و تاییدیه ها مورد نیاز است.
  4. فاز مقیاس پذیر - پس از تولید اولین راه حل ML، مقیاس بندی بنیاد MLOps برای پشتیبانی از چندین تیم علم داده برای همکاری و تولید ده ها یا صدها مورد استفاده از ML ضروری است. در این مرحله، الگوسازی راه‌حل‌ها را معرفی می‌کنیم که با کاهش زمان توسعه راه‌حل‌های تولید جدید از هفته‌ها به روزها، سرعت را به ارزش می‌آورد. علاوه بر این، ما نمونه‌سازی محیط‌های امن MLOps را خودکار می‌کنیم تا چندین تیم را قادر می‌سازیم تا بر روی داده‌های خود کار کنند و وابستگی و سربار به IT را کاهش می‌دهند.

در بخش‌های زیر، نحوه ایجاد یک بنیاد MLOps را بر اساس مدل بلوغ قبلی و اصول زیر نشان می‌دهیم:

  • انعطاف پذیری - دانشمندان داده می توانند هر چارچوبی (مانند TensorFlow یا PyTorch) را در خود جای دهند.
  • تکرارپذیری - دانشمندان داده قادر به بازآفرینی یا مشاهده آزمایشات گذشته (کد، داده ها و نتایج) هستند.
  • قابل استفاده مجدد - دانشمندان داده و مهندسان ML قادر به استفاده مجدد از کد منبع و خطوط لوله ML هستند و از تناقضات و هزینه جلوگیری می کنند.
  • مقیاس پذیری - دانشمندان داده و مهندسان ML می توانند منابع و خدمات را بر اساس تقاضا مقیاس بندی کنند
  • ممیزی - دانشمندان داده، بخش‌های IT و حقوقی می‌توانند گزارش‌ها، نسخه‌ها و وابستگی‌های مصنوعات و داده‌ها را ممیزی کنند.
  • ثبات - از آنجایی که MLOs از چندین محیط تشکیل شده است، بنیاد نیاز به حذف واریانس بین محیط ها دارد

فاز اولیه

در مرحله اولیه، هدف ایجاد یک محیط آزمایشی امن است که در آن دانشمند داده عکس‌های فوری از داده‌ها و آزمایش‌ها را با استفاده از نوت‌بوک‌های SageMaker دریافت می‌کند تا ثابت کند که ML می‌تواند یک مشکل تجاری خاص را حل کند. برای دستیابی به این هدف، یک محیط Studio با دسترسی مناسب به خدمات از طریق نقاط پایانی VPC توصیه می شود. کد منبع معماری مرجع در نمونه های ارائه شده توسط تیم SageMaker در دسترس است علم داده ایمن با معماری مرجع Amazon SageMaker Studio مخزن GitHub.

علاوه بر خدمات SageMaker، دانشمندان داده می توانند از خدمات دیگری برای پردازش داده ها استفاده کنند، مانند آمازون EMR, آمازون آتناو چسب AWS، با نوت بوک های ذخیره شده و نسخه شده در AWS CodeCommit مخازن (شکل زیر را ببینید).

فاز اولیه ساختار حساب MLOps

فاز قابل تکرار

پس از اینکه دانشمندان داده ثابت کردند که ML می تواند مشکل کسب و کار را حل کند و با آزمایش، آموزش و استقرار مدل های SageMaker آشنا شدند، گام بعدی شروع به تولید راه حل ML است. شکل زیر این معماری را نشان می دهد.

ساختار حساب فاز قابل تکرار

در این مرحله جداسازی نگرانی ضروری است. ما محیط را به چندین حساب AWS تقسیم می کنیم:

  1. دریاچه داده - تمام داده های دریافت شده را از محل (یا سایر سیستم ها) در فضای ابری ذخیره می کند. مهندسان داده قادر به ایجاد خطوط لوله استخراج، تبدیل و بارگذاری (ETL) با ترکیب چندین منبع داده و تهیه مجموعه داده های لازم برای موارد استفاده ML هستند. داده‌ها از طریق کاتالوگ داده چسب AWS فهرست‌بندی می‌شوند و از طریق سایر کاربران و حساب‌ها به اشتراک گذاشته می‌شوند. سازند دریاچه AWS (لایه حاکمیت داده). در همین حساب، فروشگاه ویژگی آمازون SageMaker می تواند میزبانی شود، اما ما در این پست به آن نمی پردازیم. برای اطلاعات بیشتر مراجعه کنید استفاده مجدد از ویژگی را در حساب‌ها و تیم‌ها با استفاده از فروشگاه ویژگی Amazon SageMaker فعال کنید.
  2. آزمایشی - دانشمندان داده را قادر می سازد تا تحقیقات خود را انجام دهند. تنها تفاوت این است که منشا عکس های فوری داده ها دریاچه داده است. دانشمندان داده فقط به مجموعه داده‌های خاصی دسترسی دارند که در صورت GDPR یا سایر محدودیت‌های حریم خصوصی داده‌ها می‌توانند ناشناس باشند. علاوه بر این، حساب آزمایشی ممکن است به اینترنت دسترسی داشته باشد تا دانشمندان داده را قادر سازد از چارچوب های جدید علم داده یا کتابخانه های منبع باز شخص ثالث استفاده کنند. بنابراین، حساب آزمایشی به عنوان بخشی از محیط غیرتولیدی در نظر گرفته می شود.
  3. توسعه (dev) – مرحله اول محیط تولید. دانشمندان داده از نوت‌بوک‌ها به دنیای گردش‌های کاری خودکار و خطوط لوله SageMaker حرکت می‌کنند. آنها باید با مهندسان ML همکاری کنند تا کد خود را انتزاعی کنند و از پوشش تست، رسیدگی به خطا و کیفیت کد اطمینان حاصل کنند. هدف توسعه خطوط لوله ML است، که گردش کار خودکاری است که مدل ها را پیش پردازش، آموزش، ارزیابی و در رجیستری مدل SageMaker ثبت می کند. استقرار خطوط لوله ML فقط از طریق خطوط لوله CI/CD هدایت می شود و دسترسی به کنسول مدیریت AWS محدود شده است. اتصال به اینترنت مجاز نیست زیرا خط لوله ML به داده های تولید در دریاچه داده (فقط خواندنی) دسترسی دارد.
  4. ابزارسازی (یا اتوماسیون) - میزبانی مخازن CodeCommit، AWS CodePipeline خطوط لوله CI/CD، رجیستری مدل SageMaker و Amazon ECR برای میزبانی کانتینرهای سفارشی. از آنجا که دریاچه داده تنها نقطه حقیقت برای داده ها است، حساب ابزار برای کد، ظروف، و مصنوعات تولید شده است.

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

برای دستیابی به استقرار خودکار، مهم است که بدانیم چگونه از نوت بوک ها به خطوط لوله ML برویم و مخازن کد و ساختار داده را استاندارد کنیم، که در بخش های بعدی به آن می پردازیم.

از نوت بوک گرفته تا خطوط لوله ML

هدف محیط توسعه، بازسازی، تقویت، بهبود و مقیاس‌بندی کد در نوت‌بوک‌ها و انتقال آن به خطوط لوله ML است. خط لوله ML مجموعه ای از مراحل است که مسئول پیش پردازش داده ها، آموزش یا استفاده از مدل ها و پس پردازش نتایج است. هر مرحله باید دقیقاً یک کار (یک تبدیل خاص) انجام دهد و به اندازه کافی انتزاعی باشد (مثلاً نام ستون ها را به عنوان پارامترهای ورودی ارسال کنید) تا قابلیت استفاده مجدد را فعال کند. نمودار زیر یک نمونه خط لوله را نشان می دهد.

نمونه خط لوله SageMaker

برای پیاده سازی خطوط لوله ML، دانشمندان داده (یا مهندسان ML) از SageMaker Pipelines استفاده می کنند. خط لوله SageMaker مجموعه ای از مراحل به هم پیوسته (کارهای پردازش SageMaker، آموزش، HPO) است که با تعریف خط لوله JSON با استفاده از Python SDK تعریف می شود. این تعریف خط لوله یک خط لوله را با استفاده از یک گراف غیر چرخشی جهت دار (DAG) رمزگذاری می کند. این DAG اطلاعاتی در مورد الزامات و روابط بین هر مرحله از خط لوله ML شما می دهد.

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

شکل زیر جریان خط لوله آموزشی ML را نشان می دهد.

ML ساخت خط لوله

مرحله پیش پردازش ممکن است از چند مرحله تشکیل شود. دگرگونی‌های رایج علم داده عبارتند از تقسیم و نمونه‌گیری داده‌ها (قطار، اعتبارسنجی، مجموعه آزمایشی)، رمزگذاری یا برداری یک‌طرفه، باینینگ و مقیاس‌بندی. مرحله آموزش مدل می تواند یک کار آموزشی باشد، اگر دانشمند داده از بهترین پیکربندی مدل آگاه باشد، یا یک کار بهینه سازی هایپرپارامتر (HPO) که در آن AWS بهترین هایپرپارامترها را برای مدل تعریف می کند (روش بیزی) و مربوطه را تولید می کند. مصنوع مدل در مرحله ارزیابی، مصنوع مدل تولید شده برای انجام استنتاج به مجموعه داده اعتبار سنجی استفاده می شود. سپس خط لوله ML بررسی می کند که آیا معیارهای دقت تولید شده (مانند F1، دقت و دهک های افزایش) از آستانه های لازم عبور می کنند. اگر این مرحله موفقیت آمیز باشد، مصنوعات مدل و ابرداده ها برای تولید به رجیستری مدل منتقل می شوند. توجه داشته باشید که گام پایه صادرات بهره برداری می کند مانیتور مدل آمازون SageMaker عملکرد، تولید یک شی JSON با آماری که بعداً برای تشخیص دریفت مدل استفاده می شود و می تواند در رجیستری مدل SageMaker به عنوان فراداده مدل میزبانی شود.

در صورت استنتاج دسته ای، دانشمندان داده قادر به ایجاد خطوط لوله مشابه هستند، همانطور که در شکل زیر نشان داده شده است.

خط لوله استنتاج ML

مرحله پیش‌پردازش استنتاج دسته‌ای اغلب مانند آموزش با حذف نمونه‌گیری داده‌ها و ستون حقیقت زمینی است. استنتاج دسته ای مرحله ای است که داده ها را به صورت دسته ای برای استنتاج به نقطه پایانی مربوطه ارسال می کند و می توان با استفاده از آن پیاده سازی کرد. تبدیل دسته ای. مرحله پس پردازش آمارهای اضافی مانند توزیع نتایج را تولید می کند یا به نتایج با شناسه های خارجی می پیوندد. سپس، یک گام مانیتور مدل می‌تواند آمار پایه داده‌های مورد استفاده برای آموزش (فراداده مدل JSON در رجیستری مدل) را با داده‌های ورودی جدید برای استنتاج مقایسه کند.

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

استاندارد کردن مخازن

برای فعال کردن همکاری بین دانشمندان داده و مهندسان ML، استانداردسازی ساختار مخزن کد ضروری است. علاوه بر این، استانداردسازی برای ساختار خط لوله CI/CD سودمند است و امکان ادغام اعتبار سنجی خودکار، ساخت (مانند ساخت کانتینر سفارشی) و مراحل آزمایش را فراهم می کند.

مثال زیر جداسازی راه‌حل‌های ML را به دو مخزن نشان می‌دهد: یک مخزن ساختمان و آموزش برای آموزش (و به‌طور اختیاری مدل خط لوله)، و استقرار برای ارتقای مدل‌های خط لوله استنتاج دسته‌ای یا نمونه‌سازی نقاط پایانی بلادرنگ:

ساختمان/مخزن آموزش

# Building/Training Repository
algorithms/
    shared_libraries/
        test/
            input/ # (optional)
            output/ # (optional)
            test_<step>.py
        <help_functions1>.py
        <help_functions2>.py
        README.md
    preprocessing/ # 1 folder per pre-processing job, order is defined in the ml pipeline logic
        <preprocessing_job_name1> # e.g classic ml: one hot encoding
            test/
                input/ # (optional)
                output/ # (optional)
                test_<step>.py
            __main__.py
            dockerfile # (optional) define dockerfile in case of custom containers
            README.md
       <preprocessing_job_name2> # e.g classic ml: one hot encoding
        ...
    training/ # (optional) each one is a training job in SageMaker
        <training_job_name>/
            test/
                input/ # (optional)
                output/ # (optional)
                test_<step>.py
            __main__.py
            README.md
    inference/ # (optional) for batch inference
        <batch_inference_job_name>/ # one job per training job name if we're building multiple models
            __main__.py
            README.md
    postprocessing/ # each one is a processing job in SageMaker
        <postprocessing_job_name1>/
            test/
                input/ # (optional)
                output/ # (optional)
                test_<step>.py
           __main__.py
            README.md
        <postprocessing_job_name2>/
        ...
ml_pipelines/
    training/ # (note) Multiple training ML pipelines can be defined
        ml-pipeline-training.py # Define training ML pipelines using SageMaker Pipeline SDK
        input.json # (optinal - json or yaml) ML pipeline configuration to enable reusability
    README.md
notebooks/
    *.ipynb # the original notebooks as has been created by the data scientists
    README.md
build_spec.yml
README.md

مخزن استقرار

# Deployment Repository
inference_config/
    staging/
        inference_config.json # Batch inference ML pipeline or real-time model endpoint configuration to enable reusability
    prod/
        inference_config.json # Batch inference ML pipeline or real-time model endpoint configuration to enable reusability
    README.md
app_infra/
    api_gateway/...
    lambda/...
    event_bridge/...
    batch_inference/ml-pipeline-inference.py # Define batch inference SageMaker Pipeline
tests/
    integration_test/
        test_<description>.py
        test_<description>.py
        # …
    stress_test/
        test_<description>.py
    other_test/
        test_<description>.py
    README.md
README.md

مخزن ساختمان و آموزش به سه پوشه اصلی تقسیم می شود:

  • الگوریتم - دانشمندان داده کد را برای هر مرحله از خطوط لوله ML در پوشه ریشه الگوریتم ها توسعه می دهند. مراحل را می توان در پیش پردازش، آموزش، استنتاج دسته ای و پس پردازش (ارزیابی) گروه بندی کرد. در هر گروه، مراحل متعددی را می توان در زیر پوشه های مربوطه تعریف کرد که حاوی یک پوشه برای تست های واحد (شامل ورودی ها و خروجی های اختیاری)، توابع اصلی، readme و یک فایل Docker در صورت نیاز به کانتینر سفارشی است. علاوه بر کد اصلی، چندین فایل کد را می توان در یک پوشه میزبانی کرد. کتابخانه های کمکی رایج برای همه مراحل می توانند در یک پوشه کتابخانه مشترک میزبانی شوند. دانشمندان داده مسئول توسعه تست‌های واحد هستند زیرا منطق مراحل را در اختیار دارند و مهندسان ML مسئول بهبود مدیریت خطا و توصیه پوشش تست هستند. خط لوله CI/CD مسئول اجرای آزمایشات، ساخت ظروف به صورت خودکار (در صورت لزوم) و بسته بندی چندین فایل کد منبع است.
  • خطوط لوله ML – پس از توسعه کد منبع و تست هر مرحله، مرحله بعدی این است که خطوط لوله SageMaker را در یک پوشه اصلی دیگر تعریف کنید. هر تعریف خط لوله ML در زیرپوشه ای قرار می گیرد که حاوی فایل py. و یک فایل JSON یا .yaml برای پارامترهای ورودی، مانند محدوده هایپرپارامتر است. یک فایل readme برای توصیف خطوط لوله ML ضروری است.
  • نوت بوک – این پوشه میزبان نوت بوک های مبدا است که دانشمند داده در طول آزمایش استفاده کرده است.

مخزن استقرار از سه بخش اصلی تشکیل شده است:

  • پیکربندی استنتاج - شامل پیکربندی نقاط پایانی بلادرنگ یا استنتاج دسته ای در هر محیط توسعه، مانند انواع نمونه است.
  • زیرساخت های کاربردی – میزبان کد منبع زیرساخت لازم برای اجرای استنتاج، در صورت لزوم. این ممکن است یک مکانیسم تحریک کننده باشد پل رویداد آمازون, دروازه API آمازون, AWS لامبدا توابع یا SageMaker Pipelines.
  • تست - بسته به روش تست مشتری از چندین زیرپوشه تشکیل شده است. به‌عنوان حداقل مجموعه آزمون‌ها، ما یک آزمون یکپارچه‌سازی (اجرای پایان به پایان استنتاج از جمله زیرساخت برنامه)، تست استرس (بررسی موارد لبه) و آزمون‌های ML (مانند توزیع امتیازات اطمینان یا احتمالات) را پیشنهاد می‌کنیم.

با انجام تغییرات در ساختمان و مخزن آموزشی، یک خط لوله CI/CD مسئول اعتبار سنجی ساختار مخزن، انجام آزمایشات، و استقرار و اجرای خطوط لوله ML است. خط لوله CI/CD متفاوتی وظیفه ارتقای مدل ها را بر عهده دارد که در بخش زیر به بررسی آنها می پردازیم.

استاندارد کردن انشعاب مخزن و CI/CD

برای اطمینان از استحکام خطوط لوله ML در حساب توسعه دهنده، یک استراتژی مخزن چند شاخه ای پیشنهاد شده است، در حالی که استقرار فقط از طریق خطوط لوله CI/CD انجام می شود. دانشمندان داده باید از یک شاخه ویژگی برای توسعه عملکرد جدید خود (کد منبع) استفاده کنند. هنگامی که آنها آماده استقرار خطوط لوله ML مربوطه هستند، می توانند این را به شاخه توسعه دهند. یک جایگزین برای این رویکرد اجازه استقرار خطوط لوله ML در هر شاخه ویژگی است. برای اطلاعات بیشتر مراجعه کنید گردش کار علم داده خود را با یک خط لوله آموزشی MLOps چند شاخه ای با استفاده از AWS بهبود دهید.

شکل زیر استراتژی انشعاب و مراحل لازم خط لوله CI/CD را که در محیط توسعه دهنده برای خط لوله ML و ساخت مدل اجرا می کنیم، نشان می دهد.

نسخه بندی مدل شاخه

نمونه کد رویکرد چند شاخه ای در دسترس است خط لوله آموزشی MLOps چند شاخه. ما می‌توانیم مدل‌های تولید شده توسط یک خط لوله ML مبتنی بر شاخه ویژگی را در یک گروه مدل ویژگی جداگانه ذخیره کنیم و آنها را در طول یک درخواست ادغام با شاخه اصلی از کار بیندازیم. مدل هایی که در گروه مدل اصلی قرار دارند، آنهایی هستند که به تولید ارتقا می یابند.

استاندارد سازی ساختار داده ها

به همان اندازه برای استانداردسازی کد منبع، استانداردسازی ساختار داده ها مهم است که به دانشمندان داده و مهندسان ML اجازه می دهد تا اشکال زدایی، ممیزی، و نظارت بر مبدا و تاریخچه مدل ها و خطوط لوله ML را داشته باشند. نمودار زیر چنین مثالی را نشان می دهد.

نمونه ساختار فایل یک سطل s3

برای سادگی، اجازه دهید فرض کنیم که داده های تاریخی ورودی در یک سطل از حساب توسعه زیر کلید فرعی ورودی قرار می گیرند (معمولاً این در دریاچه داده قرار دارد). برای هر مورد استفاده از ML، یک کلید فرعی جداگانه باید ایجاد شود. برای راه اندازی خط لوله ML جدید برای اجرا، دانشمند داده باید یک git commit و push را انجام دهد، که خط لوله CI/CD را راه اندازی می کند. سپس خط لوله CI/CD با کپی کردن مصنوعات کد، یک کلید فرعی ایجاد می کند code کلید فرعی) و داده های ورودی (the input کلید فرعی) تحت یک پارتیشن فرعی از شناسه ساخت. به عنوان مثال، شناسه ساخت cترکیبی از تاریخ-زمان و گیت هش یا شناسه اجرای خط لوله SageMaker. این ساختار دانشمند داده را قادر می سازد تا استقرارها و اجراهای گذشته را ممیزی و پرس و جو کند. پس از این، خط لوله CI/CD مستقر شده و خط لوله ML را راه اندازی می کند. در حالی که خط لوله ML در حال اجرا است، هر مرحله نتایج میانی را به آن صادر می کند ml-pipeline-outputs. مهم است که به خاطر داشته باشید که شاخه های ویژگی های مختلف نمونه جدیدی از خط لوله ML را اجرا و اجرا می کنند و هر کدام باید نتایج میانی را با یک کلید فرعی جدید و/یا یک پیشوند یا پسوند استاندارد شده به زیر پوشه های مختلف صادر کند. شناسه شاخه ویژگی

این رویکرد از قابلیت ممیزی کامل هر آزمایش پشتیبانی می کند. با این حال، رویکرد چند شاخه ای استراتژی توسعه، حجم زیادی از داده ها را تولید می کند. بنابراین، یک استراتژی چرخه عمر داده ضروری است. ما پیشنهاد می‌کنیم حداقل داده‌های هر خط لوله ML شاخه ویژگی را در هر درخواست موفق pull/ادغام حذف کنید. اما این بستگی به مدل عملیاتی و جزئیات حسابرسی دارد که کسب و کار شما باید از آن پشتیبانی کند. شما می توانید از یک رویکرد مشابه در خطوط لوله استنتاج دسته ای ML استفاده کنید

فاز قابل اعتماد

پس از جداسازی اولیه نگرانی‌ها بین دانشمندان داده، مهندسان ML و مهندسان داده با استفاده از حساب‌های متعدد، گام بعدی ارتقای مدل‌های تولید شده از رجیستری مدل به یک محیط ایزوله برای انجام استنتاج است. با این حال، ما باید از استحکام مدل های مستقر شده اطمینان حاصل کنیم. بنابراین، شبیه سازی مدل مستقر در محیط آینه ای تولید، یعنی پیش تولید (یا مرحله بندی) الزامی است.

شکل زیر این معماری را نشان می دهد.

ساختار حساب فاز قابل اعتماد

ارتقای استقرار یک مدل و نقطه پایانی در محیط پیش تولید با استفاده از رویدادهای به‌روزرسانی وضعیت رجیستری مدل (یا فشار git در مخزن استقرار) انجام می‌شود، که با استفاده از رویدادهای EventBridge یک خط لوله مجزای CI/CD را راه‌اندازی می‌کند. اولین مرحله خط لوله CI/CD درخواست تأیید دستی توسط دانشمند داده سرب (و در صورت اختیاری مالک محصول، تحلیلگر کسب و کار یا سایر دانشمندان داده سرب) دارد. تأییدکننده باید KPIهای عملکرد مدل و QA کد را در مخزن استقرار تأیید کند. پس از تایید، خط لوله CI/CD کد تست را به مخزن استقرار اجرا می کند (تست یکپارچه سازی، تست استرس، تست ML). علاوه بر نقطه پایانی مدل، CI/CD همچنین زیرساخت راه‌اندازی، مانند EventBridge، توابع Lambda یا API Gateway را آزمایش می‌کند. نمودار زیر این معماری به روز شده را نشان می دهد.

راه اندازی حساب فاز قابل اعتماد با حساب های پیش تولید و پرود جداگانه

پس از اجرای موفقیت‌آمیز آزمایش‌ها، خط لوله CI/CD به تأییدکنندگان جدید (یا همان) اعلام می‌کند که یک مدل آماده ارتقاء به تولید است. در این مرحله، تحلیلگر تجاری ممکن است بخواهد چند آزمون فرضیه آماری اضافی را بر روی نتایج مدل انجام دهد. پس از تایید، مدل ها و زیرساخت های ماشه در تولید مستقر می شوند. روش‌های استقرار چندگانه توسط SageMaker پشتیبانی می‌شوند، مانند آزمایش آبی/سبز، قناری و A/B (بیشتر را در نرده های استقرار). اگر خط لوله CI/CD از کار بیفتد، یک مکانیسم بازگشتی سیستم را به آخرین وضعیت قوی باز می گرداند.

نمودار زیر مراحل اصلی خط لوله CI/CD را برای ارتقای یک مدل و زیرساختی برای راه اندازی نقطه پایانی مدل، مانند دروازه API، توابع Lambda، و EventBridge نشان می دهد.

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

ادغام دریاچه داده و MLOps

در این مرحله، درک الزامات داده در هر مرحله توسعه یا حساب، و روش ترکیب MLO ها با یک دریاچه داده متمرکز مهم است. نمودار زیر MLOps و لایه های دریاچه داده را نشان می دهد.

نمونه رابط محیط ml با داده دریاچه

در دریاچه داده، مهندسان داده مسئول پیوستن چندین منبع داده و ایجاد مجموعه داده های مربوطه (به عنوان مثال، یک جدول واحد از داده های ساختار، یا یک پوشه واحد با فایل های PDF یا تصاویر) برای موارد استفاده ML با ساخت ETL هستند. خطوط لوله همانطور که توسط دانشمندان داده (در مرحله تجزیه و تحلیل داده های اکتشافی) تعریف شده است. این مجموعه داده ها را می توان به داده ها و داده های تاریخی برای استنتاج و آزمایش تقسیم کرد. همه داده‌ها فهرست‌بندی می‌شوند (مثلاً با کاتالوگ داده‌های چسب AWS)، و می‌توانند با استفاده از Lake Formation به‌عنوان لایه حاکمیت داده (برای داده‌های ساختاریافته) با سایر حساب‌ها و کاربران به اشتراک گذاشته شوند. از زمان نگارش این مقاله، Lake Formation فقط با جستارهای Athena، AWS Glue jobs و Amazon EMR سازگار است.

از سوی دیگر، محیط MLOps نیاز به آبیاری خطوط لوله ML با مجموعه داده‌های خاصی دارد که در سطل‌های محلی در dev، pre-prod و prod قرار دارند. محیط توسعه‌دهنده مسئول ساخت و آموزش مدل‌های درخواستی با استفاده از خطوط لوله SageMaker است که داده‌ها را از دریاچه داده می‌کشد. بنابراین، ما به عنوان اولین گام خط لوله پیشنهاد می‌کنیم که یک مرحله Athena، که در آن فقط نمونه‌برداری و پرس‌وجو از داده‌ها مورد نیاز است، یا یک مرحله EMR آمازون، در صورت نیاز به تبدیل‌های پیچیده‌تر داشته باشیم. از طرف دیگر، می‌توانید از یک کار چسب AWS از طریق یک گام برگشت استفاده کنید، اما نه به عنوان یک مرحله بومی هنوز با SageMaker Pipelines.

Pre-prod و prod مسئول آزمایش یا انجام استنتاج بلادرنگ و دسته ای هستند. در مورد استنتاج بلادرنگ، ارسال داده‌ها به حساب‌های MLOps pre-prod و prod ضروری نیست، زیرا ورودی برای استنتاج می‌تواند بار بار درخواست دروازه API را بازگرداند. در مورد استنتاج دسته‌ای (یا داده‌های ورودی با اندازه بزرگ)، مجموعه داده‌های لازم، چه داده‌های آزمایشی یا داده‌های برای استنتاج، باید در سطل‌های داده محلی ML (پیش تولید یا تولید) قرار گیرند. شما دو گزینه برای انتقال داده ها به pre-prod و prod دارید: یا با فعال کردن Athena یا Amazon EMR و کشیدن داده ها از دریاچه داده، یا انتقال داده ها از دریاچه داده به آن حساب های MLOps. گزینه اول مستلزم ایجاد مکانیسم‌های اضافی در حساب‌های MLOps است، برای مثال، ایجاد رویدادهای EventBridge برنامه‌ریزی‌شده (بدون اطلاع از به‌روزرسانی داده‌های دریاچه داده) یا ورود روی داده در رویدادهای S3 EventBridge در دریاچه داده (برای جزئیات بیشتر را ببینید ساده‌سازی دسترسی بین حساب‌ها با خط‌مشی‌های منابع آمازون EventBridge). پس از گرفتن رویداد در سمت MLOps، یک جستجوی Athena یا Amazon EMR می‌تواند داده‌ها را به صورت محلی واکشی کند و راه‌اندازی کند. استنتاج ناهمزمان or تبدیل دسته ای. این را می توان برای سادگی در یک خط لوله SageMaker پیچیده کرد. گزینه دوم این است که در آخرین مرحله خط لوله ETL، عملکرد فشار دادن داده ها به سطل های MLOps را اضافه کنید. با این حال، این رویکرد مسئولیت ها را مخلوط می کند (دریاچه داده ها استنتاج را ایجاد می کند) و به Lake Formation نیاز دارد تا دسترسی به دریاچه داده را برای نوشتن در سطل های MLOps فراهم کند.

آخرین مرحله، انتقال نتایج استنتاج به دریاچه داده است. برای فهرست‌نویسی داده‌ها و در دسترس قرار دادن آن‌ها برای سایر کاربران، داده‌ها باید به‌عنوان یک منبع داده جدید به سطل فرود برگردند.

فاز مقیاس پذیر

پس از توسعه بنیاد MLOps و تولید انتها به انتها اولین مورد استفاده از ML، زیرساخت توسعه، pre-prod، prod و مخزن، خط لوله CI/CD و ساختار داده آزمایش و نهایی شده است. . گام بعدی این است که کیس ها و تیم های جدید استفاده از ML را به پلتفرم وارد کنید. برای اطمینان از سرعت به ارزش، SageMaker به شما امکان می دهد الگوهای پروژه SageMaker سفارشی ایجاد کنید، که می توانید از آنها برای نمونه سازی مخازن قالب و خطوط لوله CI/CD به صورت خودکار استفاده کنید. با چنین الگوهای پروژه SageMaker، دانشمندان ارشد داده مسئول نمونه سازی پروژه های جدید و تخصیص یک تیم اختصاصی در هر مورد جدید استفاده از ML هستند.

نمودار زیر این فرآیند را نشان می دهد.

راه اندازی حساب فاز مقیاس پذیر

مشکل پیچیده‌تر می‌شود اگر تیم‌های دانشمند داده مختلف (یا چندین واحد تجاری که نیاز به تولید ML دارند) به داده‌های محرمانه مختلف دسترسی داشته باشند و چندین مالک محصول مسئول پرداخت صورت‌حساب جداگانه برای آموزش، استقرار و اجرای مدل‌ها باشند. . بنابراین، مجموعه جداگانه ای از حساب های MLOps (تجربه، توسعه، پیش تولید، و پرود) برای هر تیم ضروری است. برای ایجاد آسان حساب‌های MLOps جدید، حساب دیگری را معرفی می‌کنیم، حساب مدیریت تجزیه و تحلیل پیشرفته، که برای اعضای IT قابل دسترسی است و به آن‌ها اجازه می‌دهد تا حساب‌های MLOps را فهرست‌نویسی، نمونه‌سازی یا حذف کنند. به طور خاص، این حساب میزبان مخازن با کد زیرساخت حساب‌های MLOps (VPC، زیرشبکه‌ها، نقاط پایانی، سطل‌ها، هویت AWS و مدیریت دسترسی (IAM) نقش ها و سیاست ها، AWS CloudFormation پشته ها)، یک کاتالوگ خدمات AWS محصول برای استقرار خودکار پشته های CloudFormation زیرساخت در چندین حساب با یک کلیک و آمازون DynamoDB متاداده جدول به فهرست، مانند اینکه کدام تیم مسئول هر مجموعه ای از حساب ها است. با این قابلیت، تیم فناوری اطلاعات حساب‌های MLOps را در صورت تقاضا نمونه‌سازی می‌کند و کاربران لازم، دسترسی به داده‌ها در هر حساب و محدودیت‌های امنیتی ثابت را تخصیص می‌دهد.

بر اساس این سناریو، ما حساب ها را به زودگذر و بادوام جدا می کنیم. Data lake و tooling حساب‌هایی بادوام هستند و به ترتیب نقش یک نقطه حقیقت را برای داده‌ها و کد منبع بازی می‌کنند. حساب‌های MLOps اکثراً بدون تابعیت هستند و در صورت تقاضا از بین می‌روند و آنها را زودگذر می‌کند. حتی اگر مجموعه‌ای از حساب‌های MLOps از کار افتاده باشد، کاربران یا حسابرسان می‌توانند آزمایش‌ها و نتایج گذشته را بررسی کنند زیرا در محیط‌های بادوام ذخیره می‌شوند.

اگر می خواهید از Studio UI برای MLOps استفاده کنید، طبق شکل زیر، حساب ابزار بخشی از حساب توسعه دهنده است.

راه‌اندازی حساب فاز مقیاس‌پذیر با حساب ابزارسازی در حساب توسعه‌دهنده

اگر کاربر بخواهد از Sagemaker Studio UI برای MLO ها استفاده کند، حساب ابزار بخشی از توسعه دهنده است.
مطابق شکل بالا حساب کنید. کد منبع نمونه این بنیاد MLOPs را می توان در آن یافت
بنیاد MLOps چند حسابی ایمن بر اساس CDK.

توجه داشته باشید که Sagemaker قابلیت جایگزینی CodeCommit و CodePipeline را با سایر ابزارهای توسعه شخص ثالث، مانند GitHub و Jenkins فراهم می کند (جزئیات بیشتر را می توانید در پروژه های Amazon SageMaker را ایجاد کنید با استفاده از کنترل منبع شخص ثالث و جنکینز و آمازون SageMaker پروژه های MLOs را انجام می دهد قالب با GitLab و GitLab Pipelines).

خلاصه شخصیت ها، عملیات و فناوری

با مدل بلوغ MLOps، می‌توانیم یک طراحی معماری روشن و نقشه راه تحویل تعریف کنیم. با این حال، هر شخص باید دید واضحی از حساب‌ها و سرویس‌های کلیدی AWS برای تعامل و عملیاتی که باید انجام دهد، داشته باشد. نمودار زیر این دسته بندی ها را خلاصه می کند.

نقشه راه بنیاد MLOps برای شرکت ها با آمازون SageMaker هوش مصنوعی PlatoBlockchain Data Intelligence | هوش مصنوعی جستجوی عمودی

نتیجه

یک بنیاد قوی MLOps، که به وضوح تعامل بین چندین شخصیت و فناوری را تعریف می‌کند، می‌تواند سرعت به ارزش را افزایش دهد و هزینه را کاهش دهد و دانشمندان داده را قادر می‌سازد تا بر نوآوری‌ها تمرکز کنند. در این پست، نحوه ایجاد چنین پایه‌ای را در مراحل مختلف نشان دادیم که منجر به یک مدل بلوغ MLOps برای تجارت و توانایی پشتیبانی از چندین تیم علمی داده و موارد استفاده ML در تولید می‌شود. ما یک مدل عملیاتی متشکل از چندین شخصیت با مهارت‌ها و مسئولیت‌های متعدد تعریف کردیم. در نهایت، نمونه‌هایی از نحوه استانداردسازی توسعه کد (مخزن‌ها و خطوط لوله CI/CD)، ذخیره‌سازی و اشتراک‌گذاری داده‌ها، و تامین زیرساخت امن MLOps برای محیط‌های سازمانی را به اشتراک گذاشتیم. بسیاری از مشتریان سازمانی این رویکرد را اتخاذ کرده اند و می توانند راه حل های ML خود را به جای چند ماه در عرض چند روز تولید کنند.

اگر نظر یا سوالی دارید در قسمت نظرات مطرح کنید.


درباره نویسنده

نقشه راه بنیاد MLOps برای شرکت ها با آمازون SageMaker هوش مصنوعی PlatoBlockchain Data Intelligence | هوش مصنوعی جستجوی عمودیدکتر سوکراتیس کارتاکیس یک معمار ارشد راه حل های متخصص یادگیری ماشین برای خدمات وب آمازون است. Sokratis بر روی توانمندسازی مشتریان سازمانی برای صنعتی کردن راه‌حل‌های یادگیری ماشین (ML) با بهره‌برداری از خدمات AWS و شکل‌دهی مدل عملیاتی خود، یعنی بنیاد MLOps و نقشه راه تحول با استفاده از بهترین شیوه‌های توسعه، تمرکز دارد. او بیش از 15 سال را صرف اختراع، طراحی، رهبری و پیاده‌سازی راه‌حل‌های نوآورانه ML و اینترنت اشیا (IoT) در سطح تولید نهایی در حوزه‌های انرژی، خرده‌فروشی، سلامت، مالی/بانکداری، ورزش‌های موتوری و غیره کرده است. سوکراتیس دوست دارد اوقات فراغت خود را با خانواده و دوستان یا موتور سواری بگذراند.

نقشه راه بنیاد MLOps برای شرکت ها با آمازون SageMaker هوش مصنوعی PlatoBlockchain Data Intelligence | هوش مصنوعی جستجوی عمودیجورجیوس شیناس یک معمار راه حل های تخصصی برای AI/ML در منطقه EMEA است. او در لندن مستقر است و از نزدیک با مشتریان در بریتانیا و ایرلند کار می کند. جورجیوس به مشتریان کمک می‌کند تا برنامه‌های یادگیری ماشینی را در تولید در AWS با علاقه خاصی به شیوه‌های MLOps طراحی و استقرار دهند و مشتریان را قادر می‌سازد تا یادگیری ماشین را در مقیاس انجام دهند. او در اوقات فراغت از سفر، آشپزی و گذراندن وقت با دوستان و خانواده لذت می برد.

نقشه راه بنیاد MLOps برای شرکت ها با آمازون SageMaker هوش مصنوعی PlatoBlockchain Data Intelligence | هوش مصنوعی جستجوی عمودیجوزپه آنجلو پورچلی یک معمار اصلی راه حل های متخصص یادگیری ماشین برای خدمات وب آمازون است. او با چندین سال مهندسی نرم افزار پیشینه ML، با مشتریان در هر اندازه ای کار می کند تا عمیقاً نیازهای تجاری و فنی آنها را درک کند و راه حل های هوش مصنوعی و یادگیری ماشینی را طراحی کند که بهترین استفاده را از AWS Cloud و پشته یادگیری ماشین آمازون می کند. او روی پروژه‌هایی در حوزه‌های مختلف، از جمله MLOps، Computer Vision، NLP و شامل مجموعه گسترده‌ای از خدمات AWS کار کرده است. جوزپه در اوقات فراغت خود از بازی فوتبال لذت می برد.

شلبی ایگنبرودشلبی ایگنبرود یک معمار اصلی راه حل های تخصصی هوش مصنوعی و یادگیری ماشین در خدمات وب آمازون (AWS) است. او 24 سال است که در زمینه فناوری فعالیت می کند و صنایع، فناوری ها و نقش های متعددی را در بر می گیرد. او در حال حاضر بر ترکیب پیشینه DevOps و ML خود در حوزه MLOps تمرکز دارد تا به مشتریان در ارائه و مدیریت حجم کاری ML در مقیاس کمک کند. با بیش از 35 پتنت اعطا شده در حوزه های مختلف فناوری، او اشتیاق به نوآوری مداوم و استفاده از داده ها برای هدایت نتایج کسب و کار دارد. Shelbee یکی از خالقان و مربیان تخصص عملی علم داده در Coursera است. او همچنین مدیر مشترک زنان در داده های بزرگ (WiBD)، بخش دنور است. او در اوقات فراغت خود دوست دارد با خانواده، دوستان و سگ های پرکارش وقت بگذراند.

  • Coinsmart. بهترین صرافی بیت کوین و کریپتو اروپا.اینجا کلیک کنید
  • پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی به اینجا.
  • منبع: https://aws.amazon.com/blogs/machine-learning/mlops-foundation-roadmap-for-enterprises-with-amazon-sagemaker/

مقالات مرتبط

نقطه_img

مقاله های اخیر

نقطه_img