关于 ChatGPT,我们请小红书技术人和 NLP 专家聊聊原理和潜力
在微软、百度、阿里、腾讯、小米纷纷宣布入局之后,ChatGPT 再次被送上科技头条。
图源:Financial Times
互联网公司们的争相表态,让大家似乎看到了 ChatGPT 落地应用的曙光。相比去年底,关于 ChatGPT 的讨论,也从技术本身更加聚焦到商业化前景以及对互联网行业应用生态的改变上。
作为拥有 2 亿月活用户的生活社区,小红书拥有图文短视频兼具的社区内容生态,包括上亿级别的图片、长短文本/视频笔记、用户查询和评论数据,提供了跨越多个模态的海量数据集,为自然语言处理和 AI 辅助内容生成,提供了非常丰富的场景。
我们也不禁好奇:ChatGPT+小红书能产生什么化学反应?ChatGPT 未来的应用场景中小红书能有技术占据一席之地吗?这个科技界和资本市场同时看好的新技术,到底能在互联网领域搅动多大的水花?
其实,在去年年末,在我们的公众号发布的【REDtech 来了】第六期直播中,我们就曾邀请 NLP 专家、UCSB 助理教授李磊与小红书技术部负责人凯奇、以及小红书多媒体智能算法负责人宇尘,专门聊过 ChatGPT 的技术难点和应用前景。在有限的时间里,三位嘉宾讨论了 ChatGPT 的能力短板、训练方法,以及带给未来研究与应用的启发和影响。
短短一个半小时的直播显得意犹未尽,所以我们重新整理了一份直播中的精彩对答,并且又去问了一些小红书技术团队负责人,补充了一些大家关心的议题。关于小红书+ChatGPT 会诞生哪些新机会也藏在这份问答实录中哦。
Q:在和 ChatGPT 的互动中,你印象最深的一个的回答是什么?
凯奇(小红书技术部负责人):我曾经问过它一个关于足球规则的问题,如果足球运动员用手把球打进门算不算得分,它的回答是算,但又补充说明这是不合规则的。ChatGPT 的回答有时候正确,有时候也会自相矛盾。
李磊(加州大学圣芭芭拉分校助理教授):首先 ChatGPT 给出的回应和之前的 GPT-3 很不一样,它给的回应都很长且大部分都是围绕我们给的主题来生成的。并且,对于不会或者不太有把握的问题,它通常会回答“我不知道”、“我没有这个信息”,而不是随便胡说八道,这一点对于用户也比较友好。
我也问它世界杯的问题,比如谁会赢,它回答我“没有这个信息”,“但是如果你想知道往届信息可以继续询问”。
宇尘(小红书多媒体智能算法负责人):有一个 ChatGPT 扮演 Linux Terminal 的例子:告诉 ChatGPT 大概的机器配置,然后在此基础上让它执行一些指令,结果发现,ChatGPT 能够记住很长的操作历史,前后逻辑关系非常一致(比如你往一个文件里面写入几行字符,之后让它显示这个文件里面到底被写入了哪些字符,它都能显示出来)。
DeepMind 研究者 Jonas Degrave 让 ChatGPT 扮演 Linux Terminal 的例子。
这让我们不禁怀疑 ChatGPT 是不是自己在后台开了一个 terminal 欺骗用户?于是我们进行了一些测试,看能不能判断它是开了一个 terminal 还是真的在理解这里面的命令。
我们给它写了一个复杂度特别高的指令,设定了两重 for 循环,每一个 for 循环都有 10 亿次,如果 ChatGPT 真的开了一个 terminal,它就会卡一段时间。结果出乎意料:ChatGPT 很快就跳过了这个过程,显示出了这个命令之后的下一个结果,让人感觉它确实大概理解了整个 demo 的逻辑,它是有一定的“思考”能力的。包括你的语法有一点小错误,它也可以识别你真正想要什么,并告诉你正确答案,这个让我印象非常深刻。
Q:最近 ChatGPT 浪潮非常高,关于 ChatGPT 你最关注的问题是什么呢?
特图(小红书信息流广告模型工程师):非技术方面我最关心的是政策,AI 的能力是双刃剑,换脸技术就已经证明过一次了,NLP 感觉更难监管,这次 ChatGPT 的政策风向其实对未来 AI 蛮关键的。技术层面我还挺感兴趣就是 ChatGPT 距离通过图灵测试还差哪些了。
Q:ChatGPT 目前有哪些短板 ?这些问题是大语言模型还是训练技术模型的问题,可能通过什么方式克服?
宇尘:ChatGPT 确实有非常强的变化和改善,当然还是会遇到很多问题,比如偶尔还是会“一本正经地胡说八道”。它对于自己训练过程和记忆中的“事实”很坚持,即使你告诉它这样不对,它还是会坚持自己的答案。有一个例子是问 ChatGPT 某个数字 x 是否为质数,它一直认为这是质数,你用交互的方式告诉它 x 可以拆解为 a 和 b 相乘,再次询问时它依然会认为 x 是质数,所以它的内部逻辑还是有一定的问题。
另外一个维度是如何将 ChatGPT 实际应用到更多场景里。大模型的训练和使用成本都很高,小规模的数据很难有好的表现,当它的训练样本、模型参数量、计算量上升到一个大模型预支网上,才能有比较惊艳的能力,所以可能离运用比较远。但它让大家看到了一些新的突破和可能性,某种程度上给了大家解决困难达到下一阶段的动力,这是很重要的。
李磊:ChatGPT 在一些特定任务(比如翻译)上可能并没有达到 SOTA。虽然 ChatGPT 的 API 还没有放出来,我们无法得知它在一些 benchmark 上的能力。但我的学生在测试 GPT-3 的过程中发现,虽然 GPT-3 能够出色地完成翻译任务,但它比现在单独训练的双语模型还是要差一些(BLEU 分数差 5 到 10 个点),因此我推测 ChatGPT 在某些 benchmark 上并不见得会达到 SOTA,甚至可能和 SOTA 还有一些距离。
Q:关于 ChatGPT 的强大能力,有两种假设,一种认为 ChatGPT 这种很强的能力本身就是内置在大模型当中的,只是我们之前没有恰当地释放它;另一种认为大模型的内置能力其实没有那么强,需要我们借助人类力量对它做出一些调整。你们怎么看?
宇尘:我自己比较倾向认为 ChatGPT 大部分的能力已经内嵌在大模型里面。训练和微调大模型所需的数据量存在着几个数量级的差异,在 GPT-3 及其之后的模型所用到的“预训练+提示(Prompting)”范式中,这种数据量的差异就更明显了。一方面我觉得信息本来就在大模型里面,另一方面,这个大模型本身是不是还潜藏着更多神奇的能力,现在还没有被发挥出来。
开个玩笑,如果和人的进化对应——之前我们经常说现在的深度学习模型对于数据的利用效率很低,作为人来说,人用很少的范例就可以有效学会很多知识,但是对于模型来说比较难,但考虑到人类生命从诞生的那一天起不断进化到现在,经历了非常多的基因延续,像是 “pre-training”的过程。某个人出生之后,在这个真实环境里面结出小样本,做 “fine-tune”。假设有类似这样一个逻辑,有一个很强的大模型,不同的人基于不同的应用在自己的场景里面拿很小的样本 fine-tune 它,或者仅仅通过一些 Prompting 的设计让它有一些更好的表现。假设这条路是通的,我觉得 ChatGPT 未来的应用空间会非常广,这是我的想法。
李磊:我也认为 ChatGPT 大部分的能力已经内嵌在大模型里面。在 ChatGPT 之前,GPT-3 它的论文已经展现了很强的能力,叫做 “in-context learning”,或者叫 “few shot demostration”。这个 “few shot” 和以往 “few shot” 的能力不太一样,GPT-3 的 “few shot” 是在 test time 给你几个示例,不需去更新模型参数。GPT-3 展现的能力说明这个模型本身有这个能力,但是不一定能够激发出来,我们需要把少量标注样本放在输入文本的上下文中即可诱导模型输出答案。这让我们感到非常欣喜,ChatGPT 比 GPT-3 更进一步,它可以根据整个对话的历史记录给出答复,这更让人惊喜。
传统 fine-tune 方法与 GPT-3 的 in-context learning 方法对比
Q:ChatGPT 的强大还依赖于 RLHF(人类反馈强化学习)的训练方法,你怎么看 RLHF 这个训练方法以及对于大模型本身的能力?
李磊:在之前做机器翻译研究的时候,我们通常会用 BLEU score(一种快速、便宜且语言独立的自动机器翻译评价方法,与人类判断有很强的相关性)来指导模型。BLEU score 不是 human feedback,但我们可以通过大量的计算很容易地拿到这些样例,另外,BLEU score 和 human feedback 之间有比较强的相关性,我们大致可以认为 BLEU score 就是 human feedback。在当时的情况下,由于模型比较弱,我们用一个度量标准去指导一个翻译模型,可以达到 5—10%的可观提升,但是在 transformer 出来之后,尤其是模型、数据越来越大之后,我们就发现额外的度量标准反而并不见得能够带来很大的提升。
因此我们从中得到的经验是,借助反馈来训练 GPT-3 这种超大模型理论上不会得到太大提升,但是,ChatGPT 的惊艳效果却推翻了这一经验。
LLM(大语言模型)的能力边界在哪里,它能做到或者已经做到了抽象思考、逻辑思考吗?
秋哥(商业部技术基础 NLP 建设负责人):我个人浅薄的认知,大语言模型的能力边界还是在现存数据包含的知识范围吧,类似于记忆力天才能做到的上限,而且这个边界也不太可能真正达到,毕竟算力和训练数据也不是无限的。
真正的抽象思考其实也是不能做到的,比较表面的推理还行,那些看上去很高深或者专业的回答其实大部分是包含在训练数据里面的,或者见过类似的。真正意义上的逻辑思考单纯靠大语言模型就更加不可能了,举个最简单的例子,比如加减法大语言模型就解决得很不好,强如 ChatGPT 也只是能处理(记住)100 以内或者 10 以内的简单运算,复杂一点的运算基本上就是靠猜了。
特图:我感觉这个问题的关键可能在于如何理解“思考”,赞成“中文屋”实验的人会觉得这不是思考,赞成“图灵测试”的人会觉得这是思考。
你认为 ChatGPT 能否取代 Google、百度等传统搜索引擎呢?
李磊:ChatGPT 技术确实非常惊艳,效果可能也非常好,但是我们能否基于技术做出一个广大用户接受的产品,并且商业上能够成功,这是带着问号的。这样一个新技术一定有很大的潜力,但它能否取代谷歌或者搜集引擎很难说。尤其 ChatGPT 在一些接近问答的问题上,确实比搜索引擎处理得更好一点,但是用户在搜索的时候,有多少 query 是这一类问题呢,这类问题是大家最重要的需求吗?不一定。
如果基于 ChatGPT 做下一代产品,我们要看 ChatGPT 的能力长处在哪里,围绕长处来做而不一定是瞄准现有的产品,取代现有产品未必是 ChatGPT 擅长的地方。
宇尘:传统厂商做搜索引擎已经非常多年了,如果几十年以后出现新的搜索形态,这是有可能的,但短期内想要替代现有搜索引擎不太现实。按照我的理解, ChatGPT 还有很多问题至少没有在当前版本里展现出来,比如与用户个性化相关的功能,比如它不能实现互联网资源的实时访问,比如还会产生一些错误的信息等。尤其是它如果产生误导性信息,将对整个生态造成很大的影响。我记得 ChatGPT 刚出来的时候,很多人拿着 ChatGPT 的回答到各种社交论坛上回答别人提的问题,造成了一些小的混乱。
我们基于 ChatGPT 里有意思的技术点,去持续改进现在搜索链路里(尤其是和 NLP 理解相关)的各环节,让它们做得更好,这个非常有希望。
另外一个维度是,现在 ChatGPT 的能力发挥在文本上,未来是否可以比较好地泛化,复制到多模态的场景中。搜索引擎很多时候也是多模态的形式,比如小红书的搜索会有很多图文和视频的结果,希望未来 ChatGPT 能够在不同的场景都能取得进展。
Q:ChatGPT 取得的重要突破对整个研究领域会有什么重要的启发?对未来的研究有什么影响?
李磊:对于学校来说要做这方面研究其实还是挺困难的,但它有两个点是我们可以更多去探索的。
一个是我刚才提到的 in-context learning 的能力,以往我们不管是做 NLP 模型还是 CV 模型,都并没有去看到底能够通过什么样的方式把这个模型的潜力挖掘出来。比如我们训练一个机器翻译模型,可能就是中英机器翻译,不会再去想如果给这个模型一些提示,它是不是能够生成一个更好的翻译。但是 GPT-3、ChatGPT 给了我们新的思路,比如我们是不是可以把以往所有的模型都改成这种 in-context learning、few shot demostration,加一些 prompt 提示,不管这个提示是文本、图片还是其他,在输入提示的情况下,我们是否可以把预训练模型的能力完全发挥出来,这是非常值得研究的。
第二个值得研究的就是 human feedback,低成本、高效地获取大量的 feedback 信号很难的。如果每一个“input”、“output”都让人去写,那我们不可能拿到很多结果。为什么谷歌能够不断进步,有一个原因就是它获取 human feedback 非常容易,用户输入一个 query 后得到一个结果,它可以看你有没有点进这个结果中,这就给了它一个 feedback,所以其实用户在使用过程中帮助谷歌不断提升了它的系统效果。
我们回到 ChatGPT 和 GPT-3 ,现在的形式如果我们想得到足够多的 hunman feedback 其实还是很困难的。因为用户给了一个 “input”,系统给出 “output” 后用户还没有很好地给出 feedback,一定要去问用户两个回答你认为哪一个好哪一个坏,当然 ChatGPT 通过这种方式获取了一些 feedback,比完全人工去写代价要小,但是仍然很难像谷歌那样获取到所有用户,整个 web 规模的 feedback。未来我们要想想如何低成本地获取用户 feedback 信号,使得这种信号能够帮助我们做各种模型。这是两个我觉得重要的点。
宇尘:我们团队主要在做智能创作,最近除了 ChatGPT,跨模态的内容生成也是非常热的一个方向。大家写一段文字,就能生成很惊艳的图片甚至小视频,你也可以把图片通过一些文字的描述快速迁移到另一种风格,我觉得这个方向在未来创作里面可能也会有很多非常有意思的应用。但这个方向还是存在很多问题,它的可控性和人的想象有时候偏差较大,时不时会出现一些 bad case。整体上,随着 ChatGPT 的发展和一些论文的介绍,我觉得如果我们在跨模态生成的文本建模里做到非常极致,可能对于文本和视觉内容相关性的提升会有相当大的帮助,这是一个启发,后面会重点研究一下。
ChatGPT 直观展示了 NLP 大模型相比小模型在复杂多轮对话、不同 query 的泛化性、思维链 (Chain of Thought) 等各个场景的大幅提升,且相关能力目前在小模型上是不具备。
NLP 大模型的这些相关能力或许也可以在跨模态生成中进行尝试和验证,目前跨模态模型在模型规模上相比 GPT-3/ChatGPT 还有显著的差距,且在跨模态场景中也有很多工作展示了随着 NLP 分支表达能力的提升,会对视觉生成结果的精细程度有很大帮助。目前生成的结果在挑选的情况下往往能看到很不错的惊艳结果,但生成可控性还有很大空间,这部分可能可以参考 ChatGPT 的很多思路来进行尝试,比如更大的模型,基于优质数据的微调,强化学习等等。
还有就是刚刚李磊老师提到的 hunman feedback,现在跨模态生成中基本是一次性给用户创作完毕,对于用户发布的内容、点赞的信息等,我们是不是也可以人工标注一些数据,看看他们会更喜欢哪些内容,他们的 feedback 是什么,也把强化学习的思维引入进来,可能对这个链路也会有一些帮助。这里面很多技术看起来有一点共通,但现在不确定它从文本领域迁移到跨模态领域是否会有同样的作用,这一点有待验证。在跨模态生成领域的模型尺度范围和自然语言的大模型还是有一些差距的,但是我觉得值得一试。
ChatGPT 的能力优势在小型化之后是否还保持,以及如何看 LLM 未来的小型化空间?
李磊:以往的经验,确实可以把大模型小型化,可以在特定任务上做小型化。通常你可以把这个模型降一到两个数量级,是能够在特定任务上做得还不错的,但是要说完全保持原有能力,并且它的模型大小还要小一到两个数量级,这个目前没有看到非常确实的证据,但是我觉得这是未来重要的研究方向。
ChatGPT 的能力未来在 AIGC 领域可以有哪些应用场景和发挥空间?ChatGPT 有可能在小红书内部用到吗?
宇尘:直接使用 ChatGPT 在小红书的场景可能非常难,尤其它现在没有一个公开的 API 可以调用,而且如果要上传很多信息,在小红书的场景里面也没有办法直接使用。就像刚刚我们讨论的,它这里面涉及到的技术想法,很多可以在我们的工作里面,在各个不同的子任务里面去借鉴。
如果泛指这种类似的对话模型,自然语言模型或者 AIGC 的能力,场景还是很多的。比如智能客服,比如刚刚李老师说的机器翻译的进一步提升,包括在搜索里面关于 query 理解维度能力的提升。
ChatGPT 并不仅仅只有 ChatGPT,其实它是一整个系列的工作,这个系列的工作在 NLP 的各种不同的子任务都有非常显著的提升,泛泛地讲,几乎所有 NLP 相关的任务都是会有关的,至于哪一这个模型能够轻量化到被大规模的工程化应用,大家可以拭目以待。
我自己对于 AIGC 一直非常感兴趣,相关的 AI 能力虽然不是在所有场景都表现特别好,但至少在一些特定的场景下有那么一点点灵性的,尤其你看和 AI 作画相关的,就是把一种模态转化成另外一种模态的场景,以绘画来讲,它的能力可能没有那么完美,但是超过了 99%人的绘画能力。
除了文本和视觉之外,包括语音、音乐,任何两个模态的迁移和转换都是这个行业研究的重要方向。小红书整体承载了各种不同模态的内容,这些模态如果可以在创作模态大幅度下降,让用户记录和表达自己生活的时候,能够更加低成本、更加便捷,这是一个非常有意思的方向。
此外,ChatGPT 所展示的大规模 NLP 预训练模型,以及在少量特定语料上通过监督学习和强化学习微调后的模型展示出了非常强的能力,再结合上多模态的能力可以在非常多的场景下进行应用尝试。比如电商等场景的智能客服,比如搜索下对用户 query、对用户笔记更精确的理解,比如智能创作场景下对用户素材进行智能配乐、文案生成、跨模态的转换和生成创作。在各个场景中应用的深度和广度也会随着模型大小的压缩、模型精度的持续提升而且持续增强和扩展。
如果把 ChatGPT 的能力接入小红书,对于小红书的多模态内容生态会带来什么新的突破?ChatGPT+小红书=?
秋哥:突破不好说,但风险可能得先预防起来。因为 ChatGPT 写软文的能力是非常强的,有很多做跨境电商的人已经在用 ChatGPT 去生成商品卖点、投放词等去搞 SEO 了。如果等多模态 ChatGPT 出来了,说不定冲击会更大。所以我觉得反 ChatGPT 的能力反而是小红书最紧急的。
虽然现在很多内容为主的公司都在蹭 ChatGPT 的热度,看上去很相关,但在我看来,我们小红书可能需要先避免 ChatGPT + 小红书 = ChatGPT 这种局面出现,再去探索怎么让 ChatGPT + 小红书 = 小红书 plus。
ChatGPT 的能力可能会对安全技术带来什么样的影响?
本安(应用安全工程师):就我个人使用的感受来说,目前 ChatGPT 在非开放性的安全风险分析上还是有不错的表现的,比如发送一段可能有漏洞的代码让它去审计,或者一个条件充分的环境下评估风险。
但它也有弊端,ChatGPT 作为一个语言模型,具备学习能力,但似乎无法很好地判断接收到知识的准确性,有时候会返回错误的信息,所以如果安全人员没有良好的技术基础,很容易被错误的回答误导。比如风险评估的层面,或者解决方案这些答案开放性比较高的问题,错误率相对会高一些,代码审计这种错误率相对低,但仍然有错误的时候。ChatGPT 可以作为一个功能强大的参考知识库,但需要安全人员具备判断回答准确性的基础能力。
评论