【2.5万字实录】OnBoard!硬核对话Google Brain, Stability AI: 生成式AI的技术实践与商业未来
编者按
目录
01 几个主流大语言模型的差异与核心机制
02 参数和数据会成为模型能力瓶颈吗
03 如何理解Stability AI基于开源的竞争力
04 基于AI会形成类似iOS vs 安卓的生态吗?
05 LLM的技术边界,以及多模态如何突破?
06 LLM产品化,需要怎样的工具生态
01 大语言模型的差异与核心机制
Monica
请几位给大家做一个简单的自我介绍,还有fun fact: 你最喜欢的一个生成式AI的项目。
Xuezhi Wang
我现在是在 Google brain 做研究科学家。我在 Google差不多到现在快 6 年的时间了。我的主要研究主题是包括大型语言模型以及语言模型里面的推理。我在Google之前在 CMU 机器学习的PhD。
我自己本身研究课题是比较偏向于自然语言推理 (reasoning) 的,所以我对如何解锁大型语言模型的各种能力是非常感兴趣的。去年其实有好多论文在这个方向都是很有意思的。我们自己组做的Chain of Thoughts 和 Self consistency,都是用一些prompt的方法能够让 大型语言模型更好地做各种各样的推理,包括比如数学上的推理,或者常识上或者一些象征性的(symbolic)模式性的推理。在之前我去年也有一些其他的论文,比如有那种能让大型语言模型做zero-shot reasoning的项目,我觉得也是特别有意思的。
Yizhou Zheng
我是 Stability AI 的技术产品经理,主要负责 Stable Diffusion,推理算法等相关的一些工作。我之前是做产品的,在腾讯百度,后面去了咨询公司。BCG其实一直都做产品数字化等等的工作。2021 年的时候接触到了这些AIGC 的技术。当时最早还是从 VQGAN的 论文 开始自己探索这些技术,后面就逐渐进入到这个领域,也在很多开源项目里面有了一些贡献,后面加入Stability AI。
我说到最喜欢的项目,其实就要回到 2021 年。当时有一个 notebook, CLIP-Guided-Diffusion,可能是我最喜欢的一个项目,也是相当于把我带入领域的notebook,是 Katherine Crowson 写的,最近很火的Stable Diffusion 等等的非常早期的,但是又是非常重要的一个工作。它验证了基于,比如我们现在做的这些embeddings,比如基于一个小的语言模型,能够引导diffusion模型去生成整个的图像内容。也有很多社区的人开始加入参与工作来探索应用。
Yiwen Li
我有五六年的时间一直在做硬件的产品经理。比如我在苹果做了苹果手机,在亚马逊做了 Echo。七八年前,第一次出去创业,接触了Computer Vision (计算机视觉),过去的七八年一直在做CV。5 年前我在 Landing AI,应该是最早的一批员工了。
Landing AI 是吴恩达(Andrew Ng)18 年创办的,主要是用 AI 来服务于制造业和农业。说一个很有意思的项目。我有一个黑客朋友,他做了一个APP叫做 Draw Things,应该是我知道的第一个把 Stable Diffusion 成功编译到手机上的一个应用。你可以在 iOS 平台上下载到它,用手机做inference(推理)。实际上这是很难的,因为哪怕是台很好的台式机,做inference 也是很费劲的。但是它是最早一批成功在手机上编译并且成功运行inference 的,如果大家有兴趣可以去下载一个。
Monica
除了大家最熟知的 OpenAI GPT模型,业内最有名的大语言模型(LLM)大概就是Google的PaLM, xuezhi 可否简单跟大家介绍一下什么是Google PaLM,它跟GPT 这样的其他大语言模型有什么不一样的地方?
Xuezhi Wang
Google 的PaLM 是在去年 4 月份左右发布的,应该是市面上最大的一个语言模型。它本身的架构是一个从左到右,只有一个 decoder 的 transformer base 的语言模型。PaLM 的优势在于,首先它的容积特别大,因为它有 5400亿个参数 (parameter),所以我们发布论文的时候在里面提到了它在很多任务上面都有非常好的表现,基本上都是尖端水平的。包括比如自然语言处理 (NLP),自然语言理解 (NLU),自然语言生成的任务,PaLM都是当时发布的时候表现最好的。另外,我们在论文里面还写了PaLM,因为它的大容量它还顺带解锁了一些新的能力,比如你用一些prompt 就可以让PaLM 解释一些笑话,或者是让他做一些很复杂的任务,比如是推理任务。这些能力是之前的一些小模型所不能达到的。
它跟GPT-3的具体区别,GPT-3其实也是一个从左到右,decode only的 transformer base 的语言模型。可能最大的区别就是规模上的差异。GPT-3 是一个1750亿个参数的语言模型,所以GPT-3要小很多。具体到一些训练细节上的差异,两个模型还是有一些细微区别的。比如PaLM 的 training corpus(训练语料库) 跟GPT-3是不一样的。另外一个比较重要的是训练的时候让模型见过多少 token(元素),PaLM 跟 GPT-3也是不一样的。此外,PaLM和GPT-3是怎么做 tokenization (文本切分)的,这里面也有一些细微的区别。
Yiwen Li
GPT-3和GPT-2最大的区别是 decoder 后边的fine tuning(微调)任务,GPT-2是zero-shot(零次学习),准确率差;GPT-3里任务是one shot(一次学习),还有 few short learning (小样本学习)准确率上去了。是不是从这个角度来说,数据在 fine tuning 任务里面还是非常重要的,GPT-3 decoder generalization 的能力还是有限的? 另外,PaLM 在 decode以后,它怎么去处理各种不同的任务?
Xuezhi Wang
首先,fine tuning 跟few-shot 是不矛盾的,decoder pre-train(预训练)之后,都可以做 fine tuning,或者是做few-shot 或zero-shot。fine tuning 的好处就是如果你有一定的训练数据,你就可以 fine tune LLM,让LLM适应到你自己的具体的任务上面,它就可以在任务上面表现特别好。fine tuning 跟zero-shot 区别是假设你没有一个一定规模的训练数据集。比如你现在有一个新的任务,你完全没有任何数据,你希望用 LLLM去解决任务,你唯一可以做的就只有zero-shot 跟few-shot,你没有办法用 fine tuning 的方法。这是fine tuning跟zero-shot、few-shot的具体区别。
针对你第一个问题,你其实做fine tuning 或者zero-shot都是可以的,取决于你有没有 training set。GPT-2 跟 GPT-3 最大的区别就是当 GPT-3 的模型容积增长到1750亿个参数的时候,它有了 In-context learning 或者是 few-shot 的能力。就是你的模型容积在小的情况下,比如 GPT-2,或者是之前那些模型,比如 BERT ( Bidirectional Encoder Representations from Transformers) 或者 T5,当模型规模很小的情况下,他们是不拥有 zero-shot 或者 few-shot 的能力。所以在这些模型里,你基本上只能用 fine tuning的方法,才能在某一个任务上达到一个还可以的表现。
但是当GPT-3把模型规模增长到1750亿个参数的时候,这个模型自己就拥有了 in-context learning 或者 zero-shot 或 few-shot的能力。在这种情况下,你其实可以直接对大规模的语言模型做zero-shot 或者few-shot,你会发现它的表现其实可以很好。这个能力在小规模的模型上面是不太存在的。你在 GPT-2上面,你试zero-shot 或 few-shot,它的表现就会特别差,这个是小模型跟大模型能力上的基本区别。
Yiwen Li
可不可以理解为,in-context learning 是因为当你的前面decoder 足够大的时候,文本见过足够多,学到的representation 就足够多?
Xuezhi Wang
对这个事情到现在为止还没有一个特别全面的分析。但是有很多论文试着去解释in-context learning 的能力是怎么出来的。就有一个实证发现,当模型规模达到一定程度之后,也没有人发现它的分界线 到底在什么地方,它的 in-context learning 的能力就自己出来了。这也是 GPT-3 论文里的一部分。
有些论文把它解释成为一个类似于Bayesian inference (贝叶斯推断)的东西。首先模型规模足够大之后模型 在做 in-context learning 的时候,其实就是给它几个类似的例子,它就能从类似的例子里面推导出你要做的任务的pattern(规律)是什么。
Yiwen Li
GPT-3对 context 理解能力的增长的根本原因是什么,其实有很多理论,但是我没有看到特别简单的解释。之前,对语言的语义的理解, BERT 是强于GPT-2的。但是到了GPT-3以后,它对 context 的理解好像也不比 BERT差多少。因为GPT-3是一个文本预测器,在预测后面文本的时候,其实不知道后面的文本是什么,但是对context 的理解比 BERT 这样知道了文本前文本后所有信息的还要好,完全超出我的理解范畴。
Xuezhi Wang
对,很多论文试图解释到底encoder decoder 好还是decoder only 好,没有定论。其实encoder 跟decoder 没有什么太大区别,都是transformer base ,都是知识表达的一个方式。
BERT跟GPT-3比,首先,BERT 没有 in-context learning 的能力,GPT-3有。其次,BERT必须要进行 fine tuning, GPT-3很多任务不用进行 fine tuning,它就用few-shot或zero-shot其实就可以达到很好的效果。另外一个是 BERT 很小,GPT-3很大, GPT-3有1750亿个参数,BERT 都是百万级别的,所以这两个也不是可以比的。我觉得这可能是最大的区别。
为什么GPT-3比 BERT 在很多任务上能力要强很多?首先它体积更大,它有1750亿个参数,训练的时候见过的 token 也会更多。好比一个小孩子学东西,像 BERT 是只读过维基百科跟BookCorpus ,他有两个唯一的 pre training corpus, GPT-3读过网上更多语料库。哪个小孩最后的能力会更强,肯定是读过更多语料库的小孩更强。
Monica
各个公司都在推出自己的大模型,而且这些模型都在往越来越多的参数走。在增加参数的过程中,我会看到哪一些可能的挑战和瓶颈?另外,还有哪一些除了增加参数之外,还有哪些因素对于提高模型的能力有比较大的影响?
Xuezhi Wang
我觉得可能另外一个最重要的因素其实是去年一篇从Deepmind来的论文 Chinchilla,最重要的一个发现是用训练过程中见过的token数量取代增加模型参数。pre train训练到某一个点就停止,那个点可能并不是最优的点。同样的模型其他不变,继续训练,见过的 token 更多, 能力还是会继续增长的。在 论文 里面推了一个最优公式,对于每个模型 规模,建多少个 token 是最优的。也就是说,除了模型大小之外,你的模型在预训练中见过多少 token,这是一个非常重要的影响因素。
像我们PaLM 论文 其实也有类似,我们 4 月份发的论文 ,所有的模型,62B (620亿参数)的模型, 540B的模型,见过的token 规模 是一模一样的,都是接近于 0.8 万亿的token,去年大概 8 、9月份的时候,用Deepmind Chinchilla的方法,将 PaLM 通过continue pre-training, 见过的 token加倍。我们现在PaLM文章有一个附录Appendix,里面有一个模型叫PaLM trailer,PaLM trailer把62B的PaLM模型见过的token加倍,发现 62B 的PaLM模型在很多任务上表现甚至超过了 540B的模型。
因此,模型参数量固然是一个重要的影响因素,在预训练过程中见过的token数量也是很重要的影响因素。如果是比喻成一个小孩,他看书,你可能有个网络语料库,他是看了一半的语料库还是看了所有的语料库,他的语料库看了一遍还是看了两遍。其实对他最后的表现也是有很大影响。
02 参数和数据会成为模型能力瓶颈吗
Monica
未来两三年我们会看到越来越大的大型语言模型,还是说参数的增长其实已经到了一个瓶颈?
Xuezhi Wang
首先我觉得增加参数是一个简单的路线,很多人还是会走这条路,因为你永远不知道它的上限在哪,增加参数是个很简单的事,满足算力就可以了,所以很多人还是会继续的。
我不觉得现在模型参数量到了上限,GPT-4有可能是一个万亿级的模型。其次,从 Chinchilla 或者PaLM trella 的 表现,在模型 规模 之外,见过的 token 数,语料库 其实到现在还是没有饱和的。如果你的 语料库 变得更大,你模型 规模 自然也得增加,不然模型也记不住那么多的东西,所以我觉得参数规模增加应该是有一定空间的。
上限在哪现在也没有人知道,不过也有可能很快就有人知道。很多学者都说,即使我们有很大的网络语料库,但网络语料库训练的时候还是抽样过的,所以里面还是有很多细节知识,语言模型记得不是很好的,所以这里面还是有空间的。
Yizhou Zheng
我想把研究和产品稍微分开一点。从研究和模型建立的角度上来说,我完全同意增加参数是一条容易走走的路,而且可见的会有比较好的效果。但从部署上来说,PaLM或者GPT-3、GPT4 1000多亿的参数量,对于推理已经有一个比较高的成本了。更不要说我们还要再去增加参数量。即便是硬件在进步,架构在进步,但几千亿这样的参数量对于计算来说都会是一个很大的负担,包括各种部署,包括各个小的场景,如果想做fine tuning等等。在这样的参数量下面,任何的操作都会是一个很大的压力。
在不同的场景下面,从产品的角度上来说,大家确实会比较期待能看到一些更多的、更轻量的模型,可能几百亿,在现有的架构结构下面去做蒸馏 (Distill),是不是能够探索出更轻量的解决方案?虽然仍然要看大量训练数据,最终能够负责于部署的部分应该是足够轻量的。这样应用场景才能更好地成长起来,否则会有一个比较大的成本压力。
Bill Xing
很多人提到当前的 AI 是以数据为中心的机器学习 ,现在模型越来越大,学者也一直在探寻怎么解锁模型的新的能力。对于未来基础模型的发展,模型规模变大,会不会高质量的训练数据变成了一个比较大的瓶颈?
Xuezhi Wang
取决于你要拿模型去做什么。我们确实发现在有一些任务上数据的质量是非常重要的。在PaLM 里面,我们写过pre training 语料库 的选择。我们会倾向于首先选择一些高质量的数据,比如维基百科,BookCorpus,这些都是高质量的。我们会尽量地把所有的数据都包含进去。
其次,比如web 文件,像网上的文件,它们的质量比较参差不齐。我们会根据文件本身的质量去抽样。高质量的文件,我们可以会抽样得多一点,低质量的少一点。我们PaLM 的预训练语料库大概是这样决定的。质量好与坏很难保证。比如有些模型,想让它在比如对话这种能力上面表现特别好。你不得不选择一些对话式的数据。但对话式数据只能从 Redit 或者一些别的地方来。质量有些时候很难保证,所以不是你想要高质量的数据,在某个领域上就一定能拿到高质量的。
所以高质量当然非常重要。但是有时候网上数据数量也是有限的,也不是由我们可以随便控制的。
Yiwen Li
我可以插一句讲数据质量在计算机视觉上的观点。如果你的任务是计算机视觉,数据质量在我们看来,尤其在做产品的人看来,重要性是远远超过这个模型本身的。尤其是我之前在Landing AI 的时候,我们给制造行业做SaaS,做分类模型和分割模型。
我们刚刚开始做的时候是 2018 年,我们甚至把整个 CVPR 全部都扫了一遍,大部分引用次数高的模型全都用了一遍。我们还做了很多关于不同模型,同样数据的对比,以及同一个模型不同数据的对比,以及不同模型和不同数据的对比。最后的结论就是数据本身的质量以及数据的标注的质量,都对最后的结果产生了决定性的作用。
所以2019 年年初的时候,Andrew Ng (吴恩达)写了一篇文章,叫做 Data-centric AI,当时我们写那篇文章的最大原因就是在于数据,我们觉得数据是非常非常重要的。就像刚刚你解释GPT-2和GPT-3,in-context learning中很重要的一点是,fine tune 的 任务 里面除了 zero-shot 以外,有了 one-shot 和 few-shot。大部分的 zero-shot learning 的准确率在 30% 左右,但是 one-shot 的平均值居然达到了 40% 多,这一个数据点就是 30%- 50% 的提升,说明数据是很重要的。
Monica
如果以后每一个领域都这样,训练都只需要非常少的数据。是不是以后要去做一个非常具体场景的模型,成本其实是越来越低了?
Yiwen Li
有可能的,模型本身应该是通用模型,到最后不同的通用模型,在同样的特别高质量的数据面前,表现很有可能是类似的。我打个比方,我们原来在制造业上做分类的时候,一开始就用Resnet,因为 Resnet 是图片分类里面最通用的程序网络。后来发现, resnet的分类水平没有达到我们客户的要求,客户要求很高,可能 99% 以上的 准确率,不是60% ,50%。
我们一开始觉得是不是有一个特殊的模型可以达到它,所以我们试了很多,跟 Resnet类似,但是又跟它不一样的模型。但是我们发现,可能有高有低,但是大家都在一个水平线上。直到有一天我们拿到了标注质量特别高的模型数据,所有模型的准确率都上升了一个台阶。最后我们问自己,是模型厉害还是数据厉害,结论还是数据更厉害。所以吴老师提了两个概念,一个是以数据为中心的AI,第二个是小数据机器学习,他所说的小数据并不是我们不需要特别多的数据,而是第一我们的数据要质量特别高。
第二我们的数据需要平衡。其实跟大型语言模型里面tokenization 是类似的。如果能在一个高位空间对一些特有意思的重要的feature 做很好的数学表述,数据的质量也是足够好的,你的所有相关的 vision上面的任务质量应该会很高的。
Yizhou Zheng
如果从生成模型角度上来说,其实我们现在的经验是,一开始在 pre train 阶段能看到的数据量以及它的丰富程度是非常重要的。第一阶段量会比质更重要。当然必须要满足一点最基础的要求,比如文本和图片需要对齐,这一部分的质量要求高的。但对于图片本身的质量,我们指的质量是美学的质量,或者有一个图片质量评分的系统,它的清晰度等等。这一部分不需要特别的高,在 pre train 的阶段,但需要尽量的多,这样能够给图片生成模型里面负责Semantic,负责 language 的部分更多的输入。在这样生成的一个基础模型,我们对它进行 fine tune 的时候,切换成美学评分高的数据集,量可以小很多。通过这样的方法,能够让它在生成更多内容的同时,对语义理解更好的同时,生成的质量也更高一些。
包括对一些特定的领域,比如大家现在看到的一些像dreambooth 这样的应用,或者是一些其他的 fine tune 之类的应用。基于一个我们已经训练好的通用的图像生成模型想要扭转到某一个领域里面,其实需要的时间是非常短的。现在比较好的方法,可能几十分钟就能在一个消费级 GPU 上做 fine tune,把一个通用的图像生成模型扭转到扭转成一个特定的领域的图像生成模型。
前提是没有给它植入新的概念,植入新的概念需要时间更长一些,从这个角度上来说,图片生成模型需要图片文本对质量好,但图片质量本身不需要太高。像 CLIP 的这篇文章的贡献很大一部分就是,这种比较稍微宽松对齐的文本对,也可以训练出很好的模型。在特定的领域以及我们最终训练高质量模型的时候,数据质量对于后面的部分是非常非常重要的。
03 如何理解Stability AI基于开源的竞争力
Monica
我们刚才聊了很多大型语言模型的话题,正好 Yizhou可以给大家简单做一个介绍,文生图背后大致的原理是怎么样的。
Yizhou Zheng
Stable Diffusion 刚才大家聊的时候提到它是一个降噪的模型,但是它是一个有条件的降噪,前面会有一个小的语言模型,我们叫文本编码器,文本编码器负责把文本转化成计算机能够理解的一堆embeddings,或者我们叫 hidden states。我们把语言文本编码成计算机能够理解的embeddings 以后,我们把它放到一个单元里面。单元负责的是基于文本完成一系列的降噪过程,从根据文本生成相对噪音比较低的图片,再一级一级把它生成出一个完整的图片。但这个图片目前还不是人眼可以理解的,目前是一个在计算机中的表示。我们还有一个VAE在后面,通过 VAE 再把这一个计算机表示的图片转成人能够理解的 RGB 图片。简而言之就是给一段文本,经过几秒钟的时间,它可以生成一个跟你的文本描述尽量相似的图。
Monica
除了 Stable Diffusion 之外, OpenAI 的DALL-E, midjourney 等等文生图的模型的差异是什么?
Yizhou Zheng
Stable Diffusion 跟 latent diffusion, CLIP guided diffusion,DALLE-2 这一系列模型主要有三个区别。
二是它的生成的部分。我们的 target不一样。我们 target不是生成精确度尽量高的图片,而是生成感知效果尽量好的图片。这样生成的图片,我们 fine tune 完了以后,如果从数值上去评估它,降噪能力可能是不如一个特别通用的模型的。但从感知的效果上来,从生产出可用的图片的效果上来说,它的效果是更好的。
还有一点是社区。在 Stable Diffusion 训练的过程中,以及后面的这些应用的过程中,有大量的不同的开发者来参与,让应用成长得非常非常的快。这一部分也是让 Stable Diffusion能够被很多的消费者用起来。像有WebUI,InvokeUI 这样部署到本地的。国内外都有很多厂商部署了基于 Stable Diffusion的服务。让大家能够看到这样的图片模型到底能够做到些什么。当然也跟模型的规模本身比较小,几百million,加上文本encoder也就 1 billion 这样的规模有关,大家都可以比较轻量地推理起来,成本也很低。
这是从学术的角度上来说,DALL-E 对领域来说是个非常大的贡献,包括一开始的论文,后面发布出来的服务。其实给文生图领域设置的一个是标杆。因为我们很多的工作其实都是由达拉一的这篇论文引领的。后面diffusion 的部分,OpenAI 之前也发过一篇关于 diffusion模型的论文,这也是我们很多工作的基础。
从产品角度上来说, DALL-E 1 和 2 给大家了非常大的一个冲击,可以有产品做成这样的事情。但它没有做到的是什么?因为 API 是封闭的。封闭的 API 其实对于二次开发来说是有一定的限制的。虽然我们可以在上面去做二次开发,但是二次开发大家可能会有很多担心。比如最经典的,最近出现了一个case, Jasper 基于GPT-3开发出了API以后, OpenAI 出了ChatGPT,我怎么办的问题。但自己如果是开源的模型,大家不会有担忧,这是一。
另外,其实对于技术的理解,基于API去做,与你自己拿到模型,自己去看里面的代码还是不一样的。比如像Dreambooth 这样的应用,后面很多把一些曾经语言模型的方法放到图像模型,像 LoRA 这些应用,如果只是在 API level,可能不会有很多开发者来参与的。这些应用可能出来更晚一些。像我们这样一个开放的模型,大家可能会比较快的可以参与。
说回这几个产品的区别。DALL-E是一个相对封闭的API,它带起了一波浪潮,影响已经非常大了,我们要承认这一点。它是文生图里面的一个非常重要的,里程碑式的应用。现在大家为什么社区对他没有那么喜欢,或者个人消费者对他没有那么喜欢,因为他生成的图片的风格更倾向于更一本正经。它可能缺少一些艺术的、疯狂的元素在里面。它会比较传统一些。
从社区和个人消费者和创作者的感知上来说,没有那么好。但他对设计师以及一些实际的图片工作者来说可能是一个不错的模型。跟它正相对的是Midjourney。Midjourney 的意义是什么?Midjourney 它是一个社区,它具有大量的创意工作者,大量的个人消费者,对于这个领域感兴趣的人,可能开发者没有那么多。它更多的是一个以创作者为核心的社区,单纯从模型的能力上来说,跟DALL-2 和 Stable Diffusion差别有很大吗?可能没有很大,但它生成图片的质量,以及你需要去跟图模型交互的方式是非常简单的。你需要一个短提示, Stable Diffusion大家可能知道所谓的咒语或者长提示。你需要几十个词去引导它,让它生成一张非常非常接近你的描述。你可以非常精确地去控制生成质量也很不错的一个图片,但是你需要付出一些努力。
Midjourney 的特点,特别是往现在它从 V3 走到现在的V4。很大的一个特点是你不需要去做这件事情,你需要一个非常短的几个词,可以生成一张图,非常好看的图。这张图的构图是好的,会有一定的美感,并且有Midjourney 自己的风格印记在里面。它是一个很好的 ToC 端的或者是 to 创意者的一个应用,非常容易控制,可用易用,效果也好。有很好的社区围绕在这里。你每天在社区里面,可以看到大家做出很多好玩的图来。
Stable Diffusion 介于上面两个产品之间。它是一个基础模型,我们做了一些东西,但是没有特别的在易用性或者领域特征。你可以去拿它生成 photo,你也可以拿它去生成 Midjourney 这样的艺术图片,但是你可能需要付出一些精力。不管是fine tune 也好,还是需要用一些长提示的方式去训练它也好。它像瑞士军刀一样的。什么事情都可以做,但每件事情可能暂时都不如领域的专业工具的。你想把它在某一个领域做得特别好,就需要做一些比如 fine tuning 或者 prompt的事情。但基于它就可以有很多不同的应用,像Dreambooth。
现在可能有成千上万的大家已经 fine tune 过的模型。有一个特别有意思的应用是把它fine tune到了一个声音。我们声音其实是波形,它把波形fine tune到了生成的图片里面,所以你生成出来的是一张 wave 的图。再把声音图拿去播放 ,把Stable Diffusion 直接转成了一个音频生成模型。有人做了这件事情,而且成功了很有意思,效果还不错。但是它只能是短的,因为它图很小。但这一类的应用,DALL-E和midjourney是做不到的。因为一是还没有开源,二是即便开源了,它这个模型本身可能也已经是一个heavily tune 这种非常有设计风格图片的模型。
Stable Diffusion 是一个相对开放的,更基础的模型。所以这三个的区别主要在于这一点。Midjourney 可能风格化会更明显一些,更像一个产品。
Monica
对于开源的模式不是很了解的同学,可否介绍一下Stability AI 这种基于开源的商业模式是怎么样的?相比于直接提供API的做法,有什么优缺点?
Yizhou Zheng
开源可以让一个领域快速成长的一个很好的路径。Stable Diffusion 验证了这一点。之前有非常多的东西验证这件不管从0 也好,还是一些我们现在看到很多数据库应用也好。开源是让一个技术普及的一个非常重要的方式,也是让领域能有更多人开发贡献,去让更多应用成长起来,让领域快速推进的一个方式。
说到商业模式,其实开源商业化也不是一个新的话题了。大家对于开源商业化有各种不同的讨论。从一个现在正在做开源,或者把自己的主要能力全部投入开源的一个角度上来讲,它的好处是明显的。坏处可能也比较明显,我的商业化没有那么直接,我不能说像卖一个封闭的API,我有明确的竞争优势,我的模型比你强,API 卖得比你贵, API 卖得比你好,你没有办法。这样对于公司的商业化能力会有更多的要求。
要分成两个部分,基础模型的部分,我需要比其他的基础模型提供更大的吸引力。可能来自于不同的地方,你有更低的成本,我的 API 比你便宜,我的架构做得好。另外,围绕模型能够提供更好的服务,研究走的更往前。而且,模型开源了,也不代表围绕模型的所有内容都会开源,还是会有一些 know how 在里面的。最后,基于我们能够训练出这些模型的,已经有追踪记录的能力。训练模型的能力本身我们拿去商业化,比如给企业,给一些大型的创意公司,或者给一些互联网服务商等等,去做定制化的模型。基于一些私有数据去做模型的训练,这一部分肯定是没有办法开源的。毕竟我们这开源的项目有追踪记录,大家也知道这个东西确实可以用起来。开源项目已经被证明过了,是不是后面去做合作也会更顺利一些。
它会跟闭源的商业逻辑非常不一样,但同时也是一个之前被验证过的商业逻辑。但是它从基础模型领域,这样的一个商业逻辑到底可以走多远?还是一个正在探索的一个话题。
Monica
其实开源在像数据库之类的数据产品上也有相对成熟的商业模式了,也走出了MongoDB等上市公司。但基于开源的这种AI的商业其实还是比较少的。Yiwen 在科技大厂做机器学习的产品经理,也是经历过上一波 AI热潮的人。你怎么看待 AI 的商业模式的设计?
Yiwen Li
对,我的观点比较鲜明,某些人看来可能会比较偏激。所以我希望大家都持保留态度。首先我要从模型的角度来说,我非常赞同Stability AI 的决定,就是把模型开源。我有一些 OpenAI的朋友跟我讲过一些数据,DALL-E刚出来的时候是非常火的。但是一旦Stability AI 出来以后,今天已经没有人讲DALL-E,我们从产品的角度来想想,其实是不难理解的。今天这一代以denoising diffusion 为主的这套方法,它的演进是非常快的。这是第一点。
第二点,其实生成式AI ,图片生成这一块,它的 problem space 是什么样子的,没有人知道。它定义得非常不好,大家全部都在探索中。你说什么样的problem space 是有意义的、重大的、值得投资人去投资,或者值得企业家去创业的。
我最近两个月AIGC的公司看了有两三百家,图片和语言可能各占一半,可能图片稍微多一点,我基本上很难看到,我能满意的problem space definition 可能也就只有不到 10 家公司,哪怕这 10 家公司,只是我觉得他们的定义还可以,但以我自己有限的见识来说,我们也不一定都是对的。既然 1)不知道你的 problem space 是什么,正确的 promise space 是什么,2)你也不知道现在 solution space 是不是最佳的。我打个比方,刚才 Yizhou 我觉得很赞同的一点,就是 Midjourney 和 DALL-E和 Stability AI,他们的目标是不一样的,也就是他们心中认为的生成式AI 产品的 problem space 的理解是不一样的。
现在最需要的是什么?是更多的人来试图理解它。我认为一个开源的环境能够很容易地建立生态。你看现在Stability AI 建立的开发者生态和DALL-E的开发者生态。说句不客气的,后者可能会比Stability它的活跃度要差很多。我觉得这是Stability的优势。
这是第一点,第二点看AI SaaS 1. 0 的公司,里面我们有一个最大的认识就是没有人能在模型上挣钱。我没听说Resnet 在 Facebook 做了一个 Resnet API,然后拿出去卖钱。这不可能的,没有人会买。也没有人通过开源某一个模型挣钱。Google 有一篇文章,叫做 Hidden Technical Debt in Machine Learning Systems。他会讲做一个整个 MLOps 的系统,里面会有模型 的工作,只占用5%,其他全部是 hidden technical debt of ML system。那篇文章对我的影响非常大,它里面就讲你从第一张图片,你得用第一个数据点进来,到最后你把你的模型部署出去,再做monitoring,retrain,这些才是一个真正的商业机器学习系统的一个端到端的流程。
其实当我看到这篇文章的时候,第一件事情想到的就是以前Linux 的核心作者,他讲过的一句话,他说你也可以把模型看成 piece of code, a piece of code 它只有所谓的商业价值,或者叫交换价值。今天我有这个模型,我有这段代码,你没有,我们一锤子买卖,我 10 块钱卖给你。50 年前软件行业就是这么做的。但是现在,如果往未来看,所有的软件背后都代表了服务。所以你未来的所谓的commercial value,你的交易价值几乎一定是趋向于 0 的。你的软件背后包含的服务价值一定是越来越高的。
所以我认为开源对于每一种模型来讲,每一类的模型来讲,应该来说都是有利的。一旦你开源了以后,当你的生态系统里面的人,或者包括你自己,对problem space 有了新的理解,有了对solution space 有新的理解。你想改你的模型的架构,或者你想优化你的模型在某些地方的部署,在服务里面的优化,这些事情它发生的效率会远远高于一个闭源的系统。
打个比方,如果DALL-E的产品方向是错的,没有人用,它改就它们公司的人改。假设 Stability 现在的Stable-Diffusion-Inpainting 2.0,它最多是 768* 768 的输出(随便假设一个),但是这个模型对艺术美工非常重要,一堆做美工的人觉得它很有用,但是这些人需要的另一种分辨率的图片。这些人自己就会想办法把这个模型改成响应的分辨率,而不需要Stability自己去改。一个客户去找Stability来改这个输出,他可能付不起钱。所以我觉得生态还是挺重要的。
另外,其实因为我自己也投过一些开源的公司,我觉得开源的公司其实完全不缺商业模式,你最基础的,你就走 Linux模型就可以了, subscription模型,就走Red Hat的模型 就行了。你可以有很多很多,就像刚才 Yizhou说的,你可以加任何的增值服务,可能都是非常有价值的。现在ChatGPT现在非常火,但是如果有一个跟ChatGPT一样好的开源模型出现了以后,我个人感觉后面形成的生态,甚至可能会比今天ChatGPT要更火。
04 基于AI会形成类似iOS vs 安卓的生态吗?
Monica
上一波的AI热潮中,并没有看到成功的 AI 开源公司跑出来。如果这次我们预期会有不一样,是什么原因使得这个商业模式变的可行呢?
Yiwen Li
我自己有一个理论提出来供大家参考。ChatGPT,它已经开始提供有偿服务了。GPT-3肯定它也有商业版或者专业版的API服务。它之所以会有很高的人气,有两个原因,第一个它没有开源账号,第二个就是它的模型训练比较贵。GPT-3的模型训练已经比较贵了,大概 100- 200 万美金。但是如果你往前看到了GPT4,我听说它的最开始的模型有100万亿参数,训练成本可能在千万美金级别。
如果我们做一个假设,GPT4可能 2023 年底出来。我们打个比方,到了GPT-5出来的时候,它的训练成本会不会上亿美金?假设它接近上亿。这个时候你就会发现这样一种服务,可能只有像FANG这样的公司有这样的财力去稳定的提供了。可能在这个时候,可能GPT这种类型的服务,已经不是初创企业可以去参与的了。
Yizhou Zheng
刚才Yiwen提到的模型本身的训练成本,这是很重要的因素。稍微说得多一点,如果下一代的商业模式是闭源,个人开发者会变得更痛,因为他去从 0 开始复制 Stable Diffusion 或者是DALL-E所需要的成本,跟从零开始复制一个 YOLO 的成本是完全不一样的。YOLO 姑且我还是能做的,但到了 Stable Diffusion 这个级别,虽然我们在不停地把成本压下来,最后可能降到九十万美元多一点,几十万美元。但这个成本对于创业者和个人开发者来说都是个很大的负担。API和开源基础模型的意义就变得非常的明显,这只是一个方面,刚才这是成本方面。
另外一个我想说一下 domain的不一样。上一代的模型都会有一个特点,我们离直接的消费场景,直接的应用场景我们先不说,工业领域有非常多的应用,安防应用等等,但直接感知的消费场景都比较远,除了大家可能感知到智能音箱是上一波某一种 AI 突然走进 c 端,智能音箱扫地机器人,从音频、视频以语音识别语义到CV 的等等的这些应用都藏在这些东西里面,但模型本身离消费场景还是比较远。
在 Stable Diffusion 之前,我们没有听过是爱好者为了用这个模型,会想方设法的去学Python,或者想方设法至少搞明白这些 checkpoint 怎么回事。这个领域走到 c 端了以后,应用场景是指数级的增长,就给卖 AI 这件事情带来了一些可能性。相对于上一代而言,直接做商业化的希望要大一些。
Bill Xing
我有一个关于开源、闭源、商业生态相关的问题。因为当前的foundation模型还是仅仅提供 API 的服务,对于客户来说切换成本还是比较低的。未来不管是开源还是闭源的foundation模型提供商,有没有机会去形成像安卓还是 iOS 的生态平台,通过提供更多的更重的开发接口,还有相关的开发者的产品,真正的提高切换成本,真正的让更多的高质量的用户形成商业上的粘性?这样的平台生态,在工程上还有产品上应该如何实现?
Yiwen Li
个人是不太认为能做成基础的操作系统, hidden technical debt 有 95% 跟模型是没有关系的,和iOS的类比也不是特别的恰当。
ios强是因为开发速度和用户收入,用大白话说就是,你花多少钱,你能收到多少钱。安卓和 iOS 上相比,你会发现 iOS 的开发速度是最快的,开发者 developer 的费用是最低的,它的收入又是最好的。苹果其实是不太会做游戏的,但是一个 game studio,一套代码可以几乎把所有的最新的七八个ios 设备全部都覆盖到,完全不需要重复开发,它在上面的收入却远远高于安卓,而安卓是每个设备都要重新开发。
如果 OpenAI要去引领一个所谓的操作系统,它给开发者提供了什么样的价值?给他的回报在哪里?给他的开发速度在哪里?我感觉 OpenAI没有任何的思考,所以我觉得没有办法去判断他是否能做出类似于操作系统这样的生态系统。
Yizhou Zheng
我也比较同意这一点。我们没有办法拿一个大模型来解决所有的问题,就算以后语言模型大一统, GPT 4、GPT5能够走到一个真的非常贴近于AGI的这种文本交互的体验。但它离生产环境还是远的。我们需要的是一个能够囊括从产品设计到跟用户的交互,到后面需要跟上的人工服务的一整套体系,我们很难说以一个模型来支撑这一件事,虽然模型在里边是一个非常重要的部分。我感觉这相比于一个底层的操作系统,它可能更像是一个平台的提供商,甚至有可能像一个咨询机构的感觉,去给不同的行业不同的产品解决这部分问题。产品对它的依赖不在于它的平台的能力,它也很难支撑整个入口。从提供能力的这部分,我不怀疑它可能会被植入到非常非常多的产品里面。
Yiwen Li
我自己个人觉得它最可能的是成为PaaS服务的一部分。比如AWS里面有一种AI呼叫中心服务,这里面就是自动语音识别加上NLP。后端怎么做的?肯定是EC2来服务。打个比方, 服务了BERT,又服务了了一个 Conformer模型。对于开发呼叫中心应用的开发者来说,它需要去配置正确的BERT版本,再配置正确的EC2 instance,你是要8个AMD,还是要Nvidia,这才是问题最关键的地方。
当然,如果我们能做出一个像GPT这样通用的语言模型,它可以把自然语言处理还有其他一堆任务都给统一了,那这一个模型就满足了。这个时候,就不需要去让开发者来配置了,AWS可以直接往上面搁一个开源版的,比如GPT x。你不需要选 EC2了,你直接配置模型就好了。这样开发者的开发速度得到提升,它的成本也可能得到降低。因为在这个时候,你把它抽象出来了以后,你把API抽象出来了以后,你下面的硬件怎么选择?肯定是哪种硬件便宜。这个时候你可以有你自己的目标,你可能要QOS去优化QOS,你也可能要优化成本,它自动就给你优化了。这个时候它可能就会成为PaaS服务的一部分。我觉得这个是很有价值的。
Monica
所以OpenAI自己做不成,但是它有Microsoft。AWS跟Stability AI也有很紧密的合作,最近其实Microsoft跟OpenAI的合作也引起了大家的注意,Microsoft在几年前就已经在OpenAI上投资了10亿美金,最近又追加100 亿美金的投资,加起来110亿美金的投资。拿回投资本金之前,它可以分到OpenAI 75%的利润。
我们经常有个经典的说法,就是创业公司跟传统巨头的比拼,就在于传统巨头在实现创新之前,初创企业能不能够解决好自己渠道的问题。比方上一波AI,我们没有看到任何用AI来做药物研发的公司,但是现在几乎所有的做药物研发的传统公司,其实都已经多多少少应用上了AI。所以对AI创业公司接下来要如何做出护城河,还是一个挺值得关注的事情。
05 LLM的技术边界,多模态如何突破?
Monica
好刚才其实我们讲了很多有关商业模式的事情,下一步到底是什么?有两个方面,一个是科学研究突破,一方面是工程化提升。从研究层面来说,我们现在的这一些尝试还有哪一些限制?它基于现在基础模型的这种逻辑,通过一些优化和微调,可以达到怎么样的一个天花板?
Xuezhi Wang
因为我个人的研究方向是偏自然语言推理,我们去年一年的研究也表明,现在大语言模型虽然在很多自然语言处理的任务上面的表现非常好,但是你如果给它一些更加有挑战性的任务,它的表现还是不够令人满意的,比如像推理这种比较复杂的任务。Type one有一些 任务 你是需要快速反应的,我问你这个问题,你立马就能答出答案。这些任务上面来的语言模型已经做得很好了。另外一边就是Type two。比如我问你一个数学问题,或问你一个微积分问题,你可能要想很久,或者你要很清楚的逻辑思考把这个结果给推出来。像这种问题,现在大型语言模型做的还是比较差的。所以在很多的这些更具挑战性或者更加复杂的任务上面,大型语言模型还有提升空间。这也就是我之前说现在还是有增加参数的空间,因为我们现在并不知道上限在哪。
另外像ChatGPT,它的准确性其实并不是特别好。比如你问他一些问题,他会给你一个看上去非常令人信服的答案,但是有时候这个答案可能是胡编乱造的,背后并没有证据支持。你作为一个人类,你看这个答案就知道里面有一些逻辑可能是错的,或者里面有一些事实是胡编乱造的。这个可能也是一个将来需要提升的东西。
还有一个是安全性的方面,如何保证这些生成出来的东西是安全的?会不会对任何一个种族产生偏见?因为现在这些大型语言模型生成的东西完全是根据他们的训练分布(Training distribution)来的。
在现在这个世界上,训练分布本身是带有一定的偏见的,所以相应而来的这些模型也自然会在生成过程中带着这些偏见。
Monica
你前面提到那两点,对于现在模型还比较有挑战性的,你觉得现在我们通过一些微调可以实现,还是我们可能需要下一个类似于Transformer或者Attention模型 这一些比较基础的突破才能够去解决?
Xuezhi Wang
我觉得同时需要两方面的努力。一方面是在基础模型上面需要一定的突破,另外一边是在基础模型之上,我们如何用一些更新颖的技术能够解锁这些模型在这些事情上的能力。
首先基础模型,我们发现规模还是非常重要的。基础模型本身的性能是非常重要的。比如你拿一些小的模型,你在上面叠再多炫酷的技术,其实有些时候还是解决不了那些非常难的任务。所以基础模型本身的能力是非常重要的。这个是模型规模(Scale)可以解决的,另外一方面就是如果你在上面再运用一些炫酷的技术。
其实我们去年写了一些论文,比如 Chain of Thoughts,解锁模型推理的一个方法。如果没有train of sort,即使是再好的模型,我们当时试了一个数学推理任务,大概是初中数学题的样子。我们当时用PaLM 540B的模型,规模已经很大了,但是如果直接做Fewer shot learning,它的表现其实大概只有20%不到的准确率,它只能做的1/ 5的问题。但是用了我们train of sort的技术,是一个更复杂Prompting的方法,我们就可以把表 提到大概60%的准确率。所以一边是基础模型本身的能力,另外一边是你如何在上面做一些更加新颖的技术,解锁这些能力。
Yiwen Li
我很赞同Xuezhi说的这几个方面,尤其是今天的ChatGPT,它对事实的理解是很有限的。你问为什么5比10大, ChatGPT就会写上200字给你论证一下为什么5比10大。我们会发现很多事实他都不太清楚。
还有一个很有意思的地方,就是对文献的引用,比如我读了文献以后,看起来它的训练集应该是从网上爬来的。有维基百科这样的高质量数据,也有Reddit这种很复杂的数据。它对唐诗的理解是很糟糕的,你会发现他连唐诗三百首都没有背过。比如我引用了李商隐的诗,他跟我说这是杜甫的。这是杜甫哪首诗?你会发现杜甫根本没写过,那首诗的名字和诗都是他自己编的。所以他在事实上面是有问题的。
但是我不知道GPT4会不会在这上面有解决的方案,这个可能是拭目以待的。另外一个方面,在对话上它不太能够理解提问者的问题,它引入了很少量的单轮次对话的数据。你问他一个问题,你对他的回答不满意,你说比如我说我明天要去纽约,你告诉我纽约最好的中餐馆是哪一家,他会给你一个没有太有帮助的回答。这个时候你再去追问的时候,你会发现他完全找不到主题了。
GPT4在做一些补救,它的补救方法是新出的对话应用,你可以不停地和ChatGPT聊天。当你不停地和他聊天的时候,他可以拿到对话信息,把这些对话的信息数据拿去做训练,提高多轮次对话的性能。但是我不知道他自己GPT-3的架构设计里面,它是不是能够把这些上下文都学到。但是我希望它能够把多轮对话的上下文学得更透彻一些。
更新:关于这一块,OpenAI Co-founder 首席科学家 Illya Suskever 在这篇访谈中透露了他认为可以如何用 Reinforcement Learning from Human Feedback (RLHF) 解决。
Bill Xing
关于大模型能力提升的问题,现在ChatGPT对于中文的文本的生成还是有非常多的问题,这样的问题能不能通过训练更多的相关数据,得到比较好的解决?第二点,我也听到很多基础模型通过训练GitHub上的代码数据,明显地提升了对于自然语言的推理能力。我想这也是模型迁移学习的一部分。未来当大模型其实学到更多多模态的数据之后,能不能够对其他的模型的基础能力项也有明显的提升?
Xuezhi Wang
这是个很好的问题。首先第一个问题,你说如果中文这个是多语种的问题,我不太确定GPT-3或者ChatGPT在 预训练模型里中文占的比例是多少。但是根据现在大模型的所有预训练分布来看,英文肯定是主要的,其他语言基本上是占比较小的比例的。所以我猜中文在里面占的比应该比较少。
如果想让ChatGPT在中文上面能力更好,或者任何其他大模型的中文或者其他语言能力更好,可以让预训练时间可以更长一点,让他在基本概念语料(corpus)上面能适应得更好一点。
我们当时看了一下,大概是因为 GitHub上面的很多code其实提升了模型操控“符号”的能力。代码你可以想象成是很多符号的一个,你需要很清晰的逻辑,把那些符号操控好,这样才能得出最后正确的答案。
未来如果加其他新的模态的数据,这个模型是可以提升其他模态能力的。比如其实Deepmind已经有篇论文叫Flamingo, Flamingo里面其实有多模态,它既有视觉数据,也有文本,可以把视觉跟文本结合起来。比如这个图片是哪个城市,图片里面比如有很多车或者很多高楼,可能是纽约或者什么。你在训练当中如果能加模型,是同时可以有多模态能力的。还有你最后一个问题说这些模态是否会相互帮助,我觉得是很有可能的。如果能在模型训练当中把这些模态都加进去,让他们交互能够最大化。其实是能够让这些模态互相进行帮助,让模型整体的能力得到更大提升的。这个也是我觉得现在很前沿的一个方向,很多公司其实也都在研究。
Bill Xing
其实就引申出了一个很重要的对未来的预期。比如开源的模型,其实它在文生图效果很好,大家用的数量其实比DALL-E要多的。会不会未来几年这些大厂的闭源模型,因为训练了更多维度的数据,他们有更大的参数,所以他们可能在长线上,在某个特定领域还是会比开源模型效果好?
Xuezhi Wang
Monica
图片生成这一块,你现在看到还有什么你觉得可能的限制和未来的主要提升的方向?
Yizhou Zheng
我们对模型的能力限制,现在还是有一个比较明确的理解的,我打一个比方,一个甲方想给他沟通清楚,我想把什么东西画出来,要经过几轮交互,要花多少时间?你只用77 个单词想给模型描述清楚是不现实的,沟通的带宽是不够的,怎么提升?需要不同的模型,不同条件和方式。
这个不能说有很明确的研究进展,因为怎么做大家是清楚的,只是需要花一些时间,有一些knowhow的问题可能需要去解决。这是一个明确的短期方向。长期来看,在多模态这件事情上面,我们现在的图片模型上面用的语言能力其实是非常低的。低到什么程度?我们的语言模型几亿或十亿多一点,跟我们动辄上千亿的大模型来说,其实差得非常非常的多。
提升模型的语言能力也已经被验证了,是一个让模型生成能力提升得非常好的方法。但有阈值,由它提升到某一个领域,某一个瓶颈之后,再往上可能就会比较难。怎么能让模型的语言能力变得更强,乃至这种以多模态的方式去做图片的生成效果变得更好,这也是一个方向。但这是图片部分。往后说,其实扩展模态是比较重要的一件事情。像大家短期的视频模型, 3D模型,应该都是会在2023年发生的事情。2023年大家会看到一些基础的视频和3D模型出来,有一些应该也会被开源。这一部分希望能从这个领域去看,怎么去推进更多应用场景的探索。
Monica
Sam Altman其实也很多次的提到,接下来多模态应该是它们发展的主攻方向。多模态为什么对于进一步的提升那么重要?
Xuezhi Wang
首先它为什么重要?我觉得类比人类的学习,首先现在单模态模型是比较容易训练的,比如你只训练一个语言模型或只训练一个视觉模型,它的输入非常固定,你可以用一个同样的编码器去编码所有的信息,就是因为它的输入输出是一致的。如果多模态,可能最大的难点就是你怎么把不同的模态对齐起来,能够让他们之间的交互最大化。
我觉得这个东西是非常有前景的,比如你小孩子的时候,如果只读书,你学到的知识是有限的。但是如果你同时见到了图像或者声音或者是视频,你其实是这些模态之间是互相可以有交互的,提高你对每一个模态的理解能力的。比如你读书,你比如想做空间上面的推理,比如向前走了 5 步,你再向右走了 5 步,你现在在哪个方向。你读书,在你看来它只是一些文本,其实你如果没有眼睛,你是不知道这个东西具体对应的是什么,但是你同时如果看到了图片,或者你在你真的移动过,你知道文本其实它对应的比如是图片上的一个向前向右的斜方向的。所以你如果在这些模态之间,如果互相能学到交互的东西,它是能互相加强,提高你对每一个模态的理解能力的。
这非常重要,因为将来可以解锁很多别的能力,比如自动驾驶,你用一个语言模型或者单用一个视觉模型很难解决,你想你人之所以比如能开车开得这么好,是因为你在多年的经验之间,中间你学会了比如符号对应着什么,比如这个词对应着什么?这里面你看到的东西是什么?你从这些多模态的交互当中,你学到了一些东西,你才能推理,你才能更好地进行应对。所以这是为什么其实很多公司现在也在往这个方向发展。
如何能引进多模态?其实单模态大家其实现在这条路已经走得差不多到上限了,其实很多人都觉得下一个很有前景的方向是把多模态结合在一起,让这些多模态互相之间能够交互,能够最大化。它最后学到的东西就是你这个人对于这个世界的整体把握的能力。
Monica
要真正去做好多模态主要核心的难点在哪?
Xuezhi Wang
单模态其实只要一个解码器就够了,它所有的输入都是一致的,用同一个标识(Tokenization)同一个解码器,就可以解出来一个统一的标识。但是如果多模态非常棘手,因为会经过一个文本解码器变成一个标识,图像会经过一个图像解码器变成一个图像标识,这些东西怎么能对应在一起,怎么互相让他们交互,交互能够最大化,这些都是非常难的。
之前Flamingo那篇论文用了一个比较好的方法叫“Interleave”,就是把文本跟图像互相插在一起,比如一个图像下面跟着一个文本,一个文本后面再跟着一个图像,后面再跟着一个文本。它是先把图像通过一个图像解码到一个标识,再用一个语言模型去把文本解码到另外一个文本的空间,通过这种交错的方式去训练模型,最后让模型能够生成一个合理的文本。
06 LLM产品化,需要怎样的工具生态
Monica
当我们想到“下一步”是什么,一方面是我们刚才讨论的科学研究层面需要哪一些提升。我们也很重视实际落地的场景,比如如何降低推理的成本,如何基于生成式模型开发应用。从工具的角度,还有哪些比较有挑战的地方?以后像Stability.AI这种提供模型 的公司,会提供怎样新的工具链?
Yizhou Zheng
我先从现在的工具链来说,从模型开发角度上来说,可能还好,因为其实跟研究现在的习惯有很多是对应的。但是从部署的角度上来说,现在工具链确实还是有一些问题的。特别是如果要“fine-tune”,特别是针对终端场景的“fine-tune”,我有必要去完全的理解模型里边每一层在做什么。我有必要在这个框架下面重新去运行一个完整的训练任务,似乎不用这个东西,可以变得更简单。
现在有一些开源的方案是我给你包含到Web GUI里面,在GUI里面做这件事情,也不一定是最终解决方案。针对各个场景的“fine-tune”,是不是应该有更简单的工具和服务,我们的答案是是,如果是,我们要做什么?这是我们正在探索的事情。
Monica
你现在看到的工具链上有什么需要解决的痛点?
Yizhou Zheng 01:46:42
我们现在最直接的其实是API, 现在也在有不同层次的API,这其实是工具链的一部分。再往后的,作为我们现在正在做的基础模型直接的下一个环节的工具,可能是比较重要的一件事情。但没有一个具体的答案。
Yiwen Li
可以说一下我们之前的应用,那种中型的,比较小的模型。另外一方面大模型的应用可能刚刚开始,所以我可能有一些猜测,小模型在边缘端,比如IoT、车载等,它一直属于资源受限的这么一个环境。主要的大部分不是算力的限制,而是内存的限制。你的模型在承载数据的时候,你总会达到内存上限。一般来说,算力可能是一个更小的问题。最后怎么去解决矛盾,其实已经开始有很多公司试图解决这类的问题。比如把模型裁剪一下,把数据类型改一下。从IP 16 改到 INT 8,还可以再做实验,从INT 16 到INT 8,看看机器学习质量下降了多少, INT 8 到 INT4质量下降了多少,这些质量下降是否能够承受。
另外再往下,很多公司就在做编译器的优化。我会有一个比较好的编译器或编译器的库。编译器的库把不同的计算资源。芯片里面既有GPU还有CPU,可能还有DSP或NPU,他们的编译器是不一样的,他们编程语言和编程模式也是不一样的。有的用OpenCell,有的用 HiLAB,有的用 C_INTRINSICS。你怎么去在IP之间统一它们?你怎么统一IP之间“in and out”的“runtime overhead”,你怎么统一他们之间的“memory to memory”的overhead?你怎么去优化这些东西?很多公司都在做这些事情。
其实去年我跟我的朋友们投了一家公司,叫OmniML(更新:OmniML 2023年被Nviida收购了),他做了两件事情,他在上层,在模型的层面,他根据你的要求相当于做针对硬件的优化。在下层,它会去做针对你不同的嵌入式的系统,比如是高通的芯片还是英伟达的芯片,它根据下面编译器的特点,高通的芯片它用的是LVM的编译器,英伟达用CUDA 。对于一些不同的编译器,你应该引用什么样的库?这些东西他们也做了一些自动化的处理。
我听说他们的业务成长还是很快的,这从侧面也说明需求一直是存在的。其实大厂也有在做这些事情,你比如 Google的AutoML,它更多的是面对ML的质量,你希望得到质量更好的这个模型。但是同时你在知道什么是质量好,什么是质量不好的模型的时候,你也会知道他们的模型的尺寸和他们相关的延迟(latency)表现会是怎么样子的,你也可以变相地做模型加速,AWS 出了一个产品,叫做SageMaker Neo,他在Nvidia上做的还可以。他做的和OmniML有一些类似,他试图统一所有现有的嵌入式系统,做不同基础层面嵌入式系统的编译器(Compiler),比较编译器之上这些芯片厂商的编译库。我搞一套抽象化的编译器出来,你选择了相应的硬件,我就给你做相应的加速和优化。它上面现在主要的官方的合作伙伴是有Intel 和Nvidia,可能还有高通。但是我采访他一些客户,大概来说只有Nvidia平台上的客户是基本满意的。但是你话说回来,CUDA本身自己的编译器做这些工作已经是很不错了。
所以我觉得SageMaker Neo可能需要再进一步的迭代,但起码从AWS角度来讲,已经重视到了这个问题。我现在说的都是这种中型的模型,比如BERT或者是RestNet这种类型的。那大模型怎么变?
GPT-3和Stable Diffusion刚刚出来,我认为我们的思考和数据是不充分的,我只能发表一些观点。首先我觉得大模型的训练肯定是需要优化的。GPT5按照现在的训练范式来讲,可能要上亿了。上亿美金哪怕是像微软这样的企业,对它来说也不是一个很好的选择。我看到GPT-3. 5,我能感受到的更新可能就有三次。你可以想象,如果 GPT6两个月训练3 次,六个月就是训练18 次,一次的训练是1亿美金,一年就18亿美金。不是这样的大厂能够很轻易的承受的。所以我认为一定会在训练的工具链上面有所突破。反而是小公司的一个优势。我最近也在看一些初创公司,甚至我自己投的初创公司里面,有机会解决这个问题。就是把你的训练的成本,把你大模型的训练成本一下给你降低一个5倍。我认为训练成本的节约应该是会很重要的。
还有,实际上今天多模态对于语言模型来说是一个新事物,对我们处理CV的人来说反而是个老事情。多模态输入2022 年就已经在我自己的工作应用上了,不是因为我们先进,而是因为我们实在没办法了。在 2020 年的时候,我们跟Andrey Kapathy (前 Telsa 机器学习总监,OpenAI 创始团队研究院)有过一个访谈,我们的感觉是他一定用了多模态输入作为基础的多任务学习,后来我们去问他,他没有直接正面回答,但是我们非常确定他的输入里面一定有,肯定是有他的视频还有关键帧。第三个有IMU,IMU输出的是Quaternion,中文叫做四元数。它是一个向量,以比如1000帧, 2000帧这种数据来出的。IMU的格式,关键帧的格式和视频的格式都是不一样的。
你会注意到,2020 年到2021 年的FSD,很多早期用户的反馈是他们的增益(gain)提高了很多。但在那个时候你会发现有两个很值得注意的点,第一个是他慢慢地取消了它的雷达,第二件事情是它坚决不用Lidar。很多人觉得马斯克脑瓜是不是被驴踢了?但实际上他并没有丧失理智。他很多的时候考虑的就是这个问题。如果我再加个雷达,再加一个Lidar,再加个激光雷达,这些数据进入我的机器学习模型,我再把这两个多模态的输入放进去了,以后我有没有增益。我们可以想象,首先,他们早期的增益是不完整的,尤其是雷达,他们明确提了,雷达对数据传输来说是非常痛苦的,但是对我的训练是没有增益的。而Lidar,我的集成,我的数据管道整合的集成会更高。有没有增益我不知道。但我现在发现,关键帧,加上视频,再加上IMU,只要加大模型,后面的增益和线偏移(Line offset)还没有到上限。
我还不如先把这三种模态先挖掘到头,然后再去考虑要不要加Lidar。其实我觉得这是他为什么不加Lidar和取消雷达的一个很重要的原因。所以这其实是跟多模态是有关系。
Monica
所以应用多模态的时候需要考虑的一个权衡,我把更多的输入加进来,它肯定是增加我的复杂程度。它最后的ROI可能在不同的场景是不一样的,不是在所有场景都多模态是好。
Yiwen Li
这里面有一个很有意思的事情,美国某一线L4的自动驾驶的大厂,现在每一次模型训练的成本大约是在900万到1300万美金之间。多模态前面你把这些数据光做ETL可能就要花到上百万美金,你想想这是什么概念。
所以,哪些模态是你值得投入的,在什么时间段是值得投入的。是一个很有意思的问题。对CV来说,我们已经趟过这些雷了。我想对大模型来说很可能,你怎么选择输入的模态?它这些模态是不是每个模态都有很明显的增益?这些可能也是值得考虑的问题。
Monica
最后,各位觉得作为一个产品经理,在设计和思考产品的时候,需要考虑哪一些,怎么样更好的把AI融入到产品里边?
Yiwen Li
我作为产品经理,我更关心的是解决的是什么问题(problem space),有什么样重要的问题,比AI是不是适合做一个好的解决方案更重要。我关注重要的问题,如果足够重要,我再来看它的解决方案是什么。这里面不一定需要有AI的成分在里面。我记得自己第一个ML的方案,很多年前做这个质量检测, 10年前了,我们直接就用的是SEM。SEM是一个40年老的机器学习技术,但是它能够它能给我的公司一年节省大约可能五六千万美金的成本。实际上是一个很好的产品,咱不一定需要用大语言模型来做一样的事情。
关注“problem space”是我觉得首要的,特别对我影响很大的心理模式是我在亚马逊学到的PR/FAQs模型。我认为 这是一个非常好的思考工具,告诉我怎么从客户出发,然后反向工作。如果第一天发PR/FAQs,我的客人会问什么样的问题?我应该怎么回答这些,这样不容易遗漏。
现在我最大的体会是两点:一点是可能要想清楚究竟想做什么,即想解决的是什么问题?是不是已经有一个明确的问题在心里,你在找一个技术去做这件事情。这是一种心理模式。以这种方式来做产品,是更容易做出比较好的垂类产品的,这是一种方式。第二点是,我对技术非常的了解,想把这些令人兴奋的的技术拿去做应用。我看到一部分这样的情况,也是要回到是真正的应用场景来。我不是要做一个技术demo,要做的东西是拿这个技术去解决实际的问题。这时候就要回来看我熟悉的是什么,我了解的是什么,或者我身边能够触及到的资源又是什么,有什么领域是我熟悉的,可以去解决的,而不是纯从技术角度出发去寻找。说回来,还是怎么去跟应用领域去贴合,怎么去解决实际问题,怎么能做出一个让用户真正喜欢的产品是核心。因为我最早也是做用研出身的,所以我会比较在意真正的贴近用户端, b端也是用户端。
Monica
节目的最后,你觉得有哪一些话题可能我们今天没有涉及到,个人接下来在AI领域还会比较关注的部分?
Xuezhi Wang
我是比较偏向于研究方面,所以接下来对大型语言模型接下来还能解锁一些什么能力非常的感兴趣。我觉得OpenAI在做一些非常有前景的东西, Google也有很多研究相关的东西在做。我觉得将来多模态也是一个非常有前景的方向。如何能让机器学习模型能达到人的能力,能像人学习这个世界一样,利用各种模态互相交互达到最大化,以尽量少的训练时间得到最大能力的提升,也是一个我非常感兴趣的方向。
Yiwen Li
对我的想法其实跟Xuezhi的类似。我觉得今天所有的哪怕是大模型,也没有走出以数据为中心的AI的范畴。我是希望看到哪一天能够提出新的方法来做真正有接近人类智能这个原理的AI技术,我希望看到有人能够把以数据为中心的AI取代掉。
我个人觉得现在虽然以数据为中心是很重要的,但是我认为它一定是AI发展的过渡时期。真正的智能是不应该过度的依赖数据的。
Yizhou Zheng
我可能就会想看到,基于现在的语言模型,现在的多模态的图像生成模型,到底能够把我们的生产应用推到什么程度。现在我们的语言模型和生成模型的使用都还偏向于单点式的应用,对生产环节里面的一个小问题,会有一个专门的解决方案,我很期待说能有创业者也好,或者是大厂能把这所有的能力拼起来,把不同模型的应用拼起来,囊括整个工作流,做出一个完整的产品。就比如是目前我们有看到的像Photoshop这样的产品,它的不断的自我更新的过程中,逐渐向这个方向去改变。那我想看到从模型角度思考出发,同时带上了用户中心的思考的原生的AI的工作解决方案的出现。
Monica
对我们也期望看到未来AI不止生成内容。作为投资人,一方面也希望看到现在AI的能力越来越强带来新的机会,另外一方面又有点紧张地期待真正把原来已知的东西完全颠覆掉。非常感谢几位嘉宾今天的精彩讨论!
嘉宾推荐的内容
Introducing Pathways: A Next-generation AI architecture
More Efficient In-Context Learning with GLaM
LaMDA: our breakthrough conversation technology by Google
Training Compute-Optimal Large Language Models
Flamingo: a Visual Language Model for Few-Shot Learning
Language Models Perform Reasoning via Chain of Thought
Stable Diffusion with Core ML on Apple Silicon
Deepmind Sparrow: Improving alignment of dialogue agents via targeted human judgments
都看到这儿了,不关注一下?
点赞转发打赏,我也没意见 :)
万字长文,探讨关于ChatGPT的五个最核心问题
【万字实录】OnBoard! x 神策数据CEO桑文锋:神策0-1-10的三个关键阶段,SaaS新常态下的新思考
【万字实录】OnBoard! x 小鹅通CEO鲍春健:慢就是快,非典型SaaS独角兽如何跟着客户穿越周期
微信扫码关注该文公众号作者