每过一段时间,人工智能领域的新进展都会引起创投市场的热情。但并不是每一次的进展,都带来了应用的革新,并为投资人带来收益。理解生成式人工智能的发展脉络和能力边界,或许能够帮助我们判断这一次生成式人工智能的热潮会走向什么方向。


Haomiao Huang是Kleiner Perkins的投资人,主要负责硬技术和企业软件的早期投资,在这篇文章中他清晰地讲解了生成式人工智能的技术核心,我们将其翻译成中文,在这里和大家分享。小恐龙基金看好生成式人工智能的长期发展趋势,欢迎创业者与我们建联交流。本文来自微信公众号:创投小恐龙(ID:DinoFund),作者:小恐龙基金,头图来自:unsplash


人工智能领域对我们早就不陌生了,不论是获奖的AI艺术作品还是生物信息技术的突破。但新一代的AI和以往完全不同,任何人都可以随意使用它们以提高生产力或完成创作。由于最初被用于语言任务,比如回答问题或写作文,所以它们通常被称为大型语言模型(Large Language Models, LLMs)。OpenAI的GPT3,Google 的BERT 等都是LLMs。


由于这种大模型,可以跨越学科和领域,不论是计算机视觉还是生物结构,所以一些研究人员称它们为“基础模型”,以更好地阐述它们在现代人工智能中的作用。


那么这些基础模型是从哪里来的,它们如何跨越语言的壁垒,成为推动今天人工智能发展的重要因素呢?


基础模型的基础


在机器学习中,有三个最重要的要素:模型、数据和计算。模型即算法,接受输入后,产生相应的输出。数据是指算法训练所需的样本。为了学习某个东西,必须有数量足够多、且丰富的数据,才能产生有价值的输出。模型必须足够灵活,能够捕捉数据中的复杂性。最后,必须有足够的计算能力来运行算法。


第一次现代人工智能革命发生在2012年,而催化这一革命的正是卷积神经网络(Convulutional Neural Network, CNN)。CNN在结构上与大脑的视觉皮层相似。虽然在上世纪90年代就存在,但由于对算力要求很高,直到2012年才开始广泛为人所用。


在2006年,Nvidia发布了CUDA(Compute Unified Device Architecture),可以将GPU用作通用超级计算机。2009年,斯坦福人工智能研究员推出了ImageNet,这是一个标记图像的集合,用于训练计算机视觉算法。2012年,AlexNet将在GPU上训练的CNN与ImageNet数据相结合,创建了世界上最好的视觉分类器,深度学习和人工智能由此爆发。


CNN、ImageNet数据集和GPU的组合,对计算机视觉领域产生了重大突破。2012年,围绕深度学习掀起了一股热潮,各类交叉行业开始涌现,其中也包括了火热的自动驾驶。但是,那一代的深度学习也是有局限性的。CNN虽然很擅长计算机视觉,但对其他领域的突破非常有限,比如自然语言处理(NLP)——即让计算机理解并使用正常的人类语言,而不仅仅是代码。


处理语言与图像有着根本的不同,处理语言是需要处理单词序列(Sequences of Words)的。在图像处理中,无论猫在哪里,它都是一只猫,但“这个读者正在学习有关AI的知识”和“AI正在学习关于这个读者的知识”之间存在着很大差异。


像循环神经网络(RNN)和长短期记忆(LSTM)这样的模型,虽然能够识别短的单词序列(如Siri或Alexa等语言助手)但很难正确处理长的句子或段落。它们的数据存储量并不足以捕捉文字段落的复杂性。


除了模型难以理解成段的文字,另一个挑战则是获得正确的训练数据。ImageNet为了收集了10万张标签图像(Labelled Image),投入了大量的人力,主要由校内研究生和Amazon Mechanical Turk Works(即亚马逊运营的外包网赚网站)构成。Wordnet是Imagenet的前身,试图为英语词汇创建一个带标签的图像数据集。尽管互联网上有大量文本可用作数据,但对图像逐一打标签是极为耗时的,况且针对不同的数据集,同一张图片的打标也可能完全不同。



因此,处理更复杂的文本有两大挑战。首先需要对未标记的数据进行训练,其次,要像卷积网络模型一样,利用GPU和并行计算的突破,去深度处理海量的文本和数据。此时,新的模型才可能超越RNN和LSTM模型的限定,以达到更复杂语言内容的处理。


计算机视觉之所以能够有重大突破,正是因为CNN模型有足够的算力来处理已有的数据。而在自然语言处理中,也需要一种新的模型,可以有效利用已有的数据。


Translation is all you need

翻译能解决所有问题


终于,来自谷歌的一个名为“Transformer”的模型,成功实现了这一点,能够对更复杂语言内容进行理解和处理。谷歌的研究人员,常年来聚焦于一个非常特定的自然语言问题:翻译。词序在语言的理解中非常重要,但在不同语言中会有明显不同。例如,在日语中,动词位于宾语之后。在英语中,“前辈”注意到你;而在日语中,“你”注意到前辈。


因此,新的模型要能够灵活地处理语言。旧模型,如LSTMs和RNNs中,把单词按顺序输入模型再获得相应反馈,也就是隐含了单词的顺序。而Transformer模型用数字处理序列顺序,每个单词被分配一个数字。这称为“位置编码”(Positional Encoding)。因此,对于模型来说,“我喜欢AI;我希望AI爱我”这个句子看起来像是这样的:(我1)(喜欢2)(AI3)(; 4)(我5)(希望6)(AI7)(爱8)(我9)。


其次,Transformer模型也使用了“多头注意力”(Multi-headed Attention)作为工具。当需要先输入单词序列后再输出单词时,该模型不仅限于严格遵循输入顺序。相反,它被设计成可以前后查看输入序列(注意力)和输入序列的不同部分(多头),并确定哪些与输出最相关。


Transformer模型有效地将翻译问题从单词的矢量(Vector)表达变得更像是矩阵表达;Transformer模型可以查看输入的整个序列,并确定与输出的哪一部分相关。


Transformer模型聚焦于语言问题的范例
Transformer模型聚焦于语言问题的范例


Transformer 模型对翻译问题产生了重大突破,同时也可以解决许多其他语言问题。Transformer模型擅长处理大量的单词块(Word Chunks),而不是一个接一个地处理。此外,Transformer还可以把一串语言序列,转化为另一串截然不同的语言序列。


也就是说,新的AI模型,可以通过填空(Fill-in-the-blanks)来训练模型,也就意味着我们不必标记所有的训练数据。我们甚至可以将整段文本(甚至是整本书)运行在模型中。我们不需要告诉计算机哪些文本是关于哈利波特的,哪些是关于赫敏的。我们不需要解释哈利是男孩,赫敏是女孩,并定义男孩和女孩。我们只需要随机地把像“哈利”、“赫敏”、“他”和“她”这样的字符串留空,训练计算机来填补空缺,通过这个过程来纠正,AI可以自己学会文本与角色的关联,并匹配相应的名次和主语,如哈利波特和男孩。而这种全新的模型训练模式,意味着我们可以开始将模型扩展到数倍以上的规模,并处理更大的文本块。


终于,我们在大模型上有了新的突破,让我们能够利用互联网上的大量的非结构化文本数据(未打标)去训练模型。OpenAI正是依此,推出了GPT2和GPT3。GPT的意思是生成式预训练transformer模型“Generative Pre-trained Transformer”。“生成”代表了模型被设计为对输入的单词进行响应并生成新的单词,而“预训练”意味着它们使用这种填空方法在大量文本上进行了训练。


2019年,OpenAI发布了GPT2。只需要输入撰写好的提示词(prompts),它能够生成极其逼真、内部连贯的的类人文本。然而。系统能接受的文本长度相当有限、使用方法也还不够灵活。


随后的2020年,GPT2升级为GPT3,能力也获得了指数级的提升。GPT2拥有大约15亿个参数,而GPT3则是它的100倍,其最大化版本有1750亿个参数。GPT3比GPT2强大很多,能够写出极其连贯的整篇文章,几乎无法区分与人类写作的区别。


更令人惊喜的是,OpenAI研究人员发现,随着模型的变大,它们不仅在生成文本方面做得更好,还可以通过输入新的训练数据来学习前所未有的新行为、写作生成能力空前强大


GPT-3不再仅限于单一用途,而成为了一种多用途语言工具,它可以替你“总结以下段落”、甚至“以海明威的风格重写这段话”,很多人都可以轻松的使用这个工具,而不需要学习编程,这也为该模型的应用场景提供了更多的可能性。


很快,Transfomer模型也传到了语言处理以外的领域。


超越语言:Dall-E、Stable Diffusion等


2014年,技术专家XKCD出版了这本漫画:



不到十年后,我们从不知道如何识别企鹅……到能直接根据提示词生成各种企鹅的图片:



怎么发展得如此迅速的?


深度学习革命,ImageNet、AlexNet、GPU三者的发展是一切的起点。它们的结合,同时具备了强大的模型、数据和计算能力,让这种文生图(Text-to-image)的技术成为可能。


深度学习让AI模型不再需要研究人员手动创建和处理图像特征,而是会自行学习这些特征,以及这些特征是如何组成像脸、车和动物等物体的。这些模型好像正在学习一种“视觉语言”,线条、形状和图案构成了基本的语言元素,它们在网络中不断地结合、规则化,形成了“语法”。只要有足够的优质数据,深度学习模型比任何人类研究人员都更加优秀。


它的强大在于,这种全新的学习模式是可扩展的。它们可以将像素映射到对象类别,将它们分类,例如“这些像素显示一只猫;这些像素显示一只狗”,但它们还无法实现双向学习。


Transformer模型最初的作用是翻译工具,比如英语到法语、儿童语言到英语等。但实际上,语言也只由有序的符号构成,翻译也只是从一串有序符号转化为到另一串有序符号的过程。因此,只要能用类似语言的方式描述一种事物,就可以训练Transformer模型来对其进行翻译。


图像正是这样一种事物。深度学习模型可以学习图像的“潜在空间”(Latent Space),使模型学会从图像中提取重要特征,既而将它们压缩到更低的维度去表示。所有的图像都可以被这样降维的表示,因为


大模型学习的仅仅是一个基本形状、线条、图案的巨大集合,以及将它们连贯地组合成对象的规则。


潜在空间之所以如此命名,是因为它们可以表示图像各个方面的坐标网格。例如,表示一辆看起来像人脸的汽车就意味着要在“看起来像汽车”轴和高“看起来像人脸”轴上移动到潜在空间的一个点。实际上,绘制图像(或一般处理图像)只是意味着在这个空间中移动。而在数学上,表示空间中的坐标就是提供一系列数字。因此,我们现在将创建或处理图像转变为了创建序列的问题......而我们知道如何做到这一点。事实上,如果将潜在空间中的每个“轴”视为一个符号或单词,我们就将“绘画”转变为了类似于“写句子”的形式。



终于,我们拥有了降维表述图片特征的语言和能够让我们任意翻译的Transformer模型。基于互联网数据的庞大,OpenAI能够抓取其中一些数据来构建一个庞大的数据集,用于在图像和文本世界之间的翻译。由此,模型、数据和计算一起将图像转换为文本,Dall-E诞生了!



Dall-E实际上是几种不同的AI模型的结合体。Transformer模型先将自然语言文本转化为潜在空间“语言”,再将低维度的潜在空间“语言”翻译为实际的图像。最后,通过一个叫CLIP的模型进行相反方向的转换,将图像与一开始的文本输入进行对比,并按照接近度排序。


与Dall-E不同的另一种模型是Stable Diffusion模型。它使用潜在扩散(Latent Diffusion)以实现文转图的过程,而不直接把自然语言转化为潜在空间“语言”。这其实很好理解:如果你拿一张图像并给它添加噪声,它最终会变成嘈杂的模糊图像。然而,如果你从一个嘈杂的模糊图像开始,就可以“减噪”(Denoise),使其变回一个清晰的图像,这种减噪,一旦足够智能,就能使图像逐渐接近想要的样子。


在这种情况下,Transformer模型不再仅仅生成图片,还可以通过降噪来修改图像以更好地匹配文本。经过几十次迭代后,就可以从一片混乱模糊,转化为清晰的AI生成图片。



然而,这个过程不一定要从完全模糊的图像开始,也可以从另一张图片开始, Transformer模型将简单地调整这个图像,朝着更符合文本提示词的方向进行。因此,该模型也可以将粗略的基本草图转换为逼真的图像。



总之,用大模型来文字生成图片的突破是根源是两个AI模型的技术进步。首先,深度学习学会了通过潜在空间,用语言来表述图像。其次,Transformer的“翻译”能力可以让在文本和图像之间自由切换(通过潜在表示)


这种技术的强大远远超出了图像本身,只要用一种类似语言结构的方式来描述,并且有可供训练的数据集,Transformer就可以学习规则,然后在语言之间进行翻译。Github的Copilot已经学会了在英语和各种编程语言之间进行翻译,谷歌的Alphafold也可以在DNA和蛋白质序列的语言之间进行翻译。这些可以被实现都是因为能够被一种类似语言的结构所描述。


生成、评估、迭代


这些AI模型已经被证实了多么强大,但还远远称不上完美。我们依然需要讨论它们的数据依赖性、不可预测性、普适性等。


人工智能的训练取决于数据。由于文本和图像的数据足够丰富,Stable Diffusion和Google的Imagen这样的图像模型便能够在Dall-E之后很快跟进。Stability.ai也与几项开源人工智能工作联系密切,最著名的是Eulethera和LAION。Eleuthera创建了一个名为“The Pile”的大规模文本数据集,而LAION则创建了5亿张带有相应文本标签的LAION-5B图像数据集。这些数据集让其他研究人员能够很快地追赶OpenAI在文本和图像领域的成果。


这意味着人工智能工具将根据领域和可用的数据类型产生不同的影响。例如,在机器人学中,还没有相当于ImageNet或LAION来训练机器人的运动规划模型。事实上,在3D运动、形状和触摸数据共享方面,甚至没有良好、通用的数据格式——这就像我们处于LAION-5B之前,甚至是JPEG之前的时代。


另一个要考虑的因素是,这些AI模型从根本上是随机的。它们是使用称为梯度下降的技术进行训练的。训练算法将训练数据与人工智能模型的输出进行比较,并计算接近正确答案的“方向”。我们能判断的,只有它有多接近正确的概念。


这些模型的基本工作流程是:生成、评估、迭代。在使用这些AI模型时,都会得到一个可能很棒的答案......或者很糟的答案。成功或失败,是极难预测的。


因此,这些AI模型究竟有多有用,取决于检查它们给出的答案是否容易。例如,GPT-3具有相当不错的数学能力。它不仅能够做简单的算术;它还可以解释中学或更高级别的文字问题。我让chatGPT解决一个简单的数学问题,它做得很好:



当我把它扩展到更大的数字时,它依然保持了正确性:



但它实际上并没有学会乘法,只是模拟乘法。如果我有N个盒子,每个盒子有X蜡笔,而N * X = Y,那么我有Y蜡笔。但是,如果我每个盒子有N支蜡笔的X盒子,任何孩子都会告诉你,我还有Y支蜡笔。


让我们看看chatGPT是怎么想的:



这个答案实际上比过去更好——以前版本的GPT3只会自信地宣布一个完全不正确的答案:



再简单的加减乘除中,判断AI给出的答案对错是相对容易的,但是AI设计的药物候选物则没那么容易,必须在现实世界中完成合成和测试。当然,这并不意味着“AI是不可靠的”,而是在利用这些AI模型的时候,必须将这种不可预测性考虑在内。从好的方面考虑,这种不可预测性,恰恰证明了这些模型的潜力是无限的,正如ChatGPT2到3之后效果的飞跃。更何况这些模型在各个领域都可以使用,只需要通过类语言结构来进行相互转化。


随着初创公司越来越多的涌现,各行各业都有了成功的案例,包括人工智能驱动的写作工具平台,颠覆传统生物学的Alphafold的模型、能快速补写代码的编程助手等。此前的AI重大突破,无论是自动驾驶汽车还是游戏领域,大多停留在实验室里。但现在任何人都可以使用GPT3的写作应用程序或下载Stable Diffusion去创作艺术。


预测未来是极其困难的。我们唯一能说的是,这些AI工具将继续变得更强大、更好用、更便宜。我们正处于一场可能像摩尔定律一样深刻的革命的早期阶段,正在发生的一切令人兴奋又害怕!


本文来自微信公众号:创投小恐龙(ID:DinoFund),作者:小恐龙基金