前面两篇文章,已经将Triton的“无状态模型”、“有状态模型”与标准调度器的动态批量处理器与序列批量处理器的使用方式,做了较完整的说明。
大部分的实际应用都不是单纯的推理模型就能完成服务的需求,需要形成前后关系的工作流水线。例如一个二维码扫描的应用,除了需要第一关的二维码识别模型之外,后面可能还得将识别出来的字符传递给语句识别的推理模型、关键字搜索引擎等功能,最后找到用户所需要的信息,反馈给提出需求的用户端。
本文的内容要说明Triton服务器形成工作流水线的“集成推理”功能,里面包括“集成模型(ensemble model)”与“集成调度器(ensemble scheduler)”两个部分。下面是个简单的推理流水线示意图,目的是对请求的输入图像最终反馈“图像分类”与“语义分割”两个推理结果:
当接收到集成模型的推断请求时,集成调度器将:
整个流水线使用3个模型,并进行以下三个处理步骤:
在执行过程中,推理服务器必须支持以下的功能,才能将多种推理模型集成一个或多个工作流水线,去执行完整的工作流程:
为了实现的推理流水线功能,Triton服务器使用集成模型与集成调度器的配合,来完成这类工作流水线的搭建管理。接着就执行以下步骤来创建一个流水线所需要的配套内容:
无论工作流水线中调用多少个模型,Triton服务器都将这样的组合视为一个模型,与其他模型配置一样,需要定义输入与输出节点的张量类型与尺度。
以上面实示例图中的要求,这个集成模型有一个名为“IMAGE”的输入节,与两个名为“CLASSIFICATION”与“SEGMENTATION”的输出节点,至于数据类型与张量维度内容,就得根据实际使用的模型去匹配。这部分配置的参考内容如下:
name: "ensemble_model" platform: "ensemble" max_batch_size: 1 input [ { name: "IMAGE" data_type: TYPE_STRING dims: [ 1 ] } ] output [ { name: "CLASSIFICATION" data_type: TYPE_FP32 dims: [ 1000 ] }, { name: "SEGMENTATION" data_type: TYPE_FP32 dims: [ 3, 224, 224 ] } ] |
从这个内容中可以看出,Triton服务器将这个集成模型视为一个独立模型。
这部分使用“ensemble_scheduling”来调动集成调度器,将使用到模型与数据形成完整的交互关系。
在上面示例图中,灰色区块所形成的工作流水线中,使用到image_prepoecess_model、classification_model、segmentation_model三个模型,以及preprocessed_image数据在模型中进行传递。
下面提供这部分的范例配置内容,一开始使用“ensemble_scheduling”来调用集成调度器,里面再用“step”来定义模组之间的执行关系,透过模型的“input_map”与“output_map”的“key:value”对的方式,串联起模型之间的交互动作:
ensemble_scheduling { step [ { model_name: "image_preprocess_model" model_version: -1 input_map { key: "RAW_IMAGE" value: "IMAGE" } output_map { key: "PREPROCESSED_OUTPUT" value: "preprocessed_image" } }, { model_name: "classification_model" model_version: -1 input_map { key: "FORMATTED_IMAGE" value: "preprocessed_image" } output_map { key: "CLASSIFICATION_OUTPUT" value: "CLASSIFICATION" } }, { model_name: "segmentation_model" model_version: -1 input_map { key: "FORMATTED_IMAGE" value: "preprocessed_image" } output_map { key: "SEGMENTATION_OUTPUT" value: "SEGMENTATION" } } ] } |
这里简单说明一下工作流程:
完成以上的步骤,就能用集成模型与集成调度器的搭配,来创建一个完整的推理工作流任务,相当简单。
不过这类集成模型中,还有以下几个需要注意的重点:
总的来说,Triton服务器提供的集成功能还是相对容易理解与操作的,只要大家留意模型之间所传递的数据张量格式与尺度,就能轻松搭建起这样的推理工作流,去面对实际环境中更多变的使用需求。【完】
好文章,需要你的鼓励
这项研究由浙江大学、复旦大学等机构联合完成,提出了ReVisual-R1模型,通过创新的三阶段训练方法显著提升了多模态大语言模型的推理能力。研究发现优化的纯文本冷启动训练、解决强化学习中的梯度停滞问题、以及分阶段训练策略是关键因素。ReVisual-R1在各类推理基准测试中超越了现有开源模型,甚至在某些任务上超过了商业模型,为多模态推理研究开辟了新途径。
这项研究提出了一种名为"批评式微调"的创新方法,证明仅使用一个问题的批评数据就能显著提升大语言模型的推理能力。研究团队对Qwen和Llama系列模型进行实验,发现这种方法在数学和逻辑推理任务上都取得了显著提升,平均提高15-16个百分点,而且只需要强化学习方法1/20的计算资源。这种简单高效的方法为释放预训练模型的潜在推理能力提供了新途径。
新加坡国立大学研究团队开发了名为IEAP的图像编辑框架,它通过将复杂编辑指令分解为简单原子操作序列解决了当前AI图像编辑的核心难题。研究发现当前模型在处理不改变图像布局的简单编辑时表现出色,但在需要改变图像结构时效果差。IEAP框架定义了五种基本操作,并利用思维链推理技术智能分解用户指令,实验证明其性能显著超越现有方法,尤其在处理复杂多步骤编辑时。
Character AI的研究者开发出TalkingMachines系统,通过自回归扩散模型实现实时音频驱动视频生成。研究将预训练视频模型转变为能进行FaceTime风格对话的虚拟形象系统。核心创新包括:将18B参数的图像到视频DiT模型改造为音频驱动系统、通过蒸馏实现无错误累积的无限长视频生成、优化工程设计降低延迟。系统可让多种风格的虚拟角色与人进行自然对话,嘴型与语音同步,为实时数字人交互技术开辟了新可能。