理解机调用 ML 模型的 Spark SQL 框架
理解机(英文名为Liga,是“理解”的汉语吴音)是一个在SQL引擎中集成机器学习模型能力的通用框架。
理解机的设计目标是:模块化、可扩展、面向任意规模数据。
理解机的设计理念
- 理解机V0.2.x是基于Apache Spark实现的,这并不意味着理解机是一个基于Apache Spark的开源项目。Spark SQL仅仅是理解机这套框架想要适配的SQL引擎之一。同样,理解机V0.2.x支持MLflow这个模型注册系统,这并不意味着理解机只能用MLflow这个特定的模型注册系统。
- 理解机V0.2.x支持使用SQL语法将机器学习应用于大规模的数据集。由于模型注册系统可以将模型的训练和预测解耦。当下,我们专注于实现基于理解机框架的模型应用和服务化。
- 理解机是一个通用框架,并不限定具体的领域。视觉理解机是基于理解机框架实现的专注于计算机视觉领域的解决方案。未来,我们还会实现听觉、自然语言处理等领域的专用理解机解决方案。
理解机SQL扩展参考
SQL:创建模型
-- Create model
CREATE [OR REPLACE] MODEL model_name
[FLAVOR flavor]
[MODEL_TYPE model_type]
[OPTIONS (key1=value1,key2=value2,...)]
USING "uri";
SQL:管理模型
-- Describe model
{ DESC | DESCRIBE } MODEL model_name;
-- Show all models
SHOW MODELS;
-- Delete a model
DROP MODEL model_name;
历史
理解机源于ETO公司的Rikai项目,在第四次Tubi黑客马拉松中,理解机的作者们将Rikai项目中扩展Spark SQL实现调用机器学习模型的部分从Rikai项目剥离并重构。
评论