Database Teratas yang Mendukung Machine Learning dalam Database

Pembaruan: 20 Mei 2021
Database Teratas yang Mendukung Machine Learning dalam Database

Dalam artikel bulan Agustus 2020 saya, "Cara memilih platform Cloud Machine Learning", pedoman pertama saya untuk memilih platform adalah, "Dekat dengan data Anda". Menyimpan kode di dekat data diperlukan untuk menjaga latensi tetap rendah, karena kecepatan cahaya membatasi kecepatan transmisi. Lagipula, pembelajaran mesin - terutama pembelajaran mendalam - cenderung memeriksa semua data Anda beberapa kali (setiap kali melalui disebut file masa).

Saya mengatakan pada saat itu bahwa kasus ideal untuk kumpulan data yang sangat besar adalah membangun model di mana datanya sudah berada, sehingga tidak diperlukan transmisi data massal. Beberapa database mendukung itu sampai batas tertentu. Pertanyaan alami berikutnya adalah, database mana yang mendukung pembelajaran mesin internal, dan bagaimana cara melakukannya? Saya akan membahas database tersebut dalam urutan abjad.

Pergeseran Merah Amazon

Amazon Redshift adalah layanan gudang data berskala petabyte yang dirancang untuk memudahkan dan menghemat biaya dalam menganalisis semua data Anda menggunakan alat intelijen bisnis yang ada. Ini dioptimalkan untuk kumpulan data mulai dari beberapa ratus gigabyte hingga satu petabyte atau lebih dan biayanya kurang dari $ 1,000 per terabyte per tahun.

Amazon Redshift ML dirancang untuk memudahkan pengguna SQL membuat, melatih, dan menerapkan model pembelajaran mesin menggunakan perintah SQL. Perintah CREATE MODEL di Redshift SQL menentukan data yang akan digunakan untuk pelatihan dan kolom target, lalu meneruskan data tersebut ke Amazon SageMaker Autopilot untuk pelatihan melalui bucket Amazon S3 terenkripsi di zona yang sama.

Setelah pelatihan AutoML, Redshift ML mengompilasi model terbaik dan mendaftarkannya sebagai fungsi SQL prediksi di cluster Redshift Anda. Anda kemudian dapat memanggil model untuk inferensi dengan memanggil fungsi prediksi di dalam pernyataan SELECT.

Kesimpulan: Redshift ML menggunakan SageMaker Autopilot untuk secara otomatis membuat model prediksi dari data yang Anda tentukan melalui pernyataan SQL, yang diekstrak ke bucket S3. Fungsi prediksi terbaik yang ditemukan terdaftar di cluster Redshift.

SQL yang menyala-nyala

BlazingSQL adalah mesin SQL dengan akselerasi GPU yang dibangun di atas ekosistem RAPIDS; itu ada sebagai proyek sumber terbuka dan layanan berbayar. RAPIDS adalah rangkaian pustaka perangkat lunak sumber terbuka dan API, diinkubasi oleh Nvidia, yang menggunakan CUDA dan didasarkan pada format memori kolom Apache Arrow. CuDF, bagian dari RAPIDS, adalah pustaka DataFrame GPU mirip Pandas untuk memuat, menggabungkan, menggabungkan, memfilter, dan memanipulasi data.

Dask adalah alat sumber terbuka yang dapat menskalakan paket Python ke banyak mesin. Dask dapat mendistribusikan data dan komputasi melalui beberapa GPU, baik dalam sistem yang sama atau dalam cluster multi-node. Dask terintegrasi dengan RAPIDS cuDF, XGBoost, dan RAPIDS cuML untuk analisis data dan pembelajaran mesin yang dipercepat GPU.

Kesimpulan: BlazingSQL dapat menjalankan kueri yang dipercepat GPU di data lake di Amazon S3, meneruskan DataFrames yang dihasilkan ke cuDF untuk manipulasi data, dan terakhir melakukan pembelajaran mesin dengan RAPIDS XGBoost dan cuML, serta pembelajaran mendalam dengan PyTorch dan TensorFlow.

Google Cloud BigQuery

BigQuery adalah data warehouse skala petabyte yang dikelola oleh Google Cloud yang memungkinkan Anda menjalankan analitik terhadap data dalam jumlah besar hampir secara real-time. BigQuery ML memungkinkan Anda membuat dan menjalankan model pembelajaran mesin di BigQuery menggunakan kueri SQL.

BigQuery ML mendukung regresi linier untuk perkiraan; regresi logistik biner dan kelas jamak untuk klasifikasi; K-means clustering untuk segmentasi data; faktorisasi matriks untuk membuat sistem rekomendasi produk; deret waktu untuk menjalankan prakiraan deret waktu, termasuk anomali, kemusiman, dan hari libur; Klasifikasi XGBoost dan model regresi; Jaringan neural dalam berbasis TensorFlow untuk model klasifikasi dan regresi; Tabel AutoML; dan mengimpor model TensorFlow. Anda dapat menggunakan model dengan data dari beberapa set data BigQuery untuk pelatihan dan prediksi. BigQuery ML tidak mengekstrak data dari gudang data. Anda dapat melakukan rekayasa fitur dengan BigQuery ML menggunakan klausa TRANSFORM dalam pernyataan BUAT MODEL Anda.

Ringkasan: BigQuery ML menghadirkan banyak kekuatan Pembelajaran Mesin Google Cloud ke dalam gudang data BigQuery dengan sintaks SQL, tanpa mengekstrak data dari gudang data.

Gudang IBM Db2

IBM Db2 Warehouse on Cloud adalah layanan cloud publik yang dikelola. Anda juga dapat mengatur IBM Db2 Warehouse di lokasi dengan perangkat keras Anda sendiri atau di cloud pribadi. Sebagai gudang data, ini mencakup fitur-fitur seperti pemrosesan data dalam memori dan tabel kolom untuk pemrosesan analitis online. Itu Netezza teknologi menyediakan serangkaian analitik canggih yang dirancang untuk menghadirkan kueri ke data secara efisien. Berbagai perpustakaan dan fungsi membantu Anda mendapatkan wawasan tepat yang Anda perlukan.

Gudang Db2 mendukung pembelajaran mesin dalam database dengan Python, R, dan SQL. IDAX modul berisi prosedur tersimpan analitis, termasuk analisis varians, aturan asosiasi, transformasi data, pohon keputusan, tindakan diagnostik, diskritisasi dan momen, pengelompokan K-means, k-tetangga terdekat, regresi linier, manajemen metadata, klasifikasi naïve Bayes, analisis komponen utama, distribusi probabilitas, pengambilan sampel acak, pohon regresi, pola dan aturan sekuensial, serta statistik parametrik dan non-parametrik.

Kesimpulan: IBM Db2 Warehouse mencakup serangkaian luas analisis SQL dalam basis data yang mencakup beberapa fungsi pembelajaran mesin dasar, ditambah dukungan dalam basis data untuk R dan Python.

Database Oracle

Kinetica Streaming Data Warehouse menggabungkan analisis data historis dan streaming dengan kecerdasan lokasi dan AI dalam satu platform, semuanya dapat diakses melalui API dan SQL. Kinetica adalah database yang sangat cepat, terdistribusi, berbentuk kolom, mengutamakan memori, dan dipercepat GPU dengan fungsionalitas pemfilteran, visualisasi, dan agregasi.

Kinetica mengintegrasikan model dan algoritme pembelajaran mesin dengan data Anda untuk analitik prediktif waktu nyata dalam skala besar. Ini memungkinkan Anda menyederhanakan pipeline data dan siklus proses analitik, model pembelajaran mesin, dan rekayasa data Anda, serta menghitung fitur dengan streaming. Kinetica menyediakan solusi siklus hidup lengkap untuk pembelajaran mesin yang diakselerasi oleh GPU: notebook Jupyter terkelola, pelatihan model melalui RAPIDS, serta penerapan dan pengambilan kesimpulan model otomatis di platform Kinetica.

Kesimpulan: Kinetica menyediakan solusi siklus proses dalam database lengkap untuk pembelajaran mesin yang diakselerasi oleh GPU, dan dapat menghitung fitur dari data streaming.

Microsoft SQL Server

Layanan Pembelajaran Mesin Microsoft SQL Server mendukung R, Python, Java, perintah PREDICT T-SQL, dan prosedur tersimpan rx_Predict di SQL Server RDBMS, dan SparkML di SQL Server Big Data Clusters. Dalam bahasa R dan Python, Microsoft menyertakan beberapa paket dan pustaka untuk pembelajaran mesin. Anda dapat menyimpan model terlatih Anda di database atau secara eksternal. Azure SQL Managed Instance mendukung Layanan Pembelajaran Mesin untuk Python dan R sebagai pratinjau.

Microsoft R memiliki ekstensi yang memungkinkannya memproses data dari disk dan juga dari memori. SQL Server menyediakan kerangka kerja ekstensi sehingga R, Python, dan kode Java dapat menggunakan data dan fungsi SQL Server. Kluster Data Besar SQL Server menjalankan SQL Server, Spark, dan HDFS di Kubernetes. Saat SQL Server memanggil kode Python, SQL Server dapat menjalankan Azure Machine Learning, dan menyimpan model yang dihasilkan dalam database untuk digunakan dalam prediksi.

Kesimpulan: Versi SQL Server saat ini dapat melatih dan menyimpulkan model pembelajaran mesin dalam berbagai bahasa pemrograman.

Database Oracle

Oracle Cloud Infrastructure (OCI) Data Science adalah platform terkelola dan tanpa server bagi tim ilmu data untuk membangun, melatih, dan mengelola model pembelajaran mesin menggunakan Oracle Cloud Infrastructure termasuk Oracle Autonomous Database dan Oracle Autonomous Data Warehouse. Ini mencakup alat, pustaka, dan paket yang berpusat pada Python yang dikembangkan oleh komunitas sumber terbuka dan Perpustakaan Oracle Accelerated Data Science (ADS), yang mendukung siklus hidup model prediktif ujung ke ujung:

  • Akuisisi data, pembuatan profil, persiapan, dan visualisasi
  • Rekayasa fitur
  • Pelatihan model (termasuk Oracle AutoML)
  • Evaluasi, penjelasan, dan interpretasi model (termasuk Oracle MLX)
  • Penerapan model ke Fungsi Oracle

OCI Data Science terintegrasi dengan tumpukan Oracle Cloud Infrastructure lainnya, termasuk Functions, Data Flow, Autonomous Data Warehouse, dan Object Storage.

Model yang saat ini didukung meliputi:

  • Oracle AutoML
  • Keras
  • Scikit-belajar
  • XGBoost
  • ADSTuner (penyetelan hyperparameter)

ADS juga mendukung penjelasan pembelajaran mesin (MLX).

Kesimpulan: Oracle Cloud Infrastructure dapat menghosting sumber daya ilmu data yang terintegrasi dengan gudang datanya, penyimpanan objek, dan fungsinya, yang memungkinkan siklus pengembangan model lengkap.

Vertikal

Vertica Analytics Platform adalah gudang data penyimpanan berbentuk kolom yang dapat diskalakan. Ini berjalan dalam dua mode: Perusahaan, yang menyimpan data secara lokal dalam sistem file node yang membentuk database, dan EON, yang menyimpan data secara komunal untuk semua node komputasi.

Vertica menggunakan pemrosesan paralel besar-besaran untuk menangani petabyte data, dan melakukan pembelajaran mesin internal dengan paralelisme data. Ini memiliki delapan algoritme bawaan untuk persiapan data, tiga algoritme regresi, empat algoritme klasifikasi, dua algoritme pengelompokan, beberapa fungsi manajemen model, dan kemampuan untuk mengimpor model TensorFlow dan PMML yang dilatih di tempat lain. Setelah Anda menyesuaikan atau mengimpor model, Anda dapat menggunakannya untuk prediksi. Vertica juga mengizinkan ekstensi yang ditentukan pengguna yang diprogram dalam C ++, Java, Python, atau R. Anda menggunakan sintaks SQL untuk pelatihan dan inferensi.

Kesimpulan: Vertica memiliki seperangkat algoritme pembelajaran mesin bawaan yang bagus, dan dapat mengimpor model TensorFlow dan PMML. Itu dapat melakukan prediksi dari model yang diimpor serta modelnya sendiri.

PikiranDB

Jika database Anda belum mendukung pembelajaran mesin internal, kemungkinan Anda dapat menambahkan kemampuan itu menggunakan MindsDB, yang terintegrasi dengan setengah lusin database dan lima alat BI. Database yang didukung termasuk MariaDB, MySQL, PostgreSQL, ClickHouse, Microsoft SQL Server, dan Snowflake, dengan integrasi MongoDB dalam pengerjaan dan integrasi dengan database streaming yang dijanjikan nanti pada tahun 2021. Alat BI yang didukung saat ini termasuk SAS, Qlik Sense, Microsoft Power BI, Looker , dan Domo.

MindsDB menampilkan AutoML, tabel AI, dan AI yang dapat dijelaskan (XAI). Anda dapat menjalankan pelatihan AutoML dari MindsDB Studio, dari pernyataan SQL INSERT, atau dari panggilan Python API. Secara opsional, pelatihan dapat menggunakan GPU, dan secara opsional dapat membuat model deret waktu.

Anda dapat menyimpan model sebagai tabel database, dan memanggilnya dari pernyataan SQL SELECT terhadap model yang disimpan, dari MindsDB Studio atau dari panggilan Python API. Anda dapat mengevaluasi, menjelaskan, dan memvisualisasikan kualitas model dari MindsDB Studio.

Anda juga dapat menghubungkan MindsDB Studio dan Python API ke sumber data lokal dan jarak jauh. MindsDB juga menyediakan kerangka kerja pembelajaran mendalam yang disederhanakan, Lightwood, yang berjalan di PyTorch.

Kesimpulan: MindsDB menghadirkan kemampuan pembelajaran mesin yang berguna ke sejumlah database yang tidak memiliki dukungan bawaan untuk pembelajaran mesin.