来源:互联网 更新时间:2026-08-10 17:33

ChatGPT 的爆火,把大模型推向了前台,也让它们在各行各业的落地速度骤然加快。阿里安全涉足大模型应用,至今也已有两年多的时间。借这个机会,把团队在大模型工程领域摸爬滚打积累下来的经验做个梳理,分享出来。
实践下来,阿里安全主要借助了
先从工程的角度出发,聊聊大模型训练。我们团队过去两年在这方面积累了一些经验,特别是关于训练加速的部分。
NVIDIA NeMo 框架(基于 Megatron-LM)是一个端到端的云原生框架。无论你在本地还是在云上,都能用它来灵活地构建、定制和部署生成式 AI 模型。它的功能模块覆盖了预训练模型、数据管护、模型对齐、训练推理、检索增强和护栏工具包等,为用上生成式 AI 提供了一种既方便又经济的方式。NeMo 也支持多模态模型的训练,比如 Stable Diffusion、Vision Transformer 等。不过,
在使用 NeMo 进行大模型训练时,以下几个 feature 对速度的影响最大:
当然,NeMo 还有其他的 feature,比如让计算和通信 overlap,以及调用基于
在 Megatron-LM 的公开论文中可以看到(如图 1 所示),Megatron Core 能保证在 GPU 水平扩展时,单卡的 FLOPs 基本保持不变;而 DeepSpeed 框架则有较大的衰减。175B 模型在 1,536 卡的规模上,Megatron-LM 的性能是 DeepSpeed 的 3 倍多;530B 模型在 2,240 卡规模上,Megatron-LM 也是 DeepSpeed 的 3 倍多。
图 1. Megatron-LM 论文中性能对比数据
(https://people.eecs.berkeley.edu/~matei/papers/2021/sc_megatron_lm.pdf)
我们团队基于 Llama2-13B 模型也做了类似的实验,结论一致:NeMo 比 DeepSpeed 性能高。具体数据如下表所示:
无论在单机 8 卡,还是双机 16 卡的规模上,NeMo 的性能都是 DeepSpeed 的 2 倍。
megatron_amp_O2x0(混合精度 O2 优化选项,设为 False 会降低训练性能);optim.grad_sync_dtype(梯度同步精度,与显存占用相关,使用 FP16 可减少显存占用);optim.optimizer_dtype(optimizer states 参数类型,设为 FP16 或 BF16 会降低模型精度)。在大模型推理方面,NVIDIA 推出的 TensorRT-LLM 实现了业界领先的性能。经过多方比较,我们最终选定它作为阿里安全大模型高性能推理的基石。由于业务中涉及的大模型服务较多,为了让算法同学能快速部署,工程团队开发了一系列功能,让他们可以快速、高效、平稳地完成部署。具体流程如下图所示:
图 2. 大模型部署流程,图片来源于阿里安全
针对这些特点,我们采用异步服务进行部署:上游调用先提交一次请求,然后通过轮询或回调的方式获取计算结果。具体架构图如下:
图 3. 模型服务架构图,图片来源于阿里安全
TensorRT-LLM 在 In-Flight Batching 的基础上新增了调度机制,即动态批处理(Dynamic Batch)。为了进一步提升推理速度,我们仔细分析了推理过程中的计算。从公式来看,要想让推理过程中的计算密度变大,只能调大 batch_size;而 generate 过程中,每个样本的输入长度和输出长度都不相同,必然会导致算力浪费。具体推理过程如下图所示:
图 4. 大模型 generate 生成过程示意图,图片来源于阿里安全
从案例中可以看到,一共有 4 条样本需要推理。若 GPU 最多只能一次处理 3 条,则共需 9 步完成这 3 条样本的推理。其中,第 1 条样本在 step1 时就结束了,input2 在 step5 时结束,因此这 9 步中间出现很多 EOS token(我们称之为气泡)。气泡越多,算力浪费越严重;剩下的 input4 只能按 batch_size=1 进行推理,浪费更明显。
在实际的推理服务中,如果一个 batch 里的某条输出长度特别大,气泡比例甚至可能超过 80%,造成严重的算力浪费。为了解决这个问题,我们提出了一种新的推理算法:
算法的核心思想是:根据当前 seq_len 动态设置每次 batch 的大小(让 GPU 内存占满,不浪费算力),并在推理过程中动态检测是否需要提前终止,终止条件是大部分样本已推理完成或推理的 step 达到一定限度。针对图 4 中的案例,采用新调度思想后的效果如下图所示:
图 5. 启用新的调度策略后的推理,图片来源于阿里安全
采用新调度逻辑后,这个案例的 step 数从 20 步减少到 14 步;在实际生产中,步数减少的幅度远不止于此。经过验证,采用上述算法后,服务的 QPS 通常有 2-3 倍以上的提升。
通常情况下,优化 prompt 能提升模型效果。来看一个案例:
输入:请判断一下,这段文字是否正确,如果错误请说明理由。「古代帝王把帝位让给贤能的人称为禅让,是原始社会末期部落首领的选举制度」
输出:对
输入:请判断一下,这段文字是否正确,如果错误请说明理由。「礼部为六部之一,掌管礼仪、祭祀、土地、户籍等职事,部长官称为礼部尚书」
输出:错,"礼部",在明代有尚书一人,左、右侍郎各一人,下设四司,分别为:仪制清吏司,掌嘉礼、军礼以及管理学务、科举考试事;祠祭清吏司,掌吉礼、凶礼事物;主客清吏司,掌宾礼及接待外宾事物;精膳清吏司,掌筵飨等事务。
上述案例让大模型判断一段文字的正确性,错误则说明理由。在实际服务中,回答正确的 case 输出 token 数为 1,而回答错误的 case 输出 token 数可能很大。如 Dynamic Batch 一节所述,当输出长度差异很大时,推理过程中产生的气泡会非常大,造成严重的算力浪费。为解决这个问题,我们可以将问题分解:先让大模型判断正确性,再针对错误 case 询问原因。
输入:请判断这段文字是否正确,「古代帝王把帝位让给贤能的人称为禅让,是原始社会末期部落首领的选举制度」
输出:对
输入:请判断这段文字是否正确,「礼部为六部 之一,掌管礼仪、祭祀、土地、户籍等职事,部长官称为礼部尚书」
输出:错
输入:这段有事实错误,请指出原因,「礼部为六部之一,掌管礼仪、祭祀、土地、户籍等职事,部长官称为礼部尚书」
输出:"礼部",在明代有尚书一人,左、右侍郎各一人,下设四司,分别为:仪制清吏司,掌嘉礼、军礼以及管理学务、科举考试事;祠祭清吏司,掌吉礼、凶礼事物;主客清吏司,掌宾礼及接待外宾事物;精膳清吏司,掌筵飨等事务。
在实际业务中,采用这种策略后,部分业务的吞吐量提升了 10 倍以上。
我们的模型量化大部分是基于
我们分别在 Baichuan2-13B 和 Qwen-14B 模型上使用了上述各种量化方法进行实验。量化后的性能结果如下:
图 6. 图片来源于阿里安全
模型推理基于 TensorRT-LLM 实现。实验表明,在 batch_size 和 seq_len 都相同的条件下,sq_int8 的推理速度最快。
以两个实际落地的业务来说明量化的效果:
图 7. 图片来源于阿里安全
结论是:业务 1 上 smoothQuant int8 表现最好,业务 2 上 int8 weight only 表现更好。实践中发现,并没有哪一种方法始终是最好的,但相对而言,smoothQuant 在大部分业务场景中表现都比较稳健。有些资料提到 smoothQuant int8 对模型精度会有一定影响,但在我们的应用场景下,ModelOpt 量化出来的 smoothQuant int8 精度令人满意。
if you cannot fetch any information, output `no answer`
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
黄金价格不断创新高!黄金稳定币XAU、PAXG市值达11亿美元
CC币价格预测(2026-2035):Canton币今日价格走势+长期价格预测
新浪互联网热点小时报丨2026年07月26日16时_今日实时互联网热点速递
腾讯ima怎么创建共享知识库?
今日比特币暴涨分析:Metaplanet的比特币BTC投资推动股价上涨17%
蚂蚁庄园今日答案7月21日(今日已更新) 蚂蚁庄园今天正确答案是什么呢
区块链OTC交易所有哪几家比较正规?
2026热门直线加速赛车手游推荐:高人气、爽快加速体验的精品榜单
腾讯ima怎么把微信内容一键导入知识库?
kimi提示词专家使用方法新手指南
Intel喜讯连连:18A工艺良率提升到85%、CPU将涨价15%
原神霜月三处月灵龛具体位置汇总
抖音怎么取消申请退货退款?抖音上取消退货怎么操作
《幻兽帕鲁》不触发通缉捕捉传说商人方法
合集38个项目筹集5.406亿美元 Figure融资2亿
Windy卫星云图怎么看?云层变化识别技巧
Aptos(APT)币是什么?APT代币经济学、价格预测及投资前景
9条破亿视频,新号涨粉百万,过去半年谁在制造AI爆款?
如何修复Edge浏览器无法通过微软账号进行身份验证?
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc