火遍全球的ChatGPT技术简介与主干网络代码

article/2024/9/7 19:20:52

如果说当下最火的AI技术和话题是什么,恐怕很难绕开ChatGPT。各大厂商都在表示未来要跟进ChatGPT技术,开发在自然语言处理智能系统,可见其影响力。本篇博客追个热度,来简单的介绍下ChatGPT到底是一项什么技术,究竟如何完成复杂的语言处理任务的。

ChatGPT到底是一项什么技术

如果想要了解ChatGPT是一项什么技术,不如直接问问他:

可以看到ChatGPT是一项基于Transformer模型实现的NLP软件。关于Transformer模型,我们已经在之前文章《注意力机制原理概述》介绍过。这里提到的LM技术,其实就是Transformer。

ChatGPT背后的Transformer架构

那么,ChatGPT的Transformer架构是什么样?我让chatgpt打印了他自己的主干网络代码,如下:

完整的代码分为四个模块:GPT框架,GPT层,多头注意力模块代码和位置编码。

GPT框架:

import torch
import torch.nn as nn
import torch.nn.functional as Fclass GPT(nn.Module):def init(self, vocab_size, embed_dim, n_layers, n_heads, dropout):super(GPT, self).init()self.vocab_size = vocab_sizeself.embed_dim = embed_dimself.n_layers = n_layersself.n_heads = n_headsself.dropout = dropout    self.embedding = nn.Embedding(vocab_size, embed_dim)self.pos_encoding = nn.Embedding(vocab_size, embed_dim)self.layers = nn.ModuleList([GPTLayer(embed_dim, n_heads, dropout) for _ in range(n_layers)])self.fc = nn.Linear(embed_dim, vocab_size)def forward(self, x):# Embeddingx = self.embedding(x)# Position Encodingx = self.pos_encoding(x)# GPT Layersfor layer in self.layers:x = layer(x)# Outputx = self.fc(x)return x

GPT层代码:

class GPTLayer(nn.Module):
def init(self, embed_dim, n_heads, dropout):super(GPTLayer, self).init()self.embed_dim = embed_dimself.n_heads = n_headsself.dropout = dropoutself.attention = MultiHeadAttention(embed_dim, n_heads, dropout)self.feed_forward = PositionwiseFeedForward(embed_dim, dropout)def forward(self, x):# Attentionx = self.attention(x)# Feed Forwardx = self.feed_forward(x)return x

多头注意力模块代码:

class MultiHeadAttention(nn.Module):
def init(self, embed_dim, n_heads, dropout):super(MultiHeadAttention, self).init()self.embed_dim = embed_dimself.n_heads = n_headsself.dropout = dropoutself.query_linear = nn.Linear(embed_dim, embed_dim)self.key_linear = nn.Linear(embed_dim, embed_dim)self.value_linear = nn.Linear(embed_dim, embed_dim)self.output_linear = nn.Linear(embed_dim, embed_dim)def forward(self, x):# Query, Key, Valuequery = self.query_linear(x)key = self.key_linear(x)value = self.value_linear(x)# Attentionscores = torch.matmul(query, key.transpose(-2, -1)) / math.sqrt(query.size(-1))scores = F.softmax(scores, dim=-1)scores = self.dropout(scores)# Outputoutput = torch.matmul(scores, value)output = self.output_linear(output)return output

位置编码:

class PositionwiseFeedForward(nn.Module):
def init(self, embed_dim, dropout):super(PositionwiseFeedForward, self).init()self.embed_dim = embed_dimself.dropout = dropoutself.fc1 = nn.Linear(embed_dim, embed_dim)self.fc2 = nn.Linear(embed_dim, embed_dim)def forward(self, x):# Feed Forwardx = self.fc1(x)x = F.relu(x)x = self.dropout(x)x = self.fc2(x)x = self.dropout(x)return x

GPT主体框架主要由GPT层叠加构成。GPT层也比较容易理解,基本就是由多头注意力处理模块构建的。按照注意力机制原理,多头注意力处理首先将输入按照查询、键、值做对应的线性变换,之后输入一个多分枝的注意力结构,建立一个具有关联关系的评分结果。按照评分结果,实现对查询的值预测,实现NLP任务。这个模型基本就是2017年Vaswani工作 [1] 的复现。这让我们真正理解了多头注意力的强大之处。

总结

chatgpt是一个有趣且有用的AI工具,对于泛NLP任务,具有目前最优秀的处理分析能力。我认为其在客户问答,信息查询,文字编辑等任务中,将产生深远的影响。其背后基于多头注意力机制的Transformer模型,已被验证在逻辑关系学习领域,具有惊人的技术优势。相信在该技术路线上,未来还会有更加优秀的工作被不断提出。

Reference

[1] A. Vaswani, N. Shazeer, N. Parmar, et al. Attention is all you need. Advances in neural information processing systems, 2017,5998‒6008.


http://chatgpt.dhexx.cn/article/UfVZ6aTX.shtml

相关文章

ChatGPT评出中国排名前的30大学及全球排名,原因很好玩

中国排名前50的大学在中国国内及在全世界的排名,还有原因 以下是中国排名前50位的大学及其在全球的排名和原因: 清华大学 (17):清华大学是中国著名的高水平研究型综合性大学,其在工程学、计算机科学和自然科学等领域具有很高的研究…

【chatGPT演示】

首发网站 天风的人工智能小站 前言:chatGPT 一、注册 https://chat.openai.com/auth/login 1、点击右边注册sign up 2、可以使用自己的邮箱或者谷歌邮箱注册 验证邮箱输入姓名 3、现在到了最关键的一步 因为openAI不对中国开放所以,必须要购买一个外…

聊一聊ChatGPT

最近突然ChatGPT火了,这一款人工智能聊天机器人程序的月活用户已突破1亿,成为史上增长最快的消费者应用。各大IT企业也纷纷宣布拥抱ChatGPT,包括微软、谷歌等。中国国内的百度、科大讯飞也在准备推出国内版的类似ChatGPT的人工智能语音应用。…

chatgpt如何自动生成角色prompt模板

chatgpt如何自动生成角色prompt模板 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 一、角色prompt模板 下面是套图的chatgpt模板,你可以手动的进行填写。将角色的描述填…

报道称,中国互联网巨头将推出自己的 ChatGPT 版本

中国互联网巨头百度计划推出自己的 ChatGPT版本。 周日的一份报告称,该公司将于 3 月推出其人工智能聊天机器人 一位自称了解此事的人士告诉彭博社 。 消息人士称,该工具尚未命名,一开始将并入百度的主要搜索服务。 有关的 ChatGPT&#xff1…

ChatGPT自然语言处理的新里程碑

ChatGPT中文网是一个面向中国用户的聊天机器人网站,旨在为国内用户提供一个自然的环境、有趣、实用的聊天体验。它使用最新的自然语言处理技术来帮助用户更好地理解他们的聊天对话,还可以帮助用户解决日常生活中的问题,提供有趣的谈话内容以及…

ChatGPT:短期被高估

ChatGPT有多热 ChatGPT有多热,我们可以通过百度指数看一下。 伴随着ChatGPT席卷而来,国内诸多业内人士热议,包括求加入。典型的是前美团联合创始人王慧文。在前两天,他就曾在朋友圈中发布“人工智能宣言”,表示以5000万…

【花雕学AI】4月5日,ChatGPT中国财经背景分析:昨天沪指重返3300点,这说明了什么?

在这里插入图片描述 附录: 一、ChatGPT是一个可以和你聊天的人工智能程序,它可以用文字回答你的问题,也可以根据你的提示写出文章、歌词、代码等内容。ChatGPT是由一个叫OpenAI的机构开发的,它使用了一种叫做GPT的技术&…

国产ChatGPT Al大模型排行榜(TOP 30)

关注、星标公众号,精彩内容每日送达 来源:网络素材 1) AI不会臣服于人类的工具 2)AI具备了思想而不被人类理解 3)AI是具备有生命特征的生命 4)中国智慧的抽象算法比西方大数据算法维度要高,八卦…

ChatGPT的未来发展

文章目录 1.什么是ChatGPT2.ChatGPT的基础技术3.ChatGPT工作原理4.ChatGPT应用场景5.ChatGPT局限性6.ChatGPT的未来发展 ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入&#xff…

ChatGPT团队9位华人揭秘:3清华、1北大、1华科

Datawhale分享 分析:ChatGPT团队,来源:AIGC开放社区 Aminer和智谱研究发布了《ChatGPT团队背景研究》报告,深度揭示了这款火爆全球应用的背后团队的总体人员架构。 调查发现,ChatGPT团队只有87人,其显著特…

ChatGPT 从入门到精通

ChatGPT 从入门到精通 适用人群: 互联网一线对ChatGPT感兴趣的划时代先驱者们 内容来源: 内容均出自网络 创建时间: 2023年2月9日 最近更新: 2023年3月29日(每天中午十二点准时更新) 文档内容:分享的内容包括但不限于赚钱引流、实际落地、最新资讯、未来发展、等多个模块。 文…

聊聊中国ChatGPT的应用场景!

01中国版ChatGPT技术原理 首先,ChatGPT是由大量的文本数据进行训练得到的。这些数据包括文章、书籍、新闻报道等,通过对这些数据的学习,ChatGPT可以自动地学会语言的语法、词汇和惯用语等知识。 其次,ChatGPT采用了一种被称为“…

人工智能里程碑ChatGPT之最全详解图解

人工智能里程碑ChatGPT之最全详解图解 1. ChatGPT的前世今生1.1 ChatGPT演化路线1.2技术推进路线 2.ChatGPT主要功能及应用领域2.1 主要功能2.2 应用领域 3.1ChatGPT原理3.1 ChatGPT基石之Transformer3.1.1Transformer结构图3.1.2 Transformer结构图 * 关于Transformer的详细原…

AI绘图:chatGpt,midjourney, discord

一、关键词模板: image prompts: text prompts: 内容特征、画风、艺术效果、视角、背景、灯光 等等 parameters: 参数、模型 二、midjourney指令: 三、chatgpt 数据训练 输入模型信息训练 输入示例继续学习 然后告诉chatgpt以下要求来生成一段自然…

【ChatGPT|AI 应用】ChatGPT + MindShow 快速制作 PPT

应用背景 步入信息化时代,或多或少都需要做各种 PPT,比如:论文答辩 PPT,项目演示 PPT,主题班会 PPT,技术评审 PPT 等等,然而很多同学制作 PPT 的难点在于 PPT 的背景图片、排版的选择与思考。 …

OpenAI ChatGPT 3.5模型和清华开源ChatGLM-6B模型的对比,到底ChatGPT强在哪里(内含几个国内GPT可用途径)

目录 前言: (1)环境 (2)比较用例 (a)中文提问:用java写冒泡排序算法 (b)中文提问:a10,b6,不新增变量,怎么交换a和b的值&#xff…

OpenAI ChatGPT模型训练

打开VSCode 新建一个工作目录 使用pip install --upgrade openai 配置环境变量&#xff1a; OPENAI_API_KEY<你的open ai key> windows配置:(需要重启) setx OPENAI_API_KEY "你的open ai key" 准备训练数据集文件&#xff1a; 格式如下&#xff1a; 放到工作目…

CHATGPT4.0:更加智能、更加便捷的AI人工智能系统

GPT4.0是一种基于自然语言处理技术的人工智能系统&#xff0c;由一支由专业的科学家和工程师组成的团队研发出来。相比于之前的版本&#xff0c;GPT4.0在语言理解和生成、对话交互以及信息检索方面都有了很大的提升和改进。 首先&#xff0c;GPT4.0在语言理解和生成方面比GPT3…

用React实现套壳openai chatgpt聊天系统

React 实现模仿 openAI chatgpt 系统 最近经常用到chatgpt查阅资料&#xff0c;借助梯子时不时掉线&#xff0c;让我非常的无语。于是抽空研究了一下&#xff0c;想想能不能不用梯子也能轻松访问。经过查阅大量资料得到可肯定的答案&#xff0c;经过几天的开发完成了这个模仿o…