ChatGPT是继stable diffusion 之后,又一个火出圈的人工智能算法。这火爆程度不仅仅是科研圈子,包括投资圈都为之震惊,大家惊呼人工智能可能真的要取代人类了。网上关于ChatGPT的分析文章已经非常多了,小猿经过高强度的网络冲浪,整理出了AIGC算法演变。
生成模型:让AI也可以有灵魂
AI发展多年,过去解决的多是模态识别的问题,比如最成功的案例就是图像识别了。采用CNN算法,把信息与图能够通过AI训练的方式给训练出来,教会了AI去识别某个模态,在教科书里,被称为判别式模型 (Discriminant Model) 。抽象来看,就是训练一个巨大的神经网络(多层多参数)来实现输入和输出的映射关系。从数学来看,就是学习输入输出的条件概率分布,类似于因果关系。算法的本质是想更准确的控制映射关系。
然而,除此之外,还有一种叫生成式模型 (Generative Model), 是学习数据中的联合概率分布,类似于相关性,算法的本质并不是准确控制映射关系,而是在有相关性的基础上学习一个分布。
而生成模型的发展,使得AI变得更多多元,不仅仅可以用于图像识别声音识别这类模态识别问题,还可以实现更多创造性的工作。
Transformer 的横空出世,AIGC(文本)得以飞跃
事实上,在Transformer出来之前,文本也就是NLP的问题一般采用RNN(和语音类似),主要原因是文本有前后序列和语音是类比的。但是这种算法的效果并不好, 也导致NLP过去一直是落后于图像语音的,拿图像来说,CNN算法已经多个变种,已经可以实现非常好的效果,根据Stanford大学的《2022AI Index Report》如下图。Imagenet的图像识别挑战中,图像识别的准确度在2016年就已经超过了人类的标准值了,而最近几年几乎已经达到了峰值。
然而,对于自然语言的推理识别的准确度虽然从Transformer之后,快速提升,但是直到2021年还没有达到人类标准值,当然预计2022年之后肯定是一个大飞跃了。
在2013年,AI研究人员倒腾了一个自然语言处理的处理模型 Word2Vec。顾名思义,“Word2Vec”就是 “word to vector,从词到向量”。研究人员的目标是把一个单词变成一个数学向量,这个数学量在NLP里有个专门的名词,叫做Word Embedding(词嵌入)。
为啥要变成一个向量,出发点也很简单,如果能将每个单词都能表示为数学空间里的一个向量,那理论上,在这个向量空间里比较接近的词,就是意义接近的单词
但问题是利用Word Embedding只能初始化第一层网络参数,和图像处理领域的预训练能有效初始化大多数网络层级不可同日而语。
Transformer: 改变了NLP发展困境
而2017年Google发表的著名文章attention is all you need,提出了transformer模型概念,使得NLP上升了巨大的台阶。Transformer架构的核心是Self-Attention机制,该机制使得Transformer能够有效提取长序列特征,相较于 CNN能够更好的还原全局。
因为抛弃了传统的RNN模型,彻底规避了RNN不能很好并行计算的困扰,此外,每一步计算不依赖于上一步的计算结果,因此极大提高了模型并行训练计算的效率。此外,它能实现自我监督学习。所谓自我监督,就是不需要标注的样本,使用标准的语料或者图像、模型就能学习了。
随着Transformer的横空出世,根据Decoder/Encoder又可以划分为GPT/BERT模型。
BERT与GPT分别对应了Transformer的编码器与解码器。其中BERT可以被理解为双向的理解模型,而GPT可以被理解为单向的生成模型。
ChatGPT又相对于前几代改变了什么?
为什么试用过chatGPT的同学都感觉提升很明显?一个重要的原因是chatGPT引入了一个新的训练方法RLHF(论文Training language models to follow instructions with human feedback,发表于2022年3月),简单地说,就是用人类反馈的方式加强训练。
ChatGPT是基于GPT-3.5模型,训练集基于文本和代码,在微软Azure AI服务器上完成训练。
第一阶段:冷启动阶段的监督策略模型。
靠GPT 3.5本身,尽管它很强,但是它很难理解人类不同类型指令中蕴含的不同意图,也很难判断生成内容是否是高质量的结果。为了让GPT 3.5初步具备理解指令中蕴含的意图,首先会从测试用户提交的prompt(就是指令或问题)中随机抽取一批,靠专业的标注人员,给出指定prompt的高质量答案,然后用这些人工标注好的数据来Fine-tune GPT 3.5模型。经过这个过程,我们可以认为GPT 3.5初步具备了理解人类prompt中所包含意图,并根据这个意图给出相对高质量回答的能力。
第二阶段:训练回报模型(Reward Model,RM)。
这个阶段的主要目的是通过人工标注训练数据,来训练回报模型。具体而言,随机抽样一批用户提交的prompt(大部分和第一阶段的相同),使用第一阶段Fine-tune好的冷启动模型,对于每个prompt,由冷启动模型生成K个不同的回答,于是模型产生出了数据。之后,标注人员对K个结果按照很多标准(上面提到的相关性、富含信息性、有害信息等诸多标准)综合考虑进行排序,给出K个结果的排名顺序,这就是此阶段人工标注的数据。
第三阶段:采用强化学习来增强预训练模型的能力。
本阶段无需人工标注数据,而是利用上一阶段学好的RM模型,靠RM打分结果来更新预训练模型参数。具体而言,首先,从用户提交的prompt里随机采样一批新的命令(指的是和第一第二阶段不同的新的prompt,这个其实是很重要的,对于提升LLM模型理解instruct指令的泛化能力很有帮助)
AIGC(图像):从GAN到Diffusion
自2014年生成对抗网络(GAN)诞生以来,图像生成研究成为了深度学习乃至整个人工智能领域的重要前沿课题,现阶段技术发展之强已达到以假乱真的程度。
正如同其名字“对抗生成”, 这个深度学习模型的核心理念是让两个内部程序“生成器(generator)”和“判别器(discriminator)”互相PK平衡之后得到结果。
GAN的全称是 Generative A dversarial N etworks,从名称不难读出“对抗(Adversarial)”是其成功之精髓。对抗的思想受博弈论启发,在训练生成器(Generator)的同时,训练一个判别器(Discriminator)来判断输入是真实图像还是生成图像,两者在一个极小极大游戏中相互博弈不断变强。当从随机噪声生成足以“骗”过的图像时,我们认为较好地拟合出了真实图像的数据分布,通过采样可以生成大量逼真的图像。
虽然GAN效果出众,但由于博弈机制的存在,其训练稳定性差且容易出现模式崩溃(Mode collapse),如何让模型平稳地达到博弈均衡点也是一个问题。
GAN在“创作”这个点上还存在一个死结, 这个结恰恰是其自身的核心特点:根据GAN基本架构,判别器要判断产生的图像是否和已经提供给判别器的其他图像是同一个类别的, 这就决定了在最好的情况下,输出的图像也就是对现有作品的模仿,而不是创新。
CLIP:嫁接文本与图像
OpenAI团队,在2021年1月开源了新的深度学习模型 CLIP(Contrastive Language-Image Pre-Training)。一个当今最先进的图像分类人工智能.。
CLIP模型的训练过程,简单的说,就是使用已经标注好的“文字-图像”训练数据,一方面对文字进行模型训练,一方面对图像进行另一个模型的训练,不断调整两个模型内部参数,使得模型分别输出的文字特征值和图像特征值能让对应的“文字-图像”经过简单验证确认匹配。
CLIP搜刮了40亿个“文字-图像”训练数据,而这些都是广泛散布在互联网上的图片。互联网上的图片一般都带有各种文本描述,比如标题、 注释,甚至用户打的标签,等等,这就天然的成为了可用的训练样本。用这个特别机灵的方式,CLIP的训练过程完全避免了最昂贵费时的人工标注。
CLIP的强大,通过强大训练集训练之后的,这个为后面文字生成图形打下了良好的基础。
CLIP模型的出现,成为跨模态生成应用的一个重要节点。自CLIP出现后,“CLIP+其他模型”在跨模态生成领域成为一种较为通用的做法。
Diffusion:让图像以假乱真
以Stable Diffusion模型为例,将CLIP模型和用于生成图像的Diffusion模型进行了关联。CLIP模型将持续计算Diffusion模型随机生成噪声与文本表征的相似度,持续迭代修改,直至生成可达到要求的图像。
Diffusion模型的工作原理:就是对于原有图形不断加高斯噪音直至完全变为纯噪音,然后再不断减少噪音直至恢复,让人工智能去学习这个过程,最后可以实现从潜变量到最后图像的生成关系。
下图是整体的结构示意图,其中Text Encoder是一种特殊的 Transformer 语言模型(CLIP的文本编码器),接收输入文本,输出蕴含语义的向量化表示。然后将蕴含语义的向量化表示送入Image Generator。
Stable Diffusion主要有三个组件,每个组件都有各自的神经网络。
(1)ClipText用于文本编码
输入:文本描述
输出:文本信息(77个token embedding,每个768维)
(2)UNet+Scheduler在隐信息空间逐步处理信息
输入:文本信息和噪声信息
输出:处理后的信息
(3)Autoencoder decoder使用处理后的信息绘制图像
输入:处理后的信息(维度(4,64,64))
输出:生成的图像(维度(3, 512, 512)(红/绿/蓝, 宽, 高))
实际上Stable Diffusion和之前的Diffusion扩散化模型相比,重点是做了一件事,那就是把模型的计算空间,从像素空间经过数学变换,在尽可能保留细节信息的情况下降维到一个称之为潜空间(Latent Space)的低维空间里,然后再进行繁重的模型训练和图像生成计算。
基于潜空间的Diffusion模型与像素空间Diffusion模型相比,大大降低了内存和计算要求。比如Stable Diffusion所使用的潜空间编码缩减因子为8,说人话就是图像长和宽都缩减8倍,一个512×512的图像在潜空间中直接变为64×64,节省了8×8=64倍的内存。
事实上,类似Stable Diffusion这种AI生成模型的一个核心思路,或者说很多深度学习AI模型的核心思路,就是把人类创作的内容,表示为某个高维或者低维数学空间里的一个向量(更简单的理解,一串数字)。
如果这个“内容->向量”的转化设计足够合理,那么人类所有的创作内容都可以表示为某个数学空间里的部分向量而已。而存在于这个无限的数学空间里的其他向量,正是那些理论上人类可能创造,但尚未被创造出来的内容。通过逆向的“向量->内容”的转换,这些还没被创造的内容就被AI挖掘出来了。
除了为人熟知的生成对抗网络(GAN),主流方法还包括变分自编码器(VAE)和基于流的生成模型(Flow-based models),以及近期颇受关注的扩散模型(Diffusion models)。
未来已至
以Transformer/Diffusion为代表的预训练/生成模型已经改变了人工智能的产业发展,使得创意类的事情得以实现,也让大多数人真正意识到人工智能不是以前那么呆呆傻傻做一个模式识别的工具了,而发展成有灵魂的技术。未来的人工智能算法发展还是继续沿着这个思路发展的(大模型+大算力的需求)。
以GPT3为例,其能力都来自于大规模预训练:在有3000亿单词的语料上预训练拥有1750亿参数的模型( 训练语料的60%来自于 2016 – 2019 的 C4 + 22% 来自于 WebText2 + 16% 来自于Books + 3%来自于Wikipedia)。其中:
语言生成的能力来自于语言建模的训练目标 (language modeling)。世界知识来自 3000 亿单词的训练语料库。模型的 1750 亿参数是为了存储知识,知识密集型任务的性能与模型大小息息相关。
当前的大模型 GPT-3 有 1750 亿参数,人类大脑有约 100 万亿神经元,约 100 个神经元会组成一个皮质柱,类似于一个小的黑盒神经网络模块,数量级上的差异决定了算力进步可以发展的空间还很大。国内的商汤大模型,目前有百亿级。
与此同时,今天训练 1750 亿参数的 GPT-3 的成本大概在 450 万美元左右,根据成本每年降低约 60% 的水平,供大模型提升计算复杂度的空间还很多。在大算力这件事情上,国内厂商还是有一定的优势,商汤的智能算力中心可以1天内可完成1000亿参数模型的完整训练,算力规模达5 Exaflops(1Exaflops等于每秒可达一百亿亿次浮点运算)。
红杉发布的《Generative AI: A Creative New World》
量子位整理的AIGC下游场景:
小猿思考:
1、传统的判别式模型解决了模态识别问题,而生成模型赋予了人工智能灵魂,从一个工具变成了一个“人”工智能。
2、算法推动了技术的发展 ,但算法就像艺术品,很难去投资算法,更多是去欣赏,观察技术奇点过后的应用爆发+大模型带来的产业变化。
最后,希望更多朋友可以加入我们
我们建立了一个非常有爱的组织,这里面有聊科技,也有聊投资,更重要的是一群自由且充满好奇的灵魂!
欢迎加助手微信入群(添加好友备注:姓名+公司名称)