【AI学习】Transformer的Token嵌入表示为什么那么长

有朋友问,BERT等大模型的参数量怎么计算的?这个问题,李沐在BERT那篇论文中讲过,主要包括几部分。1、词嵌入:token数量乘以token表示的向量长度,就是 VH;2、注意力计算没有参数,只计算多头注意力的投影矩阵,三个输入的权重矩阵,每个矩阵参数= H(H/头数)头数= HH,输出的权重矩阵参数= HH,共是4HH;3、MLP部分,隐藏层为4H,输入输出层都为H,就是8HH。其他的一些参数量相对较少,大概的参数量就约等于Transformer块数(12HH)+VH。(下图截取自李沐讲论文之BERT篇)
在这里插入图片描述
比如BERT的基础模型,H=768,Transformer块数是12块,V大概是3万,这样参数量就是一亿多。对于著名的GPT3,Transformer块数是96块,H=12288,这样参数量121228812288*96,大概就是1750亿。
这个问题不复杂,但是接着想到,H为什么要取那么大。对于BERT,Token的总数量大概是三万,三万的数量不用20bit就可以表示,为什么Token嵌入表示需要使用768维度的向量,并且,模型越大,Token嵌入表示的向量越长,这是为什么?
想到了这个问题,好像就进一步理解了Transformer架构的内涵。主要是为了使Token嵌入表示能够充分地捕捉到全局的语义信息。注意力机制的本质,我理解,就是信息汇聚,在一个长的文本序列中,通过不断的注意力汇聚,每一个Token除了本身的语义信息,还不断获得整个文本的信息,最后获得了文本序列中与自己相关的全部的语义信息,这样随着模型规模增大,语义信息汇聚的增加,Token嵌入表示就需要使用更高维度的向量表示。换句话说,经过Transformer编码器后的每个Token,已经不是一个单独的Token,而是拥有了过去、现在和未来的全局文本语义信息,能够理解过去,也能够预测未来。

然后继续联想到,大模型的语言,形成了与人类语言不同的范式,有点像蒋特德的科幻小说《你一生的故事》中的外星人的语言。想到这,就觉得,LLM真是太有意思了。

关于《你一生的故事》,摘录百度百科的介绍:
《你一生的故事》是一篇少见的以语言学为核心的科幻小说,荣获1998年的星云奖和斯特金奖。对于那些热衷于描写地球人与外星人交往的科幻作家来说,智慧生物之间交流所必需的语言本是他们必须要解决的首要问题。但是很显然,绝大多数作家都狡猾地回避了这个问题。在他们的故事中,语言障碍总是被一笔带过:故事开始不久,他们就让地球科学家拿着自动翻译器出现在了外星人面前。
从语言学角度切入描写两种智慧生物的交流是对想像力的挑战。科幻有史百余年来,只有特德·蒋在应对这种挑战中,取得了令人瞩目的成就。《你一生的故事》在将语言学的魅力表现到极致的同时,更奠定了特德·蒋科幻名家的地位。《你一生的故事》中的外星人被称为“七肢桶”。七肢桶文字,颇有几分像中国的象形文字,所不同的只是,七肢桶不是靠一个个具有独立意义的字词来表意,而是将所有需要表达的语意都统一在一个字内。语意越是繁复,这个字就越是复杂。
更奇妙的是七肢桶语言背后的感知世界的方式。那种方式与我们完全不同。我们依照前后顺序感知世界,将各个事件之间的关系理解为因与果;而“七肢桶”则同时感知所有事件,既可以先看“因”,也可以先看“果”。这种感知世界的方式深深影响了故事的主人公(她受政府委托掌握七肢桶语言的过程,就是她感知世界的方式发生改变的过程),她因而洞悉了自己,以及她那个暂时还不存在的女儿的一生。虽然我们很明白这意味着什么,但是,当读到“然后,突然间,我已经在太平间。一个勤杂工掀开罩单,露出你的脸。我看见的是二十五岁时的你(她的女儿)”时,那种惊悚,还是让我们猝不及防。小说独具匠心地采用了第一人称视角与第二人称视角交替推进的手法,字里行间充溢着科幻小说特有的奇异感。读者在感受七肢桶语言独特魅力的同时,更感受到一种缘于宿命的忧伤:那忧伤融和着诗一般的意象,最终凝聚成女主人公的感叹——“一瞥之下,过去与未来轰然同时并至,我的意识成为长达半个世纪的灰烬,时间未至已成灰。我的余生尽在其中。”

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MT2041 三角形的个数

思路:找规律,推公式 4等分: 头朝上的三角形: 边长为1:1234s1; 边长为2:123s2; 边长为3:12s3; 边长为4:1s4; 即si12...n-i1(n-i2)*(n-i…

STM32玩转物联网实战篇:5.ESP8266 WIFI模块MQTT通信示例详解

1、准备开发板 开发板功能区分布图 开发板俯视图 2、实验讲解 在之前的章节中,已经讲解过了MQTT的通讯原理和组包过程,现在开始手把手的教大家用代码来实现连接MQTT平台以及数据的交互,实际上这篇文章已经拖更接近两年了,非常…

VS2019中配置C++ OpenCV 4.5.4完整指南

⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三…

基于STM32的报警器

参考前面的内容:STM32点灯大师(中断法)-CSDN博客 同样是使用中断的方式触发警报 一、GPIO口配置起来 二、代码 打开gpio.c 重写虚函数,实现我们想要的功能 -----------------------------------------------------------------…

变频器基础原理

文章目录 0. 基本知识1.三相的电压之和为02.正弦交流相量的相量表示法(相量只是表示正弦量,而不等于正弦量 ;只有正弦量才能用相量表示)引入相量表示法目的:一种正弦量的产生方式:正弦量的相量表示,使用欧拉公式表示复数 3.用复数表示正弦量&…

Redis入门到通关之Redis网络模型-用户空间和内核态空间

文章目录 欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博客 关于博主: 我是 请回答1024,一个追求数学与计算的边界、时间与空间的平衡,0与1的延伸的后端开发者。 博客特色: 在我的…

25考研数学可以全程跟张宇吗?

先说结论:25可以全程跟张宇。除了这三种情况。 总的来说,张宇的知识点是全的,不需要担心漏知识点、漏经典方法。不单高数,线代概率也是这样。 但是,老师讲得好,不能保证你上岸。 如果遇到这三种情况&…

java银行存取款程序设计

银行存取款的流程是人们非常熟悉的事情,用户可在银行对自己的资金账户进行存款、取款、查询余额等操作,极大的便利了人民群众对资金的管理。 本任务要求,使用所学知识编写一个银行存取款程序,实现存取款功能。编写一个帐户类实现…

LeetCode //C - 38. Count and Say Medium Topics Companies

38. Count and Say The count-and-say sequence is a sequence of digit strings defined by the recursive formula: countAndSay(1) “1”countAndSay(n) is the way you would “say” the digit string from countAndSay(n-1), which is then converted into a differen…

StrongSORT——基于DeepSORT,提高多目标跟踪的准确性和鲁棒性

1、概述 1.1 DeepSORT DeepSORT算法是在SORT基础上发展起来的一种多目标跟踪算法。SORT算法结合了目标检测器和跟踪器,其中跟踪器的核心是卡尔曼滤波和匈牙利算法。 卡尔曼滤波用于预测目标在下一帧的位置和状态而匈牙利算法则用于将预测状态与实际检测结果进行最…

Linksys RE7000 “AccessControlList ”命令执行漏洞(CVE-2024-25852 )

声明: 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 简介 Linksys RE7000 是由 Linksys 公司生产的一款 Wi-F…

Netty学习——实战篇5 Netty 心跳监测/WebSocket长连接编程 备份

1 心跳监测 MyServer.java public class MyServer {public static void main(String[] args) {NioEventLoopGroup bossGroup new NioEventLoopGroup(1);NioEventLoopGroup workerGroup new NioEventLoopGroup();try {ServerBootstrap serverBootstrap new ServerBootstrap…

DevOps文化对团队有何影响?

DevOps文化对团队有很多积极影响,包括提高团队效率、促进沟通与协作、提高产品质量和推动创新等方面。然而,实施DevOps文化也需要一定的挑战,如改变团队成员的观念、引入新的工具和流程等。因此,团队需要充分了解DevOps文化的价值…

【Ant-Desgin-React 穿梭框】表格穿梭框,树穿梭框的用法

Antd Desgin 穿梭框 普通用法高级用法-表格穿梭框组件高级用法-树穿梭框组件 普通用法 /* eslint-disable no-unused-vars */ import React, { useEffect, useState } from react import { Space, Transfer } from antd// Antd的穿梭框组件Mock数据 const mockData Array.fro…

CJSON工具类

4.4.3.CJSON工具类 OpenResty提供了一个cjson的模块用来处理JSON的序列化和反序列化。 官方地址: https://github.com/openresty/lua-cjson/ 1)引入cjson模块: local cjson require "cjson"2)序列化: …

记录海豚调度器删除工作流实例失败的解决办法(DolphinScheduler的WebUI删除失败)

本博客记录以下问题解决办法:使用dolphinscheduler的WebUI运行工作流后出现内存占用过高导致的任务阻塞问题,并且在删除工作流实例时总是报错无法删除 解决步骤 在前端页面无法删除,于是搜索资料,发现可以登录数据库进行工作流实…

Day05-docker-compose与私有仓库

Day05-docker-compose与私有仓库 3.4 Docker Compose1)compose极速上手指南案例28-初步上手docker-compose2)compose文件的常用指令3)案例29-docker-compose部署kodexp5)小结 3.5 docker镜像仓库之registry仓库1)仓库选…

Qt中常用对话框

Qt中的对话框(QDialog)是用户交互的重要组件,用于向用户提供特定的信息、请求输入、或进行决策。Qt提供了多种标准对话框以及用于自定义对话框的类。以下将详细介绍几种常用对话框的基本使用、使用技巧以及注意事项,并附带C示例代…

SV-7041T IP网络有源音箱 教室广播多媒体音箱(带本地扩音功能)教学广播音箱 办公室背景音乐广播音箱 2.0声道壁挂式网络有源音箱

SV-7041T IP网络有源音箱 教室广播多媒体音箱(带本地扩音功能) 教学广播音箱 办公室背景音乐广播音箱 一、描述 SV-7041T是深圳锐科达电子有限公司的一款2.0声道壁挂式网络有源音箱,具有10/100M以太网接口,可将网络音源通过自带…

学习指导|在改变

备忘在这里啦。潦草本草