GUI Agent
原理
GUI 智能体(GUI Agent),简单说就是能看懂电脑 / 手机屏幕、听懂人话、自动操作软件干活的 AI,附带配套的工具调用技术。
一、什么是 GUI Agent
以前 AI 只能打字聊天,GUI Agent 突破限制:用户发一句自然指令,AI 自己看懂界面、点按钮、开软件、跨系统完成整套操作,解决人工重复干活、步骤繁琐、各软件数据不通三大麻烦。
靠OmniParser 视觉技术,AI 能截图识别页面按钮、文字、图标,大幅提升界面操作准确率。
二、核心运行原理:ReAct 思考 + 行动模式
模仿人做事逻辑:先动脑想步骤(Thought)→下达操作指令(Action)→看执行结果(Observation),循环往复做任务。
Function Calling:简单单步任务(查天气、调接口),直接调用固定工具接口,速度快;
ReAct:多步骤复杂任务(订外卖、退电商货物),边走边根据结果改方案,两者经常搭配使用。
整套执行分五步:用户发需求→AI 思考→调用工具 / 操作界面→接收结果反馈→做完就结束,没做完继续循环。
三、三种落地...
RAG检索增强生成
是将信息检索与文本生成深度融合的架构
原理
稀疏检索:关键词匹配与词频统计
稠密检索:词义嵌入向量的相似度匹配
嵌入编码:文本转为低维稠密向量
索引构建:存入向量数据库
相似度检索:余弦相似度,召回Top_k
编码融合生成:问题与检索文档一同输入编码器
Prompt拼接生成:将检索片段拼接在用户问题Prompt中
整体架构
挑战
检索准确性问题
稀疏+稠密混合检索
重排序模块
查询扩展与改写
多文档融合难度
系统效率瓶颈
知识时效性与更新
可信度与可追溯性
生成、校验
多源验证、置信度评分
代码
导包
1234import numpy as np, torchfrom sklearn.feature_extraction.text import TfidfVectorizerfrom sklearn.metrics.pairwise import cosine_similarityfrom transformers import AutoTokenizer, AutoModelForSeq2SeqLM
构建知识库
...
MoE混合专家模型
用于解决参数规模与计算成本的矛盾:
Dense(传统模型):参数变大,计算量线性增长
Sparse(MoE模型):参数量巨大,每次推理只激活其中一小部分
原理
一、MoE 是什么
稀疏激活大模型:总参数极大,但每个 token 只激活Top‑k 个专家,计算量不随参数暴涨。
普通 Dense:参数↑→计算 / 显存 / 带宽全↑
MoE:参数↑→每 token 计算可控
二、结构与位置
只替换FFN/MLP,Attention 保持 Dense
专家 = 独立 FFN 模块
现代 MoE 三件套:
共享专家:所有 token 必走,稳通用能力
路由专家:按 token 选 Top‑k,做专业化
细粒度专家:多而小,分工更细
三、路由 Router(怎么选专家)
给 token 打专家分数
Softmax 转概率
选Top‑k
选中专家权重重归一化
输出加权合并
Top‑1 vs Top‑2
Top‑1:省计算 / 通信,训练易不稳
Top‑2:更稳、防塌缩,成本更高
经验:训练 Top‑2,推理 Top‑1
四、系统核心:...
量化、蒸馏、部署
原理
量化
从高精度****浮点(FP16/BF16/FP32)转换为更低比特的表示(INT8、INT4等),刻度变少,降低显存内存占用。会导致一定精度下降。
量化权重:模型参数权重进行压缩
量化激活:推理时各层产生的中间激活也转换为低比特
KV缓存:注意力机制中的Key/Value缓存用低比特存储,避免每生成一个新 token 都重复计算之前的注意力信息
PTQ
训练完成后再把权重/激活从浮点转换为低比特,不再训练或只做少量校准
QAT
在训练/微调阶段把量化误差加入前向,让模型在训练中适应低比特噪声
蒸馏
logits蒸馏:匹配输出概率分布,学习概率分配方式
特征蒸馏:中间层
任务蒸馏:把教师当作“数据生成器/标注器”,生成高质量训练数据,训练学生进行SFT
训练要素
温度
损失
蒸馏损失
监督损失
权重
部署
训练框架(PyTorch)完成训练与验证
到处为更合适的形式(ONNX)
推理引擎在目标硬件(GPU/CPU/NPU)高效执行
NPU:低功耗下提供高推理效率,适合移动端与嵌入式
算子融合:将操作合并到一次...
2605
总结
五月主要在学习大模型知识,中间也穿插着举办活动和到处逛了逛,总体很充实。
改进
可能是重心可以转一下
计划
这几天给LLM收个尾,把重心转移后端的八股和刷lc学习
开始清理宿舍的东西,寄回家,做好随时回家的准备
存疑
也不算存疑,只是我个人的一个想法。
原本是想找实习的,但是感觉以我目前的储备,还有本科bg可能不太合适。学校这里又暂时不能走,两头跑不了。还有食宿费用,我还得等国家赈灾拨款下来哈哈哈。等一切结束,可能也没剩几个月实习了,就先不想了。
打算先为后面打下一些根基,让大一的时光可以更多从容些,早点去 实习/做RA 看看。希望这个选择没错吧。不过,选择也没有对错之分,之后不合适再修正就好啦。
多模态大模型
“视觉编码器对齐到 LLM”的完整流程跑通,并做 ablation(有图 vs 无图)对比
原理
多模态:将其他信号通过模态对齐映射为 tokens,实现 Any-to-Any
发展历程
CLIP:跨模态对比学习,图像-文本对训练,映射,建立联系
BLIP-2 & LLaVA:翻译,预训练好的LLM,通过Q - Forme r(BLIP-2) 或 线性投影层 (LLaVA)
GPT-4o & Gemini 1.5 pro:端到端全模态融合,训练初期视为同等信号
架构范式
视觉编码器:常用CLIP-ViT
对齐方案:
线性映射(LLaVA):信息完整,token多,速度慢
1)输入形态:视觉编码器(常见是 CLIP-ViT)把图像切成 patch,输出一串向量
2)投影(Projector):用一个线性层或两层 MLP 把每个 vi 映射到LLM 的维度di
3)拼接进 LLM:把视觉向量当作一段前缀 token,与文本 token 拼在一起
查询提取(BLIP-2, InstructBLIP):抓重点,压缩token,加速,但丢...
代码生成大模型
原理
任务:
生成代码
代码自动补齐
代码翻译与重构
要求:
语法严格
语义精确
代码大模型:在海量开源代码库(Github等)进行预训练或微调的大型语言模型(Codex和AlphaCode)
发展历史:
预设规则
补全功能
编写转向描述
评估体系:
HumanEval
pass@k
挑战:
正确性
语法错误
逻辑错误
可靠性
输出不稳定
逻辑不一致
性能波动
安全性
生成漏洞代码
泄露敏感信息
泛化能力
代码
导包
123import ast, builtins, math, re, tracebackimport numpy as np, torchfrom transformers import AutoTokenizer, AutoModelForCausalLM
模型选择
bigcode/tiny_starcoder_py
123AutoTokenizertok.pad_token=tok.eos_tokenAutoModelForCausalLM
数据集构造
name:任务名字
inst:任务说明...
复杂推理(思维链)
原理
进阶推理
CoT作为草稿提供中间步骤 + 验证机制进行审计
步骤变长后,误差可能累积
事后编造
对提示敏感
为推理:看起来合理但实际不对
token/时延成本增加
结构化CoT
A:Plan-and-Solve:列计划再逐步执行,减少跳步。
B:Least-to-Most:先解最简单子问题,逐步递进。先从确定性最强的子问题出发,逐步收缩推理空间,适合多约束任务。
ToT与多路径探索
相当于优化问题:多分支推理 + 分步评估 + 回溯选择
同一个问题同时探索多个候选思路(分支),每走几步就评估质量,不行就剪枝/回溯,再探索别的分支
工具调用 / ReAct思路
推理 - 行动(调用实际工具)- 更新修正
Prompt自动化
数学推理
PoT
把不擅长的环节交给擅长的工具:求 LLM在遇到需要精确计算的任务时,先生成一段可执行的程序(通常是 Python 代码或计算表达式),然后把计算交给解释器/计算器执行,再把执行结果组织成最终答案。
语义理解错误
代码生成错误
解决
强制分两段输出:可执行代码+最终答案
PRM
过程监督...
文本生成任务(翻译+问答)
原理
核心特征
任务约束性
语义一致性
格式规范性
训练
基座预训练 - 任务微调 - 落地适配
语义对齐预训练
任务指令微调
挑战展望
幻觉、长文本生成效率、低资源场景适配(数据稀缺)
轻量化、多模态、可控生成、事实增强
代码
调库
12345import reimport numpy as npimport torchimport sacrebleufrom transformers import AutoTokenizer, AutoModelForSeq2SeqLM
加载模型
翻译:Helsinki-NLP/opus-mt-en-zh
问答:flan-t5-small
加载,同前,不再赘述。
AutoTokenizer
AutoModelForSeq2SeqLM
model_mt.eval()
统一生成函数
123456789101112131415161718192021222324# 通过 temperature/top_p 切换 greedy 与采样@torch.no_grad()# top_p:概率...
通用信息抽取(IE)与序列标注
概念
信息抽取 lnformation Extraction
分类
信息抽取:非结构化文本到结构化知识的桥梁,是nlp里的任务
任务包括:
命名实体识别(NER):文本中识别出来实体,分类出类型
关系抽取(RE):在实体识别后,找出它们之间的关系类型和关系结构
事件抽取(EE):事件抽取依赖实体抽取和关系抽取
挑战
实体嵌套
非连续实体
Schema依赖与零样本:依赖于预先定义的标签集
序列标注协议
标注范式:将抽取任务转化为对序列中每个Token的分类任务
BIO:Begin, Inside, Outside
BILOU:Begin, Inside, Last, Outside, Unit
应用于:中文分词、词性标注、NER、词法分析、文本加标点
实现技术
深度学习
条件随机场(CRF)
发射矩阵:每个词对应什么标签的得分表
转移矩阵:从一个标签转移到另一个标签的得分
解码方法
模型已经给出了每个Token的标签得分(发射矩阵)和标签间的转移规则(转移矩阵),解码算法要做的就是 筛选,找到总得分最高的最优序列
...