【建议收藏】程序员进阶必看:Transformer的QKV机制,用点奶茶场景讲透核心逻辑

transformer中QKV的通俗理解(剩女与备胎的故事) 用vit的时候读了一下transformer的思想,前几天面试结束之后发现对QKV又有点忘记了, 写一篇文章来记录一下 参考链接: 哔哩哔哩:在线激情讲解transformer&Attention注意力机制(上)在线激情讲解transformer&Attention注意力机制(上)_哔哩哔哩_bilibiliAttention is all you need介绍 更具体的介绍可以去阅读论文在Attention is all you need这篇文章中提出了著名的Transformer模型Transforme 阅读详情

提到大模型,就绕不开 Transformer 架构。

它堪称AI理解语言、生成内容的“动力核心”,可一碰到“QKV”“注意力分数”“多头注意力”这些术语,不少人都会犯怵:这些技术细节到底在实现什么功能?

今天,我们抛开复杂公式和抽象矩阵图,用一个团队点奶茶的日常场景,把两个核心问题讲明白:

QKV三者到底是什么关系?注意力机制的“注意力”,本质是在筛选什么?

跟着场景一步步走,你会发现这些技术其实很直观——

一、先破误区:QKV不是神秘向量,是“提问、身份、内容”的组合

很多人刚接触QKV时,会觉得这是三个充满科技感的抽象向量,但其实它们的逻辑关系特别好理解,就像日常沟通中的“提问者、身份卡、信息包”。

缩写全称中文名核心作用(通俗比喻)
QQuery查询向量“我现在关心什么?”(当前需求)
KKey键向量“我能提供哪类信息?”(信息标签)
VValue值向量“我具体提供什么内容?”(核心信息)

一句话总结核心逻辑:
Q带着“当前要解决的问题”去找匹配的信息,K用“标签”回应“我是否符合需求”,V则是最终需要的具体内容。注意力机制,就是在计算“哪些V的信息对当前Q最有用”。


二、场景还原:团队点奶茶,怎么像Transformer一样“做决策”?

假设你是团队的“奶茶负责人”,要汇总4位同事的需求,给店员发最终订单。先明确每个人的需求:

  • 小李:想喝珍珠奶茶,要常温
  • 小张:偏爱抹茶系列,必须少糖
  • 小王:只在意甜度,要求全糖去冰
  • 小陈:注重健康,要加燕麦、无糖

你的任务是把这些需求整合,既要满足大家的核心诉求,又不能遗漏关键细节。这时候,你面临的问题,和Transformer处理文本时的逻辑完全一致:在一堆信息里,优先筛选出当前最需要关注的内容。

比如你现在要确定“订单的甜度方案”,该先看谁的需求?这就是QKV要解决的核心问题。

三、QKV实操:三步筛选出“最该关注的信息”

我们把每个人的需求拆成“K(信息标签)”和“V(具体内容)”,再用“Q(当前需求)”去匹配,看看Transformer是怎么工作的。

第一步:给每个信息贴“标签”(生成K和V)

每个人的需求,都可以拆成“我能提供哪类信息”(K)和“我具体要什么”(V):

  • 小李:K=“关注奶茶品类+温度”,V=“珍珠奶茶、常温”
  • 小张:K=“关注奶茶品类+甜度”,V=“抹茶系列、少糖”
  • 小王:K=“只关注甜度+冰量”,V=“全糖、去冰”
  • 小陈:K=“关注健康+加料”,V=“加燕麦、无糖”

第二步:明确“当前要解决的问题”(生成Q)

现在你要解决的是“确定订单的甜度”,所以当前的Q=“关注甜度相关的需求”。

第三步:匹配+打分+加权(计算注意力,输出结果)

这一步是注意力机制的核心,分两步走:

1. 计算“匹配度”(注意力分数)

用Q(关注甜度)和每个人的K做“匹配”,判断谁的信息更相关:

  • Q vs 小李的K(关注品类+温度):几乎不相关,匹配分→低
  • Q vs 小张的K(关注品类+甜度):部分相关,匹配分→中
  • Q vs 小王的K(只关注甜度+冰量):高度相关,匹配分→高
  • Q vs 小陈的K(关注健康+加料):几乎不相关,匹配分→低

这个“匹配分”,就是Transformer里的注意力分数——分数越高,说明这个信息对当前需求越重要。

2. 按分数“加权”信息(输出最终结果)

有了匹配分,就可以给每个人的V(具体内容)分配“权重”:分数高的V,在最终结果里占比更高;分数低的V,占比更低。

比如在“甜度”这个需求里:

  • 小王的V(全糖)和小张的V(少糖)、小陈的V(无糖)是核心信息,需要重点考虑
  • 小李的V(珍珠奶茶、常温)暂时可以先放一放

最终你会综合出:“订单里需要包含少糖、全糖、无糖三种甜度,分别对应小张、小王、小陈的需求”——这就是注意力机制的输出结果,和Transformer处理文本时的逻辑完全一致。

四、回归技术:Transformer里的QKV,其实就是“文本版点奶茶”

把“点奶茶”换成“处理文本”,QKV的逻辑瞬间就通了。比如Transformer处理句子“我周末去公园放风筝”,当它分析“放风筝”这个词时:

  • Q:“放风筝”这个词的需求是“找和我相关的词”,也就是“哪些词能说明‘放风筝’的场景?”
  • K:句子里每个词的“标签”——“我”的K=“动作主体”,“周末”的K=“时间”,“去”的K=“动作”,“公园”的K=“地点”
  • V:每个词的具体含义——“我”=“动作发出者”,“周末”=“具体时间”,“去”=“移动动作”,“公园”=“户外场地”

接下来计算注意力分数:

  • “放风筝”的Q vs “公园”的K(地点):高度相关,分数高
  • “放风筝”的Q vs “周末”的K(时间):中度相关,分数中
  • “放风筝”的Q vs “我”的K(主体)、“去”的K(动作):低度相关,分数低

最后加权V的信息:“放风筝”的语义会重点融合“公园”(地点)和“周末”(时间)的含义,让模型明白“放风筝”是“周末在公园做的事”——这就是Transformer理解文本的核心过程。

简单说,QKV的本质是“按需筛选信息”:让每个词都能从上下文里,精准找到对自己有用的内容。


五、延伸思考:为什么Transformer靠QKV就能“碾压”传统模型?

很多人好奇,为什么Transformer能成为大模型的核心?关键在于它的注意力机制有三个“升级特性”,这也是它比RNN、CNN更强的原因:

1. 双向注意力:能“前后兼顾”

传统RNN处理文本时,只能“从左到右”或“从右到左”单向分析,比如看“我去公园放风筝”时,分析“放风筝”只能先看“公园”“去”“我”,没法同时看后面可能有的“很开心”。而Transformer的双向注意力,能让“放风筝”同时关联前后所有词,理解更全面。

2. 多层注意力:能“抽象提炼”

就像点奶茶时,你先确定甜度,再确定品类,最后确定加料——Transformer的多层注意力也是如此:第一层关注“单个词的字面含义”,第二层关注“词与词的搭配”,第三层关注“句子的整体逻辑”,层层递进,让语义理解更深入。

3. 多头注意力:能“多维度关注”

想象一下,点奶茶时你同时有三个“小助手”:一个专门盯甜度,一个专门盯品类,一个专门盯加料。Transformer的“多头注意力”就是这个逻辑——多个“注意力头”同时从不同维度分析信息,比如一个头关注“语法关系”(谁是主语、谁是宾语),一个头关注“语义关联”(哪些词是同类),一个头关注“情感倾向”(是正面还是负面),最后汇总所有维度的结果,让理解更精准。

这三个特性叠加,让Transformer既能“精准筛选信息”,又能“全面理解上下文”,最终成为大模型的“核心动力”。

看到这里,再回头看QKV和注意力机制,是不是觉得清晰多了?其实很多AI技术的核心逻辑,都能在日常生活中找到对应的场景——关键是找到那个“能打通任督二脉”的比喻。

六、如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

在这里插入图片描述

七、为什么要学习大模型?

我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。

在这里插入图片描述

在这里插入图片描述

八、大模型入门到实战全套学习大礼包

1、大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

img


2、大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

在这里插入图片描述

3、AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

img

4、大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

img

5、大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

img

适用人群

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …
第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …
第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …
第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg c

深入理解Transformer——从QKV开始 本章从底层QKV的角度介绍了Transformer模型的架构,基本原理等。 阅读详情

相关推荐

transformer中对于QKV的个人理解

上面这个transformer中的注意力公式,相信大家不会陌生。公式并不复杂,但是why?为什么是这个公式,为什么大家都说之前了解transformer的时候,对于QKV的设定感到很奇怪,后来慢慢接受了这个设定,今天记录一下自己的理解。 总结一下核心是新词向量矩阵包含了位置编码和其他词的上下文信息的一组信息的词向量。

weixin_44115575的博客 7657

Transformer的Q、K、V和Mutil-Head Self-Attention(超详细解读)

举个例子我们在某宝上搜索东西,输入的搜索关键词就是Q,商品对应的描述就是K,Q与K匹配成功后搜索出来的商品就是V。Q、K、V经过Linear然后经过h个Self-Attention,得到h个输出,其中h指的是注意力的头数。更多的头数意味着更强大的模型能力,比如LLM大模型Baichuan-13B中的head数目是40,而Baichuan-7B中的head数目是32。是三个可训练的参数矩阵,输入矩阵X分别与三个矩阵参数进行相乘,相当于进行一次线性变换,得到了Q、K、V。,那Q、K、V是怎么来的呢?

weixin_45303602的博客 4万+

非科班转行数据科学的18个月真实进阶路径

数据科学不是调包拼凑,而是数学直觉、工程能力与业务语感三位一体的实践学科。从线性回归的几何直观到PCA的降维本质,从手写SVD实现到特征工程中的缺失值归因,其核心在于建立‘问题—原理—代码—业务’的闭环认知。尤其对非科班学习者,跳过黑箱操作、直击梯度下降的三维动态过程、在真实销售数据中验证统计显著性,才能跨越Kaggle幻觉与生产环境的鸿沟。本文聚焦Data Science落地所需的肌肉记忆构建,涵盖数学筑基、工程锚定、业务翻译三大阶段,助力零基础者扎实迈入企业级数据岗位。

xjwolaile的博客 393

transformer中QKV的通俗理解(渣男与备胎的故事)

transformer中QKV的通俗理解(渣男与备胎的故事) Attention is all you need

Weary_PJ的博客 7万+

AI工程师实战能力成长路线图:从代码执行者到系统翻译官

AI工程师并非单纯掌握算法或框架的技术角色,而是在数学模型、工程系统与业务需求之间实现精准翻译的复合型人才。其核心能力始于扎实的工程化基础——如Docker容器封装、API稳定性保障与GPU资源监控;进阶于对模型原理的穿透式理解,例如Attention机制的矩阵运算本质与特征分布偏移的归因逻辑;最终落脚于行业级落地能力,涵盖金融风控的低延迟约束、医疗影像的小样本可解释性设计、工业质检的边缘部署适配等真实挑战。这种‘L1基石层→L4业务翻译层’的四层能力结构,决定了AI工程的价值重心不在调参深度,而在系统鲁棒

anjueci1221的博客 452

石油工程师转行数据科学:用工程思维破解编程恐惧

数据科学并非程序员专属技能,而是一种将复杂现实问题结构化、可计算化的问题解决范式。其核心原理在于建立‘业务逻辑—数据表征—算法映射’的闭环链条,技术价值体现在降低决策不确定性、提升工程系统鲁棒性与跨域协同效率。典型应用场景覆盖能源行业的时间序列预测、多源异构传感器数据分析、物理约束建模等高价值环节。本文聚焦石油工程师这一典型非科班群体,深入解析其如何依托Nodal Analysis、Darcy定律等固有工程直觉,完成从‘怕写代码’到‘用代码思考’的认知跃迁,并实现‘问题翻译能力’对‘语法熟练度’的降维替代。

weixin_34021089的博客 419

数据科学家工业级生存指南:从模型上线到技术债治理

数据科学已超越算法学习阶段,进入以稳定性、可维护性与业务协同为核心的工业实践期。其核心原理在于将模型生命周期嵌入真实产线约束——包括特征漂移检测、服务熔断机制、AB测试分流验证等工程化保障;技术价值体现在降低隐性成本(如解释成本、回滚耗时、跨团队协调开销),提升线上系统鲁棒性与决策可信度;典型应用场景覆盖大促实时推荐延迟治理、风控模型负样本污染诊断、跨部门‘黑箱’信任构建等高频痛点。本文聚焦数据科学家在模型上线后第7天、AB测试第三周、故障凌晨三点等具体时间切片中的关键动作,提供可验证的最小执行单元(MVU

weixin_30500473的博客 444

大模型稀疏激活原理:MoE如何用2%参数实现高效推理

大语言模型的参数规模已突破万亿量级,但‘参数多≠计算多’——真正决定推理效率的是激活参数比例。稀疏激活(Sparse Activation)作为MoE(Mixture of Experts)架构的核心机制,通过动态路由选择少量专家子网络,在保障知识容量的同时,将单token计算量压缩至总参数的1%~5%。其技术价值在于突破内存带宽瓶颈、提升Tensor Core利用率,并支持在A100/H100等现有硬件上实现低延迟、高吞吐的稳定服务。典型应用场景包括金融财报分析、跨领域长文本生成与边缘侧轻量化部署。本文深

alince20008的博客 589

国产算力适配实战:从芯片到应用的AI基础设施攻坚

大模型推理并非单纯依赖硬件算力,而是一场覆盖芯片、框架、模型与应用的系统性工程。在数据安全、自主可控与成本约束下,国产算力适配已成为教育、医疗、政务等关键行业的刚需。其核心原理在于通过算子重写、动态量化、MoE稀疏架构与语义感知KV Cache压缩等技术,将有限硬件资源转化为高单位产出比的稳定服务能力。这种‘场景定义性能’的思路,使AI不再停留于Demo演示,而是深度嵌入课堂批改、基层诊疗、智能座舱等真实业务流,实现低延迟、高并发、强鲁棒的落地交付。讯飞星火X2与飞星一号万卡平台的实践,正是国产AI基础设施

weixin_30847865的博客 471

AI工程师成长动线:7本实战书构建可落地的能力路径

AI工程师不是靠堆砌术语或速成课程炼成的,而是通过‘概念理解→原理实践→工程闭环→业务验证’的渐进式训练逐步构建核心能力。关键在于掌握需求翻译、问题拆解与系统思维——将模糊业务目标转化为可执行代码,把数据噪声变成结构化特征,让模型输出真正驱动决策。Python工程能力、端到端机器学习项目、NLP实战、MLOps意识和产品化表达,共同构成现代AI工程师的五大支柱。本文基于真实转行案例与就业反馈,提炼出一条被验证的七阶学习动线,每一步都对应可交付成果与市场可识别的能力锚点,助力从零基础走向具备独立交付能力的初级

weixin_30918633的博客 345

NRF24L01模块的5个常见问题及解决方案:从信号干扰到功耗优化

本文深入探讨NRF24L01无线模块在STM32开发中的5大常见问题及解决方案,包括通信距离优化、数据丢失排查、电源噪声抑制、SPI通信故障处理以及低功耗设计。通过代码示例和电路图分析,提供实用的优化策略,帮助开发者提升无线通信的稳定性和效率。

weixin_28256233的博客 226

万亿参数大模型的稀疏激活真相:MoE架构原理与工程实践

稀疏激活是现代大语言模型突破算力瓶颈的核心机制,其本质是在超大规模参数中动态选择子集参与计算,而非全量加载。它依托MoE(Mixture of Experts)架构,通过token级路由、专家负载均衡与硬件感知调度,在保持模型能力的同时显著降低FLOPs和显存带宽压力。这一技术不仅重塑了推理延迟与吞吐的工程边界,更深刻影响着GPU选型、服务部署与成本结构。从GPT-4的1.8万亿参数仅激活2%的典型事实出发,理解稀疏激活背后的带宽约束、训练稳定性代价与专家协同逻辑,已成为MLOps工程师、算法研究员与基础设

aigui1439的博客 508

利用netns做自环Iperf测试

netns可以让一台机器上模拟多个网络设备,是网络虚拟化的重要组成,将不同类型的网络应用隔离。一个net namespace有自己独立的路由表,iptables策略,设备管理。本文利用netns模拟网络来实现单机上网卡自环上的iperf测试或其他网络测试。

weixin_42414349的博客 3370

AI五大高薪岗位实战入门指南:从零到offer的最小可行路径

人工智能不是抽象概念,而是可落地的工程能力集合。机器学习本质是业务问题数学化建模,自然语言处理已进入意图识别与少样本工程化阶段,计算机视觉聚焦工业级图像理解与边缘部署,语音技术强调声纹可信与硬件协同,AI系统工程则承担全链路稳定性与成本优化。这些方向共同构成当前企业批量采购的核心技能组合,尤其在金融、政务、制造、智能家居等真实场景中形成刚性需求。掌握其中任一方向的‘问题定义—数据驱动—模型交付—效果审计’闭环能力,配合交叉验证(如用ML优化NLP特征选择),即可构建具备市场竞争力的高薪入场凭证。

weixin_34208185的博客 151

基于Qt与PaddleOCR的跨平台OCR工具开发实战

本文详细介绍了基于Qt与PaddleOCR开发跨平台OCR工具的实战经验。通过Qt的跨平台特性和PaddleOCR的高效识别能力,开发者可以快速构建支持Windows、Linux和macOS的OCR工具。文章涵盖了环境配置、核心功能实现、性能优化及打包发布等关键环节,特别针对中文识别、内存管理和多线程处理等常见问题提供了解决方案。

weixin_30296405的博客 90

STM32H743+YT8512C以太网通信实战:CubeMX与LWIP配置详解

本文详细解析了基于STM32H743微控制器与YT8512C PHY芯片的以太网通信实战方案。通过CubeMX工具进行RMII接口、MPU、时钟树等关键硬件配置,并重点阐述了如何修改LWIP协议栈驱动代码以适配YT8512C芯片,解决了LAN8742驱动不兼容的问题。文章提供了从工程创建、代码适配到调试验证的完整步骤,帮助开发者快速实现稳定可靠的嵌入式网络连接。

weixin_29190573的博客 559

Transformer——Q、K、V详解

图书馆里有很多书(value),为了方便查找,我们给书做了编号(key)。当我们想要了解漫威这本书(query)的时候,我们就可以看看那些动漫、电影、甚至二战(美国队长)相关的书籍。

Williamcsj的博客 3891

保姆级教程:用Qlib和LightGBM从零搭建你的第一个AI量化选股策略(附完整代码)

本文提供了一份详细的教程,教你如何使用Qlib和LightGBM从零搭建AI量化选股策略。教程涵盖了环境配置、数据获取、特征工程、模型训练和策略回测等关键步骤,并附有完整代码和常见问题解决方案,适合量化投资初学者快速上手。

weixin_29191081的博客 446

如何理解attention中的Q、K、V

Q:QueryK:KeyV:Value其实是三个矩阵,矩阵如果表示为LxD,L是句子中词的个数,D是嵌入维度,在自注意力机制里,QKV是表示同一个句子的矩阵,否则KV一般是来自一个句子,而Q来自其他句子可以通过这三个线性变换query,key,value得到我们想要的QKV,其中三个变换的输入都是768维,输出都是768维将该矩阵输入上面的三个线性转换,就可以得到三个矩阵KQV,,维度其实没有改变。

m0_51474171的博客 1万+

开源大语言模型GLM-5:从架构解析到部署微调全指南

大语言模型(LLM)作为当前人工智能领域的核心技术,通过海量数据预训练获得强大的语言理解和生成能力。其核心原理基于Transformer架构,通过自注意力机制捕捉长距离依赖关系,在通用语言任务上展现出卓越性能。这一技术价值在于为开发者提供了强大的基座模型,能够通过微调快速适配特定领域需求,显著降低AI应用开发门槛。在实际应用场景中,大模型被广泛用于智能对话、代码生成、内容创作等任务。本文以开源项目GLM-5为例,深入探讨其架构特点,并详细介绍了如何使用LoRA技术进行参数高效微调,以及通过量化优化实现模型在

weixin_28683165的博客 350

i.MX6ULL驱动开发 | 31 - Linux内核网络设备驱动框架

net_device结构体在内核中指代一个网络设备,定义在,是一个非常大的结构体,包含网络设备的属性描述和操作接口,其中一些关键的成员如下。Linux在轮询处理机制和中断处理机制的基础上,提出了一种高效的网络处理技术NAPI。NAPI的核心思想是不全部采用中断来读取网络数据,而是采用中断来唤醒数据接收服务程序,在接收服务程序中采用poll的方法来轮询处理数据。提高短数据包的接收效率,减少中断处理的时间。...

Mculover666的博客(嵌入式) 1103

Transformer中的Q/K/V理解

详细解释了Transformer中的Q/K/V矩阵的作用和意义。

fzz97_的博客 1万+

反应动力学仿真软件:Kintecus_(4).用户界面及操作指南

在 Kintecus 中,反应方程的定义非常灵活。您可以定义简单的一阶反应、复杂的多步反应以及不同类型的反应机制。

kkchenjj的博客 1182

Transformer中的Q,K,V

transformer中的Q,V,T和attemtion

vivi_cin的博客 7244

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

注意力机制(Q,K,V)基本概念

1. 查询(自主提示)和键(非自主提示)之间的交互形成了注意力汇聚;注意力汇聚有选择地聚合了值(感官输入)以生成最终的输出。2. 注意力汇聚根据不同的概念可分为带参型、非参型。或是拆分为评分函数+softmax的形式

Dys_debug的博客 7480

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

[LLM] 自然语言处理 ----- Attention机制中的Q,K,V介绍

注意力机制就是要通过训练得到一个加权,自注意力机制就是要通过权重矩阵来自发地找到词与词之间的关系。 Q就是词的查询向量,K是“被查”向量,V是内容向量。 简单来说一句话:Q是最适合查找目标的,K是最适合接收查找的,V就是内容,这三者不一定要一致,所以网络这么设置了三个向量,然后学习出最适合的Q, K, V,以此增强网络的能力。 因此肯定需要给每个input定义tensor,然后通过tensor间的乘法来得到input之间的关系。那这么说是不是给每个input定义...

摩登都市天空---专栏 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 必存!大语言模型深度拆解:从Transformer架构到GPT模型的全景指南
下一篇: 【入门必看】大模型核心技术全景解读:18个关键概念拆解,从基础到实战(进阶篇)
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值