cover_image

多语言本地化平台性能优化

喂菌锅 三七互娱技术团队 2024年12月09日 10:00
01

为什么需要进行请求并发来优化?

图片
图片

背景

Dify 的工作流定义当中,倘若碰到 LLM 需要接收可迭代对象(比如数组)作为参数的情形,为了加快⏩ LLM 生成答案的速度,我们能够思考把可迭代对象中的 n 项当作原本每次请求 LLM 的参数。如此一来,原本只请求一次 LLM 的操作,将转变为请求 n 次 LLM ,如下图:

图片

问题

在 Dify 中,这里的迭代是同步进行的,意味着每次仅会执行一次迭代内的工作。那么假设执行一次迭代的平均时间是t,迭代的次数为n,则总时间 T1 ≈ n * t。

然而在 Coze 中,LLM 的执行能够配置为Batch processing(批处理)模式,同样是把可迭代的操作从 1 次变为n次。其不同之处在于,通过配置Parallel runs参数,可以设定 LLM 节点同时执行的数量,这表明 Coze 的批处理模式是能够并发执行的。那么其执行的总时间(假如总调用次数 <= Parallel runs)为T2 = Max(t1,t2,t3,...) ≈ t,并且通常情况下 T2 < T1 是成立的。

图片

由于Dify提供了直接将工作流作为接口调用的方式,而Coze并没有提供相关的功能,我们的应用将使用Dify作为机器人的开发平台。

既然平台侧没有提供并发的方式,我们就需要从请求接口的方向考虑并发的可能性。

另外一些注意事项

1. Dify设置了一些变量的最大个数,比如字符串,Object数组的长度最大为30,数字字符串的长度最大为1000。所以当我们的中间变量可以超过这个限制的话,我们可以考虑将中间变量使用JSON.stringify进行字符串转化(最大长度为80000),当需要使用的时候,通过在代码节点里面使用JSON.parse进行转化即可。

图片

2. 一个迭代最大执行的轮数为50。

图片

3. 在实际运用中,当LLM一次性处理的复杂文案数量在一定数量时,容易出现生成标识符的大模型会出现缺漏掉一些数量文案标识符的现象,这对于我们平台整体的可靠性与稳定性是有相当大部分的影响,判断是超出LLM一次性可返回的Token数导致的。

02

如何进行的优化?

图片
图片

工作流S1 - 获取唯一标识符号Flags以及预翻译

请求参数
图片
并发策略的设置
  • 客观限制

    • 谷歌浏览器对同一域名下的并发请求数量进行了限制,这个限制为6个

    • 目前需要支持的语言个数为16个

  • 接口限制

    • 每次接收到原始文案后,会针对原始文案去生成唯一标识符号,每次请求可能返回的标识符不一致

因此对于工作流S1的并发请求方式,我们使用按照20个文案+3个语言数的颗粒度来对请求进行拆分,并且为了保证不同语言的文案返回的标识符应一致的情况,工作流S1将包含「获取文案标识符」以及「获取文案预翻译」两个步骤,并且在「获取文案标识符」的分支上,涵盖了标识符缺漏检查的工作流程,进一步保证结果的完整性。

最终,拆解完成的工作流如下所示:


图片

在代码层面上,S1将针对两类不同请求的方式走不同的工作流:

代码如下:

图片

工作流S2 - 获取翻译的优化建议

请求参数
图片
并发策略的设置

综上所述,在此接口中,我们能够针对目标语言以及需要进行优化检测的翻译内容分别予以分割后再进行请求,原因在于返回的结果必然是唯一对应的。

所以,相应的策略如下:语言的分割维度设定为3,与 S1 保持一致;而对于翻译内容,或者说是依据标识符数组来进行分割,当前维度设置为20,不过这个后续或许还需要逐步进行调优。

切割的实现
图片
03

优化效果

图片
图片

我们运用 console.time() 以及 console.timeEnd() 来对请求的时间予以记录,每种情况均通过三次测试并取平均值进行对比,以此来评判优化的成效。

获取唯一标识符以及预翻译的测试

图片
图片

获取优化建议测试

图片
图片
04

总结

图片
图片







  • 如上表所示:在生成唯一标识符号工作流中,并发平均节省时间为43%。并且随着语言数量,可以看到并发的优势将越来越大,最大的可节省约75%的时间;而在获取翻译的优化建议工作流中,平均节省时间为64%。并且随着语言数量的增加,优化效果也会逐渐增强,最大的可节省时间约为73%,并且非并发请求受到了最大步数的限制而请求失败时,并发请求可以正常执行。

    通过并发的方式,我们能够在一定程度上提高工作流的执行效率,尤其是在大量数据的情况下,优化效果更为明显。



    END

    图片


    三七互娱技术团队

    扫码关注 了解更多

    图片


继续滑动看下一个
三七互娱技术团队
向上滑动看下一个