SQLFlowは、Kubernetesで実行されるワークフローにSQLプログラムをコンパイルするコンパイラです。この入力は、トレーニング、予測、モデル評価、モデルの説明、カスタムジョブ、数学プログラミングなどのAIジョブをサポートするために、拡張されたSQL文法に記述されたSQLプログラムです。出力は、分散したKubernetesクラスターで実行されるアルゴワークフローです。
SQLFlowは、MySQL、Mariadb、Tidb、Hive、MaxComputeなどのさまざまなデータベースシステム、およびTensorflow、Keras、Xgboostなどの多くの機械学習ツールキットをサポートしています。
今すぐSQLFlowをプレイグラウンドでお試しくださいhttps://playground.sqlflow.tech/をご覧ください。
開発MLベースのアプリケーションの現在の経験には、データエンジニア、データサイエンティスト、ビジネスアナリストのチーム、Python、SQL、SAS、SASS、JULIA、R。などの高度な言語やプログラミングツールの急増が必要です。最も広く使用されているデータ管理/処理言語SQLをML/システム機能と結婚し、SQLスキルを持つエンジニアが高度なMLベースのアプリケーションを開発できるようにした場合はどうなりますか?
業界ではすでにいくつかの作業が進行中です。 DOT_PRODUCT
などのオペレーターを使用して、SQLで簡単な機械学習予測(またはスコアリング)アルゴリズムを作成できます。ただし、これには、トレーニングプログラムからSQLステートメントまでのコピーN-Pastingモデルパラメーターが必要です。商業世界では、機械学習機能をサポートするための拡張機能を提供する独自のSQLエンジンがいくつか見られます。
CREATE MODEL
Statementを導入することにより、SQLでの機械学習を可能にします。既存のソリューションはどれも私たちの問題点を解決しません。代わりに、それを完全に拡張できるようにしたいと考えています。
サンプルデータIRIS.TRAINを使用してTensorFlow DNNClassifierモデルをトレーニングするための例と、トレーニングされたモデルを使用した実行の実行の例を以下に示します。 SQLを使用してエレガントなMLコードを書くのがどれほどクールかを確認できます。
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は、できるだけ多くの主流のMLフレームワークとデータソースをサポートするのが大好きですが、拡張を自分で行うのは難しいと感じているため、MLフレームワークと現在使用および構築しているMLフレームワークとデータソースについての選択肢を聞きたいと思います。特定のタイムラインについては、ロードマップを参照してください。また、SQLFlowプロジェクトに関する現在のシナリオと関心をお知らせください。そうすれば、コミュニティからのフィードバックに基づいて優先順位を付けることができます。
あなたのフィードバックは、先に進む私たちの動機です。 GitHubの問題を提出して、ご質問、懸念、問題をお知らせください。
Apacheライセンス2.0