GPT的实现细节

关于GPT的代码细节,这里梳理了一下:

数据集构造

原始数据集schema:

input=who is your favorite basketball player?
output=Of course Kobe Bryant!

那么在构造训练集时,根据chunk size构造多个输入:

input_1=who is your favorite basketball player? Of
input_2=who is your favorite basketball player? Of course
......
input_n-1=who is your favorite basketball player? Of course Kobe Bryant!
input_n=who is your favorite basketball player? Of course Kobe Bryant! <EOS>

由于训练任务是下一个单词预测,所以 x = i n p u t [ : − 1 ] , y = i n p u t [ 1 : ] x=input[:-1], y=input[1:] x=input[:1],y=input[1:]

loss

x x x是模型可见已知的,需要mask掉,不算入loss:

y[:-1] = -1
loss = F.cross_entropy(logits.view(-1, logits.size(-1)), targets.view(-1), ignore_index=-1)

生成

在karpathy/minGPT项目中,是直接粗暴地生成固定长度的文本。这样做的问题就是生成的文本无法判断何处阶段。

在构造模型输入的时候,我们就加入了 <EOS> token,来标记文本的结束。那么在推理阶段,如果碰到该token,则结束生成:

if token == "<EOS>":break

参考

  • GPT2LMHeadModel
  • mingpt
  • GPT2-NewsTitle

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

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

相关文章

深入探索Redis集合:高效数据存储与应用解析

Redis作为一种高性能的键值存储系统&#xff0c;其中的集合&#xff08;Set&#xff09;是一种无序、唯一值的数据结构&#xff0c;提供了快速的插入、删除和查找操作。本文将深入解析Redis集合的使用方法、示例、应用场景以及注意事项。 Redis集合的基本使用方法 Redis集合的…

每周一算法:双向深搜

题目描述 达达帮翰翰给女生送礼物&#xff0c;翰翰一共准备了 N N N 个礼物&#xff0c;其中第 i i i 个礼物的重量是 G [ i ] G[i] G[i]。 达达的力气很大&#xff0c;他一次可以搬动重量之和不超过 W W W的任意多个物品。 达达希望一次搬掉尽量重的一些物品&#xff0c;请…

c/c++ | gdb | 多线程调试

关于调试程序&#xff0c;采用GDB 一般有两种方式 一个是gdb -p 加上你要调试的程序 gdb -p xxx 或者 gdb attach 加上你要调试的程序 gdb attaach xxx 然后对于调试多线程&#xff0c;一般是出现死锁问题。死锁通常是共享资源冲突导致 调试多线程 已经进入gdb 调试 查看 进程 …

微服务:Sentinel篇

1. 初识Sentinel 1.1. 雪崩问题以及解决方案 1.1.1. 雪崩问题 微服务中&#xff0c;服务间调用关系错综复杂&#xff0c;一个微服务往往依赖于多个其它微服务。 如图&#xff0c;如果服务提供者I发生了故障&#xff0c;当前的应用的部分业务因为依赖于服务I&#xff0c;因此…

【学习笔记】如何实现云原生初步

云原生&#xff08;Cloud Native&#xff09;作为近年来云计算领域的重要趋势&#xff0c;旨在帮助企业更高效地构建、部署和管理应用程序。通过结合容器、微服务、DevOps等关键技术&#xff0c;云原生能够充分发挥云平台的弹性、分布式优势&#xff0c;提升应用的性能、可靠性…

静默安装OGG21.3微服务版本FOR ORACLE版本

静默安装OGG21.3微服务版本FOR ORACLE版本 silent install ogg21.3 for oracle 某度找来找去都没有找到一份可靠的静默安装OGG21.3微服务版本的案例&#xff0c;特别难受&#xff0c;为此将自己静默安装的步骤一步步贴出来分享给大家&#xff0c;请指点&#xff0c;谢谢。 至…

Web Speech API的语音识别技术

SpeechSynthesis对象 这是一个实验性技术 目前兼容性如图&#xff1a; pc端几乎兼容&#xff0c;移动端部分不兼容 网页语音 API 的SpeechSynthesis 接口是语音服务的控制接口&#xff1b; 它可以用于获取设备上关于可用的合成声音的信息&#xff0c;开始、暂停语音&#x…

Querywrapper与Lambdaquerywrappe比较

当使用 Spring Boot 结合 MyBatis Plus 进行开发时&#xff0c;LambdaQueryWrapper 和 QueryWrapper 是用于构建查询条件的两个重要工具。下面详细介绍它们的区别&#xff0c;并举例说明在 Spring Boot 中如何使用。 1. QueryWrapper QueryWrapper 是 MyBatis Plus 中常用的查…

软件杯 深度学习 python opencv 实现人脸年龄性别识别

文章目录 0 前言1 项目课题介绍2 关键技术2.1 卷积神经网络2.2 卷积层2.3 池化层2.4 激活函数&#xff1a;2.5 全连接层 3 使用tensorflow中keras模块实现卷积神经网络4 Keras介绍4.1 Keras深度学习模型4.2 Keras中重要的预定义对象4.3 Keras的网络层构造 5 数据集处理训练5.1 …

从电影《沙丘》说起——对人工智能的思考

从《沙丘》开始说起 之前看《沙丘》电影&#xff0c;里面有一类角色叫门泰特&#xff0c;这类人大脑可以飞快地运算&#xff0c;在电影设定里是替换人工智能、机器运算的存在。男主保罗也是这类型的人&#xff0c;但他可能基因更强大&#xff0c;吸食了香料后&#xff0c;他的…

docker快速安装和详细安装-保姆教程

docker快速安装和详细安装 一、快速搭建 卸载老版本 yum remove docker docker-common docker-selinux docker-engine安装相关需要的包 yum install -y yum-utils device-mapper-persistent-data lvm2设置docker镜像仓库 yum-config-manager \ --add-repo \ http://mirror…

什么数据需要存在Redis里?缓存的缺点?怎样进行数据同步?

什么数据需要存在Redis里? 通常需要将频繁访问且对性能要求较高的数据存储在Redis中。 缓存数据&#xff1a;Redis常用于存储缓存数据&#xff0c;如热点数据、频繁查询的结果等&#xff0c;以减少对后端数据库的压力和提高系统响应速度。会话信息&#xff1a;对于Web应用来…

大数据面试题之SQL题

大数据面试题之SQL题 1.有一个录取学生人数表&#xff0c;记录的是每年录取学生人数和入学学生的学制 以下是表结构&#xff1a; CREATE TABLE admit ( id int(11) NOT NULL AUTO_INCREMENT, year int(255) DEFAULT NULL COMMENT ‘入学年度’, num int(255) DEFAULT NULL COMM…

大语言模型相关工具使用链接

大语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;是自然语言处理&#xff08;NLP&#xff09;领域中的一种深度学习模型&#xff0c;主要用于理解和生成人类语言。这类模型通常基于Transformer架构&#xff0c;通过在大规模语料库上进行预训练来捕获语言…

Hive调优总结

参数设置 概述:hive的参数配置, 就是在那里配置hive的参数信息, 根据配置地方不同, 作用范围也不一样. 配置方式: 1. set方式进行设置. 2. 命令行方式进行设置. 3. 配置文件方式进行设置. 优先级问题: set方式 > 命令行方式 > 配置文件…

Day67:WEB攻防-Java安全JNDIRMILDAP五大不安全组件RCE执行不出网

知识点&#xff1a; 1、Java安全-RCE执行-5大类函数调用 2、Java安全-JNDI注入-RMI&LDAP&高版本 3、Java安全-不安全组件-Shiro&FastJson&JackJson&XStream&Log4j Java安全-RCE执行-5大类函数调用 Java中代码执行的类&#xff1a; GroovyRuntimeExecPr…

Dockerfile 语法详解

Dockerfile 是一种文本文件&#xff0c;用于定义如何构建 Docker 镜像。它包含一系列指令&#xff0c;用于创建镜像的各个层&#xff0c;最终生成一个可运行的容器。 语法格式 Dockerfile 的语法遵循以下格式&#xff1a; INSTRUCTION [ARGUMENTS]其中&#xff1a; INSTRUC…

如何使用机器学习构建自己的推荐系统?

一、说明 在广阔的电子商务领域&#xff0c;众多产品和服务都在争夺我们的注意力&#xff0c;推荐系统的作用变得至关重要。这些智能系统彻底改变了我们在线发现和接触产品的方式&#xff0c;使其成为现代电子商务平台成功的基石。 推荐系统&#xff0c;通常称为推荐引擎或简称…

机器学习入门:探索智能算法的世界 (上)

引言 在信息时代,数据与算法构成了新的基石,而机器学习则是连接它们的桥梁。机器学习,一门让计算机通过数据学习并做出决策的科学,正逐渐成为现代技术不可或缺的一部分。从个性化推荐系统、自动驾驶汽车到高级数据分析和预测模型,机器学习的应用几乎遍及每一个领域,它不…

谈谈对数据库索引的认识

索引的概念 索引是一种特殊的文件&#xff0c;包含着对数据表里所有记录的引用指针。 可以对表中的一列或多列创建索引&#xff0c;并指定索引的类型&#xff0c;各类索引有各自的数据结构实现。 索引的作用 默认情况下&#xff0c;进行条件查询操作&#xff0c;就是遍历表&a…