آنچه در این مقاله میخوانید
با وجود تفاوت در ظرفیتها و رویکردها، تمامی پایگاههای داده به شما اجازه میدهند که مدلهای یادگیری ماشین را در محل استقرار خود بسازید.
در مقالهای با عنوان «نحوه انتخاب یک پلتفرم یادگیری ماشین ابری» که در اکتبر 2022 منتشر شد، مهمترین نکته برای انتخاب یک پلتفرم ابری مناسب، نزدیک بودن به دادهها عنوان شده است. نزدیک نگهداشتن کدها به دادهها برای کاهش تأخیر ضروری است؛ چون سرعت نور سرعتهای انتقال را محدود میکند. به هر حال یادگیری ماشین (و بهخصوص یادگیری عمیق) نیازمند زیرورو کردن دادههای شما به دفعات زیاد است و به همین دلیل به سرعت زیادی نیاز دارد. لازم به ذکر است که به هر بار زیرورو کردن دادهها برای یادگیری ماشین، دوره یا epoch میگویند.
بهترین گزینه برای دادههای بسیار بزرگ، ساختن مدل یادگیری ماشین در محل استقرار فعلی دادهها است، چرا که نیاز به جابهجایی عظیم دادهها را برطرف میکند. بعضی از پایگاههای داده این گزینه را بهصورت محدود در اختیار شما قرار میدهند. به همین دلیل، این سؤال پیش میآید که کدام پایگاههای داده از یادگیری ماشین مبتنی بر دادههای داخل سازمان پشتیبانی میکنند و چگونه این کار را انجام میدهند. در این مقاله، تعدادی از این پایگاههای داده معرفی شدهاند:
پایگاه داده ابری چیست؟
Amazon Redshift
Amazon Redshift یک سرویس پایگاه داده تحلیلی مدیریت شده در مقیاس پتابایتی (10 به توان 15 بایت) است که طراحی آن باعث میشود بتوانید با استفاده از ابزارهای هوش مصنوعی سازمان خود، دادههای خود را بهصرفه و آسان تجزیهوتحلیل کنید. این پایگاه داده تحلیلی برای دادههایی که حجم آنها از صدها گیگابایت تا یک پتابایت یا بیشتر است بهینه سازی شده و استفاده از خدمات آن به ازای هر سال حدود 1000 دلار هزینه دارد.
Amazon Redshift ML هم نسخه دیگری از این پایگاه داده است که طراحی خاص آن به کاربران SQL اجازه میدهد بتوانند با استفاده از کدهای SQL اقدام به ساخت، آموزش و استقرار مدلهای یادگیری ماشین کنند. فرمان CREATE MODEL در Redshift SQL دادهها را برای استفاده در ستونهای آموزش و هدف تعریف میکند و سپس آنها را به Amazon SageMaker Autopilot منتقل میکند تا برای آموزش از طریق سرویس Amazon S3 در منطقه مشابه آماده شوند.
بعد از آموزش Auto ML، Redshift ML بهترین مدل را گردآوری و آن را به عنوان پیشبینی یک تابع SQL در کلاستر Redshift شما ثبت میکند. شما بعداً میتوانید از طریق فراخواندن تابع پیشبینی در یک جمله SELECT، به این مدل استناد کنید تا به استنتاج برسید.
BlazingSQL
BlazingSQL یک موتور SQL شتاب گرفته با پردازنده گرافیک (GPU) است که روی اکوسیستم RAPIDS قرار دارد. این پایگاه داده هم به عنوان یک پروژه متن باز و هم به عنوان یک سرویس پولی فعالیت میکند. RAPIDS مجموعهای از کتابخانهها (Libraries) و API های نرمافزار متن باز است که از زیرمجموعههای NVIDIA محسوب میشود و از CUDA (پلتفرم رایانشی موازی) استفاده میکند و بر فرمت حافظه ستونی Apache Arrow مبتنی است. CuDF بخشی از RAPIDS است که یک کتابخانه GPU DataFrame مشابه با Pandas (کتابخانه تجزیهوتحلیل داده پایتون) محسوب میشود و از آن برای بارگیری، اتصال، تجمیع، فیلتر کردن و همچنین دستکاری کردن دادهها استفاده میشود.
BlazingSQL میتواند کوئریهایی که با پردازندههای گرافیکی شتابدار شدهاند را روی دریاچههای دادهای مثل Amazon S3 اجرا کند، DataFramesهای حاصل را به منظور دستکاری دادهها به cuDF بفرستد و در نهایت یادگیری ماشین را با کمک RAPIDS XGBoost و cuML و یادگیری عمیق را با کمک PyTorch و TensorFlow اجرا کند.
Brytlyt
Brytlyt یک پلتفرم مبتنی بر مرورگر است که هوش مصنوعی را با قابلیتهای یادگیری عمیق در داخل پایگاه داده فعال میکند. Brytlyt یک پایگاه داده PostgreSQL را با PyTorch، Jupyter Notebooks، Scikit-learn، NumPy، Pandas و MLflow ترکیب میکند تا به یک پلتفرم بدون سرور تکی برسد. این پلتفرم به عنوان 3 محصول شتاب گرفته از پردازندههای گرافیکی خدماترسانی میکند:
- پایگاه داده
- ابزار تصویرسازی داده
- ابزار علم داده که از نوتبوک استفاده میکند
با یکپارچهسازی PyTorch و Scikit-learn، Brytlyt از هر 2 مدل یادگیری عمیق و یادگیری ماشین ساده استفاده میکند که در داخل آن بر علیه دادههایش استفاده میشوند. پشتیبانی از پردازنده گرافیکی و پردازش موازی به این معنی است که تمامی فرایندها در این پایگاه داده سریع انجام میشود، گرچه اجرای مدلهای یادگیری عمیق پیچیده و آموزشی بر علیه میلیاردها سطر از داده قطعاً کمی طول میکشد.
Google Cloud BigQuery
Google Cloud BigQuery پایگاه داده تحلیلی پتابایتی و مدیریت شده Google Cloud است که به شما اجازه میدهد مقادیر وسیعی از دادهها را تقریباً بهصورت برخط (همزمان) تجزیهوتحلیل کنید. BigQuery ML همچنین به شما اجازه میدهد تا مدلهای یادگیری ماشین را با استفاده از کوئری SQL روی BigQuery اجرا کنید.
BigQuery ML بخش بزرگی از قدرت یادگیری ماشین Google Cloud را با استفاده از SQL syntax به پایگاه داده تحلیلی BigQuery منتقل میکند، آن هم بدون این که به استخراج دادهها از پایگاه داده تحلیلی نیازی داشته باشد.
پایگاه داده تحلیلی IBM Db2
پایگاه داده تحلیلی IBM Db2 یک سرویس ابری مدیریت شده عمومی است. شما میتوانید این سرویس ابری عمومی را در محل و روی سختافزار خود یا یک سرور ابری خصوصی تنظیم کنید. به عنوان یک پایگاه داده تحلیلی، IBM Db2 شامل ویژگیهایی مثل پردازش داده درون حافظه و جداول ستونی برای پردازشهای تجزیه و تحلیلی آنلاین است. تکنولوژی Netezza مستقر در این پایگاه داده، مجموعهای از ابزارهای تجزیهوتحلیل قدرتمند را فراهم میکند که برای رساندن کوئریها به داده موردنظر بهصورت مؤثر، طراحی شدهاند. در این مسیر مجموعهای از کتابخانهها و توابع به شما کمک میکنند تا به بینش مورد نیازتان برسید.
پایگاه داده تحلیلی IBM Db2 شامل تعدادی ابزار تجزیهوتحلیل مبتنی بر SQL میشود که در داخل آن مستقر شدهاند و علاوه بر این شامل برخی از عملکردهای یادگیری ماشین و پشتیبانی داخلی از R و پایتون میشود.
Kinetica
انبار داده جریانی Kinetica تجزیهوتحلیل جریانی و مبتنی بر تاریخچه را با هوش موقعیت مکانی (Location Intelligence) و هوش مصنوعی در یک پلتفرم ترکیب کرده و تمامی این امکانات را از طریق SQL و API در دسترس قرار میدهد. Kinetica یک پایگاه داده تحلیلی شتابدارشده توسط پردازنده گرافیکی، بسیار سریع، توزیع شده، مبتنی بر ستون و حافظه (Memory first) است که قابلیتهایی مثل فیلتر کردن، تصویرسازی و تجمع داده را در اختیار شما میگذارد.
Kinetica یک راهکار چرخه عمر داخل پایگاه داده را برای یادگیری ماشین شتاب داده شده توسط GPU فراهم میکند و میتواند ویژگیهای دادههای در جریان را محاسبه کند.
Microsoft SQL Server
سرویسهای یادگیری ماشین مبتنی بر Microsoft SQL Server از زبانهای جاوا، پایتون، R، دستور PREDICT T-SQL، فرایند rx_Predict که در SQL Server RDBMS ذخیره شده و SparkML در SQL Server Big Data Clusters پشتیبانی میکند. برای زبانهای پایتون و R، مایکروسافت پکیجها و کتابخانههای متعددی را در اختیار شما قرار میدهد. شما میتوانید مدلهای آموزشدیده خود را در پایگاه داده مایکروسافت یا خارج از آن ذخیره کنید. Azure SQL Managed Instance نیز از سرویسهای یادگیری ماشین مخصوص پایتون و R بهصورت پیشنمایش پشتیبانی میکند.
نسخههای فعلی SQL Server میتوانند به مدلهای یادگیری ماشین نوشته شده به زبانهای مختلف آموزش بدهند یا از آنها استنتاج کنند.
Oracle Database
زیرساخت علم داده Oracle Cloud یک پلتفرم مدیریت شده و بدون سرور است که به تیمهای دانشمندان داده امکان ساخت، آموزش و مدیریت مدلهای یادگیری ماشین با استفاده از پایگاه داده معمولی و تحلیلی Oracle Autonomous را میدهد. این زیرساخت شامل ابزارها، کتابخانهها و پکیجهای نوشته شده توسط جامعه متن باز که مبتنی بر پایتون هستند میشود و کتابخانه علم داده Oracle Accelerated (ADS) را نیز در بر میگیرد.
زیر ساخت Oracle Cloud میتواند از منابع علم داده که با پایگاههای داده تحلیلی، object store و توابع خودش یکپارچه شدهاند استفاده کند و با این کار امکان استقرار چرخه زندگی توسعه مدل کامل را فراهم میکند.
Vertica
پلتفرم تجزیهوتحلیل Vertica یک پایگاه داده تحلیلی ستونی و با قابلیت ذخیرهسازی است که 2 مدل دارد:
حالت سازمانی که در آن دادهها را در محل سازمان و فایلهای سیستمی گرهها (Node) که پایگاه داده را میسازند ذخیره میکند و مدل EON که دادهها را بهصورت ستونی برای تمامی گرههای رایانشی ذخیره میکند.
Vertica مجموعه مناسبی از الگوریتمهای یادگیری ماشین را در اختیار دارد و در کنار مدلهای خود، از مدلهای TensorFlow و PMML هم پشتیبانی میکند.
MindsDB
اگر پایگاه داده فعلی شما هنوز از یادگیری ماشین داخلی پشتیبانی نمیکند، احتمال این که بتوانید این قابلیت را با استفاده از MindsDB فعال کنید، وجود دارد. MindsDB یک جین پایگاه داده را با 5 ابزار BI بهصورت یکپارچه در میآورد. پایگاههای داده پشتیبانی شده در آن عبارتاند از:
- MariaDB
- MySQL
- PostgreSQL
- ClickHouse
- Microsoft SQL Server
- Snowflake
- MongoDB (بهزودی اضافه میشود)
- پایگاههای داده در جریان (streaming) که در سال 2021 اضافه شدند.
همچنین از ابزارهای BI زیر پشتیبانی میکند:
- SAS
- Qlik Sense
- Microsoft Power BI
- Looker
- Domo
MindsDB قابلیتهای مفید یادگیری ماشین را برای تعدادی از پایگاههای داده که فاقد پشتیبانی از یادگیری ماشین داخلی هستند، فراهم میکند.
نتیجهگیری
تعداد پایگاههای دادهای که از یادگیری ماشین داخلی پشتیبانی میکنند در حال افزایش است. مکانیزم آنها با یکدیگر تفاوت دارد و بعضی از آنها امکانات بیشتری را در اختیار شما قرار میدهند. اگر حجم دادههای شما آنقدر زیاد است که باید مدلها را بهصورت یک زیرمجموعه نمونهبرداریشده بگنجانید، امکان دارد 8 مدل بالا (و بقیه با کمک MindsDB) بتوانند به شما کمک کنند تا مدلهای موردنظر را با استفاده از کل دادههای خود بسازید؛ آن هم بدون اینکه هزینههای بالاسری یا انتقال داده را متحمل شوید.
این مقاله را به اشتراک بگذارید