مدل های یادگیری ماشینی (ML) به صورت مجزا عمل نمی کنند. برای ارائه ارزش، آنها باید در سیستمها و زیرساختهای تولید موجود ادغام شوند که این امر مستلزم در نظر گرفتن کل چرخه حیات ML در طول طراحی و توسعه است. عملیات ML که به عنوان MLOps شناخته می شود، بر ساده سازی، خودکارسازی و نظارت بر مدل های ML در طول چرخه عمر خود تمرکز دارد. ساخت یک خط لوله MLOps قوی نیازمند همکاری متقابل است. دانشمندان داده، مهندسان ML، کارکنان فناوری اطلاعات و تیمهای DevOps باید با هم کار کنند تا مدلها را از تحقیق گرفته تا استقرار و نگهداری عملیاتی کنند. با فرآیندها و ابزارهای مناسب، MLOs سازمان ها را قادر می سازد تا به طور قابل اعتماد و کارآمد ML را در تیم های خود بکار گیرند.
اگرچه الزامات خطوط لوله یکپارچه سازی مداوم و تحویل پیوسته (CI/CD) می تواند منحصر به فرد باشد و نیازهای هر سازمان را منعکس کند، مقیاس اقدامات MLOps در بین تیم ها را می توان با استفاده از هماهنگی های مدیریت شده و ابزارهایی که می تواند روند توسعه را تسریع بخشد و حمل و نقل سنگین غیرمتمایز را حذف کند، ساده کرد. .
آمازون SageMaker MLOps مجموعه ای از امکانات است که شامل پروژه های آمازون SageMaker (CI/CD) خطوط لوله آمازون SageMaker و رجیستری مدل آمازون SageMaker.
خطوط لوله SageMaker امکان ایجاد و مدیریت ساده گردشهای کاری ML را فراهم میکند، در حالی که قابلیتهای ذخیرهسازی و استفاده مجدد برای مراحل گردش کار را نیز ارائه میدهد. را رجیستری مدل SageMaker ردیابی مدل را متمرکز می کند، استقرار مدل را ساده می کند. پروژه های SageMaker شیوه های CI/CD را به ML معرفی می کند، از جمله برابری محیط، کنترل نسخه، تست و اتوماسیون. این امکان استقرار سریع CI/CD را در محیط ML شما فراهم میکند و مقیاسپذیری مؤثر را در سراسر شرکت شما تسهیل میکند.
ساخته شده در قالب های پروژه ارائه شده توسط آمازون SageMaker شامل ادغام با برخی از ابزارهای شخص ثالث، مانند Jenkins برای ارکستراسیون و GitHub برای کنترل منبع، و چندین مورد از ابزارهای CI/CD بومی AWS مانند AWS CodeCommit, AWS CodePipelineو AWS CodeBuild. با این حال، در بسیاری از سناریوها، مشتریان مایلند SageMaker Pipelines را با سایر ابزارهای CI/CD موجود ادغام کنند و بنابراین، الگوهای پروژه سفارشی خود را ایجاد کنند.
در این پست پیاده سازی گام به گام برای دستیابی به موارد زیر را به شما نشان می دهیم:
- یک قالب پروژه سفارشی SageMaker MLOps ایجاد کنید که با GitHub و GitHub Actions ادغام شود.
- قالب های پروژه سفارشی خود را در دسترس قرار دهید Amazon SageMaker Studio برای تیم علم داده شما با ارائه یک کلیک
بررسی اجمالی راه حل
در این پست معماری زیر را می سازیم. ما یک خط لوله ساخت مدل خودکار ایجاد می کنیم که شامل مراحل آماده سازی داده، آموزش مدل، ارزیابی مدل و ثبت مدل آموزش دیده در رجیستری مدل SageMaker است. سپس مدل ML آموزشدیده حاصل از رجیستری مدل SageMaker به محیطهای مرحلهبندی و تولید پس از تأیید دستی مستقر میشود.
بیایید به عناصر این معماری بپردازیم تا پیکربندی کامل را درک کنیم.
GitHub و GitHub Actions
GitHub یک پلت فرم مبتنی بر وب است که کنترل نسخه و مدیریت کد منبع را با استفاده از Git فراهم می کند. این تیم ها را قادر می سازد تا در پروژه های توسعه نرم افزار با یکدیگر همکاری کنند، تغییرات را پیگیری کنند و مخازن کد را مدیریت کنند. GitHub به عنوان یک مکان متمرکز برای ذخیره، نسخه و مدیریت پایگاه کد ML شما عمل می کند. این تضمین می کند که پایه کد ML و خطوط لوله شما نسخه بندی شده، مستند شده و توسط اعضای تیم قابل دسترسی است.
اقدامات GitHub یک ابزار اتوماسیون قدرتمند در اکوسیستم GitHub است. این به شما امکان می دهد گردش های کاری سفارشی ایجاد کنید که فرآیندهای چرخه عمر توسعه نرم افزار شما را خودکار می کند، مانند ساخت، آزمایش و استقرار کد. میتوانید جریانهای کاری مبتنی بر رویداد ایجاد کنید که توسط رویدادهای خاص راهاندازی میشوند، مانند زمانی که کد به یک مخزن فشار داده میشود یا یک درخواست کشش ایجاد میشود. هنگام پیاده سازی MLO ها، می توانید از GitHub Actions برای خودکارسازی مراحل مختلف خط لوله ML استفاده کنید، مانند:
- اعتبارسنجی و پیش پردازش داده ها
- آموزش و ارزیابی الگو
- استقرار و نظارت مدل
- CI/CD برای مدل های ML
با GitHub Actions، میتوانید گردشهای کاری ML خود را سادهسازی کنید و اطمینان حاصل کنید که مدلهای شما به طور مداوم ساخته، آزمایش و مستقر میشوند، که منجر به استقرار کارآمدتر و قابل اعتمادتر ML میشود.
در بخشهای زیر، با تنظیم پیشنیازهای مربوط به برخی از مؤلفههایی که به عنوان بخشی از این معماری استفاده میکنیم، شروع میکنیم:
- AWS CloudFormation - AWS CloudFormation استقرار مدل را آغاز می کند و پس از اینکه خط لوله استقرار مدل با تأیید مدل آموزش دیده فعال شد، نقاط پایانی SageMaker را ایجاد می کند.
- اتصال AWS CodeStar - ما استفاده می کنیم AWS CodeStar برای ایجاد پیوند با مخزن GitHub و استفاده از آن به عنوان یکپارچه سازی مخزن کد با منابع AWS، مانند SageMaker Studio.
- پل رویداد آمازون - پل رویداد آمازون تمام تغییرات در رجیستری مدل را پیگیری می کند. همچنین قاعدهای را حفظ میکند که از تابع Lambda میخواهد خط لوله مدل را زمانی که وضعیت نسخه بسته مدل تغییر میکند، مستقر کند.
PendingManualApproval
بهApproved
در رجیستری مدل - AWS لامبدا - ما از an استفاده می کنیم AWS لامبدا تابعی برای شروع گردش کار استقرار مدل در GitHub Actions پس از ثبت مدل جدید در رجیستری مدل.
- آمازون SageMaker - ما اجزای SageMaker زیر را پیکربندی می کنیم:
- خط لوله - این مؤلفه از یک نمودار غیر چرخه ای جهت دار (DAG) تشکیل شده است که به ما کمک می کند گردش کار خودکار ML را برای مراحل آماده سازی داده ها، آموزش مدل و ارزیابی مدل بسازیم. رجیستری مدل، سوابق نسخه های مدل، مصنوعات مرتبط با آنها، اصل و نسب و ابرداده را نگهداری می کند. یک گروه بسته مدل ایجاد شده است که تمام نسخه های مدل مرتبط را در خود جای می دهد. رجیستری مدل همچنین مسئول مدیریت وضعیت تایید نسخه مدل برای استقرار بعدی است.
- نقطه پایانی – این مؤلفه دو نقطه پایانی بلادرنگ HTTPS را برای استنتاج تنظیم می کند. پیکربندی میزبانی را می توان تنظیم کرد، به عنوان مثال، برای تبدیل دسته ای یا استنتاج ناهمزمان. نقطه پایانی زمانی ایجاد می شود که خط لوله استقرار مدل با تأیید مدل آموزش دیده از رجیستری مدل SageMaker فعال شود. این نقطه پایانی برای اعتبارسنجی مدل مستقر شده با اطمینان از ارائه پیشبینیهایی که استانداردهای دقت ما را برآورده میکند، استفاده میشود. هنگامی که مدل برای استقرار تولید آماده می شود، یک نقطه پایانی تولید توسط یک مرحله تأیید دستی در گردش کار GitHub Actions مستقر می شود.
- مخزن کد – این یک مخزن Git به عنوان یک منبع در حساب SageMaker شما ایجاد می کند. با استفاده از دادههای موجود از مخزن کد GitHub که در طول ایجاد پروژه SageMaker خود وارد میکنید، زمانی که پروژه را شروع میکنید، ارتباطی با همان مخزن در SageMaker ایجاد میشود. این اساساً پیوندی را با یک مخزن GitHub در SageMaker تشکیل می دهد و اقدامات تعاملی (کشش/فشار) را با مخزن شما امکان پذیر می کند.
- رجیستری مدل – این نسخههای مختلف مدل و مصنوعات مربوطه را که شامل اصل و نسب و ابرداده میشود، نظارت میکند. مجموعه ای که به نام a گروه بسته مدل ایجاد شده است، مسکن نسخه های مربوط به مدل. علاوه بر این، رجیستری مدل بر وضعیت تأیید نسخه مدل نظارت می کند و از آمادگی آن برای استقرار بعدی اطمینان می دهد.
- مدیر اسرار AWS - برای حفظ ایمن توکن دسترسی شخصی GitHub خود، لازم است یک راز در آن ایجاد کنید مدیر اسرار AWS و رمز دسترسی خود را در آن قرار دهید.
- کاتالوگ خدمات AWS - ما از کاتالوگ خدمات AWS برای اجرای پروژه های SageMaker، که شامل اجزایی مانند مخزن کد SageMaker، تابع Lambda، قانون EventBridge، سطل آرتیفکت S3 و غیره است که همگی از طریق CloudFormation پیاده سازی شده اند. این به سازمان شما اجازه می دهد تا به طور مکرر از الگوهای پروژه استفاده کند، پروژه ها را به هر کاربر اختصاص دهد و عملیات را ساده کند.
- آمازون S3 - ما از an استفاده می کنیم سرویس ذخیره سازی ساده آمازون سطل (Amazon S3) برای نگهداری مصنوعات مدل تولید شده توسط خط لوله.
پیش نیازها
شما باید پیش نیازهای زیر را داشته باشید:
همچنین باید مراحل نصب اضافی را قبل از اجرای راه حل کامل کنید.
اتصال AWS CodeStar را تنظیم کنید
اگر قبلاً اتصال AWS CodeStar به حساب GitHub خود ندارید، به آن مراجعه کنید یک اتصال به GitHub ایجاد کنید برای دستورالعمل ایجاد یک. ARN اتصال AWS CodeStar شما به شکل زیر خواهد بود:
در این مثال ، aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f
شناسه منحصر به فرد این اتصال است. هنگامی که پروژه SageMaker خود را بعداً در این مثال ایجاد می کنیم، از این شناسه استفاده می کنیم.
کلیدهای دسترسی مخفی را برای توکن GitHub خود تنظیم کنید
برای ذخیره ایمن رمز دسترسی شخصی GitHub خود، باید یک راز در Secrets Manager ایجاد کنید. اگر رمز دسترسی شخصی برای GitHub ندارید، به آن مراجعه کنید مدیریت نشانه های دسترسی شخصی شما برای دستورالعمل ایجاد یک.
شما می توانید یک نشانه دسترسی کلاسیک یا ریزدانه ایجاد کنید. با این حال، مطمئن شوید که توکن به محتویات و اقدامات مخزن (جریان کاری، اجراها و مصنوعات) دسترسی دارد.
مراحل زیر را برای ذخیره توکن خود در Secrets Manager انجام دهید:
- در کنسول Secrets Manager، را انتخاب کنید یک راز جدید ذخیره کنید.
- انتخاب کنید نوع دیگری از راز برای نوع مخفی را انتخاب کنید.
- نامی برای راز خود در کلید را وارد کنید و رمز دسترسی شخصی خود را به قسمت مربوطه اضافه کنید ارزش رشته.
- را انتخاب کنید بعدی، یک نام برای راز خود وارد کنید و انتخاب کنید بعدی دوباره.
- را انتخاب کنید فروشگاه برای حفظ راز شما
با ذخیره توکن دسترسی شخصی GitHub خود در Secrets Manager، می توانید به طور ایمن در خط لوله MLOps خود به آن دسترسی داشته باشید و در عین حال از محرمانه بودن آن اطمینان حاصل کنید.
یک کاربر IAM برای GitHub Actions ایجاد کنید
برای اجازه دادن به GitHub Actions برای استقرار نقاط پایانی SageMaker در محیط AWS شما، باید یک هویت AWS و مدیریت دسترسی کاربر (IAM) و مجوزهای لازم را به آن اعطا کنید. برای دستورالعمل، مراجعه کنید ایجاد یک کاربر IAM در حساب AWS شما. استفاده از iam/GithubActionsMLOpsExecutionPolicy.json
فایل (ارائه شده در نمونه کد) برای ارائه مجوزهای کافی برای این کاربر برای استقرار نقاط پایانی شما.
پس از ایجاد کاربر IAM، یک کلید دسترسی ایجاد کنید. شما از این کلید، که شامل شناسه کلید دسترسی و کلید دسترسی مخفی است، در مرحله بعدی هنگام پیکربندی اسرار GitHub خود استفاده خواهید کرد.
حساب GitHub خود را تنظیم کنید
در زیر مراحل آماده سازی حساب GitHub برای اجرای این مثال آمده است.
مخزن GitHub را کلون کنید
برای این مثال می توانید از مخزن GitHub موجود مجددا استفاده کنید. با این حال، اگر یک مخزن جدید ایجاد کنید، آسان تر است. این مخزن شامل تمام کد منبع برای ساخت و استقرار خط لوله SageMaker است.
محتویات دایرکتوری کد seed را در ریشه مخزن GitHub خود کپی کنید. به عنوان مثال، .github
دایرکتوری باید زیر ریشه مخزن GitHub شما باشد.
یک راز GitHub حاوی کلید دسترسی کاربر IAM خود ایجاد کنید
در این مرحله، جزئیات کلید دسترسی کاربر تازه ایجاد شده را در خود ذخیره می کنیم راز GitHub.
- در وب سایت GitHub، به مخزن خود بروید و انتخاب کنید تنظیمات.
- در قسمت امنیت، را انتخاب کنید اسرار و متغیرها و انتخاب کنید اعمال.
- را انتخاب کنید راز مخزن جدید.
- برای نام، وارد
AWS_ACCESS_KEY_ID
- برای راز، شناسه کلید دسترسی مرتبط با کاربر IAM را که قبلا ایجاد کرده اید وارد کنید.
- را انتخاب کنید راز را اضافه کنید.
- همین روش را برای
AWS_SECRET_ACCESS_KEY
محیط های GitHub خود را پیکربندی کنید
برای ایجاد یک مرحله تأیید دستی در خطوط لوله استقرار خود، از a استفاده می کنیم محیط GitHub. مراحل زیر را کامل کنید:
- حرکت به تنظیمات, محیط ها منوی مخزن GitHub خود را ایجاد کنید و یک محیط جدید به نام تولید ایجاد کنید.
- برای قوانین حفاظت از محیط زیست، انتخاب کنید بررسی کنندگان مورد نیاز.
- نام های کاربری مورد نظر GitHub را به عنوان بازبین اضافه کنید. برای این مثال می توانید نام کاربری خود را انتخاب کنید.
توجه داشته باشید که ویژگی محیطی در برخی از انواع پلن های GitHub در دسترس نیست. برای اطلاعات بیشتر مراجعه کنید استفاده از محیط ها برای استقرار.
تابع Lambda را اجرا کنید
در مراحل زیر فشرده می کنیم lambda_function.py
در یک فایل zip. که سپس در یک سطل S3 آپلود می شود.
نمونه کد مربوطه برای این کار در ادامه مطلب قابل مشاهده است GitHub repo. به طور خاص ، lambda_function.py
در واقع lambda_functions/lambda_github_workflow_trigger دایرکتوری.
توصیه می شود یک فورک از نمونه کد ایجاد کنید و در عوض آن را شبیه سازی کنید. این به شما آزادی تغییر کد و آزمایش جنبه های مختلف نمونه را می دهد.
- پس از دریافت یک کپی از کد، به دایرکتوری مناسب بروید و از آن استفاده کنید
zip
دستور فشرده سازیlambda_function.py
. هم کاربران Windows و MacOS می توانند از سیستم مدیریت فایل بومی خود، به ترتیب File Explorer یا Finder برای تولید یک فایل .zip استفاده کنند.
- بارگذاری کنید
lambda-github-workflow-trigger.zip
به یک سطل S3.
این سطل بعداً توسط کاتالوگ خدمات قابل دسترسی خواهد بود. شما می توانید هر سطلی را که به آن دسترسی دارید انتخاب کنید، تا زمانی که سرویس کاتالوگ بتواند در مراحل بعدی داده ها را از آن بازیابی کند.
از این مرحله به بعد، ما نیاز به نصب و پیکربندی AWS CLI v2 داریم. یک جایگزین، استفاده از AWS CloudShell است که با تمام ابزارهای از پیش نصب شده همراه است و نیاز به تنظیمات اضافی را از بین می برد.
- برای آپلود فایل در سطل S3 از دستور زیر استفاده کنید:
اکنون یک لایه Lambda برای وابستگی های مربوط به می سازیم lambda_function
ما همین الان آپلود کردیم
- یک محیط مجازی پایتون راه اندازی کنید و وابستگی ها را نصب کنید:
- با دستورات زیر فایل .zip را ایجاد کنید:
- لایه را در AWS منتشر کنید:
با انتشار این لایه، همه توابع Lambda شما اکنون می توانند به آن ارجاع دهند تا وابستگی های خود را برآورده کنند. برای درک دقیقتر لایههای لامبدا، به کار با لایه های لامبدا.
یک قالب پروژه سفارشی در SageMaker ایجاد کنید
پس از تکمیل تمام مراحل فوق، ما تمام منابع و اجزای خط لوله CI/CD را در اختیار داریم. سپس نشان میدهیم که چگونه میتوانیم این منابع را بهعنوان یک پروژه سفارشی در استودیوی SageMaker با استفاده از یک کلیک در دسترس قرار دهیم.
همانطور که قبلاً گفته شد، زمانی که الگوهای ارائه شده توسط SageMaker نیازهای شما را برآورده نمی کنند (به عنوان مثال، می خواهید هماهنگی پیچیده تری در CodePipeline با چندین مرحله، مراحل تأیید سفارشی داشته باشید یا با یک ابزار شخص ثالث مانند اقدامات GitHub و GitHub یکپارچه شوید. در این پست نشان داده شده است)، می توانید الگوهای خود را ایجاد کنید. توصیه می کنیم با الگوهای ارائه شده توسط SageMaker شروع کنید تا بدانید چگونه کد و منابع خود را سازماندهی کنید و روی آن بسازید. برای جزئیات بیشتر مراجعه کنید ایجاد الگوهای پروژه سفارشی.
توجه داشته باشید که میتوانید این مرحله را نیز خودکار کنید و در عوض از CloudFormation برای استقرار نمونه کارها و محصول Service Catalog از طریق کد استفاده کنید. اما در این پست، برای یک تجربه یادگیری بیشتر، استقرار کنسول را به شما نشان می دهیم.
در این مرحله، از الگوی ارائه شده CloudFormation برای ایجاد یک نمونه کار کاتالوگ خدمات استفاده می کنیم که به ما کمک می کند پروژه های سفارشی را در SageMaker ایجاد کنیم.
می توانید یک دامنه جدید ایجاد کنید یا از دامنه SageMaker خود برای مراحل زیر استفاده مجدد کنید. اگر دامنه ندارید به آن مراجعه کنید ورود به دامنه Amazon SageMaker با استفاده از راه اندازی سریع برای دستورالعمل های راه اندازی
پس از فعال کردن دسترسی سرپرست به الگوهای SageMaker، مراحل زیر را انجام دهید:
- در کنسول سرویس کاتالوگ، در زیر حکومت در قسمت ناوبری، را انتخاب کنید میزبانی وب.
- را انتخاب کنید یک نمونه کار جدید ایجاد کنید.
- نام نمونه کارها را «SageMaker Organization Templates» بگذارید.
- دانلود template.yml فایل به کامپیوتر شما
این الگوی Cloud Formation تمام منابع CI/CD را که به عنوان پیکربندی و زیرساخت به عنوان کد نیاز داریم را فراهم می کند. می توانید الگو را با جزئیات بیشتری مطالعه کنید تا ببینید چه منابعی به عنوان بخشی از آن استفاده می شود. این الگو برای ادغام با GitHub و GitHub Actions سفارشی شده است.
- در
template.yml
فایل را تغییر دهیدS3Bucket
مقدار سطل خود را که در آن فایل .zip لامبدا را آپلود کرده اید:
- نمونه کار جدید را انتخاب کنید.
- را انتخاب کنید یک محصول جدید آپلود کنید.
- برای نام محصول¸ یک نام برای الگوی خود وارد کنید. ما از نام استفاده می کنیم
build-deploy-github
. - برای توضیحات:، یک توضیحات وارد کنید.
- برای مالک، اسمت را وارد کن.
- تحت جزئیات نسخه، برای روش، انتخاب کنید از فایل قالب استفاده کنید.
- را انتخاب کنید یک قالب آپلود کنید.
- قالبی را که دانلود کرده اید آپلود کنید.
- برای عنوان نسخه، انتخاب کنید 1.0.
- را انتخاب کنید مرور.
- تنظیمات خود را بررسی کرده و انتخاب کنید محصول ایجاد کنید.
- را انتخاب کنید تازه کردن برای لیست کردن محصول جدید
- محصولی را که به تازگی ایجاد کرده اید انتخاب کنید.
- بر گزينه ها تب، تگ زیر را به محصول اضافه کنید:
- کلید =
sagemaker:studio-visibility
- ارزش =
true
- کلید =
در جزئیات نمونه کارها، باید چیزی شبیه به تصویر زیر (با شناسه های مختلف) مشاهده کنید.
- بر محدودیت ها برگه ، انتخاب کنید ایجاد محدودیت.
- برای محصول، انتخاب کنید
build-deploy-github
(محصولی که به تازگی ایجاد کرده اید). - برای محدودیت نوع، انتخاب کنید راه اندازی.
- تحت محدودیت راه اندازی، برای روش، انتخاب کنید نقش IAM را انتخاب کنید.
- را انتخاب کنید
AmazonSageMakerServiceCatalogProductsLaunchRole
. - را انتخاب کنید ساختن.
- بر گروه ها، نقش ها و کاربران برگه ، انتخاب کنید گروه ها، نقش ها، کاربران را اضافه کنید.
- بر نقش در برگه، نقشی را که هنگام پیکربندی دامنه SageMaker Studio خود استفاده کرده اید انتخاب کنید. اینجاست که می توان نقش دامنه SageMaker را پیدا کرد.
- را انتخاب کنید دسترسی را اضافه کنید.
پروژه را از SageMaker Studio اجرا کنید
در قسمت های قبل محیط پروژه سفارشی MLOps را آماده کردید. حالا بیایید با استفاده از این الگو یک پروژه ایجاد کنیم:
- در کنسول SageMaker به دامنه ای که می خواهید این پروژه را ایجاد کنید بروید.
- بر راه اندازی منو ، انتخاب کنید استودیو.
شما به محیط SageMaker Studio هدایت خواهید شد.
- در SageMaker Studio، در قسمت ناوبری زیر استقرار، انتخاب کنید پروژه ها.
- را انتخاب کنید ایجاد پروژه.
- در بالای لیست الگوها را انتخاب کنید قالب های سازمانی.
اگر تمام مراحل قبلی را با موفقیت پشت سر گذاشته اید، باید بتوانید یک الگوی پروژه سفارشی جدید را با نام مشاهده کنید Build-Deploy-GitHub
.
- آن قالب را انتخاب کرده و انتخاب کنید الگوی پروژه را انتخاب کنید.
- توضیحات اختیاری را وارد کنید
- برای نام مالک مخزن GitHub، مالک مخزن GitHub خود را وارد کنید. به عنوان مثال، اگر مخزن شما در
https://github.com/pooyavahidi/my-repo
، مالک خواهد بودpooyavahidi
. - برای نام مخزن GitHub، نام مخزنی را که کد seed را در آن کپی کرده اید وارد کنید. این فقط نام مخزن خواهد بود. به عنوان مثال، در
https://github.com/pooyavahidi/my-repo
، مخزن استmy-repo
. - برای شناسه منحصر به فرد اتصال Codestar، شناسه منحصر به فرد اتصال AWS CodeStar را که ایجاد کرده اید وارد کنید.
- برای نام راز موجود در Secrets Manager که توکن GitHub را ذخیره می کند، نام راز را در Secrets Manager جایی که توکن GitHub را ایجاد و ذخیره کرده اید وارد کنید.
- برای فایل گردش کار GitHub برای استقرار، نام فایل گردش کار GitHub را وارد کنید (در
.github/workflows/deploy.yml
) جایی که دستورالعمل های استقرار را دارید. برای این مثال، می توانید آن را به عنوان پیش فرض نگه دارید، که این استdeploy.yml
. - را انتخاب کنید ایجاد پروژه.
- پس از ایجاد پروژه خود، مطمئن شوید که آن را به روز کرده اید
AWS_REGION
وSAGEMAKER_PROJECT_NAME
متغیرهای محیطی در فایلهای گردش کار GitHub شما بر این اساس. فایلهای گردش کار در مخزن GitHub شما (کپی شده از کد اولیه)، در داخل مخزن قرار دارند.github/workflows
فهرست راهنما. مطمئن شوید که هر دو را به روز کنیدbuild.yml
وdeploy.yml
فایل های.
اکنون محیط شما آماده حرکت است! میتوانید خطوط لوله را مستقیماً اجرا کنید، تغییراتی ایجاد کنید و آن تغییرات را به مخزن GitHub خود فشار دهید تا خط لوله ساخت خودکار را راهاندازی کند و ببینید که چگونه تمام مراحل ساخت و استقرار خودکار هستند.
پاک کردن
برای پاکسازی منابع، مراحل زیر را انجام دهید:
- پشته های CloudFormation مورد استفاده برای پروژه SageMaker و نقاط پایانی SageMaker را حذف کنید.
- دامنه SageMaker را حذف کنید.
- منابع کاتالوگ خدمات را حذف کنید.
- پیوند اتصال AWS CodeStar را با مخزن GitHub حذف کنید.
- کاربر IAM را که برای GitHub Actions ایجاد کرده اید حذف کنید.
- راز را در Secrets Manager که جزئیات دسترسی شخصی GitHub را ذخیره می کند، حذف کنید.
خلاصه
در این پست، فرآیند استفاده از الگوی پروژه SageMaker MLOps سفارشی برای ساخت و سازماندهی خودکار خط لوله CI/CD را بررسی کردیم. این خط لوله به طور موثر مکانیزم های CI/CD موجود شما را با قابلیت های SageMaker برای دستکاری داده ها، آموزش مدل، تایید مدل و استقرار مدل یکپارچه می کند. در سناریوی خود، ما بر یکپارچه سازی GitHub Actions با پروژه ها و خطوط لوله SageMaker تمرکز کردیم. برای درک جامع از جزئیات پیاده سازی، به سایت مراجعه کنید مخزن GitHub. با خیال راحت این را آزمایش کنید و دریغ نکنید که هر گونه سؤالی را که ممکن است در بخش نظرات مطرح کنید.
درباره نویسنده
دکتر رومینا شریف پور یک معمار ارشد راه حل های یادگیری ماشین و هوش مصنوعی در خدمات وب آمازون (AWS) است. او بیش از 10 سال را صرف طراحی و اجرای راهحلهای نوآورانه سرتاسری کرده است که با پیشرفتهای ML و AI امکانپذیر شده است. حوزه های مورد علاقه رومینا پردازش زبان طبیعی، مدل های زبان بزرگ و MLO است.
پویا وحیدی یک معمار ارشد راه حل در AWS است که علاقه زیادی به علوم کامپیوتر، هوش مصنوعی و محاسبات ابری دارد. به عنوان یک متخصص هوش مصنوعی، او یکی از اعضای فعال تیم AWS AI/ML Area-of-Depth است. او با سابقه بیش از دو دهه تخصص در رهبری معماری و مهندسی راه حل های بزرگ، به مشتریان در سفرهای متحول کننده خود از طریق فناوری های ابری و AI/ML کمک می کند.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/build-an-end-to-end-mlops-pipeline-using-amazon-sagemaker-pipelines-github-and-github-actions/
- : دارد
- :است
- :نه
- :جایی که
- $UP
- 10
- 100
- 114
- 14
- 20
- 28
- 7
- 8
- 9
- a
- قادر
- درباره ما
- بالاتر
- شتاب دادن
- دسترسی
- قابل دسترسی است
- در دسترس
- بر این اساس
- حساب
- دقت
- رسیدن
- در میان
- اقدامات
- فعال
- حلقوی
- اضافه کردن
- اضافی
- تنظیم شده
- اتخاذ
- پیشرفت
- پس از
- از نو
- AI
- AI / ML
- معرفی
- اختصاص دادن
- اجازه دادن
- اجازه می دهد تا
- قبلا
- همچنین
- جایگزین
- آمازون
- آمازون SageMaker
- خطوط لوله آمازون SageMaker
- آمازون خدمات وب
- خدمات وب آمازون (AWS)
- an
- و
- و زیرساخت
- هر
- مناسب
- تصویب
- معماری
- هستند
- مناطق
- مصنوعی
- هوش مصنوعی
- AS
- جنبه
- مرتبط است
- انجمن
- At
- خودکار بودن
- خودکار
- بطور خودکار
- اتوماسیون
- اتوماسیون
- در دسترس
- AWS
- زمینه
- پایه
- BE
- بوده
- قبل از
- هر دو
- ساختن
- بنا
- می سازد
- ساخته
- ساخته شده در
- by
- نام
- CAN
- قابلیت های
- کاتالوگ
- CD
- متمرکز
- تغییر دادن
- تبادل
- را انتخاب کنید
- کلاسیک
- تمیز
- کلیک
- ابر
- محاسبات ابری
- رمز
- پایه کد
- همکاری
- همکاری
- مجموعه
- می آید
- نظرات
- کامل
- اتمام
- پیچیده
- جزء
- اجزاء
- جامع
- کامپیوتر
- علم کامپیوتر
- محاسبه
- محرمانه بودن
- پیکر بندی
- پیکربندی
- پیکربندی
- ارتباط
- با توجه به
- همواره
- تشکیل شده است
- کنسول
- ساختن
- شامل
- محتویات
- مداوم
- کنترل
- متناظر
- ایجاد
- ایجاد شده
- ایجاد
- ایجاد
- ایجاد
- سفارشی
- مشتریان
- سفارشی
- DAG
- داده ها
- آماده سازی داده ها
- علم اطلاعات
- دهه
- به طور پیش فرض
- ارائه
- تحویل
- غرق کردن
- خواسته
- نشان دادن
- نشان
- وابستگی
- گسترش
- مستقر
- استقرار
- گسترش
- اعزام ها
- شرح
- طرح
- مطلوب
- جزئیات
- دقیق
- جزئیات
- پروژه
- مختلف
- جهت دار
- مستقیما
- بحث کردیم
- do
- دامنه
- آیا
- در طی
- هر
- پیش از آن
- آسان تر
- اکوسیستم
- موثر
- به طور موثر
- موثر
- موثر
- هر دو
- عناصر
- از بین بردن
- قادر ساختن
- فعال
- را قادر می سازد
- را قادر می سازد
- پشت سر هم
- نقطه پایانی
- مهندسی
- مورد تأیید
- اطمینان حاصل شود
- تضمین می کند
- حصول اطمینان از
- وارد
- سرمایه گذاری
- تمام
- محیط
- محیط
- اساسا
- ایجاد
- تاسیس
- ایجاد می کند
- استقرار
- و غیره
- ارزیابی
- حوادث
- مثال
- موجود
- تجربه
- تجربه
- تخصص
- جستجوگر
- تسهیل کننده
- ویژگی
- امکانات
- احساس
- رشته
- پرونده
- فایل ها
- یابنده
- تمرکز
- متمرکز شده است
- پیروی
- برای
- چنگال
- تشکیل
- اشکال
- یافت
- رایگان
- آزادی
- از جانب
- تابع
- توابع
- تولید می کنند
- تولید
- دریافت کنید
- رفتن
- GitHub
- دادن
- رفتن
- رفته
- اعطا کردن
- گراف
- بیشتر
- گروه
- گروه ها
- آیا
- he
- سنگین
- بلند کردن سنگین
- کمک می کند
- میزبانی وب
- خانه
- خانه
- مسکن
- چگونه
- چگونه
- اما
- HTML
- HTTP
- HTTPS
- ID
- هویت
- شناسه
- if
- پیاده سازی
- اجرا
- اجرای
- in
- شامل
- شامل
- از جمله
- اطلاعات
- شالوده
- وارد کردن
- شروع می کند
- ابتکاری
- ورودی
- داخل
- نصب
- نصب شده
- نمونه
- در عوض
- دستورالعمل
- ادغام
- ادغام
- ادغام
- ادغام
- اطلاعات
- تعاملی
- علاقه
- به
- معرفی می کند
- انزوا
- IT
- ITS
- سفرها
- JPG
- json
- تنها
- نگاه داشتن
- نگه می دارد
- کلید
- کلید
- شناخته شده
- زبان
- بزرگ
- در مقیاس بزرگ
- بعد
- راه اندازی
- لایه
- لایه
- برجسته
- یادگیری
- ترک کردن
- wifecycwe
- بلند کردن اجسام
- پسندیدن
- اصل و نسب
- ارتباط دادن
- فهرست
- واقع شده
- محل
- طولانی
- نگاه کنيد
- شبیه
- دستگاه
- فراگیری ماشین
- MacOS در
- حفظ
- نگهداری
- ساخت
- مدیریت
- اداره می شود
- مدیریت
- مدیر
- مدیریت
- دست کاری
- کتابچه راهنمای
- بسیاری
- مکانیسم
- دیدار
- عضو
- اعضا
- فهرست
- متاداده
- قدرت
- MIT
- ML
- MLO ها
- مدل
- مدل
- تغییرات
- تغییر
- نظارت بر
- مانیتور
- بیش
- کارآمدتر
- علاوه بر این
- چندگانه
- باید
- نام
- تحت عنوان
- نام
- بومی
- طبیعی
- پردازش زبان طبیعی
- هدایت
- جهت یابی
- لازم
- را ضروری می کند
- نیاز
- نیازهای
- جدید
- محصول جدید
- به تازگی
- بعد
- اکنون
- گرفتن
- of
- ارائه
- on
- ONE
- به بعد
- کار
- عملیات
- or
- تنظیم و ارکستراسیون
- کدام سازمان ها
- سازمان های
- دیگر
- ما
- روی
- مروری
- خود
- مالک
- بسته
- قطعه
- برابری
- بخش
- حزب
- احساساتی
- مجوز
- شخصی
- خط لوله
- برنامه
- سکو
- افلاطون
- هوش داده افلاطون
- PlatoData
- مقام
- پست
- قوی
- شیوه های
- پیش بینی
- تهیه
- آماده
- آماده شده
- پیش نیازها
- قبلی
- روش
- روند
- فرآیندهای
- در حال پردازش
- ساخته
- محصول
- تولید
- حرفه ای
- پروژه
- پروژه ها
- پرسیدن
- حفاظت
- ارائه
- ارائه
- فراهم می کند
- منتشر شده
- فشار
- تحت فشار قرار دادند
- پــایتــون
- نمایش ها
- سریع
- آمادگی
- اماده
- زمان واقعی
- توصیه
- توصیه می شود
- سوابق
- مراجعه
- مرجع
- بازتاب
- ثبت نام
- ثبت
- رجیستری
- مربوط
- مربوط
- قابل اعتماد
- برداشتن
- به طور مکرر
- مخزن
- درخواست
- نیاز
- مورد نیاز
- تحقیق
- منابع
- منابع
- به ترتیب
- مسئوليت
- نتیجه
- استفاده مجدد
- راست
- تنومند
- نقش
- نقش
- ریشه
- قانون
- دویدن
- اجرا می شود
- حکیم ساز
- خطوط لوله SageMaker
- همان
- ذخیره
- مقیاس پذیری
- مقیاس گذاری
- سناریو
- سناریوها
- علم
- دانشمندان
- راز
- اسرار
- بخش
- بخش
- ایمن
- تیم امنیت لاتاری
- دیدن
- دانه
- را انتخاب کنید
- ارشد
- خدمت
- سرویس
- خدمات
- مجموعه
- محیط
- تنظیمات
- برپایی
- چند
- او
- باید
- نشان
- مشابه
- ساده
- ساده شده
- ساده
- نرم افزار
- توسعه نرم افزار
- راه حل
- مزایا
- برخی از
- چیزی
- منبع
- کد منبع
- تنش
- خاص
- به طور خاص
- صرف
- پشته
- کارکنان
- صحنه
- مراحل
- استقرار
- استانداردهای
- شروع
- راه افتادن
- وضعیت
- گام
- مراحل
- ذخیره سازی
- opbevare
- ذخیره شده
- پرده
- ذخیره سازی
- ساده
- ساده کردن
- ساده
- استودیو
- مهاجرت تحصیلی
- متعاقب
- موفقیت
- چنین
- کافی
- دنباله
- مطمئن
- سیستم
- سیستم های
- TAG
- تیم
- اعضای تیم
- تیم ها
- فن آوری
- قالب
- قالب
- آزمایش
- تست
- که
- La
- منبع
- شان
- سپس
- از این رو
- اینها
- آنها
- سوم
- شخص ثالث
- این
- کسانی که
- از طریق
- سراسر
- به
- با هم
- رمز
- ابزار
- ابزار
- بالا
- مسیر
- پیگردی
- آموزش دیده
- آموزش
- دگرگون کردن
- دگرگونی
- ماشه
- باعث شد
- دو
- نوع
- انواع
- زیر
- فهمیدن
- درک
- منحصر به فرد
- بروزرسانی
- آپلود شده
- بر
- us
- استفاده کنید
- استفاده
- کاربر
- کاربران
- با استفاده از
- استفاده کنید
- استفاده
- تصدیق
- اعتبار سنجی
- ارزش
- مختلف
- نسخه
- نسخه
- از طريق
- مجازی
- بازدید
- راه می رفت
- می خواهم
- we
- وب
- خدمات وب
- مبتنی بر وب
- سایت اینترنتی
- چی
- چه زمانی
- که
- در حین
- اراده
- پنجره
- با
- در داخل
- مهاجرت کاری
- همکاری
- گردش کار
- گردش کار
- خواهد بود
- سال
- شما
- شما
- زفیرنت
- زیپ