SQLFlow는 Kubernetes에서 실행되는 워크 플로우로 SQL 프로그램을 컴파일하는 컴파일러입니다. 입력은 교육, 예측, 모델 평가, 모델 설명, 사용자 정의 작업 및 수학적 프로그래밍을 포함한 AI 작업을 지원하기 위해 확장 된 SQL 문법에 작성된 SQL 프로그램입니다. 출력은 분산 된 Kubernetes 클러스터에서 실행되는 ARGO 워크 플로입니다.
SQLFlow는 MySQL, MariaDB, TIDB, Hive, MaxCompute 및 Tensorflow, Keras, XGBoost와 같은 많은 기계 학습 툴킷과 같은 다양한 데이터베이스 시스템을 지원합니다.
놀이터 https://playground.sqlflow.tech/에서 지금 sqlflow를 시도하고 편리한 자습서를 확인하십시오.
개발 ML 기반 애플리케이션의 현재 경험에는 데이터 엔지니어, 데이터 과학자, 비즈니스 분석가뿐만 아니라 Python, SQL, SAS, Sass, Julia, R과 같은 고급 언어 및 프로그래밍 도구의 확산이 필요합니다. 툴링 및 개발 환경의 조각화는 모델 교육/조정에 엔지니어링에 추가적인 어려움을 가져옵니다. ML/시스템 기능과 가장 널리 사용되는 데이터 관리/처리 언어 SQL과 결혼하고 SQL 기술을 가진 엔지니어가 고급 ML 기반 애플리케이션을 개발할 수있게되면 어떻게해야합니까?
업계에는 이미 일부 작업이 진행 중입니다. DOT_PRODUCT
와 같은 연산자를 사용하여 SQL에 간단한 기계 학습 예측 (또는 스코어링) 알고리즘을 작성할 수 있습니다. 그러나이를 위해서는 교육 프로그램에서 SQL 문으로 복사 된 모델 매개 변수가 필요합니다. 상업 세계에서는 기계 학습 기능을 지원하기위한 확장을 제공하는 독점적 인 SQL 엔진이 보입니다.
CREATE MODEL
문을 소개하여 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 프레임 워크 및 데이터 소스에 대한 귀하의 옵션을 듣고 싶습니다. 특정 타임 라인에 대한 로드맵을 참조하십시오. 또한 커뮤니티의 피드백에 따라 우선 순위를 정할 수 있도록 SQLFlow 프로젝트에 대한 현재 시나리오 및 관심사를 알려주십시오.
귀하의 의견은 계속 진행하려는 동기입니다. GitHub 문제를 제출하여 질문, 우려 사항 및 문제를 알려주십시오.
아파치 라이센스 2.0