2023年的深度学习入门指南(1) - 从chatgpt入手

这篇具有很好参考价值的文章主要介绍了2023年的深度学习入门指南(1) - 从chatgpt入手。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2023年的深度学习入门指南(1) - 从chatgpt入手

2012年,加拿大多伦多大学的Hinton教授带领他的两个学生Alex和Ilya一起用AlexNet撞开了深度学习的大门,从此人类走入了深度学习时代。
2015年,这个第二作者80后Ilya Sutskever参与创建了openai公司。现在Ilya是openai的首席科学家,带领工程师研发出了可能再次改变世界的chatgpt.
2023年的深度学习入门指南(1) - 从chatgpt入手

上图中,右面的就是图灵奖获得者,深度学习之父Hinton大牛。中间是AlexNet的第一作者Alex, 左边的就是Ilya Sutskever.

10多年间,从DNN,CNN,RNN为代表的第一代深度神经网络,到以深度Q学习为代表的深度强化学习,再到以Transformer技术为基础以BERT为开创的大规模预训练模型。以及针对大规律预训练模型所需要的人工引导和数据标注等技术支持的chatgpt。
深度学习呈现出理论的东西越来越多,但是应用的难度却越来越低的变化。

深度学习的工具发展主要有以下4个阶段:

  1. 以Caffe为代表的专用工具库
  2. 以TensorFlow和PyTorch为代表的生态体系
  3. 以Hugging Face库为代表的预训练模型生态
  4. 以openai API为代表的封闭库

此外,还有一些专用工具,比如推理性能优化的AI编译器技术如TVM,比如LLVM的MLIR等。比如支持深度学习后端的各种GPGPU技术,比如OpenGL,OpenCL,Vulkan,WebGPU。比如支持CPU上进行深度学习计算的OpenMP和XLA线性计算库,等等。

人工智能有三要素:算法、算力和数据。

在大规模预训练模型的时候,算法在核心上变化不大,都是堆积了很多层的Transformer模型。
但是其难点在于对于算力需求越来越庞大,而且随着数据的增加,所生成的数据的质量的保证也是重要的问题。

所以目前的主线就有两条:一条是如何堆积更多的算力,用更大的模型去进行突破,比如gpt3和gpt4就都是大力出奇迹的成果;另外一条是如何提升数据的准确性,并不是说模型大了就自然正确了。目前很多模型都很大,但是效果好的只有openai一家,就说明了这第二条主线的重要性。

另外,光堆算力对于更多人参与研究是不利的,如何实现用较小的算力,实现更好的效果,也是热门的主题。

所以,这个时候的教程,如果还从PyTorch实现MNIST入手的话,离使用chatgpt这样的突破性成果之间的gap就太大了。我们的教程就从chatgpt开始。

从Transformer到GPT-3: 预训练模型的发展

大规模预训练模型的是为了解决自然语言处理NLP问题而产生的。比如机器翻译就是自然语言处理中的一个重要问题。

用神经网络来处理自然语言,早在深度学习出现之前就有了。那时候还没有深度学习,神经网络还存在着梯度爆炸等困难。
1997年,循环神经网络的重要模型,长短时记忆网络LSTM就被研究出来了。
2014年,另外一种改进的循环神经网络-门控循环单元LRU也被发明出来。

2014年,Ilya Sutskever作为第一作者发明了seq2seq模型,基本上解决了使用循环神经网络进行机器翻译的问题。
也是在2014年,为了提升RNN的效果,《Neural Machine Translation by Jointly Learning to Align and Translate》论文开始引入了注意力机制。

2017年,Google人民发现,注意力机制并不一定要依附于循环神经网络,只用注意力模块自己就可以了。他们提出了只用注意力编码器和解码器的结构,就是著名的Transformer模型。这篇论文叫做《Attention is all you need》,不用RNN啦,Attention自己就够用了。

2018年,Google人民研究出了Transformer模型的真正组合方法,正式提出了预训练模型这个概念。从此又开始了一个新的时代。
同年,openai推出了第一代的gpt,论文名叫《Improving language understanding by generative pre-training》。gpt的名称就来自generative pre-training,生成立的预训练模型。

真正开始传奇故事的是从gpt2开始的。openai的大神们发现,通过预训练一个大型语言模型,在无监督的情况下学习多个任务,就可以在很多任务上取得另人惊讶的效果。

gpt2引入了两个重要的东西:一个是零样本学习,就是一个大模型只要训练得足够大,就可以对于很多未知的任务有很强的泛化性,这正是机器学习追求的终极梦想;另一个是微调fine-tune,就是可以站在巨人的肩膀上,基于自己的少量数据的加强训练,就可以让gpt2和自己独特的业务结合起来。

这一下子就点燃了各种大模型,大家纷纷沿着这条路前进,参数不断翻新。从BERT到gpt2这些模型也都是开源的,这时诞生了Hugging face库,将各种预训练模型集成在一个框架内。

gpt2的论文叫做《Language Models are Unsupervised Multitask Learners》,多任务同时也引发多模态的支持,除了文本之外,各大模型对于代码、图像之类的也不放过。这一传统也沿用至今。

微调虽然已经相对容易了,但是openai人民仍不满足。他们认为,人类只用很少的几个样例就能学会的东西,为什么微调需要提供大量的数据才可以做到。最终他们发现,gpt2虽然可以支持多任务学习,但是还需要很多微调的原因是,模型还不够大。于是他们训练了1750亿参数的GPT-3.

GPT-3开始,openai决定不开源了。再想像用gpt2一样通过hugging face库调用没办法了,从此进入了编程的第三范式,只能调用openai的API。

不过,正如gpt3的论文名字《Language Models are Few-Shot Learners》字面所说的,因为gpt3是一个支持few-shot,也就是少样本的学习。所以,不用微调,只用少量的提示就可以让gpt3学习。这就是在现在发挥光大形成一个学科的prompt engineer的“提示工程”或者叫“引导工程”。

2023年的深度学习入门指南(1) - 从chatgpt入手

目前有一种鄙视链,就是觉得用PyTorch等库自己搭建才是技术,微调不是技术,引导工程更不是技术。我不知道他们是否读过论文原文。
深度学习从一开始就没追求成功理论的严谨性,而是靠易用性流行起来的。
可解释性当然是好的,我们也要学习Anthropic等机构的成果。但是这跟我们搞好引导工程和微调并不矛盾。

无监督预训练模型的不足与chatgpt的诞生

  • Attention is all you need
  • Improving language understanding by generative pre-training
  • Language Models are Unsupervised Multitask Learners
  • Language Models are Few-Shot Learners

上面一节我们看到,这上面4句话是Transformer, gpt, gpt2和gpt3的论文的标题名。他们连在一起就是用无监督的大规模预训练的模型来实现各种任务的总纲。
总结起来,就是大力出奇迹。当模型足够大,就能涌现出少样本学习的强大能力。

这在GPT-3得到了很好的验证。但是,最终火起来的是chatgpt,而非强调few-shot的GPT3。它缺少什么呢?我们看一个论文题目就知道了:《Training language models to follow instructions with human feedback》。

没错,无监督的大规模预训练模型还不行,还需要人类的反馈。这也是chatgpt现目前为止还领先不少参数更多的大模型的原因。比如13亿参数的chatgpt的效果就可以强于1750亿参数的gpt3.

像gpt3这么强大的模型,哪怕是像更强的gpt4,虽然有较强的少样本学习的能力,但是它们都会生成一些编造的事实,生成一些有偏见的事实,甚至是不知所云的或者是有害的信息。

比如,有篇叫做《On the Dangers of Stochastic Parrots: Can Language Models be too Big?》题目就直接质疑,语言模型不能做太大。否则有伦理问题、法律问题、社会公平问题,甚至引发大量碳排放影响环境等。

许多研究人员还制作了有偏见的或者有害的数据集来供模型评估自己的效果,比如Realtoxicityprompts数据集。

而如何通过人类反馈来改进语言模型,也并不是openai的原创,而是借用了强化学习的思想。这种技术被称为reinforcement learning from human feedback - RLHF,人类反馈强化学习。

2023年的深度学习入门指南(1) - 从chatgpt入手

RLHF这种技术最初是用在玩游戏的强化学习中。如果用深度强化学习做过Atari游戏的同学都会知道,很多游戏太复杂了,想让算法找到成功的路径需要花费大量时间,甚至经常退化找不到。这时候,如果有玩通关过的人来指导一下,就会节省大量的试错时间。
但是这也是个技术活,如果让哪一种情况下人都指导,那人也受不了。所以要将人类的反馈数据也加工成模型。后来,这种技术在自然语言处理中也遍地开花。

经过人类反馈强化学习的方法进行微调之后,chatgpt竟然惊奇地发现,它对于代码的总结能力、对回答代码问题的能力和支持多种编程语言的能力比gpt3有显著的提高。这个结果跨界打击了Codex等专门为编程语言研发的模型。

不过,不管是论文还是实测结果都证明了,chatgpt仍然会犯简单低级的错误,需要在理论和实践上都进一步的改进。

chatgpt并不是全部

从目前看来,chatgpt和gpt4是领先的。但是,其它的方向我们也需要保持关注和敏感度。比如更小算力的方向是否可能有突破,或者是下一步的线索是否已经在悄悄地成长中。

开源的解决方案仍然是一个值得关注的方向。 抱openai的大腿并且搞好引志工程是目前是最现实的解决方案,但是我们永远不能忽视开源的力量。哪怕开源的走错了方向,这个错误也更容易被学习到。

以Meta AI推出的LLaMA为例,他们的关注点不是人类反馈强化学习,而是坚持由《Scaling laws for neural language models》一文提出的缩放定律:

  • 语言模型的交叉熵损失随着模型大小、数据集大小和训练计算量呈幂律关系,其中一些趋势跨越了七个数量级以上。
  • 网络的其他架构细节,如宽度或深度,在较大的范围内对性能影响很小。

2023年的深度学习入门指南(1) - 从chatgpt入手

也就是说,沿着缩放定律的方向,few-shot的能力就还会进一步提升。这一过程,只与数据量、计算量和参数量三者有关。

而据Deepmind的一项研究《Training Compute-Optimal Large Language Models》,模型和训练数据量等比例缩放才会获取更好的训练效果。现有的大模型参数加上去了,但是数据量没有跟上,所以浪费了资源。

所以LLaMA也尝试依据Deepmind的这项研究,通过增加训练数据来对较小的模型进行训练,可以得到比更大模型更好的效果。

这里不得不再八卦一下,缩放定律这篇论文,恰恰是也是来自研究gpt3的openai团队。团队的leader是Dario Amodei。
2023年的深度学习入门指南(1) - 从chatgpt入手

在gpt3面临选择的关头,Dario Amodei对于gpt3这样的黑盒也很不满,他认为能够解释清楚黑盒比做更大的gpt4更重要,于是他带领很多openai同事创建了Anthropic。无论最终结果如何,Anthropic所代表的思路是值得我们一直关注的。文章来源地址https://www.toymoban.com/news/detail-429978.html

小结

  1. 从编程实现全部模型,到使用预训练模型,到调用API微调,再到引导工程,每一步都是技术的发展,每一层做好都不容易。
  2. 更大的模型目前仍然是最有希望的方向。更大的模型和更多的数据可能会涌现出更强的微调和少样本零样本能力。
  • 2023年的深度学习入门指南(2) - 给openai API写前端
  • 2023年的深度学习入门指南(3) - 前端同学如何进行chatgpt开发
  • 2023年的深度学习入门指南(4) - 为不同的场景写专用的前端
  • 2023年的深度学习入门指南(5) - 动手写第一个语言模型
  • 2023年的深度学习入门指南(6) - 在你的电脑上运行大模型
  • 2023年的深度学习入门指南(7) - HuggingFace Transformers库
  • 2023年的深度学习入门指南(8) - 剪枝和量化
  • 2023年的深度学习入门指南(9) - SIMD和通用GPU编程
  • 2023年的深度学习入门指南(10) - CUDA编程基础
  • 2023年的深度学习入门指南(11) - Triton
  • 2023年的深度学习入门指南(12) - PEFT与LoRA
  • 2023年的深度学习入门指南(13) - 写后端
  • 2023年的深度学习入门指南(14) - 不能只关注模型代码
  • 2023年的深度学习入门指南(15) - 大模型的幻觉
  • 2023年的深度学习入门指南(16) - JAX和TPU加速
  • 2023年的深度学习入门指南(17) - 深度学习的硬件加速技术
  • 2023年的深度学习入门指南(18) - 将LLaMA2跑起来
  • 2023年的深度学习入门指南(19) - LLaMA 2源码解析
  • 2023年的深度学习入门指南(20) - LLaMA 2模型解析
  • 2023年的深度学习入门指南(21) - 百川大模型
  • 2023年的深度学习入门指南(22) - 百川大模型13B的运行及量化
  • 2023年的深度学习入门指南(23) - ChatGLM2
  • 2023年的深度学习入门指南(24) - 处理音频的大模型 OpenAI Whisper
  • 2023年的深度学习入门指南(25) - 通义千问7b
  • 2023年的深度学习入门指南(26) - 在自己电脑上运行通义千问7b模型

到了这里,关于2023年的深度学习入门指南(1) - 从chatgpt入手的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 2023年的深度学习入门指南(2) - 给openai API写前端

    2023年的深度学习入门指南(2) - 给openai API写前端

    上一篇我们说了,目前的大规模预训练模型技术还避免不了回答问题时出现低级错误。 但是其实,人类犯的逻辑错误也是层出不穷。 比如,有人就认为要想学好chatgpt,就要先学好Python。 其隐含的推理过程可能是这样的: TensorFlow需要使用Python PyTorch需要使用Python Scikit-Learn需

    2023年04月08日
    浏览(11)
  • 2023年的深度学习入门指南(6) - 在你的电脑上运行大模型

    2023年的深度学习入门指南(6) - 在你的电脑上运行大模型

    上一篇我们介绍了大模型的基础,自注意力机制以及其实现Transformer模块。因为Transformer被PyTorch和TensorFlow等框架所支持,所以我们只要能够配置好框架的GPU或者其他加速硬件的支持,就可以运行起来了。 而想运行大模型,恐怕就没有这么容易了,很有可能你需要一台Linux电脑

    2024年02月16日
    浏览(8)
  • 2023年的深度学习入门指南(26) - 在自己电脑上运行通义千问7b模型

    2023年的深度学习入门指南(26) - 在自己电脑上运行通义千问7b模型

    通过量化,通义千问4位量化的模型大小为5.86G,可以在3060等小于16G的家用GPU上也可以运行起来。 通义千问7b提供了4位量化好的Qwen/Qwen-7B-Chat-Int4模型,我们直接调用就好。 首先安装依赖包: 如果你是Linux环境的话,可以安装下Flash-Attention来加速: Windows下暂时还用不了,这个

    2024年02月10日
    浏览(8)
  • 测牛学堂:2023软件测试入门学习指南(测试方法之边界值法)

    边界值分析法 边界值:输入数据是一个有序的集合或者范围的时候,处于集合范围的边界上的值。 边界值的几个常用的概念: 上点:边界上的点。比如条件是(1,9)那么上点就是2和9 离点:开区间的离点,就是反方向去取。(1,9) 的离点,就是2和8 内点:范围内除了上点和

    2023年04月25日
    浏览(11)
  • 手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南

    手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南

    B站:马上就更!!!_bilibili CSDN:手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南_百年后封笔-CSDN博客 Github:封笔 公众号:百年后封笔 你好,我是封笔! 如今深度学习技术的不断演进,我们的生活发生着翻天覆地的变化,无论是计算机视觉、自然语言处

    2024年02月08日
    浏览(40)
  • kotlin入门教程指南(2023最新)

    kotlin入门教程指南(2023最新)

    Kotlin 是一个基于 JVM 的新的编程语言,目前在国外非常火热,并且在一步步走向国内市场 Kotlin有以下好处: 强大的IDE。而且是JetBrains第一方支持,不是3年更新一次的第三方插件; 库多生态强。Kotlin的设计者非常重视和Java的互操作,所以Kotlin号称可以无缝衔接所有Java库。

    2024年02月14日
    浏览(9)
  • 立体匹配入门指南(8):视差图、深度图、点云

    立体匹配入门指南(8):视差图、深度图、点云

    本篇是比较简单的基础概念,刚入门的朋友可能是需要的。 视差图 三维点云 首先,我们要介绍下这三个概念。 视差(disparity) 视差 d d d 等于同名点对在左视图的列坐标减去在右视图上的列坐标,是 像素单位 d = x l − x r d=x_l-x_r d = x l ​ − x r ​ 立体视觉里,视差概念在极

    2023年04月08日
    浏览(20)
  • 使用Flutter构建ChatGPT客户端:快速入门指南

    使用Flutter构建ChatGPT客户端:快速入门指南

    在本篇博客文章中,我们将通过OpenAI的API构建一个简单的对话界面,与ChatGPT进行聊天。 近来OpenAI和ChatGPT的热度很高,尤其是最近发布的GPT-4。这类工具的大量使用案例已经涌现出来,但目前人们最常用ChatGPT的方式是通过chat.openai.com进行聊天。我一直在使用ChatGPT来激发灵感、

    2024年02月05日
    浏览(10)
  • OpenAI ChatGPT3.5 completion API 入门指南

    OpenAI ChatGPT3.5 completion API 入门指南

    官方介绍 ChatGPT 由 OpenAI 最先进的语言模型 gpt-3.5-turbo 提供支持。 使用 OpenAI API,您可以使用 GPT-3.5-turbo 构建自己的程序来做一些如下的事情: 起草电子邮件或其他书面文件 编写 Python 代码 回答关于一组文档的问题 创建对话代理程序 为你的软件提供自然语言接口 充当导师辅

    2023年04月16日
    浏览(11)
  • 0基础快速集成ChatGPT!请收藏好这份保姆级入门指南!

    0基础快速集成ChatGPT!请收藏好这份保姆级入门指南!

    快速集成ChatGPT!请收藏好这份保姆级入门指南! 大家好,我是洲洲,欢迎关注,一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我! 如果大家要在 Python 中使用

    2024年02月07日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包