HashML——让更多企业读懂数据,用好 AI
随着大模型技术的兴起,数据智能和 AI 正成为企业数字化转型的新驱动力。
酷克数据研发推出的新一代高级分析和数据科学工具箱 HashML 自推出以来,受到了众多企业和技术爱好者的广泛关注。在最近的直播中,我们邀请了 HashData 的数据科学工程师,为大家讲解 HashML 实现原理和技术逻辑,并进行了用例演示。
产品简介
作为一款新一代高级分析和数据科学工具箱,HashML 致力于大幅降低 AI 技术应用门槛,为数据科学家、数据工程师、AI 应用开发者构建 AI 应用提供便利。
HashML 不止提供从数据查询处理、高级分析到机器学习、深度学习的一站式多层次数据分析和 AI 能力,针对近期市场高度关注的大语言模型,也提供了从高质量数据挖掘、模型微调到模型部署和推理的全流程支持。
图 1:HashML 主要功能概览
HashML 提供了数据访问、模型算法、模型部署三大功能:
数据访问
HashML 可随 HashData 云数仓一起安装部署,做到开箱即用。HashML 所有模块 API 的设计,都力求标准化,与数据科学社区流行的第三方库保持一致,最大程度保障易用性。同时,HashML 提供了 Python 和 SQL 两种语言支持,无论是数据科学社区的 Python 用户,还是数据库社区的 SQL 用户,都可以低门槛地上手使用。
模型算法
HashML 内置了对多种经典机器学习算法,以及 PyTorch 等主流深度学习框架和算法支持。此外,HashML 也允许用户根据需要定制开发新算法。通过对算法开发框架的精心封装,用户只需关注网络结构的定义和实现,用少量代码就能完成新算法的开发和引入。针对当下热门的大语言模型技术,HashML 提供了对大语言模型的支持,包括模型微调以及知识增强的大语言模型应用开发。HashML 广泛支持当前业界主流的开源大语言模型,包括 ChatGLM、Baichuan、LLaMA-2、Qwen 等,简化模型定制的工作量。
模型部署
HashML 继承了 HashData 的云原生优势,从模型训练到模型部署都可以做到按需弹性伸缩。在模型部署的层面,HashML 提供了弹性可伸缩的模型部署和在线推理功能,旨在简化部署工作,并根据服务负载动态调整模型实例的数量。无论是机器学习模型、深度学习模型,还是大语言模型,都可以实现多机多卡分布式处理,用户只需通过简短的几行代码就能够完成一个服务的部署。基于 HashML,用户可以非常方便地实现百亿级参数大语言模型的私有化部署,在客户私有环境内实现模型微调和智能应用开发,满足敏感数据的安全与合规要求。
产品特性
分布式并行处理数据
数据并行和模型并行是分布式深度学习中常用的并行计算策略,可以加速训练过程,增加对大规模数据和模型的处理能力。
图 2:基于 HashML 的分布式并行处理数据流程示意图
如上图所示,HashML 定义了数据模块,可以帮助开发者高效地完成数据读写、数据分析、数据处理等各种功能。这些功能对于开发机器学习、深度学习模型至关重要,可以高效快捷地完成数据清洗、特征提取、特征变换、样本生成等一系列任务。基于封装良好的编程接口,用户只需要关注 format_prompt 和 tokenize 数据处理逻辑的实现,仅需少量的代码开发,就可以由 HashData 计算引擎以分布式并行处理的方式完成计算过程,大大简化了开发者的工作量。
图 3:基于 HashML 进行分布式并行数据处理的代码示例
丰富的机器学习算法
为了满足各种应用场景,HashML 内置了包括 Logistic Regression、Random Forest、SVM、XGBoost、LightGBM 等经典机器学习算法。通过对算法开发框架精心封装,用户在充分理解算法原理的基础上,只需关注 fit 和 batch predict 网络结构的定义和实现,仅用少量代码就能完成新算法的开发和引入。新算法开发完成后,可以自动具备 HashML 所提供的分布式并行训练和推理能力。
图 4:基于 HashML 的机器学习算法代码示例
在训练阶段,用户先从 HashML 的模型库中导入 XGBoost 模块,再传入数据库的信息去构建 XGB 对象,接下来调用 fit 方法传入训练的数据以及所需要参数,就可以开启模型训练。
自定义神经网络模型
HashML 通过引入多种主流的深度学习框架(如 PyTorch、TensorFlow、Paddle 等),能够支持各种深度学习算法。通过对深度学习的模型训练推理进行封装,用户可在此基础上轻松完成神经网络模型的搭建工作。以 PyTorch 为例,用户只需定义网络结构和 MLP 模型,就可以调用 fit 方法传入相关参数,对模型进行训练,整个过程中用户只需要专注于模型结构的实现即可,使得工作量大幅降低。
便捷高效模型微调
模型微调可以让大语言模型能够更加适应当前的业务场景,是大语言模型落地非常重要的一个环节。HashML 引入了参数高效的微调(PEFT)方法,使用较少的参数来提高模型的微调效率和性能,在单张消费级显卡即可实现模型微调,达到与全量参数(Full Parameter)微调相当的效果,而新增 checkpoint 通常只有几十到几百 MB,大幅降低计算和存储成本。
图 5:基于 HashML 的便捷高效模型微调代码示例
向量知识库的构建与查询
向量知识库是 HashML 工具箱当中一个非常重要的组成部分,它提供了一种高效的方式来存储和检索大规模向量化知识,主要应用于基于本地的知识库的智能问答任务。
基于 HashML 的 embedding 服务,可以将文本、图像等非结构化数据转化成向量表示,同时用户可以根据自身业务的需要去自定义 embedding 模型,提高知识库的质量和效果。
图 6:HashML 向量知识库构建流程示意图
向量知识库模块还提供了处理服务请求功能。当用户发起请求的时候,向量知识库模块会将查询内容转化为向量的表征,然后再与知识库中的向量进行相似度计算,实现内容的检索和推荐功能。HashML 对向量知识库进行了封装,用户仅需几行代码就可以完成整个向量知识库的构建以及查询功能。
应用案例
对话式智能数据查询分析 ChatData
ChatData 主要帮助对 SQL 语言不熟悉的用户,能够通过自然语言对数据库进行查询和分析,其背后的核心技术是 text to SQL。
为了提升大语言模型的 SQL 能力,HashML 研发团队对模型进行了微调,并针对每个评估样本构造了一个由若干数据表构成的数据库,每张数据表都包含若干条数据记录。对于每个评估样本,分别执行 Ground-Truth SQL 和生成的 SQL,通过检验生成 SQL 的可执行度和比对查询结果的一致性,判断生成 SQL 的正确性,最终统计整个评估集的准确率。评估结果显示,HD-SQL-LLaMA2 在不同难度的评估样本集上均表现良好,13B 模型准确率接近 82%,34B 模型准确率超过 88%。
检索增强的智能问答 ReQA
通用大模型在应用于特定领域时普遍存在回答不精准的现象。针对这一问题,HashML 可以基于大语言模型,快速搭建面向专业领域的的智能问答系统(ReQA)。
在 ReQA 中,企业通过调用本地部署的 embedding 服务将自有的知识库(包括管理制度、产品手册、技术手册、运维手册、工作规范、流程记录、FAQ 等)进行向量化,并存放到 HashData 形成向量知识库。当回答用户提问时,通过检索向量知识库获得相关信息,作为上下文和问题一起提交给大语言模型,这样大语言模型就能够生成精准的回答,从而有效解决困扰大语言模型的生成“幻觉”问题。ReQA 的典型用例包括智能客服、销售助手、文档阅读助手等,在企业有着非常广泛的应用场景。
展望未来,以大语言模型为代表的 AI 技术将不断融入各行各业,改变用户与企业产品和服务之间的交互方式。
HashData 推出的 AI 开发工具箱 HashML,以简单易用、算法丰富、性能卓越的功能,帮助企业更高效地构建 AI 应用,更充分地释放数据价值,加速企业迈向 AI 时代。
版权声明: 本文为 InfoQ 作者【HashData】的原创文章。
原文链接:【http://xie.infoq.cn/article/d52aa7f127fc6e800c0746574】。文章转载请联系作者。
评论