编者按近几年AI行业的火热程度大家有目共睹,越来越多的人想要加入这一行业但很多同学不知道如何学习AI和转行AI,遇到面试也不知道如何应对想要知道如何进入AI行业大家可以看看这篇文章文章作者:霍华德责任编辑:霍华德昨天小A苦恼的来求助我,遇到变态算法面试题,完全不知道该怎么答我说你说来听听接下来我就来给大家讲讲小A遇到的面试三连第一连:怎么计算一个模型参数量?一个模型里有参数的层主要包括:Linear(M->N): 参数数目:M×NConv2d(Cin, Cout, K): 参数数目:Cin × Cout × K × KBatchNorm(N): 参数数目: 2NEmbedding(N,W): 参数数目: N × W那些层没有参数呢?下面这些层没有参数千万不要弄错:多数的激活层(Sigmoid/ReLU)池化层poolingDropout...等等下面来一份秘籍,我们来看看VGG-16模型里的参数怎么算,我们看右边params部分:我们会发现主要贡献参数的是卷积层和全连接层,VGG-16总共模型的参数是1.38亿第二连:一个模型的那些部分会占用显存?1、模型参数占用有了参数量,我们就可以计算模型的显存占用:参数占用显存 = 参数数目×n, 其中n是字节数,具体关系看下面float32占四个字节 n = 4; float16占两个字节n = 2; double64占8个字节 n = 82、优化器的梯度和动量占用对于最简单的随机梯度下降优化器SGD:除了模型参数W,显存里还要保存参数对应的梯度 ,因此显存占用等于参数占用的显存的两倍,如果是带动量Momentum-SGD优化器:除了参数和梯度,还需要动量, 这时候显存占用是简单SGD的三倍如果是Adam优化器,动量占用的显存更多,显存是简单SGD的四倍总结一下,模型中与输入无关的显存占用包括:参数 W 梯度 dW(一般与参数一致) 优化器的动量(普通SGD没有动量,momentum-SGD动量与梯度一样,Adam优化器动量的数量是梯度的两倍)3、输入输出的显存占用这次我们看秘籍的memory部分,可以看出模型输出的显存占用:需要计算每一层的多维数组需要保存输出对应的梯度用以反向传播显存占用与 batch size 成正比模型输出不需要存储相应的动量信息深度学习中神经网络的显存占用,我们可以得到如下公式:显存占用 = 模型显存占用 + batch_size × 每个样本的显存占用所以可以看出,显存占用并不是和batch_size成正比,特别是embedding或者全连接层特别大的情况下第三连:怎么计算一个模型计算量(FLOPS)?对于深度学习模型,浮点数运算量(FLOPS)对于模型是一个很重要的指标,因为对于想要部署到手机或者汽车上的模型,对于模型大小和计算量有严格的要求我们来看看英伟达论文里对FLOPS计算过程的介绍:下面用这个CNN示意图介绍上面公式里FLOPS的计算过程:对于下面这张5X5的图片那么H和W就是5,使用3X3的卷积核进行扫描,K就是3,每一步需要考虑卷积核的乘法运算次数 3x3=9假设输入的图片是黑白图片,那么输入的通道数Cin就是1假设输出的通道数Cout是16,那么根据公式我们就可以算出:FLOPs = 255(19+1)16 = 8000我们来看看AlexNet的计算量:可以看出:全连接层占据了绝大多数的参数卷积层的计算量最大对于一般模型的参数量和FLOPs,有一个很好的统计:https://www.hpcuserforum.com/presentations/Wisconsin2017/HPDLCookbook4HPCUserForum.pdf大家看完是不是还不过瘾现在由于算法岗面试难度的提高,面试题越来越难经常有很多同学,向我咨询算法和面试方面的经验和建议,以及要求指导有时候由于时间忙,没有足够的时间回复为了不辜负大家的学习期待,『运筹OR帷幄』特建立【算法岗面试求职招聘】知识星球,涵盖运筹学、数据科学、人工智能等一切和算法相关的专业一方面帮助大家授业解惑,一方面写写算法面试经验,让大家面对算法面试游刃有余加入『运筹OR帷幄』知识星球的好处中国你能说出名字的几乎所有大厂(资深)算法工程师入驻欧美数家大厂(资深)软件工程师入驻以上所有公司独家内推机会简历修改指导面试咨询, 模拟面试得到一对一指导、解答工作中的疑惑多家Offer选择指导以面试题为学习资料学习真正的算法干货,从小白变成大咖不定期的线上、线下交流会和聚会,拓展人脉交朋友,希望加入也能交到好朋友二维码被吞,感兴趣的小伙伴麻烦自行搜索合伙人介绍留德华叫兽:【运筹OR维幄】主编,德国海德堡大学数学博士,欧盟玛丽居里学者,IBM Cplex意大利实习半年,现德国某汽车集团无人驾驶感知研发工程师擅长欧美留学申请,运筹学、数据科学、人工智能职业规划和德国求职咨询霍华德:【AI】板块主编,海外电子及计算机工程博士,资深自然语言处理算法工程师,现任职于腾讯,熟悉搜索引擎及其各种模块可提供优质面试指导与咨询,包括面试培训、offer选择、职业规划及公司实习、校招和社招内推豪华嘉宾阵容(不断扩展中):目前星球特邀嘉宾(曾)就职的公司包括:腾讯,百度,顺丰,美团,阿里妈妈,拼多多,携程,滴滴,阿里菜鸟,阿里达摩院,京东温馨提示可以在 本公众号后台 回复关键词:“ AI ” 获取大量由我平台编辑精心整理的AI资料,如果觉得有用, 请勿吝啬你的留言和赞哦
~—— 完 ——
0 评论