در 9 آگوست 2022، ما در دسترس بودن عمومی اشتراکگذاری بین حسابها را اعلام کردیم نهادهای آمازون SageMaker Pipelines. اکنون می توانید از پشتیبانی بین حساب کاربری استفاده کنید خطوط لوله آمازون SageMaker برای به اشتراک گذاشتن موجودیت های خط لوله در سراسر حساب های AWS و دسترسی مستقیم به خطوط لوله مشترک از طریق آمازون SageMaker تماس های API
مشتریان به طور فزاینده ای در حال پذیرش هستند معماری های چند حسابی برای استقرار و مدیریت گردش کار یادگیری ماشین (ML) با SageMaker Pipelines. این شامل ایجاد جریانهای کاری در حسابهای توسعه یا آزمایش (dev)، استقرار و آزمایش آنها در یک حساب آزمایشی یا پیشتولید (تست) و در نهایت ارتقاء آنها به حسابهای تولید (prod) برای ادغام با سایر فرآیندهای تجاری است. در موارد استفاده زیر میتوانید از اشتراکگذاری متقابل خطوط لوله SageMaker بهره مند شوید:
- هنگامی که دانشمندان داده، گردشهای کاری ML را در یک حساب توسعهدهنده ایجاد میکنند، این گردشها توسط یک مهندس ML به عنوان خط لوله SageMaker در یک حساب آزمایشی اختصاصی مستقر میشوند. برای نظارت بیشتر بر این جریانهای کاری، دانشمندان داده اکنون به مجوز فقط خواندنی بین حساب برای خط لوله مستقر در حساب آزمایشی نیاز دارند.
- مهندسان ML، مدیران ML، و تیمهای انطباق، که استقرار و عملیات آن گردشهای کاری ML را از یک حساب خدمات مشترک مدیریت میکنند، همچنین نیاز به مشاهده در خط لوله مستقر در حساب آزمایشی دارند. همچنین ممکن است برای شروع، توقف و امتحان مجدد آن گردشهای کاری ML به مجوزهای اضافی نیاز داشته باشند.
در این پست، یک نمونه معماری چند حسابی برای توسعه و استقرار گردشهای کاری ML با SageMaker Pipelines ارائه میکنیم.
بررسی اجمالی راه حل
یک استراتژی چند حسابی به شما کمک می کند تا به داده ها، پروژه ها و جداسازی تیم برسید و در عین حال از مراحل چرخه عمر توسعه نرم افزار پشتیبانی کنید. اشتراکگذاری خط لوله بین حسابها از یک استراتژی چند حسابی پشتیبانی میکند، که سربار ورود و خروج از چندین حساب را حذف میکند و با به اشتراکگذاری منابع مستقیماً در چندین حساب، جریانهای آزمایش و استقرار ML را بهبود میبخشد.
در این مثال، ما یک تیم علم داده داریم که از یک حساب توسعه دهنده اختصاصی برای توسعه اولیه خط لوله SageMaker استفاده می کند. این خط لوله سپس به یک مهندس ML تحویل داده می شود که یک را ایجاد می کند خط لوله یکپارچه سازی و تحویل مداوم (CI/CD). در حساب خدمات مشترک خود برای استقرار این خط لوله در یک حساب آزمایشی. برای اینکه همچنان قادر به نظارت و کنترل خط لوله مستقر شده از حساب های توسعه دهنده مربوطه و سرویس های مشترک خود باشند، سهام منابع با راه اندازی می شوند مدیریت دسترسی به منابع AWS در اکانت های تست و توسعه دهنده با این تنظیمات، مهندس ML و دانشمند داده اکنون می توانند خطوط لوله موجود در توسعه دهنده و حساب های آزمایشی را از حساب های مربوطه خود نظارت و کنترل کنند، همانطور که در شکل زیر نشان داده شده است.
در گردش کار، دانشمند داده و مهندس ML مراحل زیر را انجام می دهند:
- دانشمند داده (DS) یک خط لوله مدل در حساب توسعه دهنده ایجاد می کند.
- مهندس ML (MLE) خط لوله مدل را تولید می کند و یک خط لوله ایجاد می کند، (برای این پست، آن را می نامیم
sagemaker-pipeline
). sagemaker-pipeline
کد به یک متعهد است AWS CodeCommit مخزن در حساب خدمات مشترک- دانشمند داده یک سهم منبع RAM AWS برای آن ایجاد می کند
sagemaker-pipeline
و آن را با حساب خدمات مشترک، که سهم منبع را می پذیرد، به اشتراک می گذارد. - از حساب خدمات مشترک، مهندسان ML اکنون قادر به توصیف، نظارت و مدیریت اجرای خط لوله در حساب توسعه دهنده با استفاده از SageMaker API تماس می گیرد.
- یک خط لوله CI/CD فعال شده در حساب سرویس مشترک، کد را با استفاده از حساب آزمایشی می سازد و مستقر می کند. AWS CodePipeline.
- خط لوله CI/CD ایجاد و اجرا می شود
sagemaker-pipeline
در حساب تست - بعد از دویدن
sagemaker-pipeline
در حساب آزمایشی، خط لوله CI/CD یک سهم منبع برای آن ایجاد می کندsagemaker-pipeline
در حساب تست - سهم منبع از آزمون
sagemaker-pipeline
با مجوزهای فقط خواندنی با حساب توسعه دهنده ایجاد می شود که سهم منبع را می پذیرد. - دانشمند داده اکنون می تواند وضعیت اجرای خط لوله آزمایشی را با استفاده از تماس های SageMaker API از حساب توسعه دهنده توصیف و نظارت کند.
- سهم منبع از آزمون
sagemaker-pipeline
با مجوزهای توسعه یافته با حساب خدمات مشترک ایجاد می شود که سهم منبع را می پذیرد. - مهندس ML اکنون قادر به توصیف، نظارت و مدیریت اجرای خط لوله آزمایشی با استفاده از تماسهای SageMaker API از حساب خدمات مشترک است.
در بخشهای بعدی، به جزئیات بیشتری میپردازیم و نمایشی در مورد نحوه راهاندازی اشتراکگذاری بین حسابها برای خطوط لوله SageMaker ارائه میدهیم.
نحوه ایجاد و اشتراک گذاری خطوط لوله SageMaker در بین حساب ها
در این بخش، مراحل لازم برای ایجاد و اشتراکگذاری خطوط لوله در حسابها با استفاده از RAM AWS و SageMaker API را طی میکنیم.
محیط را تنظیم کنید
ابتدا، ما باید یک محیط چند حسابی را برای نشان دادن اشتراکگذاری بین حسابهای خطوط لوله SageMaker راهاندازی کنیم:
- دو اکانت AWS (توسعه و تست) راه اندازی کنید. می توانید این را به عنوان حساب های عضو یک سازمان یا به عنوان حساب های مستقل تنظیم کنید.
- اگر حساب های خود را به عنوان عضوی از یک سازمان تنظیم می کنید، می توانید فعال کنید به اشتراک گذاری منابع با سازمان شما. با این تنظیم، وقتی منابع را در سازمان خود به اشتراک می گذارید، RAM AWS دعوت نامه هایی را برای مدیران ارسال نمی کند. مدیران سازمان شما بدون تبادل دعوتنامه به منابع مشترک دسترسی پیدا می کنند.
- در حساب آزمایشی، راه اندازی کنید Amazon SageMaker Studio و نوت بوک را اجرا کنید قطار-ثبت-استقرار-خط لوله-مدل. این یک خط لوله نمونه در حساب آزمایشی شما ایجاد می کند. برای سادهسازی نمایش، از SageMaker Studio در حساب آزمایشی برای راهاندازی خط لوله استفاده میکنیم. برای پروژه های واقعی، باید از Studio فقط در حساب توسعه دهنده استفاده کنید و SageMaker Pipeline را در حساب آزمایشی با استفاده از ابزار CI/CD خود راه اندازی کنید.
دستورالعمل های بخش بعدی را دنبال کنید تا این خط لوله را با حساب توسعه دهنده به اشتراک بگذارید.
یک سهم منبع خط لوله را تنظیم کنید
برای اشتراک گذاری خط لوله خود با حساب توسعه دهنده، مراحل زیر را انجام دهید:
- در کنسول RAM AWS، را انتخاب کنید ایجاد اشتراک منابع.
- برای نوع منبع را انتخاب کنید، انتخاب کنید خطوط لوله SageMaker.
- خط لوله ای که در مرحله قبل ایجاد کردید را انتخاب کنید.
- را انتخاب کنید بعدی.
- برای ویرایش، مجوزهای مرتبط خود را انتخاب کنید.
- را انتخاب کنید بعدی.
بعد، شما تصمیم می گیرید که چگونه می خواهید به اصل دسترسی بدهید. - اگر میخواهید خط لوله را فقط در حسابهای سازمان خود به اشتراک بگذارید، انتخاب کنید اشتراک گذاری فقط در سازمان شما مجاز است; در غیر این صورت انتخاب کنید اجازه اشتراک گذاری با هر کسی.
- برای اصولگرایان، نوع اصلی خود را انتخاب کنید (بر اساس نیاز به اشتراک گذاری خود می توانید از یک حساب AWS، سازمان یا واحد سازمانی استفاده کنید). برای این پست، ما با هر کسی در سطح حساب AWS به اشتراک می گذاریم.
- شناسه اصلی خود را انتخاب کنید.
- را انتخاب کنید بعدی.
- بر بررسی و ایجاد کنید صفحه، بررسی کنید که اطلاعات شما درست است و انتخاب کنید ایجاد اشتراک منابع.
- به حساب مقصد خود بروید (برای این پست، حساب توسعه دهنده خود).
- در کنسول RAM AWS، زیر به اشتراک گذاشته شده با من در قسمت ناوبری، را انتخاب کنید سهام منابع.
- سهم منابع خود را انتخاب کنید و انتخاب کنید اشتراک منابع را بپذیرید.
مجوزهای اشتراک منابع
هنگام ایجاد اشتراک منبع خود، می توانید یکی از دو خط مشی مجوز پشتیبانی شده را برای ارتباط با نوع منبع خط لوله SageMaker انتخاب کنید. هر دو خط مشی اجازه دسترسی به هر خط لوله انتخابی و تمام اجراهای آن را می دهند.
La AWSRAMDefaultPermissionSageMakerPipeline
خط مشی اعمال فقط خواندنی زیر را مجاز می کند:
La AWSRAMPermissionSageMakerPipelineAllowExecution
خط مشی شامل تمام مجوزهای فقط خواندنی از خط مشی پیشفرض میشود، و همچنین به حسابهای مشترک اجازه میدهد تا اجرای خطمشی را شروع، متوقف کرده و دوباره امتحان کنند.
خط مشی مجوز اجرای خط لوله توسعه یافته اقدامات زیر را مجاز می کند:
از طریق تماس های مستقیم API به نهادهای خط لوله مشترک دسترسی داشته باشید
در این بخش، نحوه استفاده از تماسهای مختلف SageMaker Pipeline API را برای مشاهده خطوط لوله در حال اجرا در حسابهای راه دور که با شما به اشتراک گذاشته شدهاند، توضیح میدهیم. برای آزمایش API ها در برابر خط لوله در حال اجرا در حساب آزمایشی از حساب توسعه، وارد حساب توسعه داده شده و استفاده کنید AWS CloudShell.
برای تماس های متقابل SageMaker Pipeline API، همیشه باید از ARN خط لوله خود به عنوان شناسایی خط لوله استفاده کنید. این همچنین شامل دستوراتی است که به نام خط لوله نیاز دارند، جایی که باید از ARN خط لوله خود به عنوان نام خط لوله استفاده کنید.
برای دریافت ARN خط لوله خود، در حساب آزمایشی خود، به جزئیات خط لوله خود در Studio از طریق بروید منابع SageMaker.
را انتخاب کنید خطوط لوله در لیست منابع شما
خط لوله خود را انتخاب کنید و به خط لوله خود بروید تنظیمات برگه شما می توانید خط لوله ARN را با خود پیدا کنید متاداده اطلاعات برای این مثال، ARN شما به صورت تعریف شده است "arn:aws:sagemaker:us-east-1:<account-id>:pipeline/serial-inference-pipeline"
.
ListPipelineExecutions
این تماس API اجراها را فهرست می کند خط لوله شما دستور زیر را اجرا کنید و جایگزین کنید $SHARED_PIPELINE_ARN
با خط لوله ARN خود از CloudShell یا با استفاده از رابط خط فرمان AWS (AWS CLI) با اختصاص داده شده پیکربندی شده است هویت AWS و مدیریت دسترسی (من هستم) نقش:
پاسخ تمام مراحل اجرای خط لوله شما را با آنها فهرست می کند PipelineExecutionArn
, StartTime
, PipelineExecutionStatus
و PipelineExecutionDisplayName
:
Pipeline را توصیف کنید
این تماس API جزئیات را شرح می دهد خط لوله شما دستور زیر را اجرا کنید و جایگزین کنید $SHARED_PIPELINE_ARN
با خط لوله ARN شما:
پاسخ فوق داده های خط لوله شما و همچنین اطلاعاتی در مورد ایجاد و اصلاحات آن ارائه می دهد:
DescribePipelineExecution
این تماس API جزئیات را شرح می دهد از اجرای خط لوله شما دستور زیر را اجرا کنید و جایگزین کنید $SHARED_PIPELINE_ARN
با خط لوله ARN شما:
پاسخ جزئیاتی را در مورد اجرای خط لوله شما، از جمله PipelineExecutionStatus
, ExperimentName
و TrialName
:
StartPipelineExecution
این تماس API شروع می شود یک خط لوله اجرا می شود دستور زیر را اجرا کنید و جایگزین کنید $SHARED_PIPELINE_ARN
با خط لوله ARN و $CLIENT_REQUEST_TOKEN
با یک شناسه منحصر به فرد و حساس به حروف بزرگ که برای این اجرا ایجاد می کنید. شناسه باید بین 32 تا 128 کاراکتر داشته باشد. به عنوان مثال، شما می توانید یک رشته با استفاده از دستور تولید تصادفی AWS CLI کیلومتر.
به عنوان پاسخ، این فراخوانی API را برمی گرداند PipelineExecutionArn
از اجرای شروع شده:
StopPipelineExecution
این تماس API متوقف می شود یک خط لوله اجرا می شود دستور زیر را اجرا کنید و جایگزین کنید $PIPELINE_EXECUTION_ARN
با خط لوله اجرا ARN خط لوله در حال اجرا خود را و $CLIENT_REQUEST_TOKEN
با یک شناسه منحصر به فرد و حساس به حروف بزرگ که برای این اجرا ایجاد می کنید. شناسه باید بین 32 تا 128 کاراکتر داشته باشد. به عنوان مثال، شما می توانید یک رشته با استفاده از دستور تولید تصادفی AWS CLI کیلومتر.
به عنوان پاسخ، این فراخوانی API را برمی گرداند PipelineExecutionArn
خط لوله متوقف شده:
نتیجه
اشتراکگذاری بین حسابهای خطوط لوله SageMaker به شما این امکان را میدهد که به طور ایمن موجودیتهای خط لوله را در حسابهای AWS به اشتراک بگذارید و از طریق تماسهای مستقیم API، بدون نیاز به ورود و خروج از چندین حساب، به خطوط لوله مشترک دسترسی داشته باشید.
در این پست، ما به این قابلیت پرداختیم تا نشان دهیم چگونه میتوانید خطوط لوله را در بین حسابها به اشتراک بگذارید و از طریق تماسهای SageMaker API به آنها دسترسی داشته باشید.
به عنوان گام بعدی، می توانید از این ویژگی برای پروژه ML بعدی خود استفاده کنید.
منابع
برای شروع کار با SageMaker Pipelines و اشتراک گذاری خطوط لوله بین حساب ها، به منابع زیر مراجعه کنید:
درباره نویسندگان
رام ویتال یک معمار راه حل های تخصصی ML در AWS است. او بیش از 20 سال تجربه در زمینه معماری و ساخت برنامه های کاربردی توزیع شده، ترکیبی و ابری دارد. او مشتاق ساختن راهحلهای AI/ML و کلان داده ایمن و مقیاسپذیر است تا به مشتریان سازمانی در پذیرش و سفر بهینهسازی ابر برای بهبود نتایج کسبوکارشان کمک کند. او در اوقات فراغت خود از تنیس، عکاسی و فیلم های اکشن لذت می برد.
مایرا لادیرا تانکه یک معمار راه حل های تخصصی ML در AWS است. او با سابقه ای در علم داده، 9 سال تجربه معماری و ساخت برنامه های کاربردی ML با مشتریان در سراسر صنایع دارد. او به عنوان یک رهبر فنی، به مشتریان کمک می کند تا از طریق فناوری های نوظهور و راه حل های نوآورانه، دستیابی به ارزش تجاری خود را تسریع بخشند. مایرا در اوقات فراغت خود از مسافرت و گذراندن وقت با خانواده در مکانی گرم لذت می برد.
گابریل زیلکا مشاور خدمات حرفه ای در AWS است. او از نزدیک با مشتریان همکاری می کند تا سفر پذیرش ابری آنها را تسریع بخشد. او که در حوزه MLOps تخصص دارد، بر تولید بارهای کاری یادگیری ماشینی با خودکارسازی چرخه های عمر یادگیری ماشینی سرتاسر و کمک به دستیابی به نتایج کسب و کار دلخواه تمرکز دارد. او در اوقات فراغت خود از سفر و پیاده روی در کوه های آلپ باواریا لذت می برد.
- AI
- آی هنر
- مولد هنر ai
- ربات ai
- آمازون SageMaker
- هوش مصنوعی
- گواهی هوش مصنوعی
- هوش مصنوعی در بانکداری
- ربات هوش مصنوعی
- ربات های هوش مصنوعی
- نرم افزار هوش مصنوعی
- آموزش ماشین AWS
- بلاکچین
- کنفرانس بلاک چین ai
- coingenius
- هوش مصنوعی محاوره ای
- کنفرانس کریپتو ai
- دل-ه
- یادگیری عمیق
- گوگل ai
- فراگیری ماشین
- افلاطون
- افلاطون آی
- هوش داده افلاطون
- بازی افلاطون
- PlatoData
- بازی پلاتو
- مقیاس Ai
- نحو
- زفیرنت