Vertex AI ادغام پلت فرم AI/ML Google Cloud و خدمات AutoML را بسیار بهبود می بخشد و یک API یکپارچه جدید را با قابلیت های مدل سازی بسیار خوب ترکیب می کند.
وقتی در نوامبر گذشته Google Cloud AI and Machine Learning Platform را بررسی کردم، علیرغم داشتن یکی از بزرگترین پشته های یادگیری ماشینی در صنعت، به چند شکاف اشاره کردم و اشاره کردم که بسیاری از موارد خدمات ارائه شده هنوز در آزمایش بتا بودند. من ادامه دادم که هیچ کس برای انتخاب هوش مصنوعی گوگل اخراج نمی شود.
در ماه مه امسال، گوگل پلتفرم AI/ML خود را با معرفی Vertex AI تکان داد، که به گفته خودش، پیشنهادات هوش مصنوعی و ML خود را یکپارچه و ساده می کند. به طور خاص، Vertex AI قرار است فرآیند ساخت و استقرار مدلهای یادگیری ماشین را در مقیاس ساده کند و به خطوط کد کمتری برای آموزش یک مدل نسبت به سیستمهای دیگر نیاز دارد. افزودن Vertex AI بلوکهای ساختمان Google Cloud AI، مانند Vision API و Cloud Natural Language API، یا پیشنهادات زیرساخت هوش مصنوعی، مانند Cloud GPU و TPU را تغییر نمیدهد.
خلاصه Google این است که Vertex AI Google Cloud AutoML و Google Cloud AI و Machine Learning Platform را در یک API یکپارچه، کتابخانه مشتری، و رابط کاربری گرد هم می آورد. AutoML به شما امکان می دهد بدون نوشتن کد، مدل ها را بر روی مجموعه داده های تصویر، جدول، متن و ویدیو آموزش دهید، در حالی که آموزش در پلتفرم هوش مصنوعی و یادگیری ماشین به شما امکان می دهد کد آموزشی سفارشی را اجرا کنید. با Vertex AI، هم آموزش AutoML و هم آموزش سفارشی گزینه های موجود هستند. هر گزینه ای را که برای آموزش انتخاب کنید، می توانید مدل ها را ذخیره کنید، مدل ها را مستقر کنید و با Vertex AI درخواست پیش بینی کنید.
این ادغام AutoML و آموزش سفارشی پیشرفت بزرگی نسبت به پلت فرم قدیمی Google Cloud AI/ML است. از آنجایی که هر سرویس در پلتفرم قدیمی به طور مستقل توسعه یافته بود، مواردی وجود داشت که داده های برچسب گذاری شده در یک سرویس نمی توانستند توسط سرویس دیگری مورد استفاده مجدد قرار گیرند. این همه در Vertex AI ثابت شده است.
تیم هوش مصنوعی Google دو سال را صرف مهندسی مجدد پشته یادگیری ماشین خود از Google Cloud AI و پلتفرم یادگیری ماشینی تا Vertex AI کرد. اکنون که لوله کشی انجام شده و سرویس های مختلف با استفاده از سیستم جدید بازسازی شده اند، تیم هوش مصنوعی Google می تواند روی بهبود و گسترش خدمات کار کند.
در این بررسی، Vertex AI را با چشمی برای درک اینکه چگونه به دانشمندان داده کمک میکند، چگونه قابلیتهای هوش مصنوعی Google را بهبود میبخشد، و چگونه با AWS و Azure AI و ML ارائه میشود، بررسی میکنم.
گردش کاری Google Cloud Vertex AI
طبق گفته Google، میتوانید از Vertex AI برای مدیریت مراحل زیر در گردش کار یادگیری ماشین استفاده کنید:
- یک مجموعه داده ایجاد کنید و داده ها را آپلود کنید.
- یک مدل ML بر روی داده های خود آموزش دهید:
- مدل را آموزش دهید.
- دقت مدل را ارزیابی کنید.
- هیپرپارامترها را تنظیم کنید (فقط آموزش سفارشی).
- مدل خود را در Vertex AI آپلود و ذخیره کنید.
- مدل آموزشدیده خود را برای ارائه پیشبینیها در نقطه پایانی مستقر کنید.
- درخواستهای پیشبینی را به نقطه پایانی خود ارسال کنید.
- یک تقسیم ترافیک پیشبینی در نقطه پایانی خود را مشخص کنید.
- مدل ها و نقاط پایانی خود را مدیریت کنید.
- مدل را آموزش دهید.
- دقت مدل را ارزیابی کنید.
- هیپرپارامترها را تنظیم کنید (فقط آموزش سفارشی).
این بسیار شبیه یک راه حل انتها به انتها به نظر می رسد. بیایید به قطعاتی که از هر مرحله پشتیبانی میکنند دقیقتر نگاه کنیم.
به هر حال، بسیاری از این قطعات “پیش نمایش” علامت گذاری شده اند. این بدان معناست که آنها تحت پوشش شرایط پیشنهادات Google Cloud Pre-GA هستند که عبارتند از مشابه شرایط محصولات فاز بتا عمومی، از جمله فقدان SLA و فقدان ضمانت در مورد سازگاری پیش رو.
دفترچه های علم داده
هوش مصنوعی Vertex همچنان از نوتبوکها، با مجموعه گستردهای از انواع محیط، همانطور که در تصویر زیر نشان داده شده است، پشتیبانی میکند. نوت بوک های جدید به طور پیش فرض شامل JupyterLab 3.0 هستند و Python 2.x دیگر پشتیبانی نمی شود.
نوعبوکهای Vertex AI JupyterLab شامل پشتیبانی از Python 3، TensorFlow Enterprise، PyTorch، R، RAPIDS و سایر زبانها و چارچوبها میشود.
آماده سازی و مدیریت داده
به نظر نمیرسد آمادهسازی و مدیریت دادهها تغییر زیادی کرده باشد، به جز اضافه شدن برخی از Vertex AI API. من امیدوار بودم که تعداد نمونه های پیشنهادی کمتری را برای مجموعه داده های تصویری AutoML ببینم، اما گوگل هنوز ۱۰۰۰ تصویر را برای آموزش توصیه می کند. این به من نشان می دهد که سرویس Azure Custom Vision که برای نتایج خوب به تصاویر آموزشی بسیار کمتری نیاز دارد، هنوز از سرویس Google AutoML Vision جلوتر است. تصور میکنم اکنون که Vertex AI منتشر شده است، Google پیشنهادات خود را در این زمینه بهبود میبخشد.
همچنین، مشاغل برچسبگذاری دادههای سفارشی (توسط انسان) به دلیل COVID-19 هنوز محدود هستند. شما میتوانید کارهای برچسبگذاری داده را درخواست کنید، اما فقط از طریق ایمیل.
آموزش AutoML و سایر مدل ها
Google تعریف غیرمعمولی از AutoML دارد. برای تصاویر، متن و ویدئو، چیزی که AutoML نامیده می شود همان چیزی است که اکثر دانشمندان داده آن را یادگیری انتقال می نامند. برای دادههای جدولی، AutoML آن به تعریف استاندارد، که شامل آمادهسازی خودکار دادهها، انتخاب مدل، و آموزش است، پایبند است.
مدل آموزش دیده می تواند AutoML، AutoML Edge (برای صادرات برای استفاده در دستگاه) یا آموزش سفارشی باشد. مدل های AutoML Edge کوچکتر و اغلب دقت کمتری نسبت به مدل های AutoML دارند. مدلهای سفارشی میتوانند کد منبع پایتون سفارشی (با استفاده از PyTorch، Scikit-learn، TensorFlow، یا XGBoost) باشند که در یک ظرف از پیش ساخته شده اجرا میشوند، یا تصاویر کانتینر سفارشی Docker.
من آموزش تصویر AutoML را با استفاده از مجموعه دادهای از گلهای ارائه شده توسط Google اجرا کردم. این آموزش در حدود نیم ساعت با بودجه هشت گره ساعت به پایان رسید. استقرار گره برای آموزش به صورت خودکار بود. بین آموزش و یک روز استقرار مدل در یک گره (یک اشتباه: باید استقرار را بعد از آزمایشم پاک میکردم اما فراموش میکردم)، این تمرین ۹۰ دلار هزینه داشت.
Google این مجموعه داده برچسبگذاری شده از ۳۶۶۷ تصویر گل را برای آموزش تصویر AutoML ارائه کرد. به دیزی با برچسب اشتباه (با برچسب آفتابگردان) در سمت چپ ردیف وسط توجه کنید.
مدل طبقه بندی گل با قضاوت در مورد دقت و یادآوری بسیار خوب است، اما ماتریس سردرگمی به چند مشکل اشاره می کند. طبیعی است که گاهی اوقات گل رز و لاله را با هم اشتباه بگیرید، اگر رنگها شبیه هم باشند و شکلها مشخص نباشد. طبقه بندی نادرست گل های مروارید به عنوان گل آفتابگردان طبیعی نیست – اما ما در مجموعه آموزشی شاهد یک دیزی با برچسب اشتباه بودیم.
من یک مدل آموزش دیده را با تعدادی از عکس های خودم آزمایش کردم که کیفیت و اندازه آنها کاهش یافته بود تا با محدودیت های اندازه Vertex AI مطابقت داشته باشد. این تصویر از لاله ها به درستی شناسایی شد.
این تصویر از یک گل مروارید (و یک زنبور عسل) با اطمینان ۱۰۰٪ به اشتباه به عنوان یک گل آفتابگردان شناسایی شد. ما تصویر آموزشی اشتباه شناسایی شده را دیدیم که احتمالاً باعث این مشکل شده است. «آشغال داخل، زباله بیرون» به همان اندازه که برای برنامههای رایانهای معمولی صدق میکند، در علم داده نیز کاربرد دارد.
این عکس از گل رز با اطمینان ۹۸.۷٪ به درستی شناسایی شد. احتمال کوچک بودن تصویر لاله ها قابل درک است.
همانطور که دیدیم، چند تصویر آموزشی با برچسب نامناسب میتوانند باعث شوند که یک مدل پاسخهای اشتباه بدهد، حتی اگر مدل دقت و دقت بالایی از خود نشان دهد. اگر این مدل برای استفاده در دنیای واقعی در نظر گرفته شده بود، مجموعه آموزشی دارای برچسب باید ممیزی و اصلاح شود.
AutoML Tabular، که قبلاً جداول AutoML نامیده می شد، دارای یک ویژگی پیش بینی جدید (بتا) است، اگرچه آموزشی برای آزمایش آن وجود ندارد.
من آموزش AutoML Tabular را اجرا کردم، که مشتریان بانکی را طبقهبندی میکند و دادههای مبتنی بر زمان را شامل نمیشود. من به آموزش بودجه یک نود ساعت دادم. آن را در دو ساعت کامل، منعکس کننده زمان مورد نیاز برای عملیات دیگر علاوه بر آموزش واقعی است. هزینه آموزش ۲۱ دلار با اعتبار خودکار جبران شد.
در مقایسه، Azure Automated ML برای دادههای جدولی در حال حاضر شامل پیشبینی، توضیحات، و مهندسی ویژگیهای خودکار است و ممکن است در حال حاضر کمی جلوتر از Google AutoML Tabular باشد. Azure همچنین دارای آموزش های پیش بینی هم با استفاده از کنسول و هم با استفاده از نوت بوک های Azure است. به نظر می رسد هر دو DataRobot و هوش مصنوعی بدون راننده از Google AutoML Tabular برای AutoML داده های جدولی پیشرفته تر باشند. DataRobot همچنین به ستون های تصویر در جداول خود اجازه می دهد.
این صفحه اولیه برای آموزش یک مدل بر روی یک مجموعه داده جدولی است. توجه داشته باشید که گزینه پیش بینی یک پیش نمایش است و فاقد آموزش است.
می توانید پیشرفت و عملکرد آموزشی یک آموزش AutoML را برای داده های جدولی در حین اجرا نظارت کنید. در اینجا آموزش به پایان رسیده است.
Vertex AI اهمیت ویژگی را برای مدلهای AutoML نشان میدهد. اهمیت ویژگی به توضیح مدل کمک می کند.
Google AutoML Text از چهار هدف پشتیبانی میکند: طبقهبندی تک برچسبی و چند برچسبی، استخراج موجودیت، و تجزیه و تحلیل احساسات. من خودم آموزش متنی را اجرا نکردم، اما اسناد و دفترچهها را مطالعه کردم.
APIهای نشان داده شده در دفترچه آموزشی تقریباً به همان اندازه که می توانند ساده هستند. به عنوان مثال، برای ایجاد یک مجموعه داده، کد زیر است:
ds = aiplatform.TextDataset.create(
display_name=display_name,
gcs_source=src_uris,
import_schema_uri=aiplatform.schema.dataset.ioformat.text.single_label_classification,
sync=True,
)
کد آموزش یک کار طبقه بندی دوگانه است، کار را تعریف و سپس اجرا می کند:
# Define the training job
training_job_display_name = f"e2e-text-training-job-{TIMESTAMP}"
job = aiplatform.AutoMLTextTrainingJob(
display_name=training_job_display_name,
prediction_type="classification",
multi_label=False,
)
model_display_name = f"e2e-text-classification-model-{TIMESTAMP}"
# Run the training job
model = job.run(
dataset=text_dataset,
model_display_name=model_display_name,
training_fraction_split=0.7,
validation_fraction_split=0.2,
test_fraction_split=0.1,
sync=True,
)
هدفهای ویدیوی AutoML میتوانند تشخیص عمل، طبقهبندی یا ردیابی شی باشند. این آموزش طبقه بندی را انجام می دهد. مدل آموزش دیده می تواند AutoML، AutoML Edge (برای صادرات برای استفاده در دستگاه) یا آموزش سفارشی باشد. خروجی پیشبینی برای مدل طبقهبندی ویدیو، برچسبهایی برای ویدیوها، برچسبها برای هر عکس و برچسبهایی برای هر بازه زمانی یک ثانیهای است. برچسبهایی با اطمینان کمتر از آستانهای که تعیین کردهاید حذف میشوند.
وارد کردن مدلها
میتوانید مدلهای موجود را که آموزش دادهاید وارد کنید خارج از Vertex AI، یا اینکه شما با استفاده از Vertex AI آموزش دیده اید و صادر کرده اید. سپس می توانید مدل را مستقر کرده و از آن پیش بینی کنید. شما باید مصنوعات مدل خود را در یک سطل Cloud Storage ذخیره کنید.
شما باید مدل وارد شده را با یک ظرف مرتبط کنید. می توانید از کانتینرهای از پیش ساخته شده توسط Vertex AI استفاده کنید یا از کانتینرهای سفارشی خود که می سازید استفاده کنید و به Container Registry یا Artifact Registry فشار دهید.
دریافت پیش بینی
همانطور که هنگام آزمایش AutoML Image دیدیم، میتوانید مدلها را از کنسول اجرا و آزمایش کنید. همچنین میتوانید مدلها را با استفاده از Vertex AI API استقرار و آزمایش کنید. شما به صورت اختیاری می توانید پیش بینی ها را ثبت کنید. اگر میخواهید از یک مدل آموزشدیده سفارشی یا یک مدل AutoML Tabular برای ارائه پیشبینیهای آنلاین استفاده کنید، باید زمانی که منبع Model
را بهعنوان DeployedModel
به کار میبرید، نوع ماشینی را مشخص کنید. یک نقطه پایان
. برای انواع دیگر مدلهای AutoML، مانند مدل AutoML Image که آزمایش کردیم، Vertex AI انواع ماشینها را بهطور خودکار پیکربندی میکند.
استفاده از هوش مصنوعی قابل توضیح
ما قبلاً یک نمودار اهمیت ویژگی را برای مدلهای AutoML Tabular دیدیم، اما این تنها عملکرد قابل توضیح هوش مصنوعی ارائه شده توسط Vertex AI نیست.
همپوشانی های انتساب از یک مدل طبقه بندی تصویر Google را مشخص کنید.
Vertex AI همچنین از Vertex Explainable AI برای مدلهای AutoML Tabular (فقط مدلهای طبقهبندی و رگرسیون)، مدلهای آموزشدیده سفارشی بر اساس دادههای جدولی و مدلهای آموزشدیده سفارشی بر اساس دادههای تصویر پشتیبانی میکند.
علاوه بر نمودار اهمیت ویژگی کلی برای مدل، مدلهای جدولی AutoML همچنین میتوانند اهمیت ویژگی محلی را برای پیشبینیهای آنلاین و دستهای برگردانند. مدلهای مبتنی بر دادههای تصویر میتوانند پوششهای اسناد ویژگی را همانطور که در تصاویر زیر نشان داده شده است نشان دهند. (به «هوش مصنوعی قابل توضیح توضیح داده شده مراجعه کنید.)
کیفیت مدل ردیابی
توزیع دادههای ویژگی که برای آموزش یک مدل استفاده میکنید ممکن است همیشه با توزیع دادههای ویژگی مورد استفاده برای پیشبینی مطابقت نداشته باشد. به آن چولگی سرویس دهی آموزشی می گویند. علاوه بر این، توزیع داده های ویژگی در تولید ممکن است به طور قابل توجهی در طول زمان تغییر کند که به آن رانش پیش بینی می گویند. نظارت مدل Vertex هم انحراف و هم انحراف ویژگی را برای دستهبندی و عدد تشخیص میدهد ویژگی ها.
سازمان گردش کار ML
خطوطهای Vertex (پیشنمایش) ممکن است مهمترین بخش باشد از Vertex AI، با توجه به اینکه MLOps را پیاده سازی می کند. در حالی که ارزش MLO ها ممکن است مشخص نباشد اگر تازه در علم داده شروع کرده اید، تفاوت زیادی در سرعت، چابکی و بهره وری برای متخصصان با تجربه علم داده ایجاد می کند. همه چیز در مورد پیادهسازی مدلها و تکرارپذیر ساختن مهندسی ویژگی است.
این تصویر یک نمودار تا حدی گسترش یافته برای خط لوله Vertex است که گل ها را با استفاده از مجموعه داده و مدل مشابهی که قبلا استفاده کردیم طبقه بندی می کند.
ترکیب خطوط لوله ورتکس با پایش مدل ورتکس، حلقه بازخورد را میبندد تا کیفیت مدل در طول زمان حفظ شود، زیرا دادهها منحرف میشوند و جابهجا میشوند. با ذخیره سازی مصنوعات گردش کار ML خود در Vertex ML Metadata، می توانید اصل و نسب مصنوعات گردش کار خود را تجزیه و تحلیل کنید. خطوط لوله Vertex از دو نوع خط لوله پشتیبانی می کند، TensorFlow Extended (TFX) و Kubeflow Pipelines (KFP). KFP می تواند شامل اجزای خط لوله Google Cloud برای عملیات Vertex مانند AutoML باشد.
Vertex Pipelines با Amazon SageMaker Pipelines و Azure Machine Learning Pipelines رقابتی است. مانند آمازون SageMaker Pipelines، شما Google Vertex Pipelines را از کد ایجاد می کنید، اما می توانید از نمودارهای به دست آمده مجدداً از آنها استفاده کرده و مدیریت کنید.
-
Google Cloud Vertex AI
Google Cloud Vertex AI
- یکپارچه سازی خدمات بسیار بهبود یافته
- API یکپارچه جدید
- همان قابلیت های مدل سازی بسیار خوب
- قابلیت صدور برخی از مدل ها برای پیش بینی محلی
- همان قابلیت های مدل سازی بسیار خوب (اما بهتر نیست)
- نقاط پایانی پیش بینی می توانند به راحتی گران شوند
پست های مرتبط
بررسی: Google Cloud Vertex AI چین و چروک های پلت فرم ML را برطرف می کند
بررسی: Google Cloud Vertex AI چین و چروک های پلت فرم ML را برطرف می کند
بررسی: Google Cloud Vertex AI چین و چروک های پلت فرم ML را برطرف می کند