大模型核心技术原理: Transformer架构详解

news2024/11/17 17:23:53

在大模型发展历程中,有两个比较重要点:第一,Transformer 架构。它是模型的底座,但 Transformer 不等于大模型,但大模型的架构可以基于 Transformer;第二,GPT。严格意义上讲,GPT 可能不算是一个模型,更像是一种预训练范式,它本身模型架构是基于 Transformer,但 GPT 引入了“预测下一个词”的任务,即不断通过前文内容预测下一个词。之后,在大量的数据上进行学习才达到大模型的效果。

之所以说 Transformer 架构好,是因为 Transformer 能够解决之前自然语言处理中最常用的 RNN 的一些核心缺陷,具体来看:一是,难以并行化,反向传播过程中需要计算整个序列;二是,长时依赖关系建模能力不够强;三是,模型规模难以扩大。

那么,Transformer 具体是如何工作的?

首先,是对输入进行标识符化,基于单词形式,或字母,或字符子串,将输入文本切分成几个 token,对应到字典中的 ID 上,并对每个 ID 分配一个可学习的权重作为向量表示,之后就可以针对做训练,这是一个可学习的权重。

在输入 Transformer 结构之后,其核心的有自注意力模块和前向传播层。而在自注意力模块中,Transformer 自注意力机制建模能力优于 RNN 序列建模能力。因此,有了 Transformer 架构后,基本上就解决了运行效率和训练很大模型的问题。

基于 Transformer 架构的主流语言大模型主要有几种: file

一是,自编码模型,如 BERT,简单讲就是给到一句话,然后把这句话的内容挖空,当问及挖空的内容时,就把内容填回去,这其实是典型地用来做一个自然语言理解的任务,但做生成任务是非常弱的;

二是,自回归模型,如 GPT,它是通过不断地预测下一个词,特点是只能从左到右生成,而看不到后面的内容。GPT-1 最后接了一个 Linear 层做分类或选题题等任务,到了 GPT-2 ,已经将一些选择任务或者分类任务全部都变成文本任务,统一了生成的范式;

三是,编码器-解码器模型,如 T5,它的输入和输出是分为比较明显的两块内容,或者是问答式,或者序列到序列的转换型的任务;

四是,通用语言模型,如 GLM,该模型结合了自回归和自编码两种形式的模型,举个例子,“123456”是一串输入的序列,现在把 “3”、“5”、“6” 挖空,让模型去学习,那么,挖空以后换成一个 “ mask token” 告诉模型这个地方遮掉了一些内容,现在需要去预测出来遮掉的内容。

与 BERT 不同的是,GLM 把自回归和自编码方式进行结合后,挖出来的内容直接拼到了文本的后面,然后加上一个 “ start token”,告诉模型现在是开始生成了,开始做填空任务了,然后把标准答案 “5”、“6” 放在 “ star token”后面让它去预测,直到预测到 “end token”,它就知道这个填空已经结束了。这个过程称为自回归填空式的任务,整个计算流程还是自回归式,但它不断预测下一个词,既实现了填空的功能,又能看到上下文内容。此外,相比于 GPT 模型,GLM 采用了一个双向注意力的机制。

国产AI辅助编程工具CodeGeeX。 CodeGeeX也是一个使用AI大模型为基座的辅助编程工具,帮助开发人员更快的编写代码。可以自动完成整个函数的编写,只需要根据注释或Tab按键即可。它已经在Java、JavaScript和Python等二十多种语言上进行了训练,并基于大量公开的开源代码、官方文档和公共论坛上的代码来优化自己的算法。CodeGeeX作为一款中国原创的AI辅助编程工具,现在免费提供给所有开发者使用,同时完全开源,程序员使用普遍认为编写代码的效率提升2倍以上。

最近功能上新非常快,比如刚刚更新的“Ask CodeGeeX”功能,是将智能问答模式,融合到实际开发场景中,让开发者更专注和沉浸于编程,不用离开当前 IDE 的编程环境,就可以边写代码边和 AI 对话,实现针对编程问题的智能问答。无需waitlist,立刻就能尝鲜这个新功能!

那么就先给大家快速看看,在CodeGeeX上的体验是怎样的: file

file

在大模型时代,编程推荐各位下载使用AI辅助编程工具CodeGeeX

本文由博客一文多发平台 OpenWrite 发布!

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

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

相关文章

【学习笔记】Python核心技术与实战-基础篇-03列表和元组,到底用哪个?

目录 列表和元组基础概念区别列表和元组的基础操作和注意事项列表和元组存储方式的差异列表和元组的性能列表和元组的使用场景总结思考题 列表和元组基础 概念 列表和元组,都是一个可以放置任意数据类型的有序集合。 在绝大多数编程语言中,集合的数据类…

C++算法:排序之二(归并、希尔、选择排序)

C算法:排序 排序之一(插入、冒泡、快速排序) 排序之二(归并、希尔、选择排序) 文章目录 C算法:排序二、比较排序算法实现4、归并排序5、希尔排序5、选择排序 原创文章,未经许可,严禁…

从vue2到vue3的生命周期

1.vue2 在vue2.x中的生命周期为 beforeCreate created beforeMount mounted beforeUpdate updated beforeDestroy destroyed activated deactivated errorCaptured 在vue3中,新增了一个setup生命周期函数,setup执行的时机是在beforeCreate生命函数之前…

count(0)、count(1)和count(*)、count(列名) 的区别

当我们对一张数据表中的记录进行统计的时候,习惯都会使用 count 函数来统计,但是 count 函数传入的参数有很多种,比如 count(1)、count(*)、count(字段) 等。 到底哪种效率是最好的呢?是不是 count(*) 效率最差? 一.…

【Mysql数据库从0到1】-入门基础篇--sql语句简单使用

【Mysql数据库从0到1】-入门基础篇--sql语句简单使用 🔻一、数据库创建、删除、选择1.1 🍃 create database 创建数据库1.2 🍃 使用 mysqladmin 创建数据库1.3 🍃 drop 命令删除数据库--一般不建议在数据库执行delete、drop等命令…

公司招人面试了一个00后,绝对能称为是内卷届的天花板

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资也不低,面试的人很多,但平均水平很让人失望。令我印象最深的是一个00后测试员,他…

【商品页面详情页+商品评论】API接口技术交流,封装接口

商品详情API接口数据:提供了商品的基本信息,包括商品名称、描述、规格、价格、销量、库存等信息。此外,也可以通过提供的API接口来获取商品的图片、评价、物流信息等详细数据。 商品评论接口是消费者对商品所进行的客观评价 电商API的应用价…

使用geoserver发布shp和tiff数据

一、安装并启动geoserver服务 1.1 下载geoserver 进入官网下载 由于geoserver是使用Java语言开发的,所以运行需要java的环境,不同geoserver的版本号对java的版本要求不同,所以选择版本时需注意对应java的版本要求,由于我本地安…

Nginx配置域名证书

Nginx配置域名证书 1、证书存放路径 2、nginx.conf文件中增加以下配置,注意路径不一样,访问地址目录不一样 server {listen 443 ssl http2;server_name jistest.vwatj.ap.vwg;ssl_certificate D:/home/XXX/ssl/2023/XXX.cer; ssl_certificate_key D…

Spring Validation 接口入参校验

一、前言 JSR 是 Java Specification Requests 的缩写,含义为 JAVA 规范提案。 JSR 303 - Bean Validation 规范, 正是一套基于 JavaBean 参数校验的标准。 Hibernate Validator 是 JSR 303 的实现,它提供了 JSR 303 规范中所有约束(constrai…

泪崩!测试面试技术面过了却挂在了——“谈谈你的职业生涯规划”

前不久,软件测试交流群里面有一个成员吐槽,说今天的面试技术已经面过了,可HR却问了她“未来的职业发展目标是什么?”然后,挂了!这个问题我们平时在交流群里都有讲过,可是这丫头比较疯&#xff0…

级差制系统开发模式是怎么赚钱的?

级差制是直销所有模式中最受欢迎的模式之一,很多企业商家都会在级差制和双轨制中二选一,可见这个模式的优秀程度。下面就来简单分析一下,在级差制模式中是怎么赚钱的? 级差制最大的特点就是以卖货为主,它所有的奖金设置…

正规理财app软件有哪些?top5资质正规理财app软件最新排名

正规理财app软件有哪些?随着移动端理财的普及,越来越多的人开始使用理财app软件进行投资和资产管理。但是,市场上有很多理财软件,如何选择一款正规、安全的软件是关键。下面就为大家介绍一些选择理财app软件的建议。首先&#xff…

GDT陶瓷气体放电管串电容的5点作用

串电容,是指串联衔接于线路中,其主要目的是用来补偿电力线路感抗的电容器,电容器也是目前电力设备中必不可少的一环,其种类很多。下面优恩将为大家介绍一下GDT陶瓷气体放电管串电容的作用。 据小编了解,GDT陶瓷气体放电…

Bellhop 海底地形起伏条件下的传播特性

文章目录 前言一、预备内容二、水平海底波导(水平海底)1、海底水平的深海波导中的声线①、环境文件②、Matlab 命令③、执行结果 2、海底水平的深海波导中的本征声线①、环境文件②、Matlab 命令③、执行结果 3、海底水平的深海波导中的相干传播损失①、…

TDEngine3.0 环境安装、配置及使用经验总结

TDEngine3.0 环境安装、配置及使用经验总结 一、TDengine 介绍二、TDengine的下载三、TDengine Server安装及配置3.1 安装3.2 taos的参数配置3.3 启动3.4 taosAdapter 四、TDengine Client 安装4.1 linux客户端安装4.2 windows客户端安装 五、TDEngine3.x的使用总结 一、TDengi…

minhook探究

参考:https://github.com/TsudaKageyu/minhook minhook是windows平台上支持x86/x64的hook库,git上的自我介绍说是“mininalistic",其简约并不简单。在接口的设计,hook的兼容性等方面,还是值得我们初学者解决的。熟悉inline …

Hadoop之HDFS概述

Hadoop概述之HDFS HDFS架构概述优缺点HDFS架构HDFS文件块大小HDFS的shell命令HDFS读写流程写数据流程 HDFS读数据流程NameNode 和 SecondaryNameNode工作机制DataNode工作机制DataNode数据完整性如何保证 端口名称Hadoop2.xHadoop3.xNameNode内部通信端口8020/9000NameNode HTT…

两天搞定计算机专业毕业设计,附源码

两天搞定计算机专业毕业设计,附源码 适用者毕设专业 使用要求具备基本Unity 基本操作小白即可,无需编码 博主诉求快乐毕业 点赞 关注 收藏 资源说明Free资源太多了,看截图目录就知道了 适用者 毕设专业 鄙人也是计算机狗一只,会…

软考A计划-电子商务设计师-复习要点

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…