当前位置: 首页 > 产品展示 > 数码模块

火博sports

PRODUCTS
×

火博sports生成式AI落地有没有「万能公式」?

发布时间:2024-02-24 10:23:40 来源:火博体育首页 作者:HB火博APP官网

  模型的推理部署分很多层,有最底层的软件优化,往上还有算法优化和服务优化。 李建国知道, 算法和服务优化是自己团队擅长的,底层的软件优化我们也能做,但最好的选择还是 NVIDIA。

  之所以说 NVIDIA 是最好的选择,有两方面的原因,一方面是因为李建国和他的团队在通过插件提升研发效率的时候,经过综合评估,选择了最适合他们的 NVIDIA 开源项目 FasterTransformer。 为了实现一些定制化功能,我们为开源端口贡献了上千行代码。 李建国团队超前的需求没得到完全的满足,需要和 NVIDIA 有更深度的合作。

  另一方面,作为 GPU 加速硬件提供方,NVIDIA 更加擅长结合底层的硬件和软件优化,强强联合能更快速探索出 AI 推理的路径。

  这个合作其实是典型的双向奔赴,CodeFuse 遇到落地难题的时候,NVIDIA 也非常需要蚂蚁集团一起协同设计出好产品。

  FasterTransformer 是 NVIDIA2018 年推出的开源项目,目标是解决生成式 AI 模型推理的问题,2018 年之后 AI 技术有了很大的进步,但 FasterTransformer 为了效率,很多实现写得比较固定,2023 年则走到了产品转型的时期。

  蚂蚁集团非常有探索精神,从 FasterTransformer 到如今的 TensorRT-LLM,蚂蚁集团都是我们最早的用户和贡献者,也最早提出了需求,TensorRT-LLM 有很多我们的协同设计。 李曦鹏深深感受到蚂蚁集团的信任。

  对于 NVIDIA 这家数据中心级全栈 AI 平台公司,面对每年各类 AI 国际学术会议上,成千上万篇论文讨论 AI 的训练和推理加速,要兼顾所有方向其实不太容易,只有和最终的用户合作,才能最大化 NVIDIA 软硬件的价值。

  通过与客户合作,将其正向需求结合到产品迭代,NVIDIA 从而在今年正式推出了加速大模型推理的开源解决方案 NVIDIA TensorRT-LLM,TensorRT-LLM 提供了 Python 接口,有灵活的模块化组件,丰富的预定义主流模型,能够极大地方便开发者在 NVIDIA 平台上部署基于大模型的服务。

  自动生成代码特别是在 IDE 里面的代码补全对延时有很高要求,如果代码一个字符一个字符蹦出来,程序员肯定受不了,一般来说代码补全的响应时间在 200 毫秒以下才会有好的体验,更长的时延程序员一般受不了。李建国指出了 CodeFuse 落地的一个难题。

  解决这个问题的一个好办法是量化。模型量化,就是将使用高精度浮点数比如 FP16 训练的模型,使用量化技术后,用定点数比如 INT4 表达。量化的关键点是对齐两个精度 ( FP16 和 INT4 ) 的输出,或者说让两个精度输出的数据分布尽可能保持一致。量化的好处是可以有效的降低模型计算量、参数大小和内存消耗,提高处理吞吐量。

  我们内部做了一些评估,8 比特量化损失的精度比较少,基本是无损,同时可以带来 30% 左右的加速。如果是量化到 4 比特,一般量化方法的精度损失会达到 7-8%,但如果能把精度损失做到 1% 以内,可以带来 2 倍左右的加速。 李建国说, 要实现量化到 4 比特的同时精度损失小于 1%,我们需要在核心的算法层面创新,也同时需要 NVIDIA TensorRT-LLM 的软件优化确保推理加速。

  结果让人满意,但过程中难免出现意外,李建国和团队同事将 CodeFuse 量化部署到 A100 运行正常,但部署到 A10 GPU 上时,输出出现了乱码,但没有找到问题根因,而此时恰逢周末。

  了解到我们的问题之后,NVIDIA 的伙伴说可以马上来帮我们一起解决问题。 李建国印象深刻, 后来 NVIDIA 的伙伴发现其实问题很简单,就是容器的一个配置错了,物理机并没有问题,改完容器的配置就正常了。

  李曦鹏对这件事情也印象深刻, 周末一起调试,是建立在双方通过长期合作信任的基础上。彼此愿意相信,相互协同才能更快达成目标。

  为了快速响应蚂蚁集团的需求,以前我们的软件更新一般 3 个月才更新一次,现在不到一个月就会给他们一版。 李曦鹏感叹这种变化,我们的代码拿过去也会有 bug,蚂蚁的伙伴给了我们包容。

  至于如何适应客户的快节奏,李曦鹏认为关键在于要有优先级,NVIDIA 所有产品,最重要的优先级都来自于客户的需求。

  更大的推理长度意味着用户可以一次性输入更长的文档,也可以实现多轮对话,目前业界标准的推理输入长度是 4K、16K,并朝着 1Million 的长度在努力。

  如果只是单纯加长输入长度,挑战非常大,因为计算量需求会出现 O ( n^2 ) 增长。 李曦鹏介绍。

  要解决客户的问题,还要求 NVIDIA 有极强的技术敏感度和技术创新能力。 最近有一个 Flash-Decoding 的技术,可以更好的加速长序列的推理。而实际上,我们早已经在 TensorRT-LLM 中独立的实现了这个特性,叫做 multi-block mode,目前还在对更多模型进行测试,下个版本会放出来。 李曦鹏表示。

  李建国有些惊喜, 上周末知道 TensorRT-LLM 已经支持 Flash-decoding 时非常开心,NVIDIA 有前瞻性,能够快速支持最新的技术,这对于提升 CodeFuse 的体验非常重要。

  蚂蚁集团和 NVIDIA 依旧在继续优化 CodeFuse 的部署,目标就是提供低成本、低时延、高吞吐量的 AI 大模型使用体验。

  就像电刚发明的时候人们会担心会产生事故一样,大模型也处于这样的时刻。未来五年或者十年,人工智能大模型会深入我们生活的各个角落。 这是李建国的判断。

  就拿他在负责的 CodeFuse 来说,软件研发人员的思维需要前移或者后移,前移的意思是要考虑整个 APP 的概念设计、创意,后移是考虑 APP 后续的运维和增长。

  当写重复代码的工作被 AI 提效之后,软件研发人员有更多时间需要思考更复杂、更有创意的东西。而不仅仅只是关心算法、数据,要去兼顾更多内容,要有技能的增长。 李建国观察认为,前端设计比较标准化,可能会更快受到影响。

  这种影响会随着 AI 模型的成熟逐步影响到越来越多行业和领域。蚂蚁集团和 NVIDIA 就将其在 CodeFuse 方面的合作进行了非常细节的开源,这对于 TensorRT-LLM 开源社区来说是一个巨大的贡献,也将深刻影响生成式 AI 的落地和普及。

  比如生成式 AI 落地部署非常关键的量化,有 NVIDIA 和蚂蚁集团实践开源的例子,基于 TensorRT-LLM 量化就会更加容易。

  论文介绍了一些方法,但还需要算法工程师针对具体的场景和模型去做调整和测试的。 李曦鹏说,NVIDIA 要做的是做好绝大部分底层的工作,让整个业界在此基础上做更多的创新。

  李建国看到了开源对于 AI 无处不在的重要价值,就像数学分析里有个万能公式,它不是所有场景都能用,但开源可以让更多的场景使用,相当于普惠大众。

  李曦鹏表示,TensorRT-LLM 开源两周,就有超过 200 个 issue,大家热情非常高涨。

  以 CodeFuse 为例,NVIDIA 和蚂蚁集团的合作和成果,将会对未来 10 年的变革产生深远影响。雷峰网


火博sports