GPT演变:从GPT到ChatGPT

Transformer

论文

Attention Is All You Need The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder… https://arxiv.org/abs/1706.03762

The Illustrated Transformer

The Illustrated Transformer Discussions: Hacker News (65 points, 4 comments), Reddit r/MachineLearning (29 points, 3 comments) Translations: Arabic, Chinese (Simplified) 1, Chinese (Simplified) 2, French 1, French 2, Japanese, https://jalammar.github.io/illustrated-transformer/

The Annotated Transformer

The Annotated Transformer (harvard.edu)

GPT Series

GPT-1: Improving Language Understanding by Generative Pre-Training

预训练+微调

Abstract: We demonstrate that large gains on these tasks can be realized by generative pre-training of a language model on a diverse corpus of unlabeled text, followed by discriminative fifine-tuning on each specifific task.

1. Unsupervised pre-training

无监督预训练

2. Supervised fine-tuning

有监督微调

训练过程
(left) Transformer architecture and training objectives used in this work. (right) Input transformations for fifine-tuning on different tasks. We convert all structured inputs into token sequences to be processed by our pre-trained model, followed by a linear+softmax layer.

GPT2: Language Models are Unsupervised Multitask Learners

We demonstrate language models can perform down-stream tasks in a zero-shot setting – without any parameter or architecture modification.

主要的变化:训练集WebText

训练集WebText

GPT3: Language Models are Few-Shot Learners

Here we show that scaling up language models greatly improves task-agnostic, few-shot performance, sometimes even reaching competitiveness with prior state-of-the-art finetuning approaches. Specififically, we train GPT-3, an autoregressive language model with 175 billion parameters, 10x more than any previous non-sparse language model, and test its performance in the few-shot setting.

在这里插入图片描述
Zero-shot, one-shot and few-shot, contrasted with traditional fine-tuning. The panels above show four methods for performing a task with a language model – fine-tuning is the traditional method, whereas zero-, one-, and few-shot, which we study in this work, require the model to perform the task with only forward passes at test time. We typically present the model with a few dozen examples in the few shot setting.

训练集:

GPT3训练集

NLP中迁移学习方式的演变

  1. word2vec (embedding): word vectors were learned and used as inputs to task-specifific architectures
  2. the contextual representations of recurrent networks were transferred (still applied to task-specifific architectures)
  3. pre-trained recurrent or transformer language models have been directly fine-tuned, entirely removing the need for task-specific architectures

预训练+微调方法的限制:为了在特定任务上获得更好的效果,需要在特定于该任务、有成千上万到数十万个样本的数据集上进行微调

ChatGPT

ChatGPT训练过程

Reinforcement Learning from Human Feedback (RLHF)

参考:ChatGPT 背后的“功臣”——RLHF 技术详解 (huggingface.co)

RLHF的思想:以强化学习方式依据人类反馈优化语言模型。RLHF使得在一般文本数据语料库上训练的语言模型能和复杂的人类价值观对齐。

RLHF是一项涉及多个模型和不同训练阶段的复杂概念,这里我们按三个步骤分解:

  1. 预训练一个语言模型 (LM) ;

    预训练语言模型

  2. 聚合问答数据并训练一个奖励模型 (Reward Model,RM) ;

    RM的训练是RLHF区别于旧范式的开端。这一模型接收一系列文本并返回一个标量奖励,数值上对应人的偏好。我们可以用端到端的方式用LM建模,或者用模块化的系统建模 (比如对输出进行排名,再将排名转换为奖励) 。这一奖励数值将对后续无缝接入现有的RL算法至关重要。

    训练奖励模型

  3. 用强化学习 (RL) 方式微调 LM。

    强化学习微调LM

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/617100.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32无刷电机全套开发资料(源码、原理图、PCB工程及说明文档)

目录 1、原理图、PCB、BOOM表 2、设计描述 2.1 前言 2.2 设计电路规范 3、代码 4、资料清单 资料下载地址:STM32无刷电机全套开发资料(源码、原理图、PCB工程及说明文档) 1、原理图、PCB、BOOM表 2、设计描述 2.1 前言 经过一个星期的画PCB,今…

C语言: 字符串函数(下)

片头 在上一篇中,我们介绍了字符串函数。在这一篇章中,我们将继续学习字符串函数,准备好了吗?开始咯! 1.strncpy函数 1.1 strncpy函数的用法 strncpy是C语言中的一个字符串处理函数,它用于将一个字符串的一部分内容…

[lesson27]二阶构造模式

二阶构造模式 构造函数的回顾 关于构造函数 类的构造函数用于对象的初始化构造函数与类同名并且没有返回值构造函数在对象定义时自动被调用 你该知道的真相 构造函数 只提供自动初始化成员变量的机会不能保证初始化逻辑一定成功执行return语句后构造函数立即结束 构造函数…

学浪已购买视频怎么下载到本地?

许多学习者在学浪购买了丰富的课程,然而,一些课程存在时间限制,使得学习者希望将其下载并永久保存。在这里,我们将介绍一款名为小浪助手的工具,它能够帮助你轻松将学浪已购买的视频下载到本地,让学习变得更…

Python匿名函数4不要

当你需要完成一件小工作时,在本地环境中使用这个函数,可以让工作如此得心应手,它就是Lambda 函数。 Lambda 函数是 Python 中的匿名函数。有些人将它们简称为lambdas,它们的语法如下: lambda arguments: expressionl…

[通俗易懂:Linux标准输入/输出和重定向]Shell脚本之 > /dev/null 2>1命令详解

目录标题 一、> /dev/null 2>&1 命令解析二、/dev/null 文件浅显理解三、标准输入、标准输出、标准错误输出四、输入重定向、输出重定向五、命令作用与应用场景 如果想看命令意义,可以直接跳到第五部分 一、> /dev/null 2>&1 命令解析 我们在别…

了解大语言模型的参数高效微调(Parameter-Effcient Fine-Tuning)

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 大语言模型在众多应用领域实现了突破性的进步,显著提升了各种任务的完成度。然而,其庞大的规模也带来了高昂的计算成本。这些模型往往包含数十亿甚至上千亿参数,需要…

【spring】@Profile注解学习

Profile介绍 在Spring框架中,Profile注解用于根据特定的配置文件来有条件地激活或禁用Bean的定义。这在开发和测试过程中非常有用,因为它允许你为不同的环境(如开发、测试、生产)定义不同的配置。 Profile不仅可以标注在方法上&…

fastjson 序列化问题

问题: 使用fastjson 的 对同一个JSONObject对象 多次引用后, 通过 JSON.toJSONString() 方法进行json序列化时出现只有第一次的可以成功序列化未json string 字符串, 后面的对象都为引用地址; 示例: public static void main(String[] args) {JSONObject jsonObject new JSON…

【leetcode面试经典150题】28.盛最多水的容器(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…

代码学习记录42---动态规划

随想录日记part42 t i m e : time: time: 2024.04.14 主要内容:今天开始要学习动态规划的相关知识了,今天的内容主要涉及:最长递增子序列 ;最长连续递增序列 ;最长重复子数组 ;最长公…

selenium添加代理(有账号密码)

以下为各种尝试的记录,正确实现可直接参考最后一条! 1,导入Proxy库来添加capabilities属性:可以访问网站,但ip还是本机ip from selenium import webdriver from selenium.webdriver.chrome.options import Options f…