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


最后,LMT的架构还包括一个任务管理系统 , 可以监控和调度所有的任务,包括评估任务和三个阶段的训练任务 。
3、LMS(Large Model Serving)【AI基础软件:如何自主构建大+小模型?】

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

文章插图
LMS(Large Model Serving),即大模型运行工具 。所谓运行工具,就是在模型训练和对齐(如人工对齐)完成后,要通过Prompt Manager 消费模型,因此需要将模型提供为一项服务 , 并通过 HTTP API 或 SDK 进行访问 。LMS 主要面向工程技术人员,旨在帮助他们快速、高质量地交付大模型 , 同时降低运维和运营成本 。
在 LMS 的功能流程中,首先涉及到模型管理 。启动后,用户可以导入模型 , 支持通过界面操作和命令操作完成导入 。成功导入模型后,可以进行模型压缩,如量化和剪枝操作 。接着进行模型评估,评估完成后进行部署,将模型上线为一个服务 。
在服务上线后,可以对服务进行监控,包括服务调用次数、调用成功率,以及调用消耗的总时长和平均时长等指标 。同时 , 还需要监控资源消耗情况,例如 CPU 资源、GPU 资源(尤其是GPU 资源的利用率、显存占用率)以及内存占用率等资源指标 。通过这些监控,确保大模型服务的稳定性和性能 。
AI基础软件:如何自主构建大+小模型?

文章插图
接下来,将深入探讨 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 访问知识库,获取相关上下文信息 , 再访问大模型 。
4、Prompt Manager
AI基础软件:如何自主构建大+小模型?

文章插图
Prompt Manager是一个提示词设计和构建工具,旨在帮助用户创建更优秀的提示词,引导大模型生成更加准确、可靠且符合预期的输出内容 。该工具可以同时面向技术人员和非技术人员 , 为技术人员提供开发工具包,同时也为非技术人员提供直观易用的人机交互操作模式 。
在 Prompt Manager 中,包含了几个核心要素:场景管理、模板管理、提示词开发以及提示词应用 。这些要素共同构成了 Prompt Manager 的功能体系,为用户提供了全方位的支持,使其能够更好地利用大模型生成所需的输出内容 。
AI基础软件:如何自主构建大+小模型?

文章插图
上图展示了 Prompt Manager 的功能架构 。自下而上来介绍,首先,在底层,Prompt Manager可以管理大模型服务 。通过 LMS 部署的模型对外提供的接口可以配置到 Prompt Manager 中,供提示工程使用 。此外,还可以与其它工具(如DingoDB、搜索引擎等)进行集成 。
在提示工程方面,包括 single prompt、multiple prompt 和 prompt flow 等开发方式 。假设企业内部有一个业务需要多次访问大模型,可以采用两种方式:第一种是在业务系统中将整个流程串起来,每次与大模型的交互后,再进行业务处理;第二种方式是将整个流程封装成一个 prompt flow , 这样在第一次访问大模型并获取结果后,可以进行相应处理,然后将结果传递给第二次访问大模型 , 以 flow 的形式展现整个过程 。


推荐阅读