Chat-GPT原理

Chat-GPT原理核心:基于Transformer 架构

​ 以下是参考文献的部分截图原文说明:

​ Transformers are based on the “attention mechanism,” which allows the model to pay more attention to some inputs than others, regardless of where they show up in the input sequence. For example, let’s consider the following sentence:

在这里插入图片描述

​ In this scenario, when the model is predicting the verb “bought,” it needs to match the past tense of the verb “went.” In order to do that, it has to pay a lot of attention to the token “went.” In fact, it may pay more attention to the token “went” than to the token “and,” despite the fact that “went” appears much earlier in the input sequence.

​ 原文简单总结:Transformer 架构它允许模型在处理输入序列时,能够同时关注输入序列中各个位置的信息,从而更好地捕捉长距离依赖关系。

Transformer 架构:

​ 特点包括自注意力机制和位置编码,它们使得模型能够有效地捕捉输入序列的长程依赖关系。下面是 Transformer 架构的一些关键组成部分:

自注意力机制(Self-attention):

​ 自注意力机制允许模型在处理序列数据时将不同位置的信息进行交互。通过对每个单词或标记计算注意力权重,模型可以根据输入序列中其他位置的信息来调整每个位置的表示。这使得模型能够捕获远距离的依赖关系,从而更好地理解整个序列。

位置编码(Positional encoding):

​ 由于自注意力机制并不会考虑输入序列中词语的位置信息,因此需要引入位置编码来表示词语在序列中的相对位置。常用的位置编码方法包括正弦和余弦函数的组合,这样可以为不同位置的词语赋予不同的位置编码向量。

编码器-解码器结构(Encoder-Decoder architecture):

​ Transformer 模型通常由编码器和解码器组成,适用于序列到序列的任务,如机器翻译。编码器用于处理输入序列,解码器用于生成输出序列。

多头注意力(Multi-head attention):

​ 为了增加模型对不同表示空间的关注,Transformer 使用多个注意力头来并行计算注意力权重,然后将它们的结果进行拼接和线性变换。

前馈神经网络(Feed-forward neural network):

​ 每个编码器和解码器层都包含一个前馈神经网络,它将每个位置的表示映射为另一个表示,通过多层前馈神经网络可以增加模型的表示能力。

除此之外,Transformer架构还使用了残差连接(residual connections)和层归一化(layer normalization)等技术来加速训练过程和提高模型性能。此外,Transformer架构还支持并行计算,使得模型能够更高效地处理大规模数据。

原文链接建议多读读:How GPT Models Work. Learn the core concepts behind OpenAI’s… | by Beatriz Stollnitz | Towards Data Science

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

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

相关文章

热门好用的核验类API,含免费次数

信息核验类 实人认证(人像三要素):输入姓名、身份证号码和一张人脸照片,与公安库身份证头像进行权威比对,返回比对分值。实名认证(身份证二要素):核验身份证二要素(姓名…

2023年甘肃省职业院校技能大赛(中职教师组)网络安全竞赛样题(三)

2023年甘肃省职业院校技能大赛(中职教师组) 网络安全竞赛样题(三) (总分1000分) 目录 模块A 基础设施设置与安全加固 模块B 网络安全事件响应、数字取证调查和应用安全 B-1任务一:主机发现…

MySQL之binlog文件过多处理方法

背景 MySQL由于大量读写,导致binlog文件特别的多。从而导致服务器disk空间不足问题。 先备份binlog文件 tar -zcvf mysql.tar.gz mysql/data/mysql-bin.00* 修改MySQL配置 binlog过期时间 show variables like expire_logs_days; 这里 0 表示 永不过期 如果为 n…

在2台RHEL 8服务器上安装并配置PostgreSQL 14的主从架构

为了在两台RHEL 8服务器上安装并配置PostgreSQL 14的主从架构,你需要按照以下步骤操作。这将包括安装PostgreSQL、初始化数据库、调整配置、设置归档目录等。请确保你具有root或具有适当权限的用户访问权限来执行这些操作。 1. 安装PostgreSQL 14 在两台服务器上都…

卡通渲染总结《一》

本文是在看完之前的综述论文《Cartoon Style Rendering》的总结,论文时间是2008年有点早,但有一定启发意义。 前言 首先卡通渲染是非真实化渲染(NPR)的一个部分.而NPR旨在模拟出手工插图的效果例如油画、墨水画、漫画风格作品。 …

常用类与比较器

常用类 学一个类,先搞清楚继承关系,再看源码 包装类Wrapper jdk5之前是手动装箱拆箱 jdk5及之后是自动装箱拆箱(调用valueOf方法(自动默认)/创建对象的构造方法,XXXvalue方法…

mongdb配置ssl

mongodb5.0.9 centos7.6 x86 1、正常启动mongod -f mongodb.conf 【前言】 ssl配置流程步骤,按照以下顺序处理即可。 1.生成证书,根证书,服务端证书,客户端证书 2.配置服务端ssl配置,测试she…

vue form表单的封装--使用的是elementUI

该组件是一个动态生成表单的Vue组件,通过传入formList参数和插槽的方式实现表单项的定制化渲染 组件的封装 HCommonFormItem 根据传入的"formList"参数生成一组表单项,并通过插槽(slot)将表单项渲染出来。 在component…

编程模拟支付宝能量产生过程--数据控制流

#模拟支付宝蚂蚁森林的能量产生过程 behavior_points { # 定义行为对应的积分"步行": 2,"生活缴费": 10,"线下支付": 5,"网络购票": 5,"共享单车": 10 }total_points 0 # 初始化总积分while True: # 开…

【Python】基础练习题_文件及数据格式化

(1)从键盘输入一些字符,逐个把它们写到磁盘文件"test1.txt"上,直到输入一个#为止。 file_name "test1.txt"with open(file_name, "w") as file:while True:char input("请输入字符&#xf…

10倍提升启动的时间?Graalvm打包Springboot+MyBatis实测

graalvm使用前后对比图 相关代码博客:https://blog.csdn.net/weixin_43914278/article/details/134446327 工具大小时间graalvm打包的exe文件84.14MB0.251秒graalvm打包的docker文件121.27MB0.253秒jar包51.34MB2.153秒 解析 文件大小: graalvm打包的Docker文件…

苍穹外卖项目笔记(7)— 微信登录、商品浏览

前言 苍穹外卖项目代码:https://github.com/Echo0701/take-out 1 HttpClient 1.1 介绍 HttpClient 是 Apche Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且支持 HTTP 协议最新…

CUDA简介——For循环并行化

1. 引言 前序博客: CUDA简介——基本概念CUDA简介——编程模式 kernel相关语法定义为: kernel函数定义,与常规C函数定义类似。不同之处在于,有__global__关键字。 为说明符,告诉编译器该函数应编译运行在device上&a…

java easyPOI导出一对多数据,设置边框,字体,字体大小

java easyPOI导出一对多数据,设置边框,字体,字体大小 需求总是千奇百怪,解决的方式也可以是多种多样。 今天碰到导出excel是一对多结构的,以往导出的数据都是一条一条的,所以采用的是比较方便简单的方法eas…

linux 路由表的优先级

查看路由规则 [rootlocalhost cc]# ip rule list 0: from all lookup local 32765: from 10.0.19.24 lookup 4096 32766: from all lookup main 32767: from all lookup default 现在有 4 条路由规则,优先级是怎样的,0 代表最低优先级还是最高优先级 在…

pytest-yaml 测试平台.新增项目和用例

基于pytest-yaml-yoyo 框架写的接口测试平台,在web网页平台上维护yaml测试用例,执行用例,并查看allure报告。 pytest-yaml-yoyo 框架简介 pytest-yaml-yoyo 框架是上海-悠悠 2023年自主开发的pytest结合yaml框架。gitee项目地址https://gite…

综合指南:如何创建有效的知识地图?

知识地图是知识管理中的重要工具,使企业能够有效地利用其资产。它促进了解决问题、新人整合和组织学习。此外,它还提高了生产力,实现了数据驱动的决策,并优化了流程。通过捕获和组织有价值的知识资产,它确保了专业知识…

前后端分离vue+Nodejs社区志愿者招募管理系统

1、首页 1)滑动的社区照片册 使用轮播图,对社区的活动纪念与实时事件宣传。 每个图片附有文字链接,点击跳转对应社区要闻具体页。 2)社区公告栏 日常的社区公告以及系统说明在此区域中进行说明与展示。 2、志愿活动 1)志愿活动发布 想发布需要登录 2)志愿…

kubekey部署k8s

服务器配置 nameipmaster192.168.57.61 node1192.168.57.76 master 安装需要2H4G 磁盘空间至少需要20G node1 安装需要4H4G 磁盘空间至少需要50G 安装k8s环境依赖,在每台服务器执行以下命令 命令:yum install -y socat conntrack ebtables ipset 下载…

【C语言】【堆排序实现TOPK问题】写一个堆排序,并且在一百万个数中找出最大的前K个

1.堆排序的实现: 如果要升序输出,则实现大堆 如果要降序输出,则实现小堆 逻辑:(升序输出) 将堆顶的元素和最后一个元素交换位置,此时左子树和右子树分别仍是大堆的顺序,交换位置后…