SQLFLOW adalah kompiler yang menyusun program SQL ke alur kerja yang berjalan di Kubernetes. Input adalah program SQL yang tertulis dalam tata bahasa SQL kami yang diperluas untuk mendukung pekerjaan AI termasuk pelatihan, prediksi, evaluasi model, penjelasan model, pekerjaan khusus, dan pemrograman matematika. Outputnya adalah alur kerja Argo yang berjalan pada cluster Kubernetes yang didistribusikan.
SQLFLOW mendukung berbagai sistem basis data seperti MySQL, MariaDB, TIDB, Hive, MaxCompute dan banyak toolkit pembelajaran mesin seperti TensorFlow, Keras, XGBoost.
Coba sqlflow sekarang di taman bermain kami https://playground.sqlflow.tech/ dan lihat tutorial praktis di dalamnya.
Pengalaman aplikasi berbasis ML pengembangan saat ini membutuhkan tim insinyur data, ilmuwan data, analis bisnis serta proliferasi bahasa canggih dan alat pemrograman seperti Python, SQL, SAS, Sass, Julia, R. Fragmentasi perkakas dan lingkungan pengembangan membawa kesulitan tambahan dalam rekayasa untuk memodelkan pelatihan/tuning. Bagaimana jika kita menikahi SQL bahasa manajemen/pemrosesan data yang paling banyak digunakan dengan kemampuan ML/sistem dan membiarkan insinyur dengan keterampilan SQL mengembangkan aplikasi berbasis ML canggih?
Sudah ada beberapa pekerjaan yang sedang berlangsung di industri ini. Kita dapat menulis algoritma prediksi pembelajaran mesin (atau penilaian) sederhana di SQL menggunakan operator seperti DOT_PRODUCT
. Namun, ini membutuhkan parameter model copy-n-pasting dari program pelatihan ke pernyataan SQL. Di dunia komersial, kami melihat beberapa mesin SQL berpemilik yang menyediakan ekstensi untuk mendukung kemampuan pembelajaran mesin.
CREATE MODEL
.Tak satu pun dari solusi yang ada memecahkan titik nyeri kita, sebaliknya kita ingin itu sepenuhnya dapat diperluas.
Berikut adalah contoh untuk melatih model TensorFlow DnnClassifier menggunakan data sampel iris.Train, dan menjalankan prediksi menggunakan model terlatih. Anda dapat melihat betapa kerennya menulis beberapa kode ML yang elegan menggunakan SQL:
sqlflow > SELECT *
FROM iris . train
TO TRAIN DNNClassifier
WITH model . n_classes = 3 , model . hidden_units = [ 10 , 20 ]
COLUMN sepal_length, sepal_width, petal_length, petal_width
LABEL class
INTO sqlflow_models . my_dnn_model ;
...
Training set accuracy: 0 . 96721
Done training
sqlflow > SELECT *
FROM iris . test
TO PREDICT iris . predict .class
USING sqlflow_models . my_dnn_model ;
...
Done predicting. Predict table : iris . predict
SQLFLOW akan senang mendukung sebanyak mungkin kerangka kerja ML utama dan sumber data, tetapi kami merasa bahwa perluasan akan sulit dilakukan hanya sendiri, jadi kami akan senang mendengar opsi Anda tentang kerangka kerja ML dan sumber data yang saat ini Anda gunakan dan dibangun. Silakan merujuk ke peta jalan kami untuk jadwal tertentu, juga beri tahu kami skenario dan minat Anda saat ini di sekitar proyek SQLFLOW sehingga kami dapat memprioritaskan berdasarkan umpan balik dari komunitas.
Umpan balik Anda adalah motivasi kami untuk melanjutkan. Beri tahu kami pertanyaan, masalah, dan masalah Anda dengan mengajukan masalah GitHub.
Lisensi Apache 2.0