双向最大匹配算法 假定分词词典中最长词有M个汉字符,则被处理文档的当前字符串中前M个字作为匹配字段,查找词典。若字典中存在这样M个字组成的词,则匹配成功,匹配字段作为一个词切分出来;若匹配不成功,将匹配字段最后一个字去掉,剩下的字符串重新进行匹配,如此进行下去,直至匹配成功。然后取下一个M字符进行匹配处理,直到文档被扫描完为止。
算法工程师2020校招面试 在深度神经网络训练的过程中,通常以输入网络的每一个mini-batch进行训练,这样每个batch具有不同的分布,使模型训练起来特别困难;在训练的过程中,激活函数会改变各层数据的分布,随着网络的加深,这种改变(差异)会越来越大,使模型训练起来特别困难,收敛速度很慢,会出现梯度消失的问题。
算法工程师2021年社招面试 两者最大的不同就是TensorFlow的计算图是静态的,而PyTorch使用动态的计算图;在TensorFlow中,我们定义计算图一次,然后重复执行这个相同的图,可能会提供不同的输入数据。函数来完成: torch.bernoulli 函数 是从伯努利分布中根据input的概率抽取二元随机数(0或者1),输出与input相同大小的张量, 输出的张量的值只有0和1.一个由0,1组成的矩阵,随机给定一个start的坐标(x,y),求从start开始便利万矩阵中所有1所经过的最短路径。
训练模型过程中优雅的指定GPU 目前训练模型大部分在单机多卡的环境下,我们通常会指定一个GPU来训练模型。在不指定GPU情况下,默认使用GPU0来训练,但是很不巧GPU0被别人占了一半显存,导致OOM错误。每次跑模型都要去看下哪张卡显存最大,然后再来修改代码,指定GPU,是不是超级烦人呢!😶🌫️,今天就介绍一个每次都由程序自动选择剩余最大的显存的GPU来训练。
强化学习在文生图中的应用DDPO:Training Diffusion Models with Reinforcement Learning 强化学习在文生图中的应用,RLHF、reinforment learning、stable diffusion、text2image
大模型训练显存优化推理加速方案 当前的深度学习框架大都采用的都是fp32来进行权重参数的存储,比如Python float的类型为双精度浮点数fp64,pytorch Tensor的默认类型为单精度浮点数fp32。随着模型越来越大,加速训练模型的需求就产生了。在深度学习模型中使用fp32主要存在几个问题,第一模型尺寸大,训练的时候对显卡的显存要求高;第二模型训练速度慢;第三模型推理速度慢。其解决方案就是使用低精度计算对模型进行优化。本文主要讲解几种优化显存存储的方法。