AI基础软件:如何自主构建大+小模型?

news2025/1/13 3:10:38

导读:AI 基础软件作为大型 AI 模型的底座,承载着顶层大模型的建设,也是大模型应用落地的关键。为了更好地支持大模型的训练和演进,设计与开发基础软件便显得尤为重要。本文分享了九章云极DataCanvas如何自主构建大 + 小模型的经验与心得,接下来将从以下四部分进行分享:

· 公司介绍

· AIFS(AI Foundation Software)

· 模型构建工具链

· DataCanvas APS机器学习平台

▌公司介绍

在这里插入图片描述

九章云极DataCanvas以创造智能探索平台为使命,怀揣着助力全球企业智能升级的愿景,是中国人工智能基础软件领域的佼佼者。公司专注于自主研发的人工智能基础软件产品系列和解决方案,为用户提供全面的人工智能基础服务,旨在帮助用户在数智化转型过程中轻松实现模型和数据的双向赋能,以低成本高效率的方式提升企业决策能力,从而实现企业级 AI 的规模化应用。

▌AIFS(AI Foundation Software)
在这里插入图片描述

在大模型时代,我们需要更高效的算力基础设施,并对其他基础设施和资源进行管理。为了应对这些挑战,九章云极DataCanvas搭建了一个完整的软件体系AIFS(AI Foundation Software),包括模型工具、大模型能力、人工智能基础平台、算力管理四层。

第一层是算力层。当前国产 GPU 也正在迅速崛起,华为等厂商在大模型领域,以及 GPU 领域取得巨大进展。在算力基础设施之上,我们构建 GPU Cloud,可以统一管理异构的 GPU 资源,包括英伟达和国产 GPU。通过这种方式降低工程化成本,并提高资源利用率。

第二层以公司自研的DingoDB多模向量数据库和人工智能开发工具为主。DingoDB是大模型时代的必备软件,作为一个分布式向量数据库,存储多模态的任意大小的数据,具备高并发、低延迟的实时分析能力,处理多模数据,通过 SQL 实现结构化和非结构化数据的 ETL。在DingoDB之上,产品提供了APS Fast Label、APS LMB、 APS Lab、APS Inference人工智能开发工具。

通过这个完整的人工智能技术平台,用户可以高效地应对大模型时代的挑战,快速实现 AI 应用的落地。

第三层包括九章云极DataCanvas发布的DataCanvas Alaya九章元识大模型,其支持视频、图片、文本等多种数据格式。此外,还具备构建小模型的能力,提供包括算法库、场景库、特征库和指标库的“四库全书”。

最后,构建大模型,我们提供了一整套模型构建工具——LMOPS,包括 Prompt Manager(提示管理器)、Large Model Training(大模型训练)和 Large Model Serving(大模型服务)。

在这里插入图片描述

AIFS是一款行业领先的人工智能应用构建基础设施平台,可以支持大模型和小模型的构建。AIFS 涵盖了大模型的训练、精调、压缩、部署、推理和监控,以及小模型的全生命周期过程。它支持多种模式的建模,可以满足数据科学家、开发人员以及业务专家不同的建模需求。例如,数据科学家可以按照自己的建模习惯进行建模,开发人员可以从工程的角度去构建大模型,而业务专家则可以从业务的角度出发,在平台上构建自己的大模型和小模型。

此外,AIFS 平台上的不同角色人员可以相互协作,轻松处理数据,并使用这些数据来开发、训练和部署任何规模的模型。这意味着,无论是数据科学家、应用程序开发人员还是业务专家,都可以在 AIFS 平台上找到适合自己的建模方式,并与其他角色人员协作,共同构建人工智能应用。

▌模型构建工具链

在这里插入图片描述

在 AIFS 中,有一套完整的工具链,旨在赋能大模型和小模型的构建。首先,从数据准备的角度来看,数据可能包括通用数据、行业数据、私域数据以及指令数据等。在数据接入后,需要进行数据处理,如数据清洗、数据变换和数据增强,针对不同类型的数据采取不同类型的处理方式。数据处理完成后,可以进行数据标注,包括人工标注和智能标注。

数据准备完成后,进入模型开发阶段。在模型开发中,首先需要进行模型选型,如常见的 LLAMA 模型,最近开源的 LLAMA2,以及 Falcon 和 Bloom 等。选定模型后,可以使用前期准备的数据进行训练,以及使用预训练权重进行继续训练等。

训练完成后,可以进行模型微调,如对齐操作。对于中小企业,可能会面临 CPU 资源有限的问题,此时可以利用开源的 PEFT 工具进行高效微调。模型微调对齐完成后,需要对模型进行评估,可以使用如LMS评估工具进行评估。常见的评估指标包括 Ceval 和 MMLU 等。

如果现有的 Benchmark 无法涵盖模型的能力,可以基于 AIFS 构建自己的任务或 Benchmark 进行自定义评估。评估完成后,将模型部署到 LMS 中,进行模型的部署和推理。首先,可能需要对模型进行压缩,如量化剪枝、蒸馏转换等操作。模型压缩完成后,进行部署,支持单机单卡和单机多卡的部署方式。

模型上线后,需要进行模型服务的上线,使用 Prompt Manager 进行模型应用。

· LMB(Large Model Builder)

在这里插入图片描述

LMB(Large Model Builder)是一款专为 AI 工程师打造的大规模预训练模型训练工具,旨在帮助他们快速构建训练流程并实现高效稳定的大模型训练。该工具包括数据准备、分布式训练、断点重训、任务监控、模型评估几个主要模块。

通过这些模块,LMB可以有效地帮助 AI 工程师在大规模预训练过程中快速构建训练流程,并实现高效稳定的大模型训练。

在这里插入图片描述

LMB 的功能架构从下到上分为几个层次。首先是 GPU Cloud,这是 AIFS 人工智能平台的最后一层,也是抹平基础设施的关键组件。在 GPU Cloud 之上,实现了一层分布式任务调度,包括异构算力的统一管理和调度、资源编排、环境分发、任务分发以及任务监控等功能。再往上,有一键式分布式训练环境,支持多种流行的分布式训练环境预置,如 DeepSpeed、Megatron 和 FSDP 等。

此外,LMB还提供了多种并行方式、梯度累积、混合精度等高效策略,涵盖了包括断点、重新启动等功能。可视化的 FromScratch 界面,让用户能够轻松构建自己的大模型。无论是业务人员还是工程开发人员,都可以通过这个界面选择所需的模型、数据,以及高级或简洁模式等参数,进行训练。训练成功后,用户还可以通过可视化评估功能对模型进行评估。

· LMT(Large Model Tuning)

在这里插入图片描述

LMT,即 Large Model Tuning,大模型微调工具,主要帮助 AI 工程师在预训练模型的基础上进行模型的继续训练、微调和评估等工作。通过可视化界面,用户可以设定私域数据、预训练模型以及相应的训练参数,进行记忆训练,并且可以选择性扩充词表,避免灾难性遗忘,提高模型推理精度。

在模型微调方面,LMT 支持专家模式进行设计,同时也提供简洁模式。通过专家模式,用户可以实现一键式的高效 PEF指令微调,包括 LoRA 等多种 PEFF 方法以及可视化的 RLHF 训练。

对于模型评估,LMT 支持开源的 Benchmark 自动评估,用户也可以进行自定义评估。用户按照平台规范构建数据集,设定评估方法,就可以进行一些自定义评估。同时,用户也可以手动进行专家评估。最后,LMT 可以将自定义模型和开源模型进行对比,生成一个评估效果的 LeaderBoard。

简而言之,LMT可以为整个大模型调整流程提供支持,从数据准备到继续训练,到指令精调,再到人工对齐、RLHF,最终生成一个 final model。

在这里插入图片描述

LMT与 LMB 有相似的底层架构,比如 GPU Cloud。与 LMB 相比,PEFT 在进行指令微调时的资源需求没有那么高,但它仍然需要一些强大的硬件设施,因此在底层也需要有一个 GPU Cloud 这样的算力支持,来平衡技术设施的投入成本。

再往上的架构与 LMB 相似,提供了一个一键式分布式训练环境,包括DeepSpeed、Megatron、MosaicML等多种分布式训练环境,以及图优化、梯度累积等关键要素。

在这个架构中,入口是数据管理,包括数据标注和 SFT 数据增强。例如,企业客户安装了 LMT 后,可以管理私域数据,并基于这些数据进行 SFT 数据增强。SFT 数据增强有很多方式,比如使用我们的 self instruct 工具进行数据蒸馏,以获得更好的模型。

现在,许多开源的大型模型都是基于英文的,有些可能会支持多语言,但中文的支持相对较少,因此需要对这些模型进行词表扩充。我们的词表扩充有两种方式:一种是在改变 embedding 层后再进行 PFT训练,第二种是使用中英平衡数据进行全量微调。

在完成训练后,可以进行 SFT,可以通过全量微调或 PEFT 微调来实现。在进行人工对齐(如 RLHF)之前,需要先训练出奖励模型,再通过奖励模型训练 SFT 模型,以获得最终的模型。在整个训练过程中,会输出一个 train revert 报告,以帮助大家了解奖励模型在训练 SFT 过程中的表现。

最后,LMT的架构还包括一个任务管理系统,可以监控和调度所有的任务,包括评估任务和三个阶段的训练任务。

· LMS(Large Model Serving)

在这里插入图片描述

LMS(Large Model Serving),即大模型运行工具。所谓运行工具,就是在模型训练和对齐(如人工对齐)完成后,要通过 Prompt Manager 消费模型,因此需要将模型提供为一项服务,并通过 HTTP API 或 SDK 进行访问。LMS 主要面向工程技术人员,旨在帮助他们快速、高质量地交付大模型,同时降低运维和运营成本。

在 LMS 的功能流程中,首先涉及到模型管理。启动后,用户可以导入模型,支持通过界面操作和命令操作完成导入。成功导入模型后,可以进行模型压缩,如量化和剪枝操作。接着进行模型评估,评估完成后进行部署,将模型上线为一个服务。

在服务上线后,可以对服务进行监控,包括服务调用次数、调用成功率,以及调用消耗的总时长和平均时长等指标。同时,还需要监控资源消耗情况,例如 CPU 资源、GPU 资源(尤其是 GPU 资源的利用率、显存占用率)以及内存占用率等资源指标。通过这些监控,确保大模型服务的稳定性和性能。
在这里插入图片描述

接下来,将深入探讨 LMS 的架构。参见上图,左侧是模型管理 Model Store 模块。在 Model Store 中,可以对已导入的模型进行全方位管理,如编辑元信息、评估模型性能等。模型评估涵盖了自动评估和自定义评估等多个方面。在对模型进行压缩之后,可以将其部署并上线。当然,也可以在导入模型后直接在 Model Service 中上线,跳过评估环节。

在 Model Service 中,搭建一个复杂且完善的对外模型服务架构,包括 REST API、gRPC 及其它 API。这些 API 可供 Prompt Manager 调用,同时也支持客户第三方业务系统直接访问。在 Model Service 中,首层为 Server 的 Gateway,主要负责路由不同模型。当某个模型实例面临压力较大或延迟较高时,会根据业务需求进行实例伸缩。

在每个模型实例中,有两个关键要素:交互式推理记忆和 kernel 级加速。交互式推理记忆用于处理与大型模型的多轮交互。例如,向大模型询问推荐食谱,用户可能需要与模型进行多轮对话,而大模型需要保存历史会话,以保持上下文。交互式推理记忆就是用来缓存历史问话,以便在第二次对话时减少 GPU 推理延迟,提高模型服务速度。

另一个关键要素是 kernel 级加速。熟悉底层开发的人员应该都知道,在调用模型底层 API 时,可能会多次调用 kernel。通过 kernel 级加速,可以对 kernel 进行合并操作(把几次请求组成一个tensor),以及操作合并(把两次kernel操作合并成一次操作),从而提高性能。

在消费模型时,可以借助 Prompt Manager 访问知识库,获取相关上下文信息,再访问大模型。

· Prompt Manager

在这里插入图片描述

Prompt Manager是一个提示词设计和构建工具,旨在帮助用户创建更优秀的提示词,引导大模型生成更加准确、可靠且符合预期的输出内容。该工具可以同时面向技术人员和非技术人员,为技术人员提供开发工具包,同时也为非技术人员提供直观易用的人机交互操作模式。

在 Prompt Manager 中,包含了几个核心要素:场景管理、模板管理、提示词开发以及提示词应用。这些要素共同构成了 Prompt Manager 的功能体系,为用户提供了全方位的支持,使其能够更好地利用大模型生成所需的输出内容。

在这里插入图片描述

上图展示了 Prompt Manager 的功能架构。自下而上来介绍,首先,在底层,Prompt Manager 可以管理大模型服务。通过 LMS 部署的模型对外提供的接口可以配置到 Prompt Manager 中,供提示工程使用。此外,还可以与其它工具(如 DingoDB、搜索引擎等)进行集成。

在提示工程方面,包括 single prompt、multiple prompt 和 prompt flow 等开发方式。假设企业内部有一个业务需要多次访问大模型,可以采用两种方式:第一种是在业务系统中将整个流程串起来,每次与大模型的交互后,再进行业务处理;第二种方式是将整个流程封装成一个 prompt flow,这样在第一次访问大模型并获取结果后,可以进行相应处理,然后将结果传递给第二次访问大模型,以 flow 的形式展现整个过程。

此外,Prompt Manager还提供了模板场景、角色定义(如协作作家、程序员等)、prompt 开发(包括单个 prompt 和多个 prompt 开发方式)等功能。
最终,可以将 prompt(无论是 prompt flow、single prompt 还是 multiple prompt)提供为一个 prompt 服务,供模型消费。这样,用户可以通过对外开放接口或 SDK 直接访问 prompt 服务。

▌DataCanvas APS机器学习平台

在这里插入图片描述

DataCanvas APS机器学习平台,为数据科学家、应用程序开发人员和业务专家提供一整套工具,以便自主轻松地处理多源异构数据,并快速、高效地开发、训练和部署任何规模的机器学习模型,打通企业级大模型和小模型应用的最后一公里。

此外,DataCanvas APS机器学习平台还具备模型管理功能,构建了智能应用工具包,以便更好地为企业提供模型服务。

在这里插入图片描述

DataCanvas APS机器学习平台的关键特性包括:异构多引擎融合架构;支持大数据分析;全分位的开放式;高性能分布式训练解决方案;模型全生命周期管理;领先的自动化机器学习(AutoML)技术。

该平台实现了数据科学家、开发人员和业务专家三位一体的融合建模方式,为数据科学家提供了友好的编码建模环境,为数据工程师提供可视化的拖拽建模工具,而对于业务分析师,即使他们对代码不甚了解,也可以通过自动建模工具进行模型构建。三个角色可以跨团队、跨项目进行合作,实现高效的模型开发。

以上就是本次分享的内容,谢谢大家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1127806.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1024程序员节:理解编码背后的艺术

1024的含义 "1024"在中国互联网文化中有两个主要的含义: 1024是2的10次方,这在计算机科学中是一个重要的数字,因为计算机的基础是二进制。因此,程序员们常常把1024作为一个特殊的日子来庆祝,也就是10月24日…

如何把项目上传到Gitee(详细教程)

找到项目根目录右键打开Git Bash Here 输入命令:git init 回车 输入命令:git status 输入命令:git add . 输入命令:git status git commit -m 项目描述 在Gitee官网注册好账号后,git 新建项目 填写补充git项目信息及…

SAP采购发票差异处理

(一) 税金差异 一般情况下,供应商的开票金额与我们的入库金额一致,不过有时也会出现不一致的情况,如通过金税系统开票出现尾差,或是开票价格大于订单价格。本文介绍如何处理采购发票中的税金差异。 采购订…

【单调栈】84. 柱状图中最大的矩形、60天刷题总结

提示:努力生活,开心、快乐的一天 文章目录 84. 柱状图中最大的矩形💡解题思路🤔遇到的问题💻代码实现🎯题目总结 总结数组链表哈希表数组作为哈希表set作为哈希表map作为哈希表 字符串要不要使用库函数双指…

Jmeter接口测试(十一):BeanShell脚本详解

BeanShell简介 BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些 语法和方法; BeanShell是一种松散类型的脚本语言; BeanShell是用Java写成的,一个小型的、免费的、可以下载、嵌入式的 Java源代码解释器,具…

Vue脚手架的安装和分析

一、Vue脚手架的安装步骤 (一)全局安装Vue脚手架 Window R,输入cmd进入电脑终端。 在终端中输入如下命令全局安装Vue脚手架: npm install -g vue/cli 下载过程中会警告,但不用关心这个。 (二&#xff…

经管博士科研基础【26】海塞矩阵

1. 海塞矩阵 海塞矩阵是一个由多变量实值函数的所有二阶偏导数组成的方块矩阵。 一元函数就是二阶导,多元函数就是二阶偏导组成的矩阵。求向量函数最小值时可以使用,矩阵正定是最小值存在的充分条件。经济学中常常遇到求最优的问题,目标函数是多元非线性函数的极值问题,尚…

许战海方法论日文版正式发布,多家日媒转发

10月18日,日本财经媒体掀起了一场轻微的风潮,近40家权威媒体纷纷转发了一条引人注目的新闻:帆をあげて、海へ」、許戦海方法論の日本語版が正式に発表(扬帆起航:许战海方法论日文版正式发布)。 日本焦点新闻、阿波罗新闻、乐天新闻等权威媒体…

vue3 源码解析(1)— reactive 响应式实现

前言 本文是 vue3 源码解析系列的第一篇文章&#xff0c;项目代码的整体实现是参考了 v3.2.10 版本&#xff0c;项目整体架构可以参考之前我写过的文章 rollup 实现多模块打包。话不多说&#xff0c;让我们通过一个简单例子开始这个系列的文章。 举个例子 <!DOCTYPE html…

安科瑞带防逆流功能的数据通讯网关-安科瑞黄安南

AWT200 数据通讯网关应用于各种终端设备的数据采集与数据分析。用于实现设备的监测、控制、计算&#xff0c;为系统与设备之间建立通讯纽带&#xff0c;实现双向的数据通讯。实时监测并及时发现异常&#xff0c;同时自身根据用户规则进行逻辑判断&#xff0c;可以节省人力和通讯…

2023年面试测试工程师一般问什么问题?

面试和项目一起&#xff0c;是自学路上的两大拦路虎。面试测试工程师一般会被问什么问题&#xff0c;总结下来一般是下面这4类&#xff1a; 1.做好自我介绍 2.项目相关问题 3.技术相关问题 4.人事相关问题 接下来&#xff0c;主要从以上四个方向分别展开介绍。为了让大家更有获…

[ThinkPHP]The namespace “work“ is ambiguous (worker, workflow)

问题截图&#xff1a; 解决办法&#xff1a; console.php增加相关配置

PAM从入门到精通(二十三)

接前一篇文章&#xff1a;PAM从入门到精通&#xff08;二十二&#xff09; 本文参考&#xff1a; 《The Linux-PAM Application Developers Guide》 先再来重温一下PAM系统架构&#xff1a; 更加形象的形式&#xff1a; 七、PAM-API各函数源码详解 前边的文章讲解了各PAM-API…

方案聚焦:高可用的F5分布式云DNS负载均衡

DNS是实现互联网的主要技术之一。它也是网络基础设施的重要组成部分&#xff0c;DNS管理一个分布式和冗余的架构&#xff0c;确保高可用性和高质量的用户响应时间&#xff0c;因此拥有一个可用的、智能的、安全和可扩展的DNS基础设施是至关重要的。然而DNS没有真正的能力来分配…

如何有效取代FTP来帮助企业快速传输大文件

在互联网的发展历史上&#xff0c;FTP是一种具有里程碑意义的协议&#xff0c;它最早出现在1971年&#xff0c;是实现网络上文件传输的基础。FTP的优点是简单、稳定、兼容性强&#xff0c;可以在不同的操作系统和平台之间进行文件交换。然而&#xff0c;时代在进步&#xff0c;…

系统升级数量超微软预期,Win10/11盗版激活被封杀

声明&#xff1a;本文提供的命令、工具来自第三方网站&#xff0c;仅供学习交流使用&#xff0c;下载后24小时内删除&#xff0c;一切非法使用责任由使用者自行承担。 上月底 Win11 迎来了 Moment 4 功能更新&#xff0c;任务栏取消合并居然真的回归了。 巨硬终于妥协&#x…

软件开发行业的乱象——低价引流中途收费?299?399?

在当今的软件开发行业&#xff0c;存在着许多乱象。这些乱象不仅影响了软件开发的效率和效果&#xff0c;也给整个行业带来了许多负面影响。其中&#xff0c;价格方面是软件开发行业乱象的一个重要方面。 首先&#xff0c;从价格方面来看&#xff0c;软件开发行业的价格标准非常…

【均值漂移】mean-shift算法详解

Mean-shift算法是一种非参数密度估计算法&#xff0c;主要用于图像分割、目标跟踪和聚类等领域。其基本原理是以某个点为中心&#xff0c;计算该点周围所有点的密度&#xff0c;并将中心点移动到密度最大的位置&#xff0c;不断迭代&#xff0c;直到中心点不再移动或满足停止条…

常用智能优化算法改进策略---飞行游走篇(五种策略)可用于改进所有智能算法,让小白也会改进智能算法。...

本期文章将讲述常用智能优化算法改进策略---飞行游走篇&#xff0c;一共包含五种常见的改进策略&#xff1a; ①莱维飞行&#xff0c;②随机游走&#xff0c;③螺旋飞行&#xff0c;④高斯随机游走&#xff0c;⑤三角形游走 五种策略可以方便移植到其他任何智能算法的改进中&am…

开发常用的 Linux 命令知识积累

查看硬盘的使用情况df -h单元为根据大小适当显示&#xff0c;-m单位为M Linux中查找文件夹的命令是find命令。 全盘搜索&#xff0c;也可以指定目录搜索。find 搜索目录 -name 目标名字&#xff0c;find / -name file liunx自己总结常见命令 执行命令 含义 cd ~ 切换到登录…