自从实验室要求变更,最近可是忙得要死,这周读了14篇论文,也爆发一波,来一波大的,谈谈语言模型(主要是大语言模型)除了走ChatGPT的老路之外,还有哪些值得研究的方向。以下提到的不少论文其实都是谷歌在GPT-3出来之后搞的,可以看出谷歌确实是想针对GPT做些不一样的,相较于专一(搞钱)的OpenAI,谷歌的路要更广。
0.调教模型
有一个知识点好像至今讲的不是很多。大家在读语言模型或大语言模型相关的论文时,应该经常能看到few-shot、one-shot、zero-shot、prompt这类的字眼。
传统的神经网络想要提升性能,传统的关键的方法是梯度下降。简单来说,我们收集大量的数据,用这些数据不断地修改整个网络的参数,使得网络更适配一定的任务。
而大语言模型有了一种不需要梯度就可以提升某一特定任务的方式,即我们可以给语言模型一些例子,然后再问相似的问题,这时大语言模型就可以很好的回答了。整个过程是不调整网络的参数的。
最近大家可能看到网上说提示工程师最近比较热门,这些提示工程师就是来编写这些例子的,高质量的例子能够使得大语言模型的效果更好。
于是,我们的旅途也从调教模型开始。
1.通过调教弥补不足
1.1提升推理能力
编写例子或指令或提示有很多方法,最近被提及比较多的可能是CoT(思维链)了,例如小冰CEO最近表示:小冰不会走ChatGPT的老路,而是结合CoT做小冰链。
思维链其实很好理解的,就像我们做数学题一样,一个步骤接着一个步骤,通过一步步的分析和推理最终得到答案。用思维链的好处是可以使得大语言模型的输出更加符合逻辑,这一步的主要目的是解决大语言模型在推理能力上的欠缺。一篇思维链相关论文:
那么,可能有朋友问了,这种看起来很舒服的思路为什么之前很少有人提及呢?其实原因也很简单,目前的研究证明似乎只有大模型能够hold住思维链,在小模型上用思维链很容易不work的,甚至使用思维链后的效果反而会差很多。这也再次表明了大语言模型真的具有某种固有的“能力”,这种能力只要用得好就能发挥作用。
1.2提升事实准确性
除了推理能力有欠缺外,大语言模型还有另一项突出的短板:容易胡言乱语,或者说会犯事实类的错误。new bing在做的某种程度上就是解决这个问题。但是,通过搜索这种外物来解决这个问题似乎有些作弊(其实肯定不算的了,但总有人要为模型本身正名),于是有了如下的方法:
正如标题所说,先背诵再回答。我们知道,大语言模型在训练过程中是记忆了很多东西的,而先背诵在回答对于我们人类是有帮助的。举个例子,如果我直接问你π的小说点后五位是什么数字,你可能没法一下子回答上来,但如果先让你背π(3.1415926),再回答问题就简单多了,你只需要数数就可以了。
其实这种方法和借助搜索引擎比较像,都是先获取信息再回答问题。
2.自我提升
除了人为通过改进提示外,还有看起来更加邪门的一种方案——让模型自己提升自己。一些文章会说大语言模型已经具备自指的能力,不过这部分涉及到哲学,这里就不多展开,但是目前来看还是很恐怖的。这里简单举这一篇论文吧(1.2的那一篇也可以算是自我提升):
我们可以粗略看一下它是怎么个架构:
其中,LM就是语言模型。整体有四个步骤:
(1)生成指令;(2)识别指令是否是分类任务;(3)生成实例;(4)过滤低质量指令。
前三步都是LM来完成,第四步是一个很简单的过滤程序。这种方法只需要初始很少一部分指令集作为驱动就可以自己生成大量的指令,这些指令也都可以用以提升自己,可以说的上是自我提升了。
3.底层架构
除了在调教大语言模型方面做文章,我们是否可以改变下大语言模型的底层架构呢?会不会有新的架构撑起下一代模型的大模型呢?MoE似乎就是一种选择。
现有的大语言模型基本都是基于transformer的,transformer是谷歌发明的一种新型网络(真的很好用,但是算起来小号也高)。虽然说是换底层架构,但MoE并不是把transformer换掉。
MoE在大模型上的应用主要可以看这一篇:
MoE是什么呢?简单来说就是多专家系统(不是砖家哦)。日常生活中很多人都有自己的研究领域,他可能对自己的领域研究的很深但对其他领域知之甚少,所以在做决策时我们可以找多个专家共同决定。并且,实际上对于一个问题,可能只有一两个专家的研究领域和它相关,这时我们只需要结合这几位专家的观点即可。
GLaM就是这样的模型(或者说是稀疏MoE),虽然看起来它有1.2T个参数(相当于GPT-3的7倍),但是它分为64个专家,每个专家都可以专注于训练集的某一部分,最终在运行时只有几个专家会被激活,参与最终的决策。所以它的速度和耗能会更加优秀。
4.工具与自学工具
这部分可以去看这篇专栏:
【花师小哲】当代炼金术(神经网络)前沿(13)——语言模型自学使用工具?
简单来说,我们可以让语言模型学会使用工具来提升自己。
5.优化器
我们还可以从优化的角度来考察问题。大语言模型有什么让人头疼的地方?优化慢啊,如何更好的利用GPU、更快的训练、更节能环保都是业界很头疼的问题。前不久谷歌发表了Lion优化器,在很多地方比Adam(现在大家一般都在用的东西)更好用、收敛更快:
这里简单介绍一下优化器。想象你是一个盲人,你现在在山腰,你只有一根拐杖,该怎么快速下山呢(不考虑会摔倒的情况,抱歉我想不出更好的比喻了)?一个思路是我们用拐杖向四面八方敲一敲,找到最陡的地方,然后沿着这个方向下山。这就是梯度下降的核心思想。
但在实际优化问题中,这个山往往是极度凹凸不平的,按照上述方法很可能会陷入到小沟里出不来,所以我们会有各种各样的优化器帮你尽可能解决这些麻烦。好的优化器能帮助模型更快的调整到一个优秀的状态。所以这些底层的工作很重要。
6.开源
现在OpenAI经常被调侃称CloseAI,主要是因为GPT-3和ChatGPT都是未开源的,ChatGPT的RLHF究竟用了多少数据我们是不知道的。最近,在大模型领域比较活跃的Meta发表了这篇论文(你可以称之为大喇嘛(bushi)):
简而言之,Meta开源了很多大大小小的语言模型供大家开发。
7.结语
可以看到,大语言模型还有很多值得研究的地方,研究范式已经开始出现改变了,基于大语言模型API的、只研究prompt的文章开始频繁出现(又预言中了?虽然这个想法是直接来源于我导师)。大模型是否会清洗一遍AI业界呢,也只有时间会告诉我们了(毕竟语言模型出炉都至少几个月,要洗一遍至少得好几年)
为了写这篇真的读了一大堆论文和文章,好累啊。
苔米传媒 2024-11-19
Keview科技 2024-11-19