برنامه نویسی

معرفی Ray در GKE

Summarize this content to 400 words in Persian Lang این پست در نهایت با نگاهی به راه حل منبع باز Ray و نحوه پشتیبانی از بارهای کاری هوش مصنوعی در Google Kubernetes Engine، مجموعه اکتشاف هوش مصنوعی من را ادامه می دهد.

ری چیست؟

Ray که در ابتدا در UC Berkeley در سال 2018 ایجاد شد، یک چارچوب محاسباتی یکپارچه منبع باز برای مقیاس‌بندی حجم کاری هوش مصنوعی و پایتون است. پروژه Ray عمدتا توسط Anyscale مدیریت و نگهداری می شود.

در سطح بالایی، Ray از 3 لایه تشکیل شده است: Ray AI Libraries (Python)، Ray Core و Ray Cluster. این لایه‌ها Ray را قادر می‌سازد تا به‌عنوان راه‌حلی عمل کند که شکاف بین دانشمندان داده/مهندسین یادگیری ماشین و مهندسین زیرساخت/پلتفرم را در بر می‌گیرد. Ray به توسعه‌دهندگان این امکان را می‌دهد تا برنامه‌های هوش مصنوعی خود را آسان‌تر و کارآمدتر در سخت‌افزار توزیع‌شده از طریق کتابخانه‌های مختلف اجرا کنند. Ray دانشمندان داده/مهندسین یادگیری ماشین (ML) را قادر می سازد تا بر برنامه ها و مدل هایی که در حال توسعه هستند تمرکز کنند. و در نهایت، Ray ابزارهایی را در اختیار مهندسان زیرساخت/پلتفرم قرار می‌دهد تا راحت‌تر و مؤثرتر از نیازهای زیرساختی این برنامه‌های کاربردی حساس به عملکرد پشتیبانی کنند.

این نمودار از مستندات Ray نشان می‌دهد که چگونه کتابخانه‌های Ray با Ray Core ارتباط دارند، در حالی که Ray Cluster یک پلت فرم محاسباتی توزیع‌شده است که می‌تواند بر روی انواع پیکربندی‌های زیرساخت، عموماً در فضای ابری اجرا شود.

Ray از طریق کتابخانه‌های مختلف Python خود در لایه‌های Ray AI Libraries و Ray Core، ابزارهایی را در اختیار پزشکان ML قرار می‌دهد که چالش اجرای برنامه‌های کاربردی سبک یادگیری ماشینی توزیع‌شده بسیار حساس به عملکرد را بر روی شتاب‌دهنده‌های سخت‌افزاری ساده‌تر می‌کند. Ray Cluster یک پلت فرم محاسباتی توزیع شده است که در آن گره های کارگر کد کاربر را به عنوان وظایف و بازیگران Ray اجرا می کنند. این گره‌های کارگر توسط یک گره سر مدیریت می‌شوند که وظایفی مانند مقیاس‌بندی خودکار خوشه و زمان‌بندی بارهای کاری را انجام می‌دهد. Ray Cluster همچنین داشبوردی را ارائه می دهد که وضعیت مشاغل و خدمات در حال اجرا را نشان می دهد.

Ray در Kubernetes با KubeRay

خوشه های Ray و Kubernetes به خوبی با هم جفت می شوند. در حالی که Ray Cluster با تمرکز بر فعال کردن محاسبات توزیع شده کارآمد برای بارهای کاری سخت افزاری فشرده ML توسعه یافته است، Kubernetes یک دهه تجربه در محاسبات توزیع شده تعمیم یافته دارد. با اجرای Ray Cluster در Kubernetes، هم کاربران Ray و هم مدیران Kubernetes از مسیر همواری از توسعه تا تولید بهره مند می شوند که کتابخانه های Ray به همراه Ray Cluster (در حال اجرا در Kubernetes) ارائه می کنند. KubeRay یک عملگر است که به شما امکان می دهد یک Ray Cluster را روی یک خوشه Kubernetes اجرا کنید.

KubeRay 3 تعریف منابع سفارشی (CRD) را برای ارائه یکپارچه سازی Ray در Kubernetes اضافه می کند. RayCluster CRD خوشه Kubernetes را قادر می سازد تا چرخه حیات اشیاء RayCluster سفارشی خود را مدیریت کند، از جمله مدیریت ایجاد/حذف RayCluster، مقیاس خودکار، و اطمینان از تحمل خطا. شی RayJob سفارشی کاربر را قادر می سازد تا Ray jobs (Ray Jobs، با فاصله!) و یک ارسال کننده را تعریف کند، که می تواند برای اجرای کار روی یک شی RayCluster موجود هدایت شود یا یک RayCluster جدید ایجاد کند تا پس از آن حذف شود. تکمیل RayJob. منبع سفارشی RayService یک Ray Cluster چند گره و یک برنامه Serve را که در بالای آن اجرا می شود در یک مانیفست Kubernetes محصور می کند.

KubeRay در GKE با افزونه Ray Operator

Ray Operator یک افزونه برای Google Kubernetes Engine (GKE) است که مبتنی بر KubeRay است و راهی صاف و بومی برای استقرار و مدیریت منابع KubeRay در GKE ارائه می‌کند. فعال کردن Ray Operator در GKE Cluster به طور خودکار KubeRay CRDs (RayCluster، RayJob و RayService) را نصب می‌کند و شما را قادر می‌سازد تا بارهای کاری Ray را روی خوشه خود اجرا کنید. می‌توانید اپراتور را در هنگام ایجاد کلاستر فعال کنید یا می‌توانید آن را از طریق کنسول، gcloud cli یا IAC مانند Terraform به یک خوشه موجود اضافه کنید.

افزونه Ray Operator در یک خوشه GKE توسط گوگل میزبانی می شود و روی گره های GKE اجرا نمی شود، به این معنی که برای اجرای اپراتور هیچ سرباری به خوشه اضافه نمی شود. همچنین می‌توانید بدون استفاده از افزونه، اپراتور KubeRay را در کلاستر GKE خود اجرا کنید. در مواردی که از Add-On استفاده نمی کنید، عملگر KubeRay روی گره ها اجرا می شود، به این معنی که ممکن است مقداری سربار به خوشه اضافه شود. به عبارت دیگر، Ray Operator Add-On برای GKE به کاربران این امکان را می‌دهد تا Ray را روی خوشه‌های GKE خود بدون هیچ هزینه اضافی از سوی اپراتور اجرا کنند.

این ویدیوی کوتاه (حدود 3.5 دقیقه) به شما نشان می‌دهد که چگونه Ray Operator را به کلاستر خود اضافه کنید و ایجاد RayCluster و اجرای Ray Job را در آن کلاستر که در GKE اجرا می‌شود، نشان می‌دهد.

زمان استفاده از Ray در GKE

در بسیاری از سازمان‌ها، افرادی که برنامه‌های کاربردی هوش مصنوعی را ایجاد می‌کنند و افرادی که خوشه‌های GKE و سایر زیرساخت‌ها را اجرا و مدیریت می‌کنند، افراد متفاوتی هستند، زیرا مهارت‌های انجام این نوع فعالیت‌ها ماهیت تخصصی دارند.

به عنوان یک مهندس پلتفرم، ممکن است بخواهید استفاده تشویقی از Ray را به عنوان یک پلتفرم واحد مقیاس پذیر ML در نظر بگیرید که اعضای سازمان شما می توانند از آن برای ساده کردن چرخه عمر توسعه بارهای کاری هوش مصنوعی استفاده کنند. اگر متخصصان هوش مصنوعی از Ray استفاده می‌کنند، می‌توانید از Ray Operator برای GKE برای ساده‌سازی نصب و ادغام در اکوسیستم GKE موجود خود استفاده کنید. به عنوان یک متخصص که در حال ساخت برنامه‌های هوش مصنوعی است، اگر سازمان شما قبلاً از GKE استفاده می‌کند و می‌خواهید دوباره از همان کد بین توسعه و تولید بدون تغییر استفاده کنید و از اکوسیستم ML Ray با ادغام‌های متعدد استفاده کنید، ممکن است بخواهید از Ray استفاده کنید یا از آن حمایت کنید. .

جایگزین های ری

Ray در خلاء وجود ندارد و ابزارهای متعدد دیگری وجود دارند که می توانند از همان نوع بار کاری هوش مصنوعی و پایتون پشتیبانی کنند. رویکرد لایه‌ای Ray چالش‌هایی را از توسعه تا تولید حل می‌کند که ممکن است جایگزین‌ها به طور کلی به آن نپردازند. درک چگونگی ارتباط Ray با ابزارهای دیگر می‌تواند به شما در درک ارزشی که ارائه می‌کند کمک کند.

مؤلفه‌های کتابخانه Python Ray را می‌توان مشابه راه‌حل‌هایی مانند numpy، scipy و pandas در نظر گرفت (که بیشتر شبیه به کتابخانه Ray Data است). به عنوان یک چارچوب و راه حل محاسباتی توزیع شده، Ray می تواند به جای ابزاری مانند Apache Spark یا Python Dask استفاده شود. همچنین شایان ذکر است که Ray Cluster می تواند به عنوان یک راه حل محاسباتی توزیع شده در Kubernetes استفاده شود، همانطور که در اینجا بررسی کردیم، اما Ray Cluster همچنین می تواند مستقل از Kubernetes ایجاد شود.

برای کسب اطلاعات بیشتر در مورد روابط بین Ray و جایگزین‌ها، قسمت «Ray & KubeRay, with Richard Liaw and Kai-Hsun Chen» از پادکست Kubernetes از Google را بررسی کنید.

مانند بسیاری از حوزه های دیگر فناوری، پاسخ درست به این سوال که «کدام ابزار برای من بهترین است» این است که «بستگی دارد». بهترین راه حل برای استفاده شما به عوامل مختلفی بستگی دارد، از جمله اینکه با کدام ابزار راحت هستید، چگونه کار را تقسیم می کنید، چه چیزی در محیط شما استفاده می شود و موارد دیگر.

امروز Ray Operator را در GKE امتحان کنید!

Ray یک راه حل قدرتمند است که فاصله بین کسانی که برنامه های کاربردی هوش مصنوعی را توسعه می دهند و کسانی که آنها را در زیرساخت اجرا می کنند، پر می کند. Ray Operator برای GKE استفاده از Ray را در خوشه‌های GKE آسان می‌کند.

در صفحه اسناد Google Cloud «درباره Ray در موتور Google Kubernetes (GKE)» درباره Ray و نحوه استفاده از آن بیشتر بدانید. و ویدیوی «Simplify Kuberay with Ray Operator on GKE» را در YouTube بررسی کنید تا نمونه‌ای از Ray Operator در GKE را ببینید.

در زمان انتشار، Ray Summit 2024 نزدیک است! به Anyscale و جامعه Ray در سانفرانسیسکو در 30 سپتامبر تا 2 اکتبر برای 3 روز آموزش، همکاری و اکتشاف متمرکز بر Ray بپیوندید. برنامه در حال حاضر در دسترس است!

این پست در نهایت با نگاهی به راه حل منبع باز Ray و نحوه پشتیبانی از بارهای کاری هوش مصنوعی در Google Kubernetes Engine، مجموعه اکتشاف هوش مصنوعی من را ادامه می دهد.

ری چیست؟

Ray که در ابتدا در UC Berkeley در سال 2018 ایجاد شد، یک چارچوب محاسباتی یکپارچه منبع باز برای مقیاس‌بندی حجم کاری هوش مصنوعی و پایتون است. پروژه Ray عمدتا توسط Anyscale مدیریت و نگهداری می شود.

در سطح بالایی، Ray از 3 لایه تشکیل شده است: Ray AI Libraries (Python)، Ray Core و Ray Cluster. این لایه‌ها Ray را قادر می‌سازد تا به‌عنوان راه‌حلی عمل کند که شکاف بین دانشمندان داده/مهندسین یادگیری ماشین و مهندسین زیرساخت/پلتفرم را در بر می‌گیرد. Ray به توسعه‌دهندگان این امکان را می‌دهد تا برنامه‌های هوش مصنوعی خود را آسان‌تر و کارآمدتر در سخت‌افزار توزیع‌شده از طریق کتابخانه‌های مختلف اجرا کنند. Ray دانشمندان داده/مهندسین یادگیری ماشین (ML) را قادر می سازد تا بر برنامه ها و مدل هایی که در حال توسعه هستند تمرکز کنند. و در نهایت، Ray ابزارهایی را در اختیار مهندسان زیرساخت/پلتفرم قرار می‌دهد تا راحت‌تر و مؤثرتر از نیازهای زیرساختی این برنامه‌های کاربردی حساس به عملکرد پشتیبانی کنند.

توضیحات تصویر

این نمودار از مستندات Ray نشان می‌دهد که چگونه کتابخانه‌های Ray با Ray Core ارتباط دارند، در حالی که Ray Cluster یک پلت فرم محاسباتی توزیع‌شده است که می‌تواند بر روی انواع پیکربندی‌های زیرساخت، عموماً در فضای ابری اجرا شود.

Ray از طریق کتابخانه‌های مختلف Python خود در لایه‌های Ray AI Libraries و Ray Core، ابزارهایی را در اختیار پزشکان ML قرار می‌دهد که چالش اجرای برنامه‌های کاربردی سبک یادگیری ماشینی توزیع‌شده بسیار حساس به عملکرد را بر روی شتاب‌دهنده‌های سخت‌افزاری ساده‌تر می‌کند. Ray Cluster یک پلت فرم محاسباتی توزیع شده است که در آن گره های کارگر کد کاربر را به عنوان وظایف و بازیگران Ray اجرا می کنند. این گره‌های کارگر توسط یک گره سر مدیریت می‌شوند که وظایفی مانند مقیاس‌بندی خودکار خوشه و زمان‌بندی بارهای کاری را انجام می‌دهد. Ray Cluster همچنین داشبوردی را ارائه می دهد که وضعیت مشاغل و خدمات در حال اجرا را نشان می دهد.

Ray در Kubernetes با KubeRay

خوشه های Ray و Kubernetes به خوبی با هم جفت می شوند. در حالی که Ray Cluster با تمرکز بر فعال کردن محاسبات توزیع شده کارآمد برای بارهای کاری سخت افزاری فشرده ML توسعه یافته است، Kubernetes یک دهه تجربه در محاسبات توزیع شده تعمیم یافته دارد. با اجرای Ray Cluster در Kubernetes، هم کاربران Ray و هم مدیران Kubernetes از مسیر همواری از توسعه تا تولید بهره مند می شوند که کتابخانه های Ray به همراه Ray Cluster (در حال اجرا در Kubernetes) ارائه می کنند. KubeRay یک عملگر است که به شما امکان می دهد یک Ray Cluster را روی یک خوشه Kubernetes اجرا کنید.

KubeRay 3 تعریف منابع سفارشی (CRD) را برای ارائه یکپارچه سازی Ray در Kubernetes اضافه می کند. RayCluster CRD خوشه Kubernetes را قادر می سازد تا چرخه حیات اشیاء RayCluster سفارشی خود را مدیریت کند، از جمله مدیریت ایجاد/حذف RayCluster، مقیاس خودکار، و اطمینان از تحمل خطا. شی RayJob سفارشی کاربر را قادر می سازد تا Ray jobs (Ray Jobs، با فاصله!) و یک ارسال کننده را تعریف کند، که می تواند برای اجرای کار روی یک شی RayCluster موجود هدایت شود یا یک RayCluster جدید ایجاد کند تا پس از آن حذف شود. تکمیل RayJob. منبع سفارشی RayService یک Ray Cluster چند گره و یک برنامه Serve را که در بالای آن اجرا می شود در یک مانیفست Kubernetes محصور می کند.

KubeRay در GKE با افزونه Ray Operator

Ray Operator یک افزونه برای Google Kubernetes Engine (GKE) است که مبتنی بر KubeRay است و راهی صاف و بومی برای استقرار و مدیریت منابع KubeRay در GKE ارائه می‌کند. فعال کردن Ray Operator در GKE Cluster به طور خودکار KubeRay CRDs (RayCluster، RayJob و RayService) را نصب می‌کند و شما را قادر می‌سازد تا بارهای کاری Ray را روی خوشه خود اجرا کنید. می‌توانید اپراتور را در هنگام ایجاد کلاستر فعال کنید یا می‌توانید آن را از طریق کنسول، gcloud cli یا IAC مانند Terraform به یک خوشه موجود اضافه کنید.

افزونه Ray Operator در یک خوشه GKE توسط گوگل میزبانی می شود و روی گره های GKE اجرا نمی شود، به این معنی که برای اجرای اپراتور هیچ سرباری به خوشه اضافه نمی شود. همچنین می‌توانید بدون استفاده از افزونه، اپراتور KubeRay را در کلاستر GKE خود اجرا کنید. در مواردی که از Add-On استفاده نمی کنید، عملگر KubeRay روی گره ها اجرا می شود، به این معنی که ممکن است مقداری سربار به خوشه اضافه شود. به عبارت دیگر، Ray Operator Add-On برای GKE به کاربران این امکان را می‌دهد تا Ray را روی خوشه‌های GKE خود بدون هیچ هزینه اضافی از سوی اپراتور اجرا کنند.

این ویدیوی کوتاه (حدود 3.5 دقیقه) به شما نشان می‌دهد که چگونه Ray Operator را به کلاستر خود اضافه کنید و ایجاد RayCluster و اجرای Ray Job را در آن کلاستر که در GKE اجرا می‌شود، نشان می‌دهد.

زمان استفاده از Ray در GKE

در بسیاری از سازمان‌ها، افرادی که برنامه‌های کاربردی هوش مصنوعی را ایجاد می‌کنند و افرادی که خوشه‌های GKE و سایر زیرساخت‌ها را اجرا و مدیریت می‌کنند، افراد متفاوتی هستند، زیرا مهارت‌های انجام این نوع فعالیت‌ها ماهیت تخصصی دارند.

به عنوان یک مهندس پلتفرم، ممکن است بخواهید استفاده تشویقی از Ray را به عنوان یک پلتفرم واحد مقیاس پذیر ML در نظر بگیرید که اعضای سازمان شما می توانند از آن برای ساده کردن چرخه عمر توسعه بارهای کاری هوش مصنوعی استفاده کنند. اگر متخصصان هوش مصنوعی از Ray استفاده می‌کنند، می‌توانید از Ray Operator برای GKE برای ساده‌سازی نصب و ادغام در اکوسیستم GKE موجود خود استفاده کنید. به عنوان یک متخصص که در حال ساخت برنامه‌های هوش مصنوعی است، اگر سازمان شما قبلاً از GKE استفاده می‌کند و می‌خواهید دوباره از همان کد بین توسعه و تولید بدون تغییر استفاده کنید و از اکوسیستم ML Ray با ادغام‌های متعدد استفاده کنید، ممکن است بخواهید از Ray استفاده کنید یا از آن حمایت کنید. .

جایگزین های ری

Ray در خلاء وجود ندارد و ابزارهای متعدد دیگری وجود دارند که می توانند از همان نوع بار کاری هوش مصنوعی و پایتون پشتیبانی کنند. رویکرد لایه‌ای Ray چالش‌هایی را از توسعه تا تولید حل می‌کند که ممکن است جایگزین‌ها به طور کلی به آن نپردازند. درک چگونگی ارتباط Ray با ابزارهای دیگر می‌تواند به شما در درک ارزشی که ارائه می‌کند کمک کند.

مؤلفه‌های کتابخانه Python Ray را می‌توان مشابه راه‌حل‌هایی مانند numpy، scipy و pandas در نظر گرفت (که بیشتر شبیه به کتابخانه Ray Data است). به عنوان یک چارچوب و راه حل محاسباتی توزیع شده، Ray می تواند به جای ابزاری مانند Apache Spark یا Python Dask استفاده شود. همچنین شایان ذکر است که Ray Cluster می تواند به عنوان یک راه حل محاسباتی توزیع شده در Kubernetes استفاده شود، همانطور که در اینجا بررسی کردیم، اما Ray Cluster همچنین می تواند مستقل از Kubernetes ایجاد شود.

برای کسب اطلاعات بیشتر در مورد روابط بین Ray و جایگزین‌ها، قسمت «Ray & KubeRay, with Richard Liaw and Kai-Hsun Chen» از پادکست Kubernetes از Google را بررسی کنید.

مانند بسیاری از حوزه های دیگر فناوری، پاسخ درست به این سوال که «کدام ابزار برای من بهترین است» این است که «بستگی دارد». بهترین راه حل برای استفاده شما به عوامل مختلفی بستگی دارد، از جمله اینکه با کدام ابزار راحت هستید، چگونه کار را تقسیم می کنید، چه چیزی در محیط شما استفاده می شود و موارد دیگر.

امروز Ray Operator را در GKE امتحان کنید!

Ray یک راه حل قدرتمند است که فاصله بین کسانی که برنامه های کاربردی هوش مصنوعی را توسعه می دهند و کسانی که آنها را در زیرساخت اجرا می کنند، پر می کند. Ray Operator برای GKE استفاده از Ray را در خوشه‌های GKE آسان می‌کند.

در صفحه اسناد Google Cloud «درباره Ray در موتور Google Kubernetes (GKE)» درباره Ray و نحوه استفاده از آن بیشتر بدانید. و ویدیوی «Simplify Kuberay with Ray Operator on GKE» را در YouTube بررسی کنید تا نمونه‌ای از Ray Operator در GKE را ببینید.

در زمان انتشار، Ray Summit 2024 نزدیک است! به Anyscale و جامعه Ray در سانفرانسیسکو در 30 سپتامبر تا 2 اکتبر برای 3 روز آموزش، همکاری و اکتشاف متمرکز بر Ray بپیوندید. برنامه در حال حاضر در دسترس است!

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا