ChatGPT解密:剖析大语言模型的技术要素与局限性

35

探索ChatGPT背后的技术奥秘,揭示大型语言模型(LLM)所需的核心要素,并深入剖析其现阶段的局限性。本文旨在为读者提供一个全面而深入的视角,理解LLM的运作机制及其未来发展方向。

在人工智能领域,语言模型扮演着至关重要的角色。简单来说,语言模型就是将人类的语言转化为数学模型,通过数学公式构建,从而使计算机能够理解和生成自然语言。这个概念由语音识别和自然语言处理专家贾里尼克博士率先提出。他将语音识别视为通信问题,通过信道编码和解码的原理,实现了语音识别的突破。贾里尼克博士认为,让计算机理解人类语言的关键在于,让计算机计算出各种可能语句的概率,并选择概率最大的语句。这种计算自然语言句子概率的数学模型,就是语言模型的核心。

贾里尼克

语言模型的演进历程

语言模型的发展并非一蹴而就,它经历了多个阶段的演进,从最初的统计语言模型到如今的大型语言模型,每一次迭代都带来了质的飞跃。

第一阶段:统计语言模型(SLM)

统计语言模型是语言模型的早期形态,它基于统计学的方法,通过分析输入的上下文来计算后续词语的概率。例如,在“你吃了”之后,模型会预测出现“饭”或“晚饭”等名词的概率更高,而出现动词“睡”或“睡觉”的概率较低。这种模型依赖于马尔可夫假设,即下一个词的出现只依赖于它前面有限的几个词。

第二阶段:神经网络语言模型(NLM)

随着神经网络的兴起,神经网络语言模型应运而生。NLM利用神经网络来训练模型,学习单词之间的关联性和概率关系。通过深度学习,NLM能够捕捉到词汇之间更加复杂的关系,生成更连贯和自然的文本。NLM模型采用分层结构,将输入的文本数据投射到高维语义空间中进行学习,不断更新神经网络模型参数,逐渐学会文本数据的语义。

第三阶段:预训练语言模型(PLM)

预训练语言模型是一种使用大量文本数据进行训练的自然语言处理模型。与NLM不同,PLM采用无监督学习方法,无需预先标注数据或注明文本类型等信息。Transformer架构是预训练语言模型的一个典型代表。这种模型通过自监督学习,可以学习到文本的深层语义表示,并在各种自然语言处理任务中取得优异表现。

第四阶段:大型语言模型(LLM)

大型语言模型可以被视为参数规模特别大的PLM。例如,GPT-2拥有15亿个参数,而GPT-3则达到了惊人的1750亿个参数。尽管LLM只是在模型大小上进行了扩展,但这些大型预训练语言模型展现出了与较小的预训练语言模型不同的行为,并在解决一些复杂任务上表现出惊人的能力,这种能力被称为“涌现能力”。

简而言之,语言模型的核心在于计算自然语言中每个句子的概率。当你向AI提出问题时,AI实际上是在使用概率来计算其回答。此外,当今的语言模型并非针对一个问题只提供一个答案,而是生成多个答案,并根据答案的概率进行排序,最终返回最可能的答案。

开发大型语言模型所需的关键要素

了解了大型语言模型的原理后,我们不禁要问:开发LLM的关键是什么?许多文章将5G通信等因素列为关键,但从原理上来看,数据才是LLM的核心。

关键要素一:数据

训练数据,即语料库,是LLM的基石。目前常用的语料库主要包括以下几种:

  • Books:BookCorpus是一个常用的书籍数据集,包含超过11000本电子书,主要包括小说和传记。Gutenberg则是一个更大的书籍语料库,拥有70000本书,涵盖小说、散文、戏剧等作品。
  • CommonCrawl:CommonCrawl是目前最大的开源网络爬虫数据库,但由于包含大量脏数据,因此常用的四个数据库是C4、CC-Stories、CC-News和RealNews。此外,还有REALNEWS和CC-News两个基于CommonCrawl提取的新闻语料库。
  • Reddit Links:Reddit是一个类似于外国版百度贴吧和知乎的平台。目前开源的数据库有OpenWebText和PushShift.io。
  • Wikipedia:维基百科是目前大模型广泛使用的语料库。
  • Code:通常包含GitHub上的开源公共代码库或StackOverflow的数据。Google之前发布过一个名为BigQuery的数据集。

在实际训练中,LLM会混合使用不同的数据,而不会只使用单一语料库。例如,GPT-3使用的混合数据集就包括Books、CommonCrawl、Reddit Links和Wikipedia。

需要注意的是,中文语料在这些数据集中占比很小。ChatGPT能够用中文回答问题,仅仅是因为其语料中包含一些中英文对应的语料,使得模型似乎“懂中文”。更可能的情况是,它先生成英文内容,然后再翻译成中文。例如,当你要求ChatGPT 3.5提供中文谐音梗时,你可能会发现其生成的答案并不地道:

以下是一些中文谐音梗的例子:

  • 我蒸发了,意思是我是 Vaper 了(Vaper发音接近蒸发)。
  • 会有星期天,都得过过来,意思是星期二,星期三,星期四,星期五,星期六,都得过过来。
  • 看到你,我的内心凉了 below zero,意思是凉了半截(below zero与半截音相近)。
  • 蜀道难,难于上青天,赛道难,难于上488(488与“蜀道难”同音)。
  • 洋葱姑娘,想哭却哭不出来,因为洋葱让我流泪了(洋葱和“要哭”在中文中的发音很相似)。
  • 雨纷纷,旧故里草木深,我听闻,你始终在我身边深(“身边深”和“身边寻”谐音)。
  • 你的车开得真快,一开就是“出租”,意思是“出祖宗”(发音类似)。

关键要素二:算法

有了数据之后,还需要算法来进行计算。目前最常用的开发大型语言模型的算法库包括:

  1. Transformers:这是一个使用Transformer架构构建的开源Python库。
  2. DeepSpeed:是由微软开发的深度学习优化库。
  3. Megatron-LM:这是由Nvidia开发的深度学习库。
  4. JAX:它是由Google开发的用于高性能机器学习算法的Python库。

关键要素三:算力

算力是指计算资源,或者说硬件。OpenAI没有透露训练GPT-3语言模型花费了多少计算资源,但OpenAI的CEO暗示硬件成本超过一亿美元。如果按照1000美元一个GPU计算,那么大约使用了10万个GPU,以32位运算为准,可以提供超过100 PFLOPS的算力,即每秒10亿亿次运算以上,这大约是阿里云最大的数据中心的四分之一的算力。

需要注意的是,这仅仅是GPT-3的成本。随着模型规模的不断扩大,所需的算力也将呈指数级增长。算力永远是制约人工智能发展的瓶颈,因为我们对人工智能的要求会不断提高。

大型语言模型的局限性

在了解了LLM的原理后,我们有必要探讨其局限性,以便更好地理解AI的边界,并在可控的范围内进行创新。

局限性一:结果高度依赖训练语料

正如前文所述,即使经过多个版本的迭代,语言模型依然没有脱离“概率计算”的范畴。从本质上讲,它们的核心原理是“利用已有的信息来预测其他信息”。这意味着,LLM并没有真正的意识,也无法判断对错,其生成的结果高度依赖于训练语料。

这种依赖性会导致以下问题:

  1. 如果语料的内容是有偏见的(例如,包含种族歧视、性别歧视的内容),甚至是错误的,那么LLM生成的结果也会是错误的。
  2. 如果某个领域的语料很少,LLM生成的结果准确率就会很低,甚至可能出现幻觉。

为了规避这些问题,可以采取以下方法:

  • 在语料丰富且错误率低的领域使用LLM,例如语言学领域,如翻译或文案生成。
  • 进行人工干预,例如,人工将语料中的不良内容剔除,或对其进行人类反馈强化学习。但需要注意的是,人工干预也可能导致新的问题,例如,将人的主观好恶加入到模型中,或伪造一些信息并加入到模型中。

局限性二:幻觉(Hallucinations)

幻觉是指LLM会生成一些不真实或无意义的内容。由于某些问题的语料很少,LLM在计算概率后,可能会输出一些奇怪的内容。例如,当我们要求AI介绍一个不存在的品牌Boie的智能牙刷时:

Tell me about AeroGlide UltraSlim Smart Toothbrush by Boie

AI可能会一本正经地胡说八道:

The AeroGlide UltraSlim Smart Toothbrush by Boie is a high-tech toothbrush that uses advanced sonic technology to provide a deep and thorough clean. It features a slim and sleek design that makes it easy to hold and maneuver, and it comes with a range of smart features that help you optimize your brushing routine.

One of the key features of the AeroGlide UltraSlim Smart Toothbrush is its advanced sonic technology, which uses high-frequency vibrations to break up plaque and bacteria on your teeth and gums. This technology is highly effective at removing even the toughest stains and buildup, leaving your teeth feeling clean and refreshed.

In addition to its sonic technology, the AeroGlide UltraSlim Smart Toothbrush also comes with a range of smart features that help you optimize your brushing routine. These include a built-in timer that ensures you brush for the recommended two minutes, as well as a pressure sensor that alerts you if you're brushing too hard.

Overall, the AeroGlide UltraSlim Smart Toothbrush by Boie is a highly advanced and effective toothbrush that is perfect for anyone looking to take their oral hygiene to the next level. With its advanced sonic technology and smart features, it provides a deep and thorough clean that leaves your teeth feeling fresh and healthy.

局限性三:暂时只能解决数学问题

这里所说的数学问题,并不仅仅指数学运算,而是指可以通过数学方法解决的问题。例如,无人驾驶汽车在遇到行人突然横穿马路时,能够自动刹车停下来,这就可以被视为一个数学问题,因为它通过计算识别行人,并进行刹车。

但是,如果这辆无人车在一个单行道的巷子里遇到一辆堵在巷子的汽车,它就无法自行解决,只能报警,让司机过来挪车。这就可以被视为一个数学无法解决的问题。

目前,大多数LLM都只能解决数学问题,对于一些不可计算的问题,暂时还无法解决,特别是那些需要实际操作进行实验的问题。

当然,这只是暂时的局限性,未来机器人+LLM可能会将可计算的范围拓展得更宽。