O SQLFlow é um compilador que compila um programa SQL a um fluxo de trabalho que é executado no Kubernetes. A entrada é um programa SQL que escrito em nossa gramática SQL estendida para apoiar trabalhos de IA, incluindo treinamento, previsão, avaliação de modelos, explicação do modelo, trabalhos personalizados e programação matemática. A saída é um fluxo de trabalho do ARGO que é executado em um cluster Kubernetes distribuído.
O SQLFlow suporta vários sistemas de banco de dados, como MYSQL, MARIADB, TIDB, Hive, MaxCompute e muitos kits de ferramentas de aprendizado de máquina como Tensorflow, Keras, XGBoost.
Experimente o SQLFlow agora em nosso playground https://playground.sqlflow.tech/ e confira os tutoriais úteis nele.
A experiência atual do desenvolvimento de aplicações baseadas em ML requer uma equipe de engenheiros de dados, cientistas de dados, analistas de negócios, bem como uma proliferação de linguagens avançadas e ferramentas de programação como Python, SQL, SAS, SASS, Julia, R. A fragmentação do ambiente de ferramentas e desenvolvimento traz dificuldades na engenharia para modelar treinamento/tunção. E se nos casarmos com o SQL de gerenciamento/processamento de dados mais usado com os recursos de ML/sistema e permitir que os engenheiros com habilidades SQL desenvolvam aplicativos avançados baseados em ML?
Já existem algum trabalho em andamento no setor. Podemos escrever algoritmos simples de previsão de aprendizado de máquina (ou pontuação) em SQL usando operadores como DOT_PRODUCT
. No entanto, isso requer parâmetros do modelo de cópia-n-pasting do programa de treinamento para as instruções SQL. No mundo comercial, vemos alguns motores SQL proprietários fornecendo extensões para suportar recursos de aprendizado de máquina.
CREATE MODEL
.Nenhuma da solução existente resolve nosso ponto de dor, em vez disso, queremos que seja totalmente extensível.
Aqui estão exemplos para o treinamento de um modelo de dnnclassifier tensorflow usando a amostra de dados de dados e execução de previsão usando o modelo treinado. Você pode ver como é legal escrever algum código ML elegante usando o 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
O SQLFlow vai adorar suportar o maior número possível de estruturas de ML e fontes de dados, mas sentimos que a expansão seria difícil de ser feita apenas por conta própria, por isso gostaríamos de ouvir suas opções sobre quais estruturas ML e fontes de dados você está usando e construir atualmente. Consulte o nosso roteiro para obter cronogramas específicos, também informe -nos seus cenários e interesses atuais em torno do projeto SQLFlow para que possamos priorizar com base no feedback da comunidade.
Seu feedback é a nossa motivação para seguir em frente. Informe -nos suas perguntas, preocupações e questões arquivando problemas do GitHub.
Licença Apache 2.0