面试篇 - GPT-1(Generative Pre-Training 1)

GPT-1(Generative Pre-Training 1)

⭐模型结构

  • Transformer only-decoder:GPT-1模型使用了一个12层的Transformer解码器。具体细节与标准的Transformer相同,但位置编码是可训练的。

  • 注意力机制

    • 原始Transformer的解码器包含两种注意力机制:交叉注意力(cross-attention,其中键和值来自编码器,查询来自解码器)和掩码多头自注意力(mask multi-head attention)。

    • GPT-1模型只使用了掩码多头自注意力。

图示说明

  • 左侧图示:展示了Transformer的架构,包括12层的解码器、层归一化(Layer Norm)、前馈网络(Feed Forward)、掩码多头自注意力(Masked Multi Self Attention)以及文本和位置嵌入(Text & Position Embed)。

  • 右侧图示展示了不同任务的输入转换和训练目标。所有结构化的输入都被转换为标记序列,然后通过预训练模型处理,最后通过一个线性-softmax层进行分类。

不同任务的训练目标

1. 分类(Classification)

输入格式Start Text Extract

  • 解释:输入文本以“Start”标记开始,后面跟着要分类的文本,最后以“Extract”标记结束。

  • 处理流程

    1. 输入文本经过文本和位置嵌入(Text & Position Embed)。

    2. 嵌入后的文本输入到Transformer模型中进行处理。

    3. Transformer的输出经过一个线性层(Linear),输出分类结果。

2. 蕴含(Entailment)

输入格式Start Premise Delim Hypothesis Extract

  • 解释:输入包含两个部分,前提(Premise)和假设(Hypothesis),中间用分隔符(Delim)分开,以“Start”标记开始,最后以“Extract”标记结束。

  • 处理流程

    1. 输入文本经过文本和位置嵌入(Text & Position Embed)。

    2. 嵌入后的文本输入到Transformer模型中进行处理。

    3. Transformer的输出经过一个线性层(Linear),输出蕴含关系的分类结果(例如,前提是否蕴含假设)。

3. 相似性(Similarity)

输入格式Start Text 1 Delim Text 2 Extract

  • 解释:输入包含两个文本,中间用分隔符(Delim)分开,以“Start”标记开始,最后以“Extract”标记结束。

  • 处理流程

    1. 输入文本经过文本和位置嵌入(Text & Position Embed)。

    2. 嵌入后的文本输入到两个Transformer模型中进行处理(每个文本一个Transformer)。

    3. 两个Transformer的输出经过一个线性层(Linear),输出两个文本的相似性得分。

4. 多项选择(Multiple Choice)

输入格式Start Context Delim Answer 1 Extract

  • 解释:输入包含一个上下文(Context)和多个可能的答案(Answer),每个答案之间用分隔符(Delim)分开,以“Start”标记开始,最后以“Extract”标记结束。

  • 处理流程

    1. 输入文本经过文本和位置嵌入(Text & Position Embed)。

    2. 嵌入后的文本输入到Transformer模型中进行处理。

    3. Transformer的输出经过一个线性层(Linear),输出每个答案的选择概率。

训练范式

训练范式(Training Paradigm)是指在机器学习和深度学习中,用于训练模型的一系列方法和策略。它定义了模型如何从数据中学习以及如何优化其参数。不同的训练范式适用于不同的任务和数据类型,常见的训练范式包括:
详见上一篇文章

  1. 监督学习(Supervised Learning)

  2. 无监督学习(Unsupervised Learning)

  3. 半监督学习(Semi-supervised Learning)

  4. 自监督学习(Self-supervised Learning)

  5. 强化学习(Reinforcement Learning)

  6. 迁移学习(Transfer Learning)

  7. 多任务学习(Multi-task Learning)
     

GPT-1模型的训练范式

  • 自监督预训练 + 有监督微调:主要思想是无监督学习。

预训练的标准语言模型目标函数

  • 目标函数:根据前面K个词预测下一个词。

  • 解释:这是一个自回归模型,给定前面的K个词,预测下一个词的概率。

微调的目标函数

  • 目标函数:用的是完整的输入序列加标签,有监督目标函数加无监督目标函数,y是标签。

  • 解释:这是一个有监督学习目标函数,给定输入序列x,预测标签y的概率。同时加入无监督目标函数L1,以增加模型的泛化性和加速收敛。

输入形式创新

  • 输入形式:通过在序列前后添加[Start]和[Extract]特殊标识符来表示开始和结束,序列之间添加必要的[Delim]标识符来表示分隔。

    • 解释:通过这种方式,可以处理不同的下游任务。例如,分类任务、蕴含任务、相似性任务和多项选择任务。

 

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

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

相关文章

ubuntu24.04 cmake 报错 libldap-2.5.so.0 解决办法

apt cmake有毛病 换源重新安装 wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" sudo apt update sudo apt in…

ScholarCopilot:“学术副驾驶“

这里写目录标题 引言:学术写作的痛点与 AI 的曙光ScholarCopilot 的核心武器库:智能生成与精准引用智能文本生成:不止于“下一句”智能引用管理:让引用恰到好处 揭秘背后机制:检索与生成的动态协同快速上手&#xff1a…

vivo X200 Ultra前瞻系列(2):vivo X200 Ultra影像技术沟通会总结

vivo于今日(2025年4月14日)举办的“X系列蓝图影像技术沟通会”中,正式发布了vivo X200 Ultra,展示了其在移动影像领域的多项技术突破。以下是本次沟通会的核心内容总结: 1. 硬件革新:蔡司三焦段镜头与双芯架构 蔡司三大定焦大师镜头: X200 Ultra采用14mm超广角(“鹰眼”…

代码随想录第17天:二叉树

一、二叉搜索树的最近公共祖先(Leetcode 235) 由于是二叉搜索树,节点的值有严格的顺序关系:左子树的节点值都小于父节点,右子树的节点值都大于父节点。利用这一点,可以在树中更高效地找到最低公共祖先。 c…

C++中string库常用函数超详细解析与深度实践

目录 一、引言 二、基础准备:头文件与命名空间 三、string对象的创建与初始化(基础) 3.1 直接初始化 3.2 动态初始化(空字符串) 3.3 基于字符数组初始化 3.4 重复字符初始化 四、核心函数详解 4.1 字符串长度相关 4.1.1 …

LanDiff:赋能视频创作,语言与扩散模型的融合力量

自从 Wan 2.1 发布以来,AI 视频生成领域似乎进入了一个发展瓶颈期,但这也让人隐隐感到:“DeepSeek 时刻”即将到来!就在前几天,浙江大学与月之暗面联合推出了一款全新的文本到视频(T2V)生成模型…

【本地图床搭建】宝塔+Docker+MinIO+PicGo+cpolar:打造本地化“黑科技”图床方案

写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言宝塔安装DockerMinIO 安装与设置cploar内网穿透PicGo下载与安装typora安装总结互动…

centos-LLM-生物信息-BioGPT-使用1

参考: GitHub - microsoft/BioGPT https://github.com/microsoft/BioGPT BioGPT:用于生物医学文本生成和挖掘的生成式预训练转换器 |生物信息学简报 |牛津学术 — BioGPT: generative pre-trained transformer for biomedical text generation and mini…

高效爬虫:一文掌握 Crawlee 的详细使用(web高效抓取和浏览器自动化库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Crawlee概述1.1 Crawlee介绍1.2 为什么 Crawlee 是网页抓取和爬取的首选?1.3 为什么使用 Crawlee 而不是 Scrapy1.4 Crawlee的安装二、Crawlee的基本使用2.1 BeautifulSoupCrawler的使用方式2.2 ParselCrawler的使…

架构总览怎么写,才算工业级?

📈系统架构文档是整个项目最重要的起点,但很多人第一章就“写穿了”: 不是写得太细,就是没有重点。想要写出高质量、能协作、能传承的架构文档,这一篇会告诉你应该怎么做—— ✅ 架构总览的终极目标 明确边界、定义角色、画清数据流 别讲执行细节,别深入函数调用。 ✅ 架…

优先级队列(堆二叉树)底层的实现:

我们继续来看我们的优先级队列: 优先级队列我们说过,他也是一个容器适配器,要依赖我们的容器来存储数据; 他的第二个参数就是我们的容器,这个容器的默认的缺省值是vector,然后他的第三个参数,我…

GIC驱动程序分析

今天呢,我们就来具体的讲一下GIC的驱动源码啦,这个才是重点来着,我们来看看: GIC中的重要函数和结构体: 沿着中断的处理流程,GIC涉及这4个重要部分: CPU从异常向量表中调用handle_arch_irq&am…

java操作redis库,开箱即用

application.yml spring:application:name: demo#Redis相关配置redis:data:# 地址host: localhost# 端口,默认为6379port: 6379# 数据库索引database: 0# 密码password:# 连接超时时间timeout: 10slettuce:pool:# 连接池中的最小空闲连接min-idle: 0# 连接池中的最…

Cribl 通过Splunk search collector 来收集数据

今天利用Spliunk search collector 来收集数据啦:还是要先cribl 的官方文档: Splunk Search Collector | Cribl Docs Splunk Search Collector Cribl Stream supports collecting search results from Splunk queries. The queries can be both simple and complex, as well a…

What Was the “Game Genie“ Cheat Device, and How Did It Work?

什么是“Game Genie”作弊装置,它是如何工作的? First released in 1991, the Game Genie let players enter special codes that made video games easier or unlocked other functions. Nintendo didnt like it, but many gamers loved it. Heres wha…

位运算题目:连接连续二进制数字

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:连接连续二进制数字 出处:1680. 连接连续二进制数字 难度 5 级 题目描述 要求 给定一个整数 n \texttt{n} n,将 1 \text…

第十六届蓝桥杯Java b组(试题C:电池分组)

问题描述: 输入格式: 输出格式: 样例输入: 2 3 1 2 3 4 1 2 3 4 样例输出: YES NO 说明/提示 评测用例规模与约定 对于 30% 的评测用例,1≤T≤10,2≤N≤100,1≤Ai​≤10^3。对于 100…

63. 评论日记

2025年4月14日18:53:30 雷军这次是真的累了_哔哩哔哩_bilibili

电商中的订单支付(内网穿透)

支付页面 接口文档 Operation(summary"获取订单信息") GetMapping("auth/{orderId}") public Reuslt<OrderInfo> getOrderInfo(Parameter(name"orderId",description"订单id",requiredtrue) PathVaariable Long orderId){OrderI…

MySQL表的使用(4)

首先回顾一下之前所学的增删查改&#xff0c;这些覆盖了平时使用的80% 我们上节课中学习到了MySQL的约束 其中Primary key 是主键约束&#xff0c;我们今天要学习的是外键约束 插入一个表 外键约束 父表 子表 这条记录中classid为5时候&#xff0c;不能插入&#xff1b; 删除…