每日一博 | 语言大模型的浮点运算分配
本文通过实证分析展示了实际LLM模型的FLOPS分配情况,并与理论分析进行对比。通过理论和实证相结合的方式,本文为理解和优化语言大模型的性能提供了有益见解。 作者Finbarr Timbers是一名机器学习研究员,曾就职于DeepMind。(以下内容由OneFlow编译发布,转载请联系授权。原文:https://www.artfintel.com/p/where-do-llms-spend-their-flops ) 作者 |Finbarr Timbers OneFlow编译 翻译|宛子琳、杨婷 本文对LLM的性能进行了理论分析,然后通过详细分析一个实际的LLM,查看实证结果与理论之间的差异。首先是理论分析部分,我会借助Kipply的优质博文来填充细节。基本结论是:对于标准解码器模型,FLOPS(每秒浮点运算数)的分配如下(按每层计算): 6d^2 用于计算QKV(Query(查询)、Key(键)和Value(值)) 2d^2 用于计算注意力输出矩阵,softmax(Q @ K.T) @ V 16d^2 用于运行前馈神经网络(FFN) 总计24d^2 FLOPS。从百分比看,...
