美文网首页
ChatGPT相关讨论

ChatGPT相关讨论

作者: 来到了没有知识的荒原 | 来源:发表于2023-02-11 18:59 被阅读0次

分析ChatGPT优秀的上下文连续对话能力来源
OpenAI 的 ChatGPT 会怎样影响国内的 NLP 研究?
ChatGPT诞生记:先捞钱,再谈理想|OpenAI翻身史

这两篇讲LLM的部分重合度很高,但也都没完全看懂,需要时间消化
张俊林:由ChatGPT反思大语言模型(LLM)的技术精要
张俊林:通向AGI之路:大型语言模型(LLM)技术精要

关于ChatGPT八个技术问题的猜想
这篇文章这几个问题提的都很关键,但是回答臭长。下面是简易版本。而且注意这些回答都是猜测,毕竟chatgpt论文没有公布,而且这么大的黑盒可能没法验证。

1. ChatGPT的通用性为何做得如此之好?

根据Google的Instruction Tuning研究工作FLAN,当模型达到一定规模(e.g. 68B)且Instruction任务的类型达到一定数目(e.g. 40),模型就涌现出对新意图的识别能力。
OpenAI从其开放的API中收集了全球用户各种任务类型的对话数据,根据意图分类和标注,然后在175B参数GPT-3.5上进行Instruction Tuning,自然就涌现出了通用的意图识别能力。

2. 为什么面向对话的微调没有遭遇灾难性遗忘问题?

ChatGPT似乎不存在这个问题,其在基础模型GPT-3.5上进行了两次微调,第一次依据人工标注的对话数据进行微调,第二次根据人类反馈的强化学习进行微调,微调使用的数据很少,尤其是人类反馈的打分排序数据更少,微调后竟然仍然表现出强大的通用能力,而并没有完全过拟合到对话任务。
可能有两方面的原因,

  1. 一方面是ChatGPT使用的对话微调数据实际可能包含了非常全面的NLP各种任务(很多都不是简单的对话,还有分类、问答、摘要、翻译、代码生成等等),因此,ChatGPT实际是对若干任务同时进行了微调;
  2. 另一方面,可能当基础模型足够大之后,在较小数据上的微调不会对模型产生很大影响,可能仅在基础模型参数空间非常小的邻域中优化,所以不会显著影响基础模型的通用能力。
3. ChatGPT的大范围上下文连续对话能力是如何做到的?

猜测这个能力可能有三方面的来源。

  1. 首先,高质量的多轮对话数据是基础和关键,正如Google的LaMDA,OpenAI也采用人工标注的方式构造了大量高质量多轮对话数据,在此之上进行的微调将会激发模型的多轮对话能力。
  2. 其次,基于人类反馈的强化学习因为提升了模型回复的拟人性,也会间接增强模型多轮对话的一致性能力。
  3. 最后,模型对8192个语言单元(Token)的显式建模能力使其几乎可以记忆普通人一整天的对话数据,在一次对话交流中很难超出这个长度,因此,所有对话历史都已经被有效记忆,从而可以显著提升连续多轮对话的能力。
4. ChatGPT的交互修正能力是如何炼成的?
  1. OpenAI人工构建的对话数据中包含一些交互修正的案例,微调后拥有了这样的能力;
  2. 人工反馈的强化学习使得模型输出更加符合人类偏好,从而在信息修正这类对话中表现得更加遵循人类的修正意图;
  3. 可能大模型达到一定规模(e.g. 60B)之后,原始训练数据中的交互修正案例就被学到了,模型交互修正的能力自然就涌现出来了。
5. ChatGPT的逻辑推理能力是如何学到的?
  1. 相关对比研究发现,当模型足够大,并且程序代码与文本数据混合训练时,程序代码的完整逻辑链就会迁移泛化到语言大模型,从而大模型就拥有了一定的推理能力。
  2. 这种推理能力的习得有点神奇,但是也能理解,可能代码注释是从逻辑代码到语言大模型推理能力迁移泛化的桥梁。
6. ChatGPT是否针对不同下游任务采用不同的解码策略?

如果ChatGPT能够学习到任务相关的非常理想的概率分布,那确实非常厉害,基于采样的解码策略就可以适用于所有任务。通常,关于机器翻译、数学计算、事实性问答等答案比较确定或者100%确定的任务,一般采用基于贪婪解码,也就是每次输出概率最高的词语。如果希望输出相同语义的多样性输出,大多采用基于柱搜索的解码方法,但较少采用基于采样的解码策略。从与ChatGPT的交互看,所有任务它似乎都采用了基于采样的解码方法,真是暴力美学。

7. ChatGPT能否解决事实可靠性问题?

如果仍然延续GPT系列架构,基础模型不做改变,从理论上讲是难以解决ChatGPT回复的事实可靠性问题。和搜索引擎的结合目前看是非常务实的一种方案,搜索引擎负责搜索可靠的事实信息来源,ChatGPT负责总结和归纳。

8. ChatGPT能否实现实时信息的学习?

一个疑问是为何ChatGPT不将修改后正确的信息存储到模型中呢?这里有两方面的问题。

  1. 首先,用户反馈的信息并不一定是正确的,有时候故意引导ChatGPT做出不合理的回答。而ChatGPT在同一个对话过程中会非常相信用户的反馈。
  2. 其次,即使用户反馈的信息是正确的,但因为可能出现频率不高,基础大模型不能根据低频数据更新参数,否则大模型就会对某些长尾数据进行过拟合从而失去通用性。
    所以,让ChatGPT实时进行学习非常困难,一种简单直观的方案就是每经过一段时间就利用新的数据微调ChatGPT。或者采用触发机制,当多个用户提交相同或相似反馈时触发模型的参数更新,从而增强模型的动态学习能力。

相关文章

网友评论

      本文标题:ChatGPT相关讨论

      本文链接:https://www.haomeiwen.com/subject/kghrkdtx.html