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,一经查实,立即删除!

相关文章

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…

卡通渲染总结《一》

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

mongdb配置ssl

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

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

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

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…

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)志愿…

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

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

【matlab程序】matlab画螺旋图|旋转图

%% 数学之美====》螺旋线 % 海洋与大气科学 % 20231205 clear;clc;close all; n=10; t=0:0.01:2pin; R=1; xx=nan(length(t),1);yy=nan(length(t),1); for i=1:length(t) xx(i)=Rcos(t(i)); yy(i)=Rsin(t(i)); R=R+1; end figure set(gcf,‘position’,[50 50 1200 1200],‘col…

中文手写数字数据识别

实验环境 python3.7torch1.13.1cu117 torchaudio0.13.1cu117 torchvision0.14.1数据下载地址:Mnist中文手写数字数据集Python资源-CSDN文库 这些汉字包括: 零、一、二、三、四、五、六、七、八、九、十、百、千、万、亿 总共15个汉字,分别…

浅谈ArrayBuffer、Blob和File、FileReader

ArrayBuffer、Blob和File都是JavaScript中处理二进制数据的对象。 ArrayBuffer 用于表示一个通用的、固定长度的原始二进制数据缓冲区。它不能直接操作缓冲区中的数据,而需要通过一个类型化数组TypedArray(如Int8Array、Uint8Array等)或者一…

linux 中crontab 定时任务计划创建时间文件夹示例

1.创建一个sh脚本 /usr/bin/mkdir 是mkdir命令的路径 /usr/bin/chmod 是chmod命令的路径 2.编辑定时任务 crontab -e

爆款开放式耳机哪一款性价比最高?3款热门机型推荐,小白速看

随着生活水平的提升,越来越多的人对蓝牙耳机的需求不再局限于简单的音乐欣赏。他们对耳机的要求越来越高,包括音质表现、舒适度、环境感知等方面也有极大的期待,正是因为这样,开放式耳机应运而生。 身为一个数码测评小博主&#x…

C++ 12.5作业

以下是一个简单的比喻,将多态概念与生活中的实际情况相联系: 比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员&…

音乐律动效果

先上图 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>音乐律动效果</title><style>* {margin: 0;padding: 0;}li {list-style: none;}.container .img {width: 200px;height: 200…

Git介绍与安装使用

目录 1.Git初识 1.1提出问题 1.2如何解决--版本控制器 1.3注意事项 2.Git安装 2.1Linux-centos安装 2.2Linux-ubuntu安装 2.3Windows安装 3.Git基本操作 3.1创建Git本地仓库 3.2配置Git 4.认识⼯作区、暂存区、版本库 1.Git初识 1.1提出问题 不知道你工作或学习时…