当前位置: 首页 > article >正文

从Transformer到AI Agent的深度解析,带你领略大型语言模型的核心技术!

LLM大型语言模型是一种基于深度学习的人工智能模型能够理解、生成和处理人类语言。文章详细介绍了LLM的核心架构——Transformer包括其关键组件如Self-Attention、Positional Encoding等的作用。同时文章还深入探讨了LLM的训练过程包括预训练、监督微调和人类反馈强化学习三个阶段。此外文章还介绍了Tokenization、推理优化技术以及LLM的能力边界。最后文章通过Hugging Face Transformers实战展示了如何使用LLM生成文本。什么是 LLMLLMLarge Language Model大型语言模型是一种基于深度学习的人工智能模型能够理解、生成和处理人类语言。简单来说LLM 通过海量文本数据训练学会了预测下一个词Next Token Prediction理解上下文语义Context Understanding执行复杂推理任务Reasoning核心架构Transformer所有现代 LLM 都基于Transformer 架构2017 年 Google 提出。Transformer 的关键创新组件作用Self-Attention自注意力让模型理解词与词之间的关系无论距离多远Positional Encoding位置编码给模型提供词序信息Feed-Forward Networks前馈网络进行非线性变换增强表达能力Layer Normalization层归一化稳定训练过程加速收敛Self-Attention 机制详解自注意力是 Transformer 的核心计算公式Attention(Q, K, V) softmax(QK^T / √d_k) V其中QQuery当前词的查询向量KKey所有词的键向量VValue所有词的值向量d_k向量维度用于缩放直观理解当模型处理句子 “The cat sat on the mat” 时Self-Attention 让 “cat” 能够关注到 “sat” 和 “mat”理解它们之间的语义关系。多头注意力Multi-Head Attention# 伪代码多头注意力机制class MultiHeadAttention: def __init__(self, embed_dim, num_heads): self.num_heads num_heads self.head_dim embed_dim // num_heads # 为每个头创建独立的 Q/K/V 投影 self.q_projs [Linear(embed_dim, self.head_dim) for _ in range(num_heads)] self.k_projs [Linear(embed_dim, self.head_dim) for _ in range(num_heads)] self.v_projs [Linear(embed_dim, self.head_dim) for _ in range(num_heads)] # 输出投影 self.out_proj Linear(embed_dim, embed_dim) def forward(self, x): # 并行计算所有注意力头 heads [] for i in range(self.num_heads): q self.q_projs[i](x) k self.k_projs[i](x) v self.v_projs[i](x) head attention(q, k, v) heads.append(head) # 拼接所有头的输出 concatenated concat(heads, dim-1) return self.out_proj(concatenated)多头注意力的优势不同头可以关注不同的语义关系语法、指代、情感等增强模型的表达能力LLM 的训练过程阶段一预训练Pre-training目标学习语言的基本规律和世界知识方法自监督学习Self-Supervised Learning# 预训练任务下一个词预测输入The quick brown fox jumps over the目标lazy# 损失函数交叉熵损失loss -log(P(lazy | The quick brown fox jumps over the))数据规模GPT-3约 45TB 文本数据LLaMA 2约 2T tokens包含网页、书籍、代码、维基百科等计算资源需要数千张 GPU/TPU训练时间数周到数月成本数百万到数千万美元阶段二监督微调SFT目标让模型学会遵循指令方法使用人工标注的指令 - 回答对进行微调# SFT 数据示例{ instruction: 解释什么是光合作用, input: , output: 光合作用是植物利用阳光将二氧化碳和水转化为...}阶段三人类反馈强化学习RLHF目标让模型输出更符合人类偏好流程收集人类对多个回答的偏好排序训练奖励模型Reward Model使用 PPO 算法优化策略# RLHF 优化目标maximize: E[reward(response)] - β * KL(policy || reference)# 平衡生成质量和多样性Tokenization文本如何变成数字LLM 不能直接处理文本需要将文本转换为 Token ID。BPEByte Pair Encoding算法# BPE 分词示例原始文本unbelievable分词过程1. 初始字符级[u, n, b, e, l, i, e, v, a, b, l, e]2. 合并常见对[un, belie, vable]3. 最终 Token[un, believable]# 对应词表 IDtoken_ids [1234, 5678]词表规模对比模型词表大小GPT-250,257GPT-350,257LLaMA32,000LLaMA 232,000Qwen151,936关键参数解析模型规模模型参数量典型用途7B70 亿个人设备部署、简单任务13B130 亿平衡性能与资源70B700 亿复杂推理、专业应用175B1750 亿 最强性能、高成本上下文窗口Context Window定义模型一次能处理的最大 Token 数模型上下文长度GPT-32,048 / 4,096GPT-48,192 / 128,000LLaMA 24,096LLaMA 38,192Claude 3200,000技术挑战注意力复杂度O(n²)长上下文需要优化算法如 Flash Attention、Sparse Attention温度参数Temperature# 温度对输出的影响temperature 0.0 # 确定性输出总是选择概率最高的词temperature 0.7 # 平衡创造性和准确性推荐temperature 1.5 # 高度随机创造性强但可能不准确推理优化技术KV Cache键值缓存问题自回归生成时重复计算历史 Token 的 K/V 向量解决缓存已计算的 K/V只计算新 Token# 无缓存每次重新计算for i in range(sequence_length): k, v compute_kv(all_tokens[:i1]) # O(n²)# 有缓存只计算新 Tokenkv_cache {}for i in range(sequence_length): k_new, v_new compute_kv(token[i]) # O(n) kv_cache[i] (k_new, v_new)效果推理速度提升 5-10 倍Flash Attention核心思想减少 GPU 内存访问提高计算效率# 标准 Attention多次 HBM 访问# Flash Attention分块计算SRAM 内完成def flash_attention(q, k, v): # 将 Q/K/V 分块 for block_q in q_blocks: for block_k, block_v in zip(k_blocks, v_blocks): # 在 SRAM 内计算注意力 attention_block compute_block(block_q, block_k, block_v) # 累积结果 output attention_block return output效果注意力计算速度提升 2-3 倍量化Quantization目的减少模型大小提高推理速度量化精度模型大小精度损失FP32原始大小无FP1650%极小INT825%小INT412.5%中等# INT8 量化示例from transformers import AutoModelForCausalLM# 加载量化模型model AutoModelForCausalLM.from_pretrained( model_name, load_in_8bitTrue, # 启用 INT8 量化 device_mapauto)LLM 的能力边界擅长任务✅ 文本生成写作、翻译、总结✅ 代码生成与解释✅ 知识问答训练数据内的知识✅ 简单推理数学、逻辑✅ 情感分析、分类不擅长任务❌ 实时信息训练数据截止后的事件❌ 精确计算大数运算、复杂数学❌ 长链条推理多步推理容易出错❌ 事实核查可能产生幻觉❌ 专业领域深度知识医疗、法律等需验证从 LLM 到 AI AgentLLM 是 Agent 的大脑但 Agent 需要更多组件LLMAI Agent核心能力语言理解与生成任务规划与执行记忆有限上下文短期 长期记忆工具无可调用外部工具行动生成文本执行操作API、代码等反馈无可从环境获取反馈Agent LLM 规划 记忆 工具 反思实战使用 Hugging Face Transformersfrom transformers import AutoTokenizer, AutoModelForCausalLMimport torch# 加载模型和分词器model_name meta-llama/Llama-2-7b-chat-hftokenizer AutoTokenizer.from_pretrained(model_name)model AutoModelForCausalLM.from_pretrained( model_name, torch_dtypetorch.float16, device_mapauto)# 生成文本prompt 解释一下什么是机器学习inputs tokenizer(prompt, return_tensorspt).to(model.device)outputs model.generate( **inputs, max_new_tokens512, temperature0.7, top_p0.9, do_sampleTrue)response tokenizer.decode(outputs[0], skip_special_tokensTrue)print(response)总结LLM 核心技术要点Transformer 架构是基础Self-Attention 是核心三阶段训练预训练 → SFT → RLHFTokenization 将文本转换为模型可处理的数字推理优化KV Cache、Flash Attention、量化至关重要理解能力边界合理使用学习建议理解 Transformer 基本原理掌握 Hugging Face 等工具库从 API 调用开始逐步深入关注最新论文和技术进展2026年AI行业最大的机会毫无疑问就在应用层字节跳动已有7个团队全速布局Agent大模型岗位暴增69%年薪破百万腾讯、京东、百度开放招聘技术岗80%与AI相关……如今超过60%的企业都在推进AI产品落地而真正能交付项目的大模型应用开发工程师****却极度稀缺落地AI应用绝对不是写几个prompt调几个API就能搞定的企业真正需要的是能搞定这三项核心能力的人✅RAG融入外部信息修正模型输出给模型装靠谱大脑✅Agent智能体让AI自主干活通过工具调用Tools环境交互多步推理完成复杂任务。比如做智能客服等等……✅微调针对特定任务优化让模型适配业务目前脉脉上有超过1000家企业发布大模型相关岗位人工智能岗平均月薪7.8w实习生日薪高达4000远超其他行业收入水平技术的稀缺性才是你「值钱」的关键具备AI能力的程序员比传统开发高出不止一截有的人早就转行AI方向拿到百万年薪AI浪潮正在重构程序员的核心竞争力现在入场仍是最佳时机我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】⭐️从大模型微调到AI Agent智能体搭建剖析AI技术的应用场景用实战经验落地AI技术。从GPT到最火的开源模型让你从容面对AI技术革新大模型微调掌握主流大模型如DeepSeek、Qwen等的微调技术针对特定场景优化模型性能。学习如何利用领域数据如制造、医药、金融等进行模型定制提升任务准确性和效率。RAG应用开发深入理解检索增强生成Retrieval-Augmented Generation, RAG技术构建高效的知识检索与生成系统。应用于垂类场景如法律文档分析、医疗诊断辅助、金融报告生成等实现精准信息提取与内容生成。AI Agent智能体搭建学习如何设计和开发AI Agent实现多任务协同、自主决策和复杂问题解决。构建垂类场景下的智能助手如制造业中的设备故障诊断Agent、金融领域的投资分析Agent等。如果你也有以下诉求快速链接产品/业务团队参与前沿项目构建技术壁垒从竞争者中脱颖而出避开35岁裁员危险期顺利拿下高薪岗迭代技术水平延长未来20年的新职业发展……那这节课你一定要来听因为留给普通程序员的时间真的不多了立即扫码即可免费预约「AI技术原理 实战应用 职业发展」「大模型应用开发实战公开课」还有靠谱的内推机会直聘权益完课后赠送大模型应用案例集、AI商业落地白皮书

相关文章:

从Transformer到AI Agent的深度解析,带你领略大型语言模型的核心技术!

LLM(大型语言模型)是一种基于深度学习的人工智能模型,能够理解、生成和处理人类语言。文章详细介绍了LLM的核心架构——Transformer,包括其关键组件如Self-Attention、Positional Encoding等的作用。同时,文章还深入探…...

从单层感知机到MLP:为什么加了几层‘隐层’,AI就突然开窍了?

从单层感知机到MLP:为什么加了几层‘隐层’,AI就突然开窍了? 想象一下你正在教一个孩子区分猫和狗。如果只告诉他"猫的耳朵尖,狗的耳朵圆",这个规则在遇到折耳猫或立耳犬时就会失效。单层感知机就像这个孩子…...

3步获取B站直播推流码:告别官方限制,开启专业直播自由之旅

3步获取B站直播推流码:告别官方限制,开启专业直播自由之旅 【免费下载链接】bilibili_live_stream_code 用于在准备直播时获取第三方推流码,以便可以绕开哔哩哔哩直播姬,直接在如OBS等软件中进行直播,软件同时提供定义…...

【Qwen3-Omni-30B-A3B-Instruct 】部署与多模态安全监测系统

Qwen3-Omni-30B-A3B-Instruct 部署与多模态安全监测系统 文档日期:2026-04-21 服务器:AutoDL region-42.seetacloud.com:26028 模型:Qwen/Qwen3-Omni-30B-A3B-Instruct 推理框架:vLLM 0.19.1 目录 服务器环境概览模型分析部署流…...

从Drupal后台到Root权限:手把手复现DC-8靶场的Exim 4.89提权完整流程

从Drupal后台到Root权限:手把手复现DC-8靶场的Exim 4.89提权完整流程 在渗透测试的学习过程中,靶机环境是最接近实战的训练场。DC-8作为VulnHub上经典的Drupal靶机,提供了一个从Web漏洞到系统提权的完整攻击链。本文将深入剖析如何从Drupal 7…...

毕业设计:基于springboot的乐享田园系统(源码)

目录 第4章 系统设计 4.1 系统设计思想 4.2 功能结构设计 4.3 数据库设计 4.3.1 数据库概念设计 4.3.2 数据库物理设计 第5章系统实现 5.1 管理员功能实现 5.1.1 农民管理 5.1.2 用户管理 5.1.3 用户建议管理 5.1.4 种植详情管理 5.2 农民功能实现 5.2.1 土地管理…...

保姆级教程:用PyTorch 2.0复现WDCNN轴承故障诊断模型(附CWRU数据集实战代码)

从零实现WDCNN轴承故障诊断:PyTorch 2.0实战指南 轴承作为机械设备的核心部件,其健康状态直接影响整个系统的运行安全。传统故障诊断方法依赖专家经验,而深度学习技术让自动化诊断成为可能。WDCNN(Wide Deep Convolutional Neural…...

毕业设计:基于springboot的网上服装商城(源码)

目录 第四章 系统设计 4.1 总体功能 4.2 系统模块设计 4.3 数据库设计 4.3.1 数据库概念设计 4.3.2 数据库表设计 第五章 系统实现 5.1 管理员功能模块的实现 5.1.1 服装列表 5.1.2 公告信息管理 5.1.3 公告类型管理 第四章 系统设计 4.1 总体功能 网上服装商城是…...

别再死记硬背回溯算法了!用Python可视化带你玩转八皇后问题(附完整代码)

用Python动画拆解八皇后问题:从算法恐惧到视觉愉悦 第一次接触回溯算法时,你是否也被那些自我调用的递归函数和抽象的状态回退弄得头晕目眩?八皇后问题作为算法学习的经典案例,本应是理解回溯思想的绝佳入口,却常常因为…...

Maple Mono终极指南:如何快速打造你的完美编程字体体验

Maple Mono终极指南:如何快速打造你的完美编程字体体验 【免费下载链接】maple-font Maple Mono: Open source monospace font with round corner, ligatures and Nerd-Font icons for IDE and terminal, fine-grained customization options. 带连字和控制台图标的…...

别再搞混了!Ubuntu 20.04上安装linux-headers-generic和指定版本有啥区别?

深度解析Ubuntu内核头文件管理:generic元包与指定版本的选择策略 每次内核升级后重新编译驱动时,总会遇到那个经典问题——该用linux-headers-generic还是精确版本号安装?上周帮同事排查一个WiFi驱动兼容性问题时,发现他系统里同…...

避坑指南:CEEMDAN参数(Nstd, NE, MaxIter)怎么调?附MATLAB代码与效果对比

CEEMDAN参数调优实战:从振动信号到金融时序的分解艺术 第一次接触CEEMDAN算法时,我被它那串看似简单的参数列表彻底难住了。Nstd、NE、MaxIter——这三个缩写背后藏着无数个不眠之夜和崩溃的MATLAB运行窗口。记得在分析风力发电机轴承振动数据时&#xf…...

别再乱用事件过滤器了!Qt中让QLineEdit智能失焦的两种正确姿势(附QCompleter处理)

Qt中QLineEdit智能失焦的工程实践:从事件过滤器到焦点策略的进阶之路 在Qt开发中,QLineEdit的焦点管理看似简单,实则暗藏玄机。许多开发者习惯性地使用全局事件过滤器来处理失焦逻辑,这不仅增加了代码复杂度,还可能引发…...

宝塔面板无法识别数据库配置_检查配置文件是否存在乱码

...

华为防火墙双活链路部署避坑指南:IP-LINK和BFD到底该怎么选?

华为防火墙双活链路部署实战:IP-LINK与BFD技术选型深度解析 当企业网络架构面临双活链路部署时,华为防火墙的链路检测机制选择往往成为关键决策点。作为网络架构师,我们常常需要在IP-LINK和BFD两种主流方案间做出权衡——这不仅关乎网络稳定性…...

Excel工作表保护密码忘了?除了VBA宏,这3种官方和第三方方法你也该知道

Excel工作表保护密码遗忘后的全方位解决方案指南 你是否曾经遇到过这样的尴尬场景:精心设计的Excel表格设置了保护密码,却在关键时刻怎么也想不起那几个关键字符?作为一位常年与数据打交道的专业人士,我完全理解这种困境带来的挫败…...

Rdkit|从静态到交互:分子可视化的进阶实践

1. 从静态图片到交互探索:为什么需要升级分子可视化? 在药物研发和材料科学领域,分子可视化从来都不只是"看看结构"那么简单。十年前我刚入行时,实验室的电脑屏幕上总是堆满各种静态分子图片,研究员们需要靠…...

Rdkit|分子可视化实战:从基础绘制到批量生成与3D展示

1. 从零开始认识Rdkit分子可视化 第一次接触Rdkit时,我被它强大的分子处理能力震撼了。作为一个开源的化学信息学工具包,Rdkit不仅能解析SMILES字符串,还能生成高质量的分子图像。记得当时我需要快速评估一批化合物的结构特征,传统…...

手机拍HDR总有重影?聊聊动态场景多帧融合的演进与手机摄影中的实际应用

手机HDR摄影中的重影难题:技术演进与实战解决方案 当你在黄昏时分举起手机,试图用HDR模式捕捉天边的晚霞与地面建筑的细节时,是否经常发现画面中走动的人物边缘出现了诡异的"重影"?这种被称为"鬼影"的现象&am…...

从立创EDA到AD20:一个PCB新手的完整避坑与实战布局指南

从立创EDA到AD20:PCB设计新手的实战避坑指南 第一次打开AD20的界面时,那种扑面而来的专业感既让人兴奋又令人忐忑。作为从立创EDA转战Altium Designer的工程师,我深刻理解这种"工具升级焦虑"——就像从自行车突然换到方程式赛车&am…...

手把手教你配置UART:9600 8N1模式下的数据传输实战(含示波器截图)

手把手教你配置UART:9600 8N1模式下的数据传输实战 在嵌入式开发中,UART(通用异步收发传输器)是最基础也最常用的通信接口之一。无论是调试信息输出、传感器数据采集,还是设备间的简单通信,UART都扮演着重要…...

告别纸上谈兵!用Keil uVision5和Proteus 8.9从零搭建51单片机流水灯(附完整资源包)

从零构建51单片机流水灯:Keil与Proteus实战避坑指南 当你第一次接触单片机开发时,是否曾被各种专业术语和复杂的工具链劝退?本文将带你用最直观的方式,完成第一个51单片机仿真项目——流水灯。不同于网上零散的教程,这…...

SQL如何检查字符串是否存在:INSTR与LOCATE函数使用

MySQL中查子串应优先用LOCATE以兼顾SQL标准兼容性,INSTR为MySQL特有;二者功能相同但参数顺序相反,查不到返回0,查到返回从1开始的位置,NULL输入返回NULL,且均不走索引。MySQL里查子串用 LOCATE 还是 INSTR&…...

LaTeX新人避坑指南:用gbt7714-numerical.bst和gbt7714.sty排版参考文献,如何避免‘上标’陷阱与版本冲突报错

LaTeX参考文献排版实战:从版本冲突到样式控制的完整解决方案 第一次用LaTeX写中文论文时,我对着满屏的红色编译错误和诡异的参考文献上标差点崩溃。直到凌晨三点才发现,原来从不同地方下载的.bst和.sty文件就像不兼容的USB接口——看似能插&a…...

51单片机+DHT11温湿度传感器保姆级教程:从接线到LCD1602显示,附串口调试避坑指南

51单片机与DHT11温湿度传感器实战指南:从硬件搭建到数据可视化全解析 第一次接触51单片机和传感器的新手们,是否曾被那些密密麻麻的引脚和复杂的时序图吓退?温湿度检测作为物联网中最基础却又最实用的功能之一,其实并没有想象中那…...

别再为OTA升级失败抓狂了!手把手教你排查涂鸦IoT平台MCU固件升级的6个常见坑

涂鸦IoT平台MCU固件OTA升级故障排查实战指南 当你的智能设备固件升级卡在98%时,那种感觉就像看着下载进度条停在99%——既焦虑又无奈。作为嵌入式开发者,我们深知OTA升级失败不仅影响用户体验,更可能引发现场设备大规模故障。本文将带你深入涂…...

从STM32换到GD32,串口通信就崩了?聊聊MCU串口IP核那些‘看不见’的差异

从STM32迁移到GD32:串口通信失效背后的硬件设计哲学解析 当工程师们满怀期待地将项目从STM32平台迁移至国产GD32系列时,往往会在串口通信这个看似基础的功能上遭遇意想不到的挫折。特别是在RS-422/485等转换接口场景下,原本在STM32上稳定运行…...

别再被dom4j的‘前言中不允许有内容’搞懵了!手把手教你用XmlMapper搞定Java对象转XML

告别dom4j解析噩梦:用Jackson XmlMapper优雅处理Java对象转XML 深夜调试代码时,突然蹦出org.dom4j.DocumentException: 前言中不允许有内容的报错——这场景Java开发者都不陌生。当我们需要将Java对象转为XML格式时,传统dom4j库对XML格式的严…...

Android 7.1设备开机后上不了网?手把手教你排查APN加载与DcTracker拨号流程

Android 7.1网络连接故障深度排查指南:从APN加载到DcTracker拨号全流程解析 当Android设备开机后无法正常上网,这往往涉及系统底层的复杂交互过程。本文将带您深入Telephony框架,从APN配置加载到DcTracker拨号决策,逐步拆解网络连…...

微积分基本定理实战:5个常见积分上限函数求导案例解析

微积分基本定理实战:5个常见积分上限函数求导案例解析 在工程建模和物理问题分析中,积分上限函数的求导运算堪称"数学瑞士军刀"。想象一下,当你需要分析随时间变化的流量、计算变力做功或优化控制系统参数时,这个工具能…...