相比效果显著,非常出色的老虎算法,移动端优化排序算法的效果要稍差一些。
因而孟繁岐并没有急着推动上线测试,而是等待结合AI语言解释模型的那一个更新准备一起推动。
目前针对语言问题所采用的通常是循环神经网络(RNN)和长短期记忆办法(LSTM),这两个工作都是上个世纪末的老办法了。
这两种方法简明好用,因而一直兴盛到2017年左右。
直到Transformer,也就是ChatGPT的T方法出现。
通常来说,大家都认为Transformer方法之所以能够迅速取代RNN和LSTM,主要是因为它更方便并行进行。
在多个设备上并行方便最核心的意义便是让规模庞大的版本成为可能,这也为后来ChatGPT这样的究极巨无霸模型奠定了基础。
“其实老版的RNN也有办法可以把并行做得很好,领域内对这件事有很大的误解。”孟繁岐皱着眉头思索道。
原本时间线,Transformer出来之后,所有人都放下了手头老方法的研究,拥抱了T方法。
可18年实际上有人专门做了RNN的高度并行,只可惜已经太迟了。
如果这个发现可以早一年的时间,可能RNN会长期作为T办法的竞争对手,我们也有可能看到ChatRNN的出现。
“早期的T方法需要很多数据,各种参数比较难调整,需要的计算能力也很庞大。”孟繁岐即便根据后来成熟的许多方法做了一个改进的版本,T方法在早期仍旧比较麻烦。
“好在谷歌的数据和算力都不缺,而我也比较熟悉各种经典的参数设置。”孟繁岐先写了一个雏形版本的T方法,进行了一下测试。
“不过,受限于现在显卡的显存,模型没有办法做得很大,除非我专门再去开发DeepSpeed这样的高级并行方式。”
在多张卡上训练模型,可能是为了追求速度,也可能是因为一张卡上放不下了。
其中,数据并行是最简单的,也就是不同的卡都在做同样的事情,每张卡上都会存放一个模型。
只不过输入的数据不一样,不同的卡做完运算之后,再一起整合更新。
就像是所有人都拿了同样的刀切不同的菜,最后把切好的食材堆在一起。
可有的时候,一张卡上根本就放不下模型,这样的情况就比较麻烦了。因为一个人根本拿不动这把刀了,需要多人协作。
可以把每一层拆分到不同的卡上,也可以把不同层分配到不同的卡上,如此一来,其实是用多卡实现了类似单卡训练的效果。
显然,前者会比后者容易非常多,前者只需要在不同卡上复制这些模型,分别读取数据做运算就好。
而后者则需要根据不同的情况和设置拆分合并,一个不小心就会搞错。
看了下谷歌大脑的服务器,里面有好几批2013款的GTX泰坦,这东西着实价值不菲。
考虑到当时的其他产品,6G的显存还是鹤立鸡群的。
比起孟繁岐自己重金购置的4G旗舰款,多出的2G显存,足够做很多其他的事情了。
用速度换显存,孟繁岐又做了许多参数和信息在Cpu和Gpu上反复转移的操作。
因为在正式入职之前,谷歌大脑分配给他的显卡就已经有16张泰坦,这部分卡拨给孟繁岐独享,随时都可以使用。
除此之外,还有32张在不同节点上的Gpu可以申请占用。