در این پست نشان می دهیم Kubeflow در AWS (توزیع خاص AWS از Kubeflow) و ارزشی که نسبت به Kubeflow منبع باز از طریق ادغام خدمات AWS بسیار بهینه، بومی ابری و آماده برای سازمانی اضافه می کند.
Kubeflow پلتفرم یادگیری ماشینی منبع باز (ML) است که به پیادهسازی گردشهای کاری ML در Kubernetes ساده، قابل حمل و مقیاسپذیر اختصاص دارد. Kubeflow اجزای بسیاری از جمله داشبورد مرکزی، نوتبوکهای چند کاربره Jupyter، Kubeflow Pipelines، KFServing، و Katib و همچنین اپراتورهای آموزشی توزیعشده برای TensorFlow، PyTorch، MXNet و XGBoost را برای ساخت جریانهای کاری ML ساده، مقیاسپذیر و قابل حمل ارائه میکند. .
AWS اخیراً Kubeflow v1.4 را به عنوان بخشی از توزیع Kubeflow خود (به نام Kubeflow در AWS) راهاندازی کرد، که وظایف علم داده را ساده میکند و به ساخت سیستمهای ML بسیار قابل اعتماد، ایمن، قابل حمل و مقیاسپذیر با کاهش هزینههای عملیاتی از طریق ادغام با خدمات مدیریت شده AWS کمک میکند. . شما می توانید از این توزیع Kubeflow برای ایجاد سیستم های ML در بالای آن استفاده کنید سرویس الاستیک کوبرنتز آمازون (Amazon EKS) برای ساخت، آموزش، تنظیم و استقرار مدلهای ML برای موارد استفاده گسترده، از جمله بینایی رایانه، پردازش زبان طبیعی، ترجمه گفتار و مدلسازی مالی.
چالش های با منبع باز Kubeflow
وقتی از یک پروژه منبع باز Kubeflow استفاده می کنید، تمام اجزای صفحه کنترل Kubeflow و صفحه داده را در گره های کارگر Kubernetes مستقر می کند. سرویسهای مؤلفه Kubeflow به عنوان بخشی از صفحه کنترل Kubeflow مستقر شدهاند، و تمام استقرار منابع مربوط به Jupyter، آموزش مدل، تنظیم و میزبانی در صفحه داده Kubeflow مستقر میشوند. صفحه کنترل Kubeflow و صفحه داده می توانند بر روی گره های کارگر مشابه یا متفاوت Kubernetes اجرا شوند. این پست بر روی اجزای صفحه کنترل Kubeflow تمرکز دارد، همانطور که در نمودار زیر نشان داده شده است.
این مدل استقرار ممکن است به دلایل زیر تجربه ای آماده برای سازمان ارائه ندهد:
- تمام اجزای زیرساخت باربری سنگین هواپیمای کنترل Kubeflow، از جمله پایگاه داده، ذخیره سازی، و احراز هویت، در خود گره کارگر خوشه Kubernetes مستقر هستند. این امر اجرای یک معماری طراحی صفحه کنترلی Kubeflow بسیار در دسترس را با حالت پایدار در صورت خرابی گره کارگر چالش برانگیز می کند.
- مصنوعات تولید شده توسط هواپیمای کنترل Kubeflow (مانند نمونههای MySQL، گزارشهای غلاف، یا ذخیرهسازی MinIO) در طول زمان رشد میکنند و به حجمهای ذخیرهسازی قابل تغییر اندازه با قابلیتهای نظارت مستمر برای برآوردن تقاضای رو به رشد ذخیرهسازی نیاز دارند. از آنجایی که صفحه کنترل Kubeflow منابع را با بارهای کاری صفحه داده Kubeflow به اشتراک می گذارد (به عنوان مثال، برای مشاغل آموزشی، خطوط لوله و استقرار)، اندازه و مقیاس بندی مناسب خوشه و حجم Kubernetes می تواند چالش برانگیز باشد و منجر به افزایش هزینه عملیاتی شود.
- Kubernetes اندازه فایل گزارش را محدود میکند و اکثر نصبها آخرین محدودیت 10 مگابایتی را حفظ میکنند. به طور پیشفرض، گزارشهای غلاف پس از رسیدن به این حد بالا غیرقابل دسترسی میشوند. همچنین اگر پادها خارج شوند، خراب شوند، حذف شوند یا در گره دیگری برنامه ریزی شوند، ممکن است غیرقابل دسترسی باشند، که می تواند بر قابلیت دسترسی و قابلیت نظارت گزارش برنامه شما تأثیر بگذارد.
Kubeflow در AWS
Kubeflow در AWS مسیر روشنی را برای استفاده از Kubeflow با خدمات AWS زیر ارائه میکند:
- Application Load Balancer برای مدیریت امن ترافیک خارجی از طریق HTTPS
- CloudWatch آمازون برای مدیریت لاگ مداوم
- AWS Cognito برای احراز هویت کاربر با امنیت لایه حمل و نقل (TLS)
- ظروف یادگیری عمیق AWS برای تصاویر سرور نوت بوک Jupyter بسیار بهینه شده است
- سیستم فایل الاستیک آمازون (Amazon EFS) یا آمازون FSx برای Luster برای یک راه حل ذخیره سازی فایل ساده، مقیاس پذیر و بدون سرور برای افزایش عملکرد آموزشی
- آمازون EKS برای خوشه های مدیریت شده Kubernetes
- سرویس پایگاه داده رابطه آمازون (Amazon RDS) برای خطوط لوله بسیار مقیاس پذیر و یک فروشگاه ابرداده
- مدیر اسرار AWS برای محافظت از اسرار مورد نیاز برای دسترسی به برنامه های کاربردی شما
- سرویس ذخیره سازی ساده آمازون (Amazon S3) برای یک فروشگاه مصنوعات خط لوله با استفاده آسان
این یکپارچهسازیهای سرویس AWS با Kubeflow (همانطور که در نمودار زیر نشان داده شده است) به ما اجازه میدهد تا بخشهای حیاتی هواپیمای کنترل Kubeflow را از Kubernetes جدا کنیم و طراحی ایمن، مقیاسپذیر، انعطافپذیر و بهینهسازی هزینه ارائه کنیم.
بیایید در مورد مزایای یکپارچه سازی هر سرویس و راه حل های آنها در مورد امنیت، اجرای خطوط لوله ML و ذخیره سازی بحث کنیم.
احراز هویت امن کاربران Kubeflow با آمازون Cognito
امنیت ابری در AWS بالاترین اولویت است و ما در حال سرمایهگذاری روی ادغام امنیت Kubeflow مستقیماً در سرویسهای امنیتی با مسئولیت مشترک AWS هستیم، مانند موارد زیر:
- Application Load Balancer (ALB) برای مدیریت ترافیک خارجی
- مدیر گواهی AWS (ACM) برای پشتیبانی از TLS
- نقش های IAM برای حساب های خدمات (IRSA) برای کنترل دسترسی ریز دانه در سطح Kubernetes Pod
- سرویس مدیریت کلید AWS (AWS KMS) برای مدیریت کلید رمزگذاری داده ها
- سپر AWS برای محافظت از DDoS
در این بخش، ما بر روی ادغام هواپیمای کنترلی AWS Kubeflow با Amazon Cognito تمرکز می کنیم. Amazon Cognito نیاز به مدیریت و نگهداری راه حل بومی Dex (ارائه دهنده OpenID Connect (OIDC) منبع باز با پشتیبانی LDAP محلی) را برای احراز هویت کاربر حذف می کند و مدیریت مخفی را آسان تر می کند.
همچنین می توانید از Amazon Cognito برای اضافه کردن سریع و آسان ثبت نام کاربر، ورود به سیستم و کنترل دسترسی به رابط کاربری Kubeflow خود استفاده کنید. Amazon Cognito به میلیونها کاربر مقیاس میشود و از ورود به سیستم با ارائهدهندگان هویت اجتماعی (IdPs)، مانند Facebook، Google، و Amazon، و IdPهای سازمانی از طریق SAML 2.0 پشتیبانی میکند. این امر پیچیدگی راهاندازی Kubeflow شما را کاهش میدهد و عملکرد آن را برای دستیابی به ایزولهسازی چند کاربره آسانتر میکند.
بیایید به جریان احراز هویت چند کاربره با آمازون Cognito، ALB، و ACM با Kubeflow در AWS نگاه کنیم. تعدادی از اجزای کلیدی به عنوان بخشی از این ادغام وجود دارد. Amazon Cognito بهعنوان یک IdP با یک تماس احراز هویت پیکربندی شده است تا پس از احراز هویت کاربر، درخواست را به Kubeflow هدایت کند. به عنوان بخشی از راه اندازی Kubeflow، یک منبع ورودی Kubernetes برای مدیریت ترافیک خارجی به سرویس Istio Gateway ایجاد می شود. کنترل کننده ورودی AWS ALB یک بار متعادل کننده برای آن ورودی ارائه می کند. ما استفاده می کنیم مسیر آمازون 53 برای پیکربندی یک DNS عمومی برای دامنه ثبت شده و ایجاد گواهی با استفاده از ACM برای فعال کردن احراز هویت TLS در متعادل کننده بار.
نمودار زیر گردش کار معمول کاربر برای ورود به Amazon Cognito و هدایت مجدد به Kubeflow در فضای نام مربوطه را نشان می دهد.
گردش کار شامل مراحل زیر است:
- کاربر یک درخواست HTTPS را به داشبورد مرکزی Kubeflow که در پشت یک متعادل کننده بار میزبانی شده است ارسال می کند. مسیر 53 FQDN را به رکورد مستعار ALB حل می کند.
- اگر کوکی وجود نداشته باشد، متعادل کننده بار کاربر را به نقطه پایانی مجوز Amazon Cognito هدایت می کند تا آمازون Cognito بتواند کاربر را احراز هویت کند.
- پس از احراز هویت کاربر، Amazon Cognito کاربر را با یک کد اعطای مجوز به بارگذاری متعادل کننده بازگرداند.
- متعادل کننده بار کد اعطای مجوز را به نقطه پایانی رمز آمازون Cognito ارائه می دهد.
- به محض دریافت کد اعطای مجوز معتبر، آمازون کوگنیتو کد شناسه و رمز دسترسی به متعادل کننده بار را ارائه می دهد.
- پس از اینکه بار متعادل کننده شما با موفقیت یک کاربر را احراز هویت کرد، رمز دسترسی را به نقطه پایانی اطلاعات کاربر Amazon Cognito ارسال می کند و ادعاهای کاربر را دریافت می کند. متعادل کننده بار علامت می دهد و ادعاهای کاربر را به هدر HTTP اضافه می کند
x-amzn-oidc-*
در قالب درخواست توکن وب JSON (JWT). - درخواست متعادل کننده بار به غلاف دروازه ورودی Istio ارسال می شود.
- Istio Gateway با استفاده از فیلتر فرستاده رمزگشایی می کند
x-amzn-oidc-data
مقدار، فیلد ایمیل را بازیابی می کند و هدر HTTP سفارشی را اضافه می کندkubeflow-userid
، که توسط لایه مجوز Kubeflow استفاده می شود. - خطمشیهای کنترل دسترسی مبتنی بر منبع Istio در درخواست ورودی برای تأیید دسترسی به داشبورد Kubeflow اعمال میشود. اگر هر یک از آنها برای کاربر غیرقابل دسترسی باشد، یک پاسخ خطا برگردانده میشود. اگر درخواست تأیید شود، به سرویس مناسب Kubeflow ارسال می شود و دسترسی به داشبورد Kubeflow را فراهم می کند.
متاداده و ذخیره سازی مصنوعات جزء Kubeflow با Amazon RDS و Amazon S3
Kubeflow در AWS یکپارچه سازی با سرویس پایگاه داده رابطه آمازون (Amazon RDS) در خطوط لوله Kubeflow و AutoML (کاتیب) برای ذخیره سازی ابرداده دائمی، و Amazon S3 در خط لوله Kubeflow برای ذخیره سازی مصنوع دائمی. بیایید به بحث در مورد خطوط لوله Kubeflow با جزئیات بیشتر ادامه دهیم.
Kubeflow Pipelines پلت فرمی برای ساخت و استقرار گردشهای کاری ML قابل حمل و مقیاسپذیر است. این گردش کار می تواند به خودکارسازی خطوط لوله پیچیده ML با استفاده از اجزای داخلی و سفارشی Kubeflow کمک کند. خطوط لوله Kubeflow شامل Python SDK، یک کامپایلر DSL برای تبدیل کد پایتون به یک پیکربندی ایستا، یک سرویس Pipelines که خطوط لوله را از پیکربندی استاتیک اجرا می کند، و مجموعه ای از کنترلرها برای اجرای کانتینرها در Kubernetes Pods مورد نیاز برای تکمیل خط لوله است.
ابرداده خطوط لوله Kubeflow برای آزمایشها و اجرای خط لوله در MySQL ذخیره میشود و مصنوعات شامل بستههای خط لوله و معیارها در MinIO ذخیره میشوند.
همانطور که در نمودار زیر نشان داده شده است، Kubeflow در AWS به شما امکان می دهد اجزای زیر را با سرویس های مدیریت شده AWS ذخیره کنید:
- فراداده خط لوله در آمازون RDS – Amazon RDS یک معماری استقرار Multi-AZ مقیاس پذیر، بسیار در دسترس و قابل اعتماد با مکانیزم خودکار خطای داخلی و ظرفیت قابل تغییر اندازه برای یک پایگاه داده استاندارد صنعتی مانند MySQL ارائه می دهد. بدون نیاز به تهیه زیرساخت یا نگهداری نرم افزار، وظایف معمول مدیریت پایگاه داده را مدیریت می کند.
- مصنوعات خط لوله در آمازون S3 – آمازون S3 مقیاسپذیری، در دسترس بودن دادهها، امنیت و عملکرد پیشرو در صنعت را ارائه میدهد و میتواند برای پاسخگویی به شما مورد استفاده قرار گیرد. الزامات انطباق.
این ادغام ها به تخلیه مدیریت و نگهداری فراداده و ذخیره سازی مصنوع از Kubeflow خود مدیریت به سرویس های مدیریت شده AWS کمک می کند که راه اندازی، کارکرد و مقیاس آن آسان تر است.
پشتیبانی از سیستم های فایل توزیع شده با Amazon EFS و Amazon FSx
Kubeflow بر پایه Kubernetes ساخته شده است، که زیرساختی را برای پردازش داده های توزیع شده در مقیاس بزرگ، از جمله آموزش و تنظیم مدل های بزرگ با یک شبکه عمیق با میلیون ها یا حتی میلیاردها پارامتر، فراهم می کند. برای پشتیبانی از چنین سیستم های پردازش داده های توزیع شده ML، Kubeflow در AWS یکپارچه سازی با سرویس های ذخیره سازی زیر را ارائه می دهد:
- آمازون EFS - یک سیستم فایل توزیع شده با کارایی بالا، بومی ابری که می توانید آن را از طریق یک مدیریت کنید درایور آمازون EFS CSI. آمازون EFS فراهم می کند
ReadWriteMany
حالت دسترسی، و اکنون میتوانید از آن برای نصب در غلافها (ژوپیتر، آموزش مدل، تنظیم مدل) استفاده کنید که در صفحه داده Kubeflow اجرا میشوند تا یک فضای کاری پایدار، مقیاسپذیر و قابل اشتراکگذاری فراهم کنید که با افزودن و حذف فایلها بهطور خودکار رشد میکند و کوچک میشود. نیازی به مدیریت نیست - آمازون FSx برای Luster - یک سیستم فایل بهینه شده برای بارهای کاری فشرده، مانند محاسبات با کارایی بالا و ML، که می توانید از طریق آن مدیریت کنید. درایور آمازون FSx CSI. FSx for Luster فراهم می کند
ReadWriteMany
حالت دسترسی نیز وجود دارد، و میتوانید از آن برای ذخیره دادههای آموزشی با اتصال مستقیم به Amazon S3 بهعنوان پشتیبان استفاده کنید، که میتوانید از آن برای پشتیبانی از سرورهای نوتبوک Jupyter یا آموزشهای توزیعشده در حال اجرا در صفحه داده Kubeflow استفاده کنید. با این پیکربندی، قبل از استفاده از حجم، نیازی به انتقال داده به سیستم فایل ندارید. FSx for Luster تأخیرهای زیر میلیثانیهای ثابت و همزمانی بالا را ارائه میکند و میتواند به TB/s توان و میلیونها IOPS مقیاس شود.
گزینه های استقرار Kubeflow
AWS گزینه های مختلف استقرار Kubeflow را ارائه می دهد:
- استقرار با آمازون Cognito
- استقرار با Amazon RDS و Amazon S3
- استقرار با Amazon Cognito، Amazon RDS و Amazon S3
- استقرار وانیل
برای جزئیات در مورد یکپارچه سازی سرویس و افزونه های موجود برای هر یک از این گزینه ها، به مراجعه کنید گزینه های استقرار. شما می توانید گزینه ای را که به بهترین وجه مناسب مورد استفاده شما است، مناسب کنید.
در بخش بعدی، مراحل نصب توزیع AWS Kubeflow v1.4 در Amazon EKS را طی می کنیم. سپس از نمونه خط لوله XGBoost موجود در داشبورد UI مرکزی Kubeflow برای نشان دادن ادغام و استفاده از AWS Kubeflow با Amazon Cognito، Amazon RDS و Amazon S3، با Secrets Manager به عنوان یک افزونه استفاده میکنیم.
پیش نیازها
برای این راهنما، شما باید پیش نیازهای زیر را داشته باشید:
- An حساب AWS.
- یک خوشه آمازون EKS موجود. باید نسخه Kubernetes 1.19 یا بالاتر باشد. برای ایجاد خودکار خوشه با استفاده از eksctl، نگاه کنید به یک آمازون EKS Cluster ایجاد کنید و از گزینه eksctl استفاده کنید.
ابزارهای زیر را روی ماشین کلاینت مورد استفاده برای دسترسی به خوشه Kubernetes خود نصب کنید. شما می توانید استفاده کنید AWS Cloud9یک محیط توسعه یکپارچه مبتنی بر ابر (IDE) برای راه اندازی خوشه Kubernetes.
- رابط خط فرمان AWS (AWS CLI) - یک ابزار خط فرمان برای تعامل با خدمات AWS. برای دستورالعمل نصب، مراجعه کنید نصب، به روز رسانی و حذف AWS CLI.
- eksctl > 0.56 - یک ابزار خط فرمان برای کار با خوشه های آمازون EKS که بسیاری از وظایف فردی را خودکار می کند.
- کوبکتل - یک ابزار خط فرمان برای کار با خوشه های Kubernetes.
- دستگاه گوارش – یک نرم افزار کنترل نسخه توزیع شده
- پایتون 3.8+ – محیط برنامه نویسی پایتون
- شکستن - مدیر بسته برای پایتون.
- kustomize نسخه 3.2.0 – یک ابزار خط فرمان برای سفارشی کردن اشیاء Kubernetes از طریق یک فایل Kustomization.
Kubeflow را روی AWS نصب کنید
Kubectl را پیکربندی کنید تا بتوانید به خوشه آمازون EKS متصل شوید:
کنترلرهای مختلف در استقرار Kubeflow استفاده می کنند نقش های IAM برای حساب های خدمات (IRSA). یک ارائه دهنده OIDC باید وجود داشته باشد تا خوشه شما بتواند از IRSA استفاده کند. یک ارائه دهنده OIDC ایجاد کنید و آن را با اجرای دستور زیر برای خوشه EKS آمازون خود مرتبط کنید، اگر خوشه شما قبلاً یکی ندارد:
AWS manifests repo و Kubeflow manifests repo را شبیهسازی کنید و شاخههای انتشار مربوطه را بررسی کنید:
برای اطلاعات بیشتر در مورد این نسخه ها مراجعه کنید انتشار و نسخه.
Amazon RDS، Amazon S3 و Secrets Manager را راه اندازی کنید
قبل از استقرار مانیفست های Kubeflow، منابع Amazon RDS و Amazon S3 را ایجاد می کنید. ما از اسکریپت های خودکار پایتون استفاده می کنیم که از ایجاد سطل S3، پایگاه داده RDS و اسرار مورد نیاز در Secrets Manager مراقبت می کند. همچنین فایل های پیکربندی مورد نیاز خط لوله Kubeflow و AutoML را ویرایش می کند تا به درستی برای پایگاه داده RDS و سطل S3 در حین نصب Kubeflow پیکربندی شوند.
یک کاربر IAM ایجاد کنید با مجوز برای اجازه دادن GetBucketLocation
و خواندن و نوشتن دسترسی به اشیاء در یک سطل S3 که می خواهید مصنوعات Kubeflow را در آن ذخیره کنید. استفاده کنید AWS_ACCESS_KEY_ID
و AWS_SECRET_ACCESS_KEY
کاربر IAM در کد زیر:
Amazon Cognito را به عنوان ارائه دهنده احراز هویت راه اندازی کنید
در این بخش، یک دامنه سفارشی در Route 53 و ALB ایجاد می کنیم تا ترافیک خارجی را به دروازه Kubeflow Istio هدایت کند. ما از ACM برای ایجاد گواهی برای فعال کردن احراز هویت TLS در ALB و Amazon Cognito برای حفظ مجموعه کاربران و مدیریت احراز هویت کاربر استفاده میکنیم.
مقادیر زیر را جایگزین کنید
- route53.rootDomain.name – دامنه ثبت شده بیایید فرض کنیم این دامنه است
example.com
. - route53.rootDomain.hostedZoneId – اگر دامنه شما در Route53 مدیریت می شود، شناسه منطقه میزبانی را که در زیر جزئیات منطقه میزبانی یافت شده است وارد کنید. اگر دامنه شما توسط ارائه دهنده دامنه دیگری مدیریت می شود، از این مرحله رد شوید.
- route53.subDomain.name – نام زیر دامنه ای که می خواهید Kubeflow را در آن میزبانی کنید (به عنوان مثال،
platform.example.com
). برای اطلاعات بیشتر در مورد زیر دامنه ها به ادامه مطلب مراجعه کنید استقرار Kubeflow با AWS Cognito به عنوان IdP. - cluster.name - نام خوشه و جایی که Kubeflow مستقر شده است.
- خوشه.منطقه - منطقه خوشه ای که Kubeflow در آن مستقر شده است (به عنوان مثال،
us-west-2
). - cognitoUserpool.name - نام مجموعه کاربران آمازون Cognito (به عنوان مثال،
kubeflow-users
).
فایل کانفیگ چیزی شبیه به کد زیر است:
اسکریپت را برای ایجاد منابع اجرا کنید:
اسکریپت به روز رسانی می کند config.yaml
فایل با نام منابع، شناسه ها و ARN هایی که ایجاد کرده است. چیزی شبیه کد زیر است:
مانیفست ها را بسازید و Kubeflow را مستقر کنید
Kubeflow را با استفاده از دستور زیر اجرا کنید:
دامنه را با آدرس ALB به روز کنید
استقرار یک متعادل کننده بار برنامه AWS با مدیریت ورودی ایجاد می کند. ورودی های DNS برای زیر دامنه در مسیر 53 با DNS متعادل کننده بار به روز می کنیم. دستور زیر را اجرا کنید تا بررسی کنید که آیا بار متعادل کننده تامین شده است (این کار حدود 3 تا 5 دقیقه طول می کشد):
اگر ADDRESS
پس از چند دقیقه فیلد خالی می شود، گزارش های مربوطه را بررسی کنید alb-ingress-controller
. برای دستورالعمل، مراجعه کنید ALB ارائه نمی کند.
هنگامی که بار متعادل کننده تهیه شد، نام DNS متعادل کننده بار را کپی کنید و آدرس را جایگزین کنید. kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. بخش Kubeflow فایل کانفیگ شبیه کد زیر است:
اسکریپت زیر را برای به روز رسانی ورودی های DNS برای زیر دامنه در مسیر 53 با DNS متعادل کننده بار ارائه شده اجرا کنید:
عیب یابی
اگر در حین نصب با مشکلی مواجه شدید، به بخش مراجعه کنید راهنمای عیب یابی یا با دنبال کردن بخش "پاکسازی" در این وبلاگ، تازه شروع کنید.
از مرور مورد استفاده کنید
اکنون که نصب اجزای مورد نیاز Kubeflow را تکمیل کردهایم، بیایید آنها را در عمل با استفاده از یکی از نمونههای موجود ارائه شده توسط Kubeflow Pipelines در داشبورد ببینیم.
با استفاده از Amazon Cognito به داشبورد Kubeflow دسترسی پیدا کنید
برای شروع، اجازه دهید به داشبورد Kubeflow دسترسی پیدا کنیم. از آنجایی که ما از Amazon Cognito به عنوان IdP استفاده کردیم، از اطلاعات ارائه شده در آن استفاده کنید فایل رسمی README. ابتدا تعدادی کاربر در کنسول آمازون Cognito ایجاد می کنیم. اینها کاربرانی هستند که وارد داشبورد مرکزی می شوند. بعد، ایجاد نمایه برای کاربری که ایجاد کردید سپس باید بتوانید از طریق صفحه ورود به سیستم به داشبورد دسترسی پیدا کنید https://kubeflow.platform.example.com.
تصویر زیر داشبورد Kubeflow ما را نشان می دهد.
خط لوله را اجرا کنید
در داشبورد Kubeflow، را انتخاب کنید خطوط لوله در نام ناوبری شما باید چهار نمونه ارائه شده توسط Kubeflow Pipelines را ببینید که می توانید مستقیماً برای کشف ویژگی های مختلف Pipelines اجرا کنید.
برای این پست از نمونه XGBoost با نام [Demo] XGBoost – آموزش مدل تکراری استفاده می کنیم. شما می توانید کد منبع را پیدا کنید GitHub. این یک خط لوله ساده است که از موجود استفاده می کند XGBoost/Train
و XGBoost/Predict
اجزای خط لوله Kubeflow برای آموزش مکرر یک مدل تا زمانی که معیارها بر اساس معیارهای مشخص شده خوب در نظر گرفته شوند.
برای اجرای خط لوله، مراحل زیر را انجام دهید:
- خط لوله را انتخاب کنید و انتخاب کنید آزمایش ایجاد کنید.
- تحت جزئیات آزمایش، یک نام وارد کنید (برای این پست،
demo-blog
) و توضیحات اختیاری. - را انتخاب کنید بعدی.
- تحت جزئیات را اجرا کنید¸ خط لوله و نسخه خط لوله خود را انتخاب کنید.
- برای نام اجرا، یک نام وارد کنید.
- برای تجربه، آزمایشی را که ایجاد کردید انتخاب کنید.
- برای نوع اجرا، انتخاب کنید یکبار مصرف.
- را انتخاب کنید آغاز.
پس از اینکه خط لوله شروع به کار کرد، باید اجزای سازنده (در عرض چند ثانیه) را مشاهده کنید. در این مرحله می توانید برای مشاهده جزئیات بیشتر هر یک از اجزای تکمیل شده را انتخاب کنید.
دسترسی به مصنوعات در آمازون S3
هنگام استقرار Kubeflow، ما مشخص کردیم که Kubeflow Pipelines باید از Amazon S3 برای ذخیره مصنوعات خود استفاده کند. این شامل تمام مصنوعات خروجی خط لوله، اجراهای ذخیره شده در حافظه پنهان، و نمودارهای خط لوله است - که همه آنها می توانند برای تجسم های غنی و ارزیابی عملکرد استفاده شوند.
هنگامی که اجرای خط لوله کامل شد، باید بتوانید مصنوعات موجود در سطل S3 را که در حین نصب ایجاد کرده اید مشاهده کنید. برای تأیید این موضوع، هر جزء تکمیل شده خط لوله را انتخاب کنید و آن را بررسی کنید ورودی خروجی بخش پیش فرض گراف برگه نشانیهای اینترنتی آرتیفکت باید به سطل S3 اشاره کنند که در حین استقرار مشخص کردهاید.
برای تأیید اینکه منابع به آمازون S3 اضافه شدهاند، میتوانیم سطل S3 را در حساب AWS خود از طریق کنسول آمازون S3 نیز بررسی کنیم.
تصویر زیر فایل های ما را نشان می دهد.
ابرداده ML را در Amazon RDS تأیید کنید
ما همچنین Kubeflow Pipelines را با Amazon RDS در طول استقرار یکپارچه کردیم، به این معنی که هر ابرداده خط لوله باید در Amazon RDS ذخیره شود. این شامل هر گونه اطلاعات زمان اجرا مانند وضعیت یک کار، در دسترس بودن مصنوعات، ویژگی های سفارشی مرتبط با اجرا یا مصنوعات و موارد دیگر است.
برای تأیید ادغام Amazon RDS، مراحل ارائه شده در را دنبال کنید فایل رسمی README. به طور خاص مراحل زیر را انجام دهید:
- نام کاربری و رمز عبور Amazon RDS را از راز ایجاد شده در هنگام نصب دریافت کنید:
- از این اعتبارنامه ها برای اتصال به Amazon RDS از داخل خوشه استفاده کنید:
- هنگامی که اعلان MySQL باز می شود، می توانیم آن را تأیید کنیم
mlpipelines
پایگاه داده به شرح زیر - اکنون میتوانیم محتوای جداول خاص را بخوانیم تا مطمئن شویم که میتوانیم اطلاعات فرادادهای درباره آزمایشهایی که خطوط لوله را اجرا کردهاند ببینیم:
پاک کردن
برای حذف نصب Kubeflow و حذف منابع AWS که ایجاد کرده اید، مراحل زیر را انجام دهید:
- با اجرای دستور زیر، بار متعادل کننده ورودی و مدیریت شده را حذف کنید:
- بقیه اجزای Kubeflow را حذف کنید:
- منابع AWS ایجاد شده توسط اسکریپت ها را حذف کنید:
- منابع ایجاد شده برای آمازون RDS و آمازون S3 ادغام. مطمئن شوید که فایل پیکربندی ایجاد شده توسط اسکریپت را در داخل دارید
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - منابع ایجاد شده برای ادغام آمازون Cognito. مطمئن شوید که فایل پیکربندی ایجاد شده توسط اسکریپت را در داخل دارید
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- منابع ایجاد شده برای آمازون RDS و آمازون S3 ادغام. مطمئن شوید که فایل پیکربندی ایجاد شده توسط اسکریپت را در داخل دارید
- اگر یک خوشه اختصاصی Amazon EKS برای Kubeflow با استفاده از eksctl ایجاد کرده اید، می توانید با دستور زیر آن را حذف کنید:
خلاصه
در این پست، ارزشی را که Kubeflow در AWS از طریق ادغامهای خدمات بومی مدیریت شده توسط AWS برای بارهای کاری AI و ML ایمن، مقیاسپذیر و آماده برای سازمانی ارائه میکند، برجسته کردیم. شما می توانید از میان چندین گزینه استقرار، Kubeflow را روی AWS با ادغام های مختلف سرویس نصب کنید. مورد استفاده در این پست ادغام Kubeflow با Amazon Cognito، Secrets Manager، Amazon RDS و Amazon S3 را نشان داد. برای شروع کار با Kubeflow در AWS، به گزینههای استقرار یکپارچه AWS در دسترس مراجعه کنید Kubeflow در AWS.
با شروع نسخه 1.3، می توانید دنبال کنید مخزن AWS Labs برای ردیابی تمام مشارکت های AWS به Kubeflow. شما همچنین می توانید ما را در Kubeflow #AWS Slack Channel; بازخورد شما در آنجا به ما کمک می کند تا ویژگی های بعدی را برای مشارکت در پروژه Kubeflow اولویت بندی کنیم.
درباره نویسنده
کانوالجیت خرمی یک معمار راه حل های تخصصی AI/ML در خدمات وب آمازون است. او با محصول، مهندسی و مشتریان AWS کار میکند تا راهنماییها و کمکهای فنی ارائه دهد و به آنها کمک کند ارزش راهحلهای ترکیبی ML خود را هنگام استفاده از AWS بهبود بخشند. Kanwaljit در کمک به مشتریان با برنامه های کاربردی کانتینری و یادگیری ماشین تخصص دارد.
مگنا بایجل یک مهندس نرم افزار با هوش مصنوعی AWS است که با ساختن محصولات و پلتفرم های ML مانند Deep Learning Containers، Deep Learning AMIs، AWS Controllers for Kubernetes (ACK) و Kubeflow در AWS، بارهای کاری یادگیری ماشین خود را بر روی AWS آسان تر می کند. . او در خارج از محل کار از خواندن، سفر و نقاشی لذت می برد.
سورج کوتا یک مهندس نرم افزار متخصص در زیرساخت های یادگیری ماشین است. او ابزارهایی میسازد تا به راحتی شروع به کار کند و حجم کار یادگیری ماشین را در AWS افزایش دهد. او بر روی AWS Deep Learning Containers، Deep Learning AMI، SageMaker Operators برای Kubernetes و دیگر ادغام های منبع باز مانند Kubeflow کار کرد.
- Coinsmart. بهترین صرافی بیت کوین و کریپتو اروپا.
- پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی رایگان.
- CryptoHawk. رادار آلت کوین امتحان رایگان.
- منبع: https://aws.amazon.com/blogs/machine-learning/build-and-deploy-a-scalable-machine-learning-system-on-kubernetes-with-kubeflow-on-aws/
- "
- 10
- 100
- 420
- 7
- درباره ما
- دسترسی
- حساب
- عمل
- اضافه کردن در
- نشانی
- مدیر سایت
- حکومت
- وابستگان
- AI
- معرفی
- قبلا
- آمازون
- آمازون خدمات وب
- دیگر
- کاربرد
- برنامه های کاربردی
- مناسب
- معماری
- دور و بر
- وابسته
- تأیید اعتبار
- احراز هویت
- تصدیق
- مجوز
- خودکار بودن
- خودکار
- خودکار می کند
- دسترس پذیری
- در دسترس
- AWS
- شدن
- مزایای
- بهترین
- میلیاردها
- بلاگ
- مرز
- ساختن
- بنا
- می سازد
- ساخته شده در
- قابلیت های
- ظرفیت
- اهميت دادن
- موارد
- CD
- گواهی نامه
- گواهینامه ها
- به چالش کشیدن
- وارسی
- را انتخاب کنید
- ادعای
- کلاس
- رمز
- مشترک
- تکمیل
- پیچیده
- جزء
- کامپیوتر
- محاسبه
- پیکر بندی
- اتصال
- اتصال
- کنسول
- ظروف
- شامل
- محتوا
- ادامه دادن
- کمک
- کنترل
- کنترل کننده
- حق چاپ
- میتوانست
- ایجاد
- ایجاد شده
- ایجاد
- ایجاد
- ایجاد
- مجوزها و اعتبارات
- بحرانی
- سفارشی
- مشتریان
- داشبورد
- داده ها
- پردازش داده ها
- علم اطلاعات
- پایگاه داده
- از DDoS
- اختصاصی
- تقاضا
- نشان دادن
- نشان
- گسترش
- مستقر
- استقرار
- گسترش
- اعزام ها
- مستقر می کند
- طرح
- جزئیات
- جزئیات
- پروژه
- دگزامتازون
- مختلف
- مستقیم
- مستقیما
- بحث و تبادل نظر
- توزیع شده
- توزیع
- دی ان اس
- نمی کند
- دامنه
- به آسانی
- آسان برای استفاده
- از دست
- پست الکترونیک
- قادر ساختن
- رمزگذاری
- نقطه پایانی
- مهندس
- مهندسی
- وارد
- سرمایه گذاری
- محیط
- ارزیابی
- واقعه
- مثال
- موجود
- تجربه
- تجربه
- اکتشاف
- فیس بوک
- شکست
- امکانات
- باز خورد
- مالی
- نام خانوادگی
- مناسب
- جریان
- تمرکز
- تمرکز
- به دنبال
- پیروی
- قالب
- یافت
- تازه
- گرفتن
- رفتن
- GitHub
- خوب
- گوگل
- شدن
- در حال رشد
- کمک
- کمک
- کمک می کند
- اینجا کلیک نمایید
- زیاد
- بالاتر
- برجسته
- خیلی
- میزبانی وب
- HTTPS
- ترکیبی
- هویت
- تأثیر
- انجام
- بهبود
- شرکت
- شامل
- از جمله
- افزایش
- فرد
- پیشرو در صنعت
- اطلاعات
- اطلاعات
- شالوده
- نصب
- یکپارچه
- ادغام
- یکپارچگی
- سرمایه گذاری
- انزوا
- مسائل
- IT
- خود
- شغل ها
- نگهداری
- کلید
- آزمایشگاه
- زبان
- بزرگ
- راه اندازی
- یادگیری
- بلند کردن اجسام
- لاین
- بار
- محلی
- دستگاه
- فراگیری ماشین
- حفظ
- باعث می شود
- ساخت
- مدیریت
- اداره می شود
- مدیریت
- مدیر
- متریک
- میلیون ها نفر
- ML
- مدل
- مدل
- نظارت بر
- بیش
- اکثر
- نام
- طبیعی
- جهت یابی
- خالص
- شبکه
- گره
- دفتر یادداشت
- عدد
- پیشنهادات
- باز کن
- منبع باز
- باز می شود
- اپراتور
- بهینه
- گزینه
- گزینه
- دیگر
- خود
- کلمه عبور
- کارایی
- سکو
- سیستم عامل
- نقطه
- سیاست
- استخر
- در حال حاضر
- اولویت
- در حال پردازش
- محصول
- محصولات
- برنامه نويسي
- پروژه
- محافظت از
- ارائه
- فراهم می کند
- ارائه
- عمومی
- به سرعت
- رسیدن به
- مطالعه
- دلایل
- رکورد
- ثبت نام
- آزاد
- درخواست
- ضروری
- مورد نیاز
- منابع
- منابع
- پاسخ
- REST
- مسیر
- دویدن
- در حال اجرا
- مقیاس پذیری
- مقیاس پذیر
- مقیاس
- مقیاس گذاری
- علم
- sdk
- SEC
- ثانیه
- امن
- تیم امنیت لاتاری
- بدون سرور
- سرویس
- خدمات
- تنظیم
- برپایی
- سهام
- نشانه ها
- ساده
- اندازه
- شل
- خواب
- So
- آگاهی
- نرم افزار
- مهندس نرمافزار
- جامد
- راه حل
- مزایا
- برخی از
- چیزی
- کد منبع
- متخصص
- تخصصی
- تخصص دارد
- به طور خاص
- صحنه
- شروع
- آغاز شده
- شروع می شود
- دولت
- وضعیت
- ذخیره سازی
- opbevare
- موفقیت
- پشتیبانی
- پشتیبانی از
- سیستم
- سیستم های
- وظایف
- فنی
- منبع
- از طریق
- زمان
- رمز
- ابزار
- ابزار
- بالا
- مسیر
- ترافیک
- آموزش
- انتقال
- ترجمه
- حمل و نقل
- سفر
- ui
- بروزرسانی
- به روز رسانی
- us
- استفاده کنید
- کاربران
- تایید شده
- ارزش
- تنوع
- مختلف
- بررسی
- دید
- حجم
- وب
- خدمات وب
- WHO
- در داخل
- بدون
- مهاجرت کاری
- مشغول به کار
- کارگر
- با این نسخهها کار