没有银弹–是 Fred Brooks 在 1987 年所发表的一篇关于软件工程的经典论文。该论述中强调真正的银弹并不存在,而所谓的银弹则是指没有任何一项技术或方法可以能让软件工程的生产力在十年内提高十倍。Brooks 最为人所知的是在 1975 年所出版的《人月神话》—被称为软件工程圣经。
1 火爆的 ChatGPT
2023 年互联网热门的事件莫过于 ChatGPT 的大火,ChatGPT 是由 OpenAI 基于 GPT-3.5 开发的大型语言模型聊天机器人。它具有以对话形式进行交互的非凡能力,并提供可能看起来令人惊讶的人性化的响应。
这次 ChatGPT 引起的话题度不亚于 2016-2017年AlphaGo 先后击败李世石和柯洁。这两次事件都引起人们对 AI 的关注和讨论,然后就是国内外科技公司先后紧随其后研究自己类似的模型和产品。但是不同于 AlphaGo 的是,ChatGPT 是可以人人参与体验的,注册账号后就能直接跟 ChatGPT 聊天,拥有着比搜索引擎的更强的分析能力,堪比真人文笔的创作能力,甚至是调试代码、自我纠错的能力。
虽然这种与机器人聊天对话的模式早已有之,各大平台旗下的智能语音助手如亚马逊的 Alexa、苹果的 Siri、微软的小冰、龙泉寺院的贤二机器僧等等。但是 ChatGPT 是一种长篇问答 AI 模式,可以像人对话式地回答复杂的问题。许多用户对它提供人类质量响应的能力感到敬畏,激发了它最终可能有能力破坏人类与计算机交互方式并改变信息检索方式的感觉。
因此,本人产生对 ChatGPT 的一个思考,想到一个问题:ChatGPT 是真的银弹吗?
2 ChatGPT 是真的银弹吗?来自 ChatGPT 的回答
关于这个问题,我首先去问了 ChatGPT,一起来看一下它是怎么回答的吧:
3 什么是 ChatGPT
ChatGPT 是 OpenAI 发布的 AI 聊天机器人,作为原型。ChatGPT 建立在 GPT-5.<> 系列的语言模型之上,并使用监督学习和强化学习的混合进行训练(有点像 InstructGPT 看到的)。ChatGPT 可以用于展示和测试一个非常大、功能强大的 AI 系统可以完成的工作。
根据官网自己的描述:它不仅能够令人印象深刻的回答问题,还可以承认自己的错误,并能够拒绝不合适的请求。炒作源于这样一个事实,即 ChatGPT 这款聊天机器人的反应比目前看到的要自然得多。它是有史以来最强大的语言处理模型之一,经过海量数据集的训练,它能够以各种风格甚至语言做出响应。
你可以问它无数的问题,并且通常会得到一个有用的答案。例如,我们可以问它类似于 如何学习 Go 语言?
问:如何学习 Go 语言
答:学习 Go 语言可以是一种有趣而有益的经验,以下是一些步骤,可以帮助你开始学习 Go。
- 理解基础知识:首先需要了解 Go 语言的基本知识,包括数据类型,结构,函数,以及基本循环和条件控制流结构。可以在网络上找到包括这些主题的教程和在线课程。
- 配置开发环境:为了编写 Go 程序,需要适当的开发环境。从官方网站安装 Go,并设置一个集成开发环境(IDE),如 Visual Studio Code 以及 Go 扩展。
- 练习编程:像学习其他编程语言一样,通过实践是学习 Go 语言的最佳方式。从编写帮助您练习语法和基本构造的小程序开始。您可以在互联网上找到各种编程挑战和Go项目。
- 探索 Go 标准库:Go 标准库非常强大。花时间探索和理解各种标准库和包。
- 关注在线 Go 社区:加入在线社区,如 Go 社区、博客或社交媒体群,可以从其他开发人员学习、提问,并找到学习 Go 语言的其他资源。
- 阅读书籍:阅读关于 Go 的书籍可以帮助你更深入地了解语言和其生态系统。一些流行的学习 Go 的书籍包括 Alan A.A. Donovan 和 Brian W. Kernighan 的 “The Go Programming Language” 和 Shiju Varghese 的 “Web Development with Go” 。
- 获取实践经验:最后,在实际应用中尝试使用 Go 语言。没有什么能够像开发实际应用程序一样,帮助你提高和练习编程技巧。在网络上寻找可以贡献的 Go 项目,或者开始工作于你自己的想法。
记住,学习 Go 语言需要耐心、大量实践和学习的愿望。
不单单是支持这类百科全书式的问答,也支持让它给我们写计算机代码,比如:如何用 Go 语言发送一个 HTTP 请求,可以获取如下的结果:
除了写代码,还可以写诗甚至歌曲,写求职信甚至是短文、论文,还可以用于推荐(书籍、电影、视频)。
虽然这类问题我们都能获取回答,但是从技术的角度,我们可以合理怀疑 ChatGPT 的训练模型是通过识别从互联网上收集大量的文本或者信息,然后在人为的帮助下进行的训练,提供更有用、更合理的回答。
4 ChatGPT 背后的原理及其缺陷
机器学习语言模型(Machine Learning’s Large Language Models(LLMs) ) ,它们直接从大规模收集的原始数据(书籍、科学论文、新闻文章、Twitter 帖子等)进行训练。LLMs 是阅读,总结,翻译和生成文本的人工智能工具。他们能够以高置信度预测句子中接下来会出现哪些单词,这使他们能够生成类似于人类说话和写作的语言。通过大规模无监督学习,这些较新的模型在处理语言的复杂性和执行未经明确训练的任务方面要好得多。
ChatGPT 背后的模型使用强化学习和监督学习进行训练。在监督学习期间,该模型被训练为通过扮演人类和人工智能助手的角色来交谈。接下来,研究人员对模型创建的响应进行排名,以创建一个奖励系统(强化学习步骤)。使用这些奖励(近端策略优化)对模型进行了微调。此外,OpenAI 继续收集用户交互;这些数据将用于后续的微调。有关模型详细信息,可以参考这篇论文。
ChatGPT 的不同之处在于它是生成性的,它以正常人理解的方式产生输出,而不只是简单输出代码或数据,与谷歌等其他搜索引擎不同,ChatGPT 可以是对话式的,提供类似人类的响应和与用户的对话。用户可以请求 ChatGPT 创建辞职信、课堂讨论提示,甚至学生测试。
4.1 知识老旧
ChatGPT可以给你错误的答案。LLM 会被训练成记忆知识并一次性进行推理。然而,LLM 所接受的培训知识很快就会过时,尤其是在新闻领域。这是因为知识是随时更新的的,而且数据量每年都在增加。结果是基于模型当前数据集的不准确的回答。
比如当我问 Go 语言最新版的时候:
而实际截止本文发布的时候已经到了 Go 1.20:
而每一次重新训练 LLM 需要大量的计算资源,从而导致每一次的训练耗时耗力,这种模型对于真正的实时沟通与面向客户的聊天机器人,这将是致命的弱点。
4.2 缺乏可控性
据笔者了解,ChatGPT 自发布以来出现了网友的各种奇思妙想,有些人用来写论文、但也不乏一些让 ChatGPT 创造段子甚至是 H 文的,因为它提供的可控性很小——这意味着没有办法操纵模型来产生超出其训练数据的反应。
4.3 显著的幻觉发生率
众所周知,基于知识的对话模型会产生事实上无效的陈述,这种现象通常被称为 hallucination 幻觉。在 LLM 上训练的对话系统会生成不受任何源内容支持的陈述,或者更糟的是,与源内容相矛盾。
尽管每个模型的速率各不相同,但今天可用的每个 LLM 都存在幻觉。目前最大的 LLMGPT3 具有 41% 的幻觉率,这意味着大约每 2.5 个提示中就有一个会产生包括幻觉在内的反应。
ChatGPT 也不能幸免于上述挑战。它仍然遭受着 21% 的幻觉率。而且,在其当前的界面中,ChatGPT 非常局限于提示的输入和输出。
4.4 其他缺点让它自己告诉你
问:ChatGPT 的缺点
5 总结
技术来临的时候,我们总是看客,然后涌入其中,繁华褪去之后,发现当时的热闹已然不算什么。
简而言之,ChatGPT 无疑让人们改变旧思维,拥抱新技术使得人们的生活变得更好。
ChatGPT 为技术的未来指明了道路,但绝不是灵丹妙药。
参考链接:
本文正在参加 ✍🏻 技术视角深入 ChatGPT 征文活动