LLM时代
一切要从2022年12月说起,一家名为 OpenAI 的美国公司发布一款名为 ChatGPT3.5 语言模型,此后的故事大家渐渐开始熟悉起来:一夜之间,涌现出了大模型创业公司、大模型创业者、研究人员等等,开始为 ChatGPT 抹上各种妆容,大模型似乎在那会成为了一个万能灵药,有什么问题就问度娘开始变成遇事不决求大模型,转型炼大模型。然后,就导致了国内外卖显卡的赚麻了。依据官方算力统计与预测亦可以看出2022-2024年算力增长大体节奏。
图 1. 通用算力统计
图 2. 智能算力统计
LLM前世
发展至今,大模型江湖已经又换了青天。ChatGPT3.5 之后的各路大神你方唱罢我登场,从 llama 一代目开源到现在有了 llama3.x 系列 ,加上各种多模态的大模型也不断像当初大模型训练能力“涌现”一样,基座或者说垂直领域大模型已经将arxiv、Huggingface 、魔搭等社区仓库堆得已经琳琅满目。
以上就是一些大家熟悉到都能成茶余饭后谈资的东西了。然而,我们所津津乐道的大模型(后文简称LLM 即 Large Language Model),它到底是什么东西?
要回答这个问题,我们需要将目光先定格到 OpenAI,毕竟,人家是 GPT 系列的作者。在2018年,有一篇名为 《Improving Language Understanding by Generative Pre-Training》 的论文横空出世,OpenAI 几大猛人名字也开始越来越火热。
图 3. GPT1 原始论文
或许大家会对 ChatGPT3.5 这个名字有过好奇,毕竟谁家起的版本名第一个就是 3.5 :-),没错,起始它并不是第一个OpenAI 的孩子(其实我们还有个孩子系列~),一代GPT虽然在当时也是引发了自然语言处理研究领域的一定关注,然鹅,很快这朵浪花就淹没在一众声音洪流中了。但是它算是开启了生成式预训练大参数语言模型的研究山门,至于再过几个月它被 BERT 完全盖过锋芒又是另一个故事了(或许可以单独唠唠 Decoder 与 Encoder 在大模型领域之争),在这个文章中,预训练大模型的基础架构也第一次明明白白展现在世人面前(OpenAI真正Open的时间),仔细看下来会发现真切阐释了,什么叫大道至简(力大砖飞):
图 4. GPT 结构
架构并不复杂,核心部分就是2017年的变形金刚堆叠(关于Transformer这种注意力机制实现的网络结构,现在理解成它可以允许机器在训练的时候充分了解前后文的内容信息,并且知道各个部分对它当前部分的重要程度,细节部分后面再细琐),就把它先理解成一个动态的数据结构先。而这个结构能给我们做什么呢?从图4看起来它像是一个输入伴随一个输出(是不是又像函数),没错,它就是可以学习一定数据规律的函数!!
DO IT
假设一下,你现在有一句话 “ 今天天气真好,我想出去玩。 ”,然后你希望机器也学会这种表达,当你输入今天天气真好的时候,它默契的吐出来我想出去玩~ 于是,你就把它塞给了 Transformer ,希望这个变形金刚可以学会你说的话。
然后,神奇的事情发生了,一句话丢进去之后,它吐出来一堆杂乱数据,你看的一脸懵逼,它其实也是一脸懵 ~ 于是你降低了难度,想到了用滑动窗把这个句子拆分成了很多块 {"今天天", "天气真", "气真好", "真好,", ",我想", "我想出", "想出去", "出去玩", "去玩。"},突然一下子打开了新大陆,你发现内容变多了!!,然后你再降低一下难度,让它学这几种表达组合,一次只给你一个字,那这样是不是就好用多了?果然,按照这个思路,它不仅学会了我想出去玩,而且!!意外收获,它学会了从今天就给你输出天气真好~,比之前的更加智能,甚至更好用了。 生成式大模型便是在类似基础上训练出来的,所以我们常说token,实际上就是下一个预测字符(可能是词),关于这个基础能力仅仅是它的冰山一角,但是我们后面就是从这里出发的,别担心,很简单~
到这里,其实你已经学会了大模型!!(开玩笑~)撒花。
想要有一个真正能用的大模型而不是一段代码,除了有这样一种类似的数据结构之后,还需要一件东西:数据。所谓人工智能,亦可以称作数据特征统计拟合的智能,大模型亦是如此。关于大模型预训练所用的数据大家应该有所耳闻:一般叫做海量,上TB级别的数据训练以亿为参数单位的模型结构,然后再加上庞大的算力集群 -- 一颗热乎乎的LLM即将新鲜出炉~
// 创作不易,分享心得与交流,恳请您多斧正