当前位置:   article > 正文

技术干货 | 腾讯云NLP大模型预训练最佳实践

nlp大模型

作者:jennygong

腾讯云自然语言处理(Natural Language Process,NLP)深度整合了腾讯内部顶级的 NLP 技术,依托千亿级中文语料累积,提供16项智能文本处理能力,包括智能分词、实体识别、文本纠错、情感分析、文本分类、词向量、关键词提取、自动摘要、智能闲聊、百科知识图谱查询等。

腾讯云TI平台团队旨在通过“一套框架”+“三套最佳实践”,更好的服务外部有NLP预训练需求的客户。

TI-Deepspeed介绍

根据当前人工智能的趋势,越大的自然语言模型可以提供越好的准确性,目前GPT-3的模型参数达到175B。但是由于成本、时间和代码集成的障碍,较大的模型难以训练。

模型参数量

微软开源了Deepspeed深度学习训练优化库,它通过优化transformer kernel性能、极致的显存优化及节省、提升模型scale能力等多个层面对大模型训练做了详细的分析以及极致的性能优化,已经成为了超大NLP模型预训练的“利器“。

通过公司内外团队及客户交流发现,越来越多的技术团队、深度学习工程师、高校科研工作者对NLP大模型预训练有需求,腾讯云作为国内主要云厂商之一,需要在NLP领域迅速补齐短板,为公司内外部客户赋能、提速。据此腾讯云TI平台团队在对Deepspeed调研和实践的基础上,从性能和易用性两方面对Deepspeed框架进行了相关优化,并根据NLP大模型不同的参数规模沉淀出了完整且高性能的分布式训练方案。

腾讯云TI平台团队旨在通过“一套框架”+“三套最佳实践”,提供一套完整的:GPU机器+需求带宽+分布式训练的完整解决方案,与IAAS团队合作,致力于更好的服务外部有NLP预训练需求的客户。

TI-Deepspeed框架简介

1、TI-Deepspeed显存节省技术

1)模型显存占用分析

模型的显存占用主要包括两个部分,一部分为Model States,主要包括优化器的状态和梯度以及参数等。另一部分为其他memory占用,如1)activation memory,用于保存中间结果,backward计算用到;2)临时buffer;3)临时buffer的频繁创建和释放导致的内存碎片,导致明明还有显存但是cudamalloc申请失败。

我们以nlp领域常用的优化器adamw结合混合精度训练为例,分析一下model states的显存占用。

针对FP16精度下进行权重更新的问题,apex是以FP32 维护和更新权重。训练过程中,将各层权重保存为FP32格式(FP32 Master Weights),每次迭代时,制作这些权重的FP16副本并使用它们用于前向计算和反向计算,更新时将梯度再转换为FP32并用于更新FP32的权重。使用这种方法可以解决权重相较于其更新值过大的问题。因此Adamw优化器保存了每个参数的 fp32 master weight, momen

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/353765
推荐阅读
相关标签
  

闽ICP备14008679号