cover_image

阿里巴巴跨境电商场景下的AI模型服务实践

丁虎平 AIDC-AI
2025年01月08日 02:14

近年来,跨境电商业务发展非常迅猛,吸引了众多企业投入其中,然而跨境电商行业也面临很多现实的问题和挑战。阿里国际的AI团队通过创新的AI解决方案来帮助企业解决跨境电商场景中的核心问题,同时构建共享的AI基础设施来降低AI使用的门槛。本文我们将结合跨境电商场景中的实践,为大家详细介绍阿里国际AI团队的模型服务框架MarsPlatform。

MarsPlatform主要包含任务切分调度,模型推理引擎,计算集群资源管理三部分,全链路全方位地为跨境电商业务提供高吞吐、低时延、低成本的模型服务。

跨境电商行业面临的挑战

跨境电商业务目前正在如火如荼进行当中,有很多的中小企业也投入到跨境电商的行业当中,但是目前会遇到一些普遍存在的问题,比如语言和文化的壁垒、业务人才短缺、成本和竞争的压力以及合规的复杂性等问题,如下图所示。这些问题都需要投入比较多的人力和物力,那是否有更好的方法可以解决这些问题呢?比如创新的AI技术和产品。类似的问题在AICon(全球人工智能开发与应用大会)中也有过相关的讨论。

图片

阿里国际AI团队及其产品

AIDC-AI团队是阿里国际的AI技术部门,探索前沿AI技术与跨境电商业务的最佳实践和解决方案。

我们研发多语言的AI产品,同时为内部客户和外部客户打造共享的AI基础设施,降低AI使用门槛。我们目前的产品已经涵盖了整个跨境电商全链路,包括商品发布(e.g. 商品信息翻译、图片翻译),营销投放,售前导购(e.g. chatbot), 以及售后服务。同时我们的产品目前得到了广泛的应用,在全球超过50万商家受益,转化率和满意度等指标提升1%-30%,应用场景覆盖超过40个,日均调用规模超过2.5亿次,并且还在不断上升, 支持的语言超过60种。

这些成果的取得,与团队创新AI技术的应用和推广息息相关,同时也与AI Infra的建设密不可分,比如模型推理服务框架。

图片


模型服务框架


AIDC-AI团队的模型服务面临着许多方面的挑战。

  • 首先是模型的多样性,如前面在AI产品中所述,包括多语言的翻译、文生成、多模态、图生成、图像处理等相关的应用。
  • 其次是高吞吐量的需求,日均超过2.5亿的调用规模,对于模型吞吐量和批处理等方面提出了很高的要求。
  • 第三是高实时性要求,目前一些应用跨三大洲服务部署,有毫秒级别的响应时延要求,需要降低服务latency,保障客户体验。
  • 最后是服务成本上的挑战,应用调用量大,机器资源使用较多,整体服务成本较高,需要提升资源利用率,降低服务成本。

为了解决这些问题和挑战,AIDC-AI团队在AI Infra上进行了大量的研发,推出了自己的模型服务框架MarsPlatform。

图片

MarsPlatform包含三部分的内容。第一部分是MarsTPS,即task partitioning & scheduling, 主要是对应用进行任务切分和调度,提升整体的计算的并行度和吞吐量。第二部分是MarsEngine,即模型推理引擎,包括请求服务管理(e.g. 请求批处理)、模型推理优化(e.g. 模型量化、长文本优化、剪枝、蒸馏等)、高性能计算库等部分。第三部分是MarsPooling,主要包括多云的支持、资源池化管理、资源隔离、不同资源异构计算以及分布式推理等方面的优化。我们将在后面逐步为大家详细展开各个部分的工作内容。

MarsTPS-任务切分调度

我们的应用在最开始执行的时候遇到较多的问题,整体资源利用率差, 吞吐量比较低。具体来讲,整个应用是作为一个整体去执行,没有pipeline, 也无法异构执行。同时整个应用是串行执行的,无法并行。因此,就会需要比较多的机器资源来保障整体的服务吞吐,整体成本就比较高。

Task Partitioning & Pipelining

在MarsTPS我们首先应用task partitioning,将一体执行的任务切分成不同的模块或者子任务,并且形成DAG(Directed Acyclic Graph),可以在model-level切分,也可以在function-level切分,如下图所示。具体的,它将一个完整的任务切分成5个相互关联的任务图。然后应用任务流水执行,将任务从原来的串行执行变成流水线执行,提高计算资源利用率和应用的吞吐量。我们可以看到,相比于原来没有pipeline的执行(no pipelining),流水执行(with pipelining)提升了资源利用率,缩短了整体执行时间。

图片


Task Profiling & Scheduling

除了task partitioning & pipelining之外,MarsTPS还对每个task进行相应的profiling,做更细节的优化策略。MarsTPS将各个模块或者任务在不同的计算单元上(GPU、CPU)进行profiling,得到相关的计算性能信息,比如执行时间,计算资源使用情况等。根据profiling的结果,以及计算资源的情况,来自动进行任务的调度,即确定各个任务的并发度,以及是否进行异构计算,比如调度在CPU上面,以减少GPU资源的消耗,达成计算资源利用和吞吐量的最大化。我们以一个例子来实际说明, 如下图所示。一个应用被切分成3个串行的任务, 通过对三个任务的profiling,根据profiling的信息(比如在同一个GPU上执行的时间和资源占用情况),将他们设置不同的并发度,以减少调度中的等待和资源浪费(bubbles)。相比普通的pipelining,优化后的pipelining可以进一步优化资源利用效率,提升吞吐,降低执行时延。

图片


Case Study-图片翻译

如前所述,图片翻译是跨境电商商品发布阶段一个使用很广泛的应用,它包含抠图、OCR、翻译、修复等多个tasks,日均调用规模大,使用机器数量多。我们应用MarsTPS之后,同样的一批任务,整体执行时间被极大地缩短了。同时,观察整体GPU的利用率,MarsTPS下面,GPU资源利用相比原始版本有了大幅的提升。

图片
图片


MarsEngine-模型推理优化

MarsEngine是AIDC-AI团队的模型推理引擎,负责模型的推理计算工作,我们在请求批处理优化、模型量化优化、LLM long-context场景优化、模型剪枝和蒸馏等部分都做了相应的工作,下面将为大家逐步展开。

Batching批处理优化

如前所述,批处理对于服务的吞吐量至关重要,因此,提升批处理的能力就很关键。我们使用最新的continuous batching的技术来优化整体吞吐,如下图所示。传统的static batching,不同的request组成batch后,要等最长的一个request执行完毕,才能整体退出,因此当request序列长度差别较大时,容易造成计算资源的闲置和浪费。但是continuous batching,当一个request执行完毕之后,可以继续插入新的request,很好地解决了资源浪费的问题。

图片

图片如前所述,我们在跨境电商业务中有大量多语言的翻译需求,并且翻译文本的序列长度差别很大,使用static batching极易造成资源的浪费和吞吐效率的低下。而使用continuous batching之后,相关问题得到了很好地解决,在翻译场景实测,整体吞吐量最高提升了10x。

模型量化优化

在模型推理过程中,由于模型的参数或者activation等数据的分布通常符合一定的规律(比如高斯分布),量化的方法在保持精度变化很小的情况下,可以有效减少需要存储和传输的数据量,降低memory带宽的压力,同时也可以将计算转移到低比特计算,提升整体的计算性能。我们在业务中采用了AWQ(Activation-aware Weight Quantization), Smooth Quant,MinMax等量化方法,量化数据精度从INT4,INT8,FP8,到混合精度量化。同时,量化的粒度从per tensor,per channel到per group,在不同的粒度下权衡量化开销和模型精度。目前量化主要在Nvidia的GPU上进行,涉及到weight、activation以及kv cache的量化,具体如下图所示。

图片

智能客服(chatbot)是跨境电商中的一个重要的场景,我们应用INT4 AWQ量化到智能客服的业务当中,相比原始的fp16版本,做到了精度基本不丢失,但是计算性能(latency)2x。如下所示,INT4量化之后,在各个指标上都保持了不错的精度,保证了服务的效果。

图片

场景图生成也是我们重点关注的场景,它使用了stable diffusion的算法,这个场景中生图速度一直是我们的痛点。我们使用int8对stable diffusion中的重点模块unet进行weight和activation的量化。相比原始的fp16版本,生图效果基本保持不变,如下所示,但是整体生图性能(latency)提升了30%。

图片


长文本(Long-context)场景推理优化

跨境电商的LLM中会经常遇到long context的需求,比如长的商品详情描述,客服多轮对话等。如何提升long-context场景下LLM的推理性能,比如TTFT(time to first token),是我们需要重点要解决的问题。我们目前使用了prompt压缩的方法以及token pruning的方法,为大家介绍如下。

在prompt压缩的方法中,我们在prompt进入到LLM推理之前,设计了一个prompt压缩器,压缩掉一些不必要的prompt信息,如下图所示。prompt长度变短之后,整体计算量减少,推理性能提升,但输出结果与原来基本一致。我们目前在业务场景中可以做到压缩40%的prompt,整体性能提升1.4x,同时精度符合应用要求。下图给出了一个实际的例子,输入的prompt从5行压缩到了3行,但是输出的内容在压缩前后基本保持一致。

图片
图片

在token pruning的优化中,主要的逻辑是减少推理过程中相关度很小的token的计算,同时保持精度。根据attention score等相关的数据,对token进行剪枝,减少与被裁剪的token相关联的计算。我们在Qwen1.5 32B的模型上进行测试,精度损失很小,但是性能提升30%以上,具体数据如下所示。

图片
图片

LLM Pruning

除了token pruning的工作外,我们在LLM上也进行整体的剪枝优化工作,以减少一些不必要的计算,提升整体的推理性能。我们观察到在LLM中,一些token特征的channel维度,有数据稀疏相关的一致性,因此在channel维度进行模型剪枝的实践,剪掉一些数值极小的channel。我们在翻译场景进行测试,精度损失0.17%, 性能(latency)提升1.1x。

图片

Stable Diffusion模型蒸馏

文生图应用也是目前业务中非常重要的一环, 我们使用stable diffusion的生图模型,如前所述,文生图的模型推理一般耗时较高,因此成本也较高。为了能够进一步降低成本,降低推理耗时,我们使用知识蒸馏的方法,压缩stable diffusion的核心unet部分的step数目。从实践来看,我们目前的生图效果基本保持不变,计算性能(latency)提升约50%。

图片


MarsPooling-计算集群资源管理优化

除了在模型推理部分进行细致的优化外,我们在底层的计算集群层面也进行资源管理和使用方面的优化,包括推理的资源,也包括我们训练的资源。在这部分,我们重点介绍MarsPooling是如何从资源管理角度来进一步提升资源的利用率,降低成本的。

在资源的使用过程中,我们经常会遇到各种使资源利用效率低下的问题。首先是碎卡问题,训练集群中,小型训练任务(几卡)会让一机8卡的整机卡数碎片化,碎片增多的情况下会导致虽然有额度,但是大型任务无法调度的情况出现。其次是资源闲置问题,训练或者推理集群因为任务的动态变化,会有资源没有被调度,或者请求减少,导致资源闲置的情况。最后是单卡利用率低的问题,比如模型比较小,无法充分利用单卡GPU上的所有资源,导致资源浪费。针对这些问题,我们提出了对应的一些设计方案。

训练/推理资源池化

首先是提供资源的池化方案。大的训练资源池使用粒度为台(比如一机八卡),小型任务则分池处理,避免小的训练任务导致的碎卡影响大的训练任务。同时资源可在训练和推理资源池相互转移,提高资源的利用率,比如当推理资源不足时,低优先级训练任务暂停,资源转移至高优先级推理任务;当推理资源闲置时,也可以将闲置的资源转移到训练集群,承接相关的训练任务。

图片

资源动态扩缩容

目前同步实时的动态扩缩依然比较困难,一个是目前业务的流量难以预测,第二是生成式模型一般较大,服务拉起时间比较长。但是对于离线异步的任务来讲,它们无实时性要求,任务可以容忍一定的积压,动态扩缩资源就成为可能,可以根据请求积压、生产速度、消费速度等情况进行动态扩缩容, 具体信息如下图所示。

图片

GPU资源隔离

在我们的业务实践中,会遇到小模型要部署到大的GPU卡上的情况,这种情况下面,一般就会出现前述的单卡GPU利用率低的情况,比如在翻译场景,我们就遇到需要在A100上部署,但是资源利用率低的情况。为了能够提高资源的利用率,我们对大的GPU卡进行资源隔离的操作,比如通过nvidia提供的MPS(Multi-Process Service)和MIG(Multi-Instance GPU) 操作,将GPU分成不同的部分,从而可以部署更多的应用,提高资源的利用率。我们在翻译场景进行实践,使用MPS和A100,整体A100的吞吐效率2x。

图片

总结与展望

在本文中,首先给大家介绍了跨境电商的业务以及面临的挑战。目前跨境电商业务发展迅速,且规模庞大,但是在语言文化、本地化、人才、成本、竞争、合规等方面都面临很大的挑战。阿里国际的AI团队聚焦在跨境电商的核心业务,通过AI技术创新和AI基础设施的建设,为跨境电商业务提供更好的产品和解决方案。其次给大家详细介绍了阿里国际AI团队在模型服务层面的框架MarsPlatform。MarsPlatform通过MarsTPS,MarsEngine,MarsPooling三方面的工作,从上层的任务切分调度,到中间的模型推理优化,到下层的计算集群资源管理,全链路全方位地为跨境电商业务提供高吞吐、低时延、低成本的模型服务。

在未来的模型服务中,我们依然面临着很多的挑战。首先,在目前的生图服务中,我们依然面临着生图服务时间较长、成本较高的问题,还需要在算法和模型服务层面进行进一步的优化,去降低生图的成本。其次,多模态的模型的使用也越来越广泛,AIDC-AI团队也自研了Ovis多模态模型, 未来结合MarsPlatform和Ovis,打造有竞争力的多模态产品方案将是我们未来的重要目标。最后,agent领域的应用也在不断涌现,如何解决agent应用中的慢思考太慢的问题,包括持续的long-context优化以及并行化的推理技术,也是未来的重要研究课题。


继续滑动看下一个
AIDC-AI
向上滑动看下一个