ظهور Feature store ها در دنیای Big Data با Spark ، یک پلتفرم مهندسی ویژگی (feature engineering) برای Michelangelo (اولین Feature store ) و Hopsworks ( اولین Feature store اپن سورس) آغاز شد. امروزه، data stack های مدرن نقش Spark را برای Feature store ها برعهده گرفتهاند. کد مهندسی ویژگی را میتوان طوری نوشت که به شکل یکپارچه برای دادههایی در حجم دادههای Snowflake ، BigQuery یا Redshift مقیاسبندی شوند. با این حال، توسعهدهندگان پایتون میدانند که مهندسی ویژگی بسیار گستردهتر از aggregation ها و data validation هایی است که میتوانید در SQL و DBT انجام دهید. کاهش ابعاد، چه با استفاده از PCA باشد چه Embeddings ، و تبدیلها ، گامهای اساسی در مهندسی ویژگیهایی هستند که امروزه حتی با UDF ها (توابع تعریفشده توسط کاربر) در SQL در دسترس نیستند.

Hopsworks 3.0 چه ویژگیهایی دارد
در Hopsworks 3.0 ، ما هرگونه شکاف بین pipeline های پایتون و تولید را حذف کردهایم، و حلقه بازخورد توسعه را برای نوشتن pipeline های ویژگی و pipeline های training تنگتر کردهایم. شما میتوانید feature pipeline خود را در هر محیطی از پایتون اجرا کنید، و ویژگیهای خود را با سرعت بیشتر و در پسزمینه به واقعیت تبدیل کنید. این کار توسعه اینتراکتیو را بیش از پیش ممکن میسازد. Feature های شما در عرض چند ثانیه در feature store های آنلاین در دسترس خواهند بود و به شما امکان میدهند به سرعت آنها را بررسی کرده و سراغ کار بعدی خود بروید. در نهایت شما میتواند feature data خود را با Great Expectations ، validate کنید.
ما یک ایده جدید برای خواندن ویژگیها معرفی کردهایم. یک Feature View که یک نمای منطقی و منسجم از ویژگیهای مورد استفاده یک مدل برای training و inference ، از جمله تمام توابع تبدیل اعمالشده برای ویژگیها را ارائه میدهد. اکنون میتوانید دادههای training را مستقیماً به عنوان Pandas DataFrames ، به مجموعههای train/test/validation تقسیم کنید. ما در حال حاضر حتی یک نسخه بدون سرور از Hopsworks داریم. به این معنی که شما فقط باید کتابخانه ما را به صورت pip نصب کنید و با ساختن یک اکانت، مستقیماً از feature store های شخصی خود بخوانید / بنویسید. Hopsworks بدون سرور یک ردیف همیشه رایگان دارد که به شما امکان میدهد feature های خود را با اطمینان خاطر ایجاد کنید و بدانید که در آینده هم وجود خواهند داشت.
از محیط انتخابی پایتون خود استفاده کنید
شما میتوانید pipeline های feature ، training یا inference در هر محیط پایتون با استفاده از Python SDK ما بنویسید. میتوانید pipeline خود را با استفاده از orchestration engine انتخابی خود orchestrate کنید. برای مثال: Airflow، Github Actions، Dagster، Azure Data Factory، MetaFlow، Kubeflow Pipelines، و موارد دیگر. Hopsworks همچنین برای آسایش شما یک Airflow همراه فراهم میکند.
در Feature Groups بنویسید، در Feature Views بخوانید
در Hopsworks ، نتیجه نهایی یک feature pipeline یک Pandas DataFrame است که در یک Feature Group قرار میدهید. Feature Group یک جدول است که تمام DataFrame های Pandas در طول زمان روی آن نوشته شده است. وقتی در یک Feature Group مینویسید، ردیفهای موجود در Pandas DataFrame شما به Feature Group اضافه میشود. ردیفهای Feature Group شما همچنین میتوانند به روزرسانی یا حذف شوند. Feature pipeline ها در Feature Group های قابل تغییر مینویسند و از آنجا، feature ها را میتوان با ایجاد یک Feature View برای خواندن دادههای training یا inference مدل شما، در مدلهای مختلف مورد استفاده مجدد قرار داد.
توابع تبدیل داخلی یا سفارشی (توابع تعریف شده توسط کاربر در پایتون) را میتوان به یک feature view متصل کرد تا دادههای تبدیلنشده را در Feature Store ذخیره کنند. که برای قابلیت استفاده مجدد از feature ها، EDA و تبدیلهای ثابتی که در آموزش اعمال میشود مهم است و inference data از یک Feature View خوانده میشود. training data ایجاد شده از Feature View تغییر ناپذیر است. مانند یک snapshot فوری و قابل تکرار از feature هایی که انتخاب کردهاید و شامل محدوده زمانی و هر فیلتر دیگری است که اعمال میکنید. (مانند محدود کردن به یک منطقه جغرافیایی خاص). Feature Group ها، Feature View ها و Training data همه نسخهبندی شدهاند و اصل و نسب آنها ردیابی میشود. که امکان تست A/B از feature ها و بازآفرینی training data را با یک کلیک فراهم میکند.
Data Validation با Great Expectations
Hopsworks اکنون برای feature pipeline ها و feature logging ، از Great Expectations پشتیبانی میکند. شما میتوانید قوانین data validation خود را در Great Expectations تعریف کنید، و نتایج Great Expectations در Feature Group شما در Hopsworks ذخیره میشود. از آنجا میتوانید تاریخچه اجراهای data validation را هم مرور کنید. همچنین میتوانید در Hopsworks هشدارنویسی کنید و اعضای تیم را در Slack ، ایمیل یا pager duty ، از مشکلات کیفیت داده مطلع کنید.
پشتیبانی MLOps
DevOps بهعنوان مجموعهای از شیوههای مهندسی نرمافزار ظهور کرد که زمان استقرار بین توسعه و عملیات را با ارائه متدهای ساختاریافته برای آزمایش، نسخهسازی، ارتباط و همکاری تنگتر میکند. به طور مشابه، MLOps تغییرات تدریجی را در pipeline های feature ، training و inference شما امکان پذیر میکند. و pipeline های شما به طور مداوم ساخته، آزمایش و برای تولید مستقر میشوند.
MLOps به داراییهای نسخهسازیشده – feature ها و مدلها – برای خودکار کردن فرآیند یکپارچهسازی پیوسته pipeline ها نیاز دارد. این داراییها، تستهای unit/pipeline را برای هر گونه تغییر اجرا میکنند، محصولات نرمافزاری میسازند و از صحت data validation test ها اطمینان حاصل میکنند. استقرار مستمر تضمین میکند که pipeline ها در مراحل تولید (dev, staging, prod) با fast failure و بازگشت به نسخههای working به تولید ادامه بدهند. Hopsworks امکان تکمیلfeature pipeline ها و training pipeline ها را فراهم میکند تا قبل از استقرار در محیطهای نمایش و تولید، به صورت محلی تست و اجرا شوند.
Hopsworks همچنین تست A/B ویژگیها را فعال میکند. همانطور که میتوانید یک مدل جدید را برای بهبود عملکرد پیشبینی خود به کار بگیرید، می توانید ویژگیهای جدیدی را نیز برای بهبود عملکرد پیشبینی خود به کار ببرید. این معمولا به عنوان AI داده محور شناخته می شود. Hopsworks از آزمایش A/B ویژگیها از طریق پشتیبانی نسخهسازی جامع برای schema ها و دادهها، پشتیبانی میکند. از دادههای خام گرفته تا ورودیهای مدل، Hopsworks به طور کامل schema های نسخهسازیشده Feature Group ها، و Feature View ها؛ به عنوان ورودی مدلها را مدیریت میکند. نوشتهها در Feature Group ها نیز نسخهبندی شدهاند و امکان بازتولید دادههای آموزشی و منشأ دادههای مورد استفاده برای آموزش مدلها را فراهم میکنند.
Hopsworks 3.0 هم بدون سرور است
اگر میخواهید سرویسهای پیشبینی بنویسید، نه فقط مدلهای آموزشی، Hopsworks بدون سرور یک گزینه عالی است. این سادهترین راه برای مدیریت feature های خود برای training و inference و حتی ذخیره و ارائه مدلهای خود از طریق Hopsworks بدون سرور است. چرا که در شبکه اجرا می شود و شما فقط یک اکانت ایجاد می کنید و از آن استفاده می کنید. Hopsworks بدون سرور مزایای بسیاری دارد:
- در چند ثانیه آغاز میشود و به سرعت قابل بهرهبرداری است.
- نیازی به عملیات، نصب و آپگرید ندارد.
- همیشه در دسترس شماست و میتوانید از ویژگیها و مدلهای خود در هر زمان و هر مکانی استفاده کنید.
- به صورت یکپارچه مقیاسپذیر است.
- از نظر مالی مقرون به صرفه است.
با این حال، Hopsworks Serverless ممکن است برای همه مناسب نباشد. ممکن است مالکیت داده برای شما یک الزام باشد. یا منابع مورد نیاز یا عملکرد بالایی داشته باشید. یا عاشق توسعه و محاسبه روی Hopsworks باشید. در هر یک از این موارد، میتوانید از Hopsworks در اکانت cloud خود که توسط Hopsworks.ai مدیریت میشود استفاده کنید. همه دادهها و سرویسها در اکانت شما اجرا میشوند، اما شما بهطور خودکار cluster خود را مقیاسبندی میکنید. یا دکمهای را فشار میدهید تا cluster خود را ارتقا دهید، پشتیبانگیری کنید، یا cluster خود را متوقف یا شروع کنید. اگر هنوز در فضای cloud نیستید، میتوانید Hopsworks را در مرکز داده خود، حتی در محیطهای دارای air-gapped امن، مستقر کنید.
منبع: HackerNoon نویسنده: Hopsworks
Leave feedback about this