一、概览

1.1 定义

大语言模型(LLM)是基于深度学习和神经网络的自然语言处理技术,目前主要通过Transformer架构和大规模数据训练来理解和生成语言。

GPT不同架构的训练参数

  • GPT-1(2018):1.17亿参数
  • GPT-2(2018):15亿参数
  • GPT-3(2020):1750亿参数
  • GPT-4(2023):参数规模进一步增加

1.2 流程

主要步骤如下:

  1. 输入文本 → 2. Tokenize分词 → 3. 查表映射为词向量 → 4. Transformer网络编码/解码 → 5. 生成token分布 → 6. 采样/查表输出文本

1.3 主流大模型架构对比

经典Transformer架构由编码器(Encoder)和解码器(Decoder)2个组件构成,每个组件都含有自注意力机制和前馈网络2个核心机制。

当前主流大模型是此基础的变体

模型

架构类型

构成/特点

主要用途

BERT

Encoder-only

多层编码器,双向自注意力

理解(分类、问答等)

GPT系列/DeepSeek R1

Decoder-only

多层解码器,单向(因果)自注意力

文本生成、对话

Gemini

多模态/异构架构

可统一处理文本、视觉等

多模态AI任务

Claude/文心/DeepSeek V3

Decoder-only/增强

安全、知识注入等优化

更可靠的文本任务

二、大模型原理

输入层

1.用户输入文本

2.分词(Tokenization)

3.Token到Token ID(查词表得到整数编码)

便于计算机存储

4.Token ID到词向量(查embedding矩阵)

词向量可以表示更多的维度的含义,利于模型通过数学计算向量空间的距离,去捕捉不同词在语义和语法等方面的相似性

  • 词的含义
  • 词与词之间的复杂关系

如下图,男人与国王,女人与女王,两者之间的差异可以被看作是相似的

5.词向量与位置向量相加

让模型理解不同词之间的顺序关系

Transformer架构

编码器只做一次(输入全序列),解码器每生成一个词都要重新递归一次(扩展目标序列),但会用编码器已保存的输出。

编码器(模型理解的关键)

自注意力机制

作用:

融合上下文中的相关信息

可以有多个自注意力头,关注情感的,关注命名实体的,可以并行运算

每个自注意力头的权重是模型在之前的训练过程中从大量文本里学习和调整的

原理:

用三个权重矩阵Wq、Wk、Wv与每个词的向量表示相乘后得到q、k、v向量

q:我想要找什么

k:你有没有我要找的东西(权重)

v:我要传递的内容

q与每个k点积后各自得到一个分数,经过softmax归一化变成加权系数aij

每个加权系数与对应的v点积,再相加,得到ai,表示在第i个词的视角下,按照权重与其他词的内容融合

简单说,ai就是以第i个词为中心理解了上下文

实际有多个自注意力头,把对应的拼接起来(如a11+a12)再乘上一个权重矩阵得到输出

前馈神经网络

为为每个位置的“单词”做复杂的、非线性加工

标准FFN结构:

  1. 一个线性层,升维,通常把d_model提升到更高的d_ff(通常是d_model的4倍)
  2. 非线性激活(如ReLU或GELU)
  3. 一个线性层,降维,回到d_model
  4. 残差+LayerNorm

假如模型在生成句子时,自注意力层捕捉到了“猫”和“坐在垫子上”的关联;前馈神经网络可以进一步细化每个词的语义,比如让“坐”这个词的隐藏向量更好地表达了动作信息,让“垫子上”这个词的向量更好地表达了空间关系。最后,经过多层叠加,模型能生成更自然有上下文语义的话。

解码器(模型生成的关键)

解码器把编码器的输出和已经生成的文本作为每次的输入,保持输出的连贯性和上下文的相关性

每个解码器有2个多头自注意力和一个前馈神经网络

带掩码的自注意力机制

针对已生成的输出序列,只使用前面的词作为上下文

第二个自注意力机制

捕捉编码器的输出的和解码器即将生成的输出之间的对应关系,从而将原始输入序列融合到输出序列的生成过程中

前馈神经网络

与编码器的类似,通过额外计算增强模型的表达能力

输出层

logits  = [3.2, 0.9, -2.0, ...]  # 词表每个词的分数
softmax = [0.54, 0.13, 0.001, ...] # 转成概率,每个词的出现概率

线性层

将解码器输出的隐藏表示投影到词表大小(Vocab size),得到每个词的logits(词表每个词的分数)

Softmax层

将logits变为概率分布,用于采样/选择下一个词

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

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

相关文章

Nginx npm + Node.js 简单实践

一、基本概念介绍 Nginx 是一款高性能的 Web 服务器和反向代理服务器,而 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,可以让JavaScript 在服务器端运行。npm 则是 Node.js 的默认包管理工具,类似手机的应用市场。主要功能事故…

Python 中 SQLAlchemy 和 MySQLdb 的关系

目录1. 角色和定位2. 工作原理和交互方式使用纯 MySQLdb使用 SQLAlchemy(核心或 ORM)3. 依赖关系总结与选择 简单来说,它们的关系是:SQLAlchemy 是一个高层抽象的对象关系映射器(ORM)和 SQL 工具包&#xf…

【CV】OpenCV①——图形处理简介

一、OpenCV简介 1. 图像处理 1.1. 图像起源 1.1.1. 图像是什么1.1.2. 模拟图像和数字图像1.2. 数字图像的表示 1.2.1. 位数1.2.2. 图像分类 二值图像灰度图彩色图

JAVA后端开发——API状态字段设计规范与实践

1. 引言在现代Web应用与API设计中,状态(Status)字段的管理是一个普遍存在且至关重要的议题。状态字段,如订单状态、任务执行状态、模型运行状态等,直接关系到系统的核心业务逻辑。不恰当的设计会导致API可读性差、系统…

【MySQL的卸载】

MySQL的卸载卸载MySQL步骤1:停止MySQL服务步骤2:软件的卸载卸载方式一:通过控制面板卸载软件卸载方式二:通过360或电脑管家等软件卸载卸载方式三:通过安装包提供的卸载功能卸载步骤3:残余文件的清理步骤4&a…

高效实时数据同步方案:秒级响应多字段搜索

目录 1、其他 2、业务背景和目标 2.1 业务目标 2.2 核心痛点 3、技术选型 3.1 实时工具同步选型 3.2 OLAP数据库选型 3.3 候选技术路线对比 3.4 技术难点 3.5 技术选型推荐 3.5.1、推荐的技术路线 3.5.2 架构示意图 4 、可行性验证方案​​ ​​4.1 测试用例设计​ …

面试问题详解七:Qt 信号与槽 + QML 的结合详解

在现代 Qt 开发中,QML(Qt Quick)负责 UI 层,C 负责逻辑层或后端服务层 是一种非常流行的架构方式。 这一模式下,信号与槽机制在 QML 与 C 间的前后端通信中扮演桥梁角色,是实现数据驱动界面更新、事件响应、…

孔夫子旧书网 API 实战:古籍与二手书数据获取及接口调用方案

孔夫子旧书网作为国内知名的古籍、二手书交易平台,其商品数据对于图书收藏、学术研究及二手书电商系统具有重要价值。本文将详细介绍孔夫子平台接口的调用方法,涵盖认证机制、搜索参数配置、数据解析及反爬策略,并提供可直接使用的 Python 代…

文件包含的学习笔记

面试问题 1,任意文件读取,到底读什么文件,有什么危害 权限是www 只能读第一个,读这个没用,密码在/etc/shadow中 其它没有权限 my.cnf mysql密码看不了 但是可以看见日志文件的目录 sql注入时,你有注…

Linux 软件包安装和管理的相关操作及使用总结(未完成)

一、基础知识1、软件包分类源码包(Source Package):包含软件的源代码文件、编译指令和配置文件。需要用户自行编译安装,过程相对复杂,但灵活性高,可以定制安装选项。文件格式通常为.tar.gz、.tar.bz2等压缩…

【开发指南】飞凌i.MX9352核心板开发过程中的常见问题及排查思路

飞凌嵌入式作为NXP金牌合作伙伴,已基于i.MX系列应用处理器推出了多款嵌入式主控产品,除了最新发布的i.MX95xx系列核心板外,同为i.MX9系的i.MX93xx系列核心板也已上市多年并获得了众多客户的认可和选择。在长期的技术支持服务过程中&#xff0…

Windows应急响应一般思路(二)

进程排查 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 无论是在Windows系统还是Linux系统中,主机在感染恶意程序后,恶意程序都会启动相应的进程&am…

FFmpeg03:多媒体文件处理基础

日志系统 #include <libavutil/log.h>av_log_set_level(AV_LOG_DEBUG)av_log(NULL, AV_LOG_INFO, “…%s\n”, op) 常用日志级别 AV_LOG_ERROR AV_LOG_WARNING AV_LOG_INFO Demo log.cpp #include <iostream> extern "C" { #include <libavutil/log.h…

【每天一个知识点】AIOps 与自动化管理

一、AIOps 的内涵AIOps&#xff08;Artificial Intelligence for IT Operations&#xff09;&#xff1a;指将人工智能、大数据分析和机器学习技术应用于 IT 运维管理中。主要目标是&#xff1a;利用智能算法对云平台、网络、应用和日志等海量运维数据进行实时分析&#xff0c;…

ios使用saveVideoToPhotosAlbum 保存视频失败提示 invalid video

ios使用saveVideoToPhotosAlbum 保存视频失败提示 invalid video 解决办法 iOS 上对保存到相册的视频存在某种格式和分辨率上的限制&#xff0c;建议先自查看下视频生成的参数&#xff0c;可以先试试苹果自带浏览器 safari 上能否播放该视频。 如果不能播放&#xff0c;证明 io…

Vue基础(③父子组件)

房子&#xff08;父组件&#xff09;包含窗户和门&#xff08;子组件&#xff09; 窗户和门&#xff08;子组件&#xff09;是房子&#xff08;父组件&#xff09;的一部分父组件<!-- 父组件&#xff1a;比如叫 Home.vue --> <template><div><h1>这是父…

AI领域的语义空间是什么?

写在前面&#xff1a;本文将从简单的二维空间来逐渐展开问题&#xff0c;带您理解语义空间。距离和体型&#xff1a;这里尝试用距离和体型这两个尺度来理解语义空间&#xff0c;先说的是低维情况&#xff0c;后面在尝试理解高维的情况。比如&#xff0c;在二维空间的x,y坐标系&…

排序---插入排序

基本思想对于插入排序而言&#xff0c;它的基本思想就是往已经排好序的序列里边插入数据。思想类似于玩扑克牌。接下来的排序都是基于下边的这个数组。int a[ ] { 5 , 3 , 9 , 6 , 2 , 4 , 7 , 1 , 8 };直接插入排序我们想要将这个数组排成升序&#xff0c;在最一开始&#xf…

Java性能优化实战(四):IO与网络优化的4个关键方向

IO与网络操作是Java应用性能的常见瓶颈&#xff0c;尤其在高并发场景下&#xff0c;低效的IO处理会导致响应缓慢、资源浪费等问题。本文将聚焦IO与网络优化的四个核心方向&#xff0c;通过真实案例、代码对比和性能数据&#xff0c;详解如何提升IO效率、减少网络传输开销&#…

对齐Wireshark和USRP捕获信号的波形

一、USRP信号 USRP捕获信号的波形如下&#xff1a; 放大后&#xff1a; 100ms 10ms 1ms 100us 10us 1us 二、波形分析 2.1 时间分辨率 采样率61.44MHz, 对应时间分辨率为1/61.44us0.01627us16.27ns。 这时间分辨率够用了&#xff0c;数据包长度为1到20us&#xff1a; 2.2 W…