SQLFLOW es un compilador que compila un programa SQL para un flujo de trabajo que se ejecuta en Kubernetes. La entrada es un programa SQL que escribió en nuestra gramática SQL extendida para apoyar los trabajos de IA, incluida la capacitación, la predicción, la evaluación del modelo, la explicación del modelo, los trabajos personalizados y la programación matemática. La salida es un flujo de trabajo Argo que se ejecuta en un clúster Kubernetes distribuido.
SQLFLOW admite varios sistemas de bases de datos como MySQL, MariAdB, TIDB, Hive, MaxCompute y muchos kits de herramientas de aprendizaje automático como TensorFlow, Keras, XGBOost.
Pruebe Sqlflow ahora en nuestro patio de juegos https://playground.sqlflow.tech/ y consulte los prácticos tutoriales en él.

La experiencia actual de las aplicaciones basadas en el desarrollo de ML requiere un equipo de ingenieros de datos, científicos de datos, analistas de negocios, así como una proliferación de lenguajes avanzados y herramientas de programación como Python, SQL, SAS, Sass, Julia, R. La fragmentación de las herramientas y el entorno de desarrollo aporta dificultades adicionales en la ingeniería para modelar la capacitación/sintonización. ¿Qué pasa si nos casamos con las capacidades de SQL de gestión/procesamiento de datos más utilizada con capacidades de ML/sistema y permitimos que los ingenieros con habilidades SQL desarrollen aplicaciones avanzadas basadas en ML?
Ya hay algo de trabajo en progreso en la industria. Podemos escribir algoritmos simples de predicción de aprendizaje automático (o puntuación) en SQL usando operadores como DOT_PRODUCT . Sin embargo, esto requiere parámetros del modelo de copia-n-pastor del programa de capacitación a declaraciones SQL. En el mundo comercial, vemos algunos motores SQL patentados que proporcionan extensiones para apoyar las capacidades de aprendizaje automático.
CREATE MODEL .Ninguna de la solución existente resuelve nuestro punto de dolor, en cambio queremos que sea completamente extensible.
Aquí hay ejemplos para capacitar a un modelo DNNClasifier TensorFlow utilizando datos de muestra IRIS.train, y la predicción de ejecución utilizando el modelo entrenado. Puede ver lo genial que es escribir un código ML elegante usando 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 trainingsqlflow > SELECT *
FROM iris . test
TO PREDICT iris . predict .class
USING sqlflow_models . my_dnn_model ;
...
Done predicting. Predict table : iris . predict A SQLFLOW le encantará apoyar la mayor cantidad de marcos de ML y fuentes de datos como posible, pero sentimos que la expansión sería difícil de hacer simplemente por nuestra cuenta, por lo que nos encantaría escuchar sus opciones sobre los marcos de ML y las fuentes de datos que está utilizando y construyendo actualmente. Consulte nuestra hoja de ruta para obtener plazos específicos, también háganos saber sus escenarios e intereses actuales en torno al proyecto SQLFLOW para que podamos priorizar en función de los comentarios de la comunidad.
Sus comentarios son nuestra motivación para seguir adelante. Háganos saber sus preguntas, inquietudes y problemas presentando problemas de GitHub.
Licencia de Apache 2.0