MindIE推理采样后处理参数temperature和top_k的引发的精度问题

简介: 在MindIE跑Qwen系列模型推理时,发现当后处理参数top_k较大且temperature=2时,Ascend npu和gpu上均出现模型输出精度问题。原因在于temperature增大导致logits值差距缩小,softmax后概率接近,难以选到正确token。通过减小top_k或top_p可避免此问题。总结:后处理顺序为temperature > top_k > softmax > top_p,temperature越大,logits差距越小,易引发精度问题。

背景

MindIE跑Qwen系列模型推理,测试发现后处理参数top_k很大,temperature=2的场景,模型输出有精度问题。

现象

经过进一步复现和测试,发现如下现象。

在Ascend的npu上面temperature=2和top_k很大时有精度问题。

添加图片注释,不超过 140 字(可选)

在gpu也有同样问题

添加图片注释,不超过 140 字(可选)

原因分析

MindIE的后处理

后处理参数的顺序temperature > top_k > softmax > top_p,查看代码可知temperature 的使用方式是logits/temperature ,即temperature 越大,各个logits之间的差就越小,在softmax阶段,根据softmax的原理,值差距越小,token概率就越接近(意味着很难选到正确的token,极端情况有精度问题)。

过程分析

后处理过程:temperature=2 时。temperature处理后,logits值差距变小,如果top_k比较大,则大量logits进入softmax,且softmax后概率都比较接近。在top_p之后,大部分token都有可能被选到且概率相近,容易出现精度问题,如果top_k变小或者top_p变小则不容易出现。

验证:

将top_p设置小,npu无精度问题。

添加图片注释,不超过 140 字(可选)

将top_k设置小,npu无精度问题。

添加图片注释,不超过 140 字(可选)

将top_k设置小,gpu无精度问题

添加图片注释,不超过 140 字(可选)

经验总结

1、后处理顺序temperature > top_k > softmax > top_p。 2、temperature处理原理 logits/temperature(注意此时logits不是概率)。 3、softmax特点:值差距越大,输出的概率差距越大,且非线性。 4、如果大部分token概率相近且都有被选中的概率,那么就会有精度问题。

相关文章
|
11月前
|
负载均衡 Docker Python
vLLM-Ascend 安装部署与环境配置指南
vLLM-Ascend 是 vLLM 项目专为华为昇腾 NPU 设计的硬件插件,支持主流大模型与多模态架构,提供高性能推理能力。项目结构清晰,涵盖核心算子、工具脚本与容器化部署方案,兼容单/多节点环境,助力高效构建昇腾上的 AI 推理服务。
4976 1
|
SQL 人工智能 分布式计算
基于阿里云PAI平台搭建知识库检索增强的大模型对话系统
基于原始的阿里云计算平台产技文档,搭建一套基于大模型检索增强答疑机器人。本方案已在阿里云线上多个场景落地,将覆盖阿里云官方答疑群聊、研发答疑机器人、钉钉技术服务助手等。线上工单拦截率提升10+%,答疑采纳率70+%,显著提升答疑效率。
|
算法 PyTorch 算法框架/工具
昇腾 msmodelslim w8a8量化代码解析
msmodelslim w8a8量化算法原理和代码解析
1642 5
|
存储 数据采集 人工智能
拔俗AI一体化教学平台:让教、学、评真正“一键打通”
在教育信息化2.0背景下,针对数据孤岛、个性化不足等痛点,本文基于阿里云AI与大数据技术,构建“三横三纵”云原生架构的AI一体化教学平台,实现教、学、管全流程智能化。通过多模态数据采集、教育数据湖治理、大模型驱动的智能引擎及多角色应用协同,打通系统壁垒,提升教学效率与个性化水平,并已在省级重点中学成功落地,显著提效增质。
973 0
|
人工智能 自然语言处理 搜索推荐
阶跃多模态再添一员:阶跃与 ACE Studio 联合开源音乐大模型 ACE-Step!
阶跃多模态再添一员:阶跃与 ACE Studio 联合开源音乐大模型 ACE-Step!
1575 10
|
自然语言处理 测试技术 API
MindIE BenchMark
MindIE Benchmark工具通过部署昇腾服务化配套包,以终端命令方式测试大语言模型在不同配置下的推理性能和精度。它支持Client和Engine两种推理模式:Client模式适用于多用户并发场景,兼容多种接口;Engine模式直接调用底层API,测量NPU卡的真实性能。该工具支持多个数据集进行精度和性能测试,如CEval 5-shot、CMMLU、GSM8K等,并将结果保存为本地csv文件。评测方法包括调用大模型输入题目,解析返回结果并与正确答案比较,计算平均分和其他指标如准确率、EM等。
|
机器学习/深度学习 PyTorch 调度
内部干货 | 基于华为昇腾910B算力卡的大模型部署和调优-课程讲义
近日上海,TsingtaoAI为某央企智算中心交付华为昇腾910B算力卡的大模型部署和调优课程。课程深入讲解如何在昇腾NPU上高效地训练、调优和部署PyTorch与Transformer模型,并结合实际应用场景,探索如何优化和迁移模型至昇腾NPU平台。课程涵盖从模型预训练、微调、推理与评估,到性能对比、算子适配、模型调优等一系列关键技术,帮助学员深入理解昇腾NPU的优势及其与主流深度学习框架(如PyTorch、Deepspeed、MindSpore)的结合应用。
6876 13
|
JavaScript 前端开发
JavaScript 获取整个网页的完整内容,包括 html 标签。
JavaScript 获取整个网页的完整内容,包括 html 标签。
2289 0
JavaScript 获取整个网页的完整内容,包括 html 标签。
|
机器学习/深度学习 自然语言处理 数据安全/隐私保护
探索Qwen2.5大模型在车险理赔领域的应用
本文探讨了Qwen2.5大模型在车险理赔领域的应用,特别是通过微调模型来优化理赔流程、提高反欺诈能力。文章介绍了车险理赔的数据特点和业务流程,展示了如何准备数据、微调模型,并进行了模型评估和部署的示例。通过这些方法,Qwen2.5能够显著提升理赔效率和准确性,减少人工干预。
1639 1