自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Harry的博客

把多年踩坑日记熬成技术甘露

  • 博客(407)
  • 问答 (2)
  • 收藏
  • 关注

原创 深度理解 CLIP:连接图像与语言的桥梁

CLIP,全称为Contrastive Language–Image Pre-training(对比语言-图像预训练),是一种跨模态模型。它的目标是学习一个可以同时理解图像和语言的通用视觉-语言表示空间。传统图像识别模型需要在每个任务上进行微调(fine-tuning),但 CLIP 只需简单的自然语言提示(prompt),就可以实现零样本图像分类(zero-shot classification),无需额外训练。CLIP 的提出,让图像“读懂”语言,也让语言“看见”图像。

2025-06-14 18:12:01 1530

原创 为什么大语言模型推理要分成 Prefill 和 Decode?深入理解这两个阶段的真正意义

Prefill 阶段是语言模型推理中的第一个步骤,它负责处理你输入的所有上下文内容(prompt),为后续生成打下基础。“请解释一下 Transformer 的原理。这句话会被 tokenizer 编码为一串 token,比如["请", "解释", "一下", "Trans", "##former", "的", "原理", "。"]。然后这些 token 会进入 Transformer 模型进行前向传播。重点来了 👇。

2025-04-05 17:13:06 11466

原创 Masked Attention 在 LLM 训练中的作用与原理

这篇文章将帮助你理解 Masked Attention 的作用、实现方式,以及为什么它能确保当前 token 只依赖于过去的 token,而不会泄露未来的信息。如果没有 Masked Attention,模型在训练时可以“偷看”未来的 token,导致它学到的规律无法泛化到推理阶段,从而影响文本生成的效果。虽然 Q, K, V 都计算了,但 Masking 让未来 token 的注意力分数变为 0,确保计算出的 Attention 结果不包含未来信息。,模型会学习到“作弊”策略,直接利用未来信息进行预测。

2025-03-29 11:41:23 3345

原创 KV Cache 详解:新手也能理解的 LLM 推理加速技巧

(Autoregressive)生成的,即每次生成一个 token,然后将其作为输入继续生成下一个 token。:如果序列太长,超过了 KV Cache 的存储限制,就需要丢弃最早的 tokens(类似滑动窗口)。时,每次只会生成一个新 token,然后再把这个 token 作为输入继续生成下一个 token。,只缓存计算过的 K,VK, V,每次只计算新 token 的 K,VK, V,从而提升推理效率。:如果输入的 prompt 发生变化,之前的 KV Cache 不能复用,必须重新计算。

2025-03-28 21:49:46 7343

原创 深入理解 DeepSeek MOE(Mixture of Experts)

DeepSeek MOE 是 DeepSeek 团队推出的基于 MOE 架构的模型,旨在通过稀疏专家选择提高大规模模型的计算效率,减少计算成本,同时提升推理和训练的灵活性。相比于传统 Transformer,MOE 框架的计算复杂度可以大幅下降,同时保持模型的高性能。DeepSeek MOE 通过稀疏激活、动态专家选择等策略,实现了高效的计算资源利用,适用于大规模语言模型、计算机视觉等任务。MOE 结构未来仍有很大的优化空间,将在 AI 领域发挥越来越重要的作用。

2025-02-07 22:09:20 7435

原创 理解知识蒸馏中的散度损失函数(KLDivergence/kldivloss )-以DeepSeek为例

知识蒸馏(Knowledge Distillation)是一种模型压缩技术,目标是让一个较小的模型(学生模型,Student Model)学习一个较大、性能更优的模型(教师模型,Teacher Model)的知识。这样,我们可以在保持较高准确率的同时,大幅减少计算和存储成本。

2025-02-02 12:57:42 5133

原创 DeepSeek 模型全览:探索不同类别的模型

DeepSeek 在 AI 领域的研究覆盖多个重要方向,包括 NLP、代码生成、多模态 AI、数学推理等。无论是开发者、研究人员还是 AI 爱好者,都可以从这些模型中找到适合自己需求的工具。未来,DeepSeek 可能会推出更多创新模型,让我们拭目以待!

2025-01-30 17:16:07 26070

原创 稀疏检索、密集检索与混合检索:概念、技术与应用

随着自然语言处理(NLP)技术的飞速发展,传统的稀疏检索方法逐渐面临着密集检索技术的挑战。本文将介绍稀疏检索、密集检索与混合检索的基本概念,比较它们的优缺点,并介绍实现这些检索方法时所需的技术。随着信息检索需求的不断发展,稀疏检索、密集检索和混合检索都在各自的应用领域中发挥着重要作用。混合检索是结合稀疏检索和密集检索的优点的一种检索方法。通常,混合检索会首先使用稀疏检索(如BM25)从大量文档中快速筛选出一部分候选文档,然后再使用密集检索(如BERT)对这些候选文档进行精确排序,确保获取到最相关的文档。

2025-01-19 22:11:35 2478

原创 lora 理论篇

在深度学习中,特别是自然语言处理(NLP)领域,预训练语言模型(如GPT、BERT等)已经取得了显著的成果。然而,这些模型通常具有数亿甚至数百亿的参数,在进行特定任务的微调时,所需的计算资源和存储需求非常庞大。LoRA 的提出正是为了解决这一问题。

2024-09-01 22:26:53 1541 1

原创 Huggingface 模型转换成gguf并且量化

Llama.cpp 是一种在 CPU 和 GPU 上高效运行大型语言模型(LLM)的好方法。不过,它的缺点是需要将模型转换为 Llama.cpp 支持的格式,目前这种格式是 GGUF 文件格式。在这篇博文中,你将学习如何将 HuggingFace 的模型(llama2 7b chat)转换为 GGUF 模型。

2024-08-10 23:21:52 3608

原创 llama2 , llama3, llama3.1 中提示(prompt)的模板

注意:换行符 (0x0A) 是提示格式的一部分,为了在示例中清晰起见,它们已表示为实际的新行。基本模型支持文本补全,因此任何未完成的用户提示(没有特殊标签)都会提示模型完成它。单个消息的具有可选的 system prompt。为了在示例中清晰起见,它们已表示为实际的新行。系统提示(prompt)是可选的。换行符 (0x0A) 是提示格式的一部分,该模型期望提示末尾的助手标题开始完成它。系统提示以及用户和助手之间的多轮对话。可在此处找到生成此提示格式的代码。可在此处找到生成此提示格式的代码。

2024-05-30 22:54:16 17215

原创 llama2, llama3, llama3.1, llama4比较

Llama 3 刚刚在4月18号推出,距 Llama 2 发布正好 9 个月。它已经可以在 Meta 网站上进行聊天,可以从 Huggingface 以 safetensors 或 GGUF 格式下载。

2024-04-21 22:26:57 8974

原创 边写代码边学习之TF Attention

注意力机制(Attention Mechanism)是机器学习和人工智能领域中的一个重要概念,用于模拟人类视觉或听觉等感知过程中的关注机制。注意力机制的目标是让模型能够在处理信息时,更加关注与任务相关的部分,忽略与任务无关的信息。这种机制最初是受到人类大脑对信息处理的启发而提出的。注意力机制的基本原理如下:输入信息:首先,注意力机制接收输入信息,这可以是序列数据、图像、语音等。查询、键和值:对于每个输入,注意力机制引入了三个部分:查询(query)、键(key)、值(value)。这些部分通常是通过神经网络

2023-09-02 22:20:59 1005

原创 边写代码边学习之Bidirectional LSTM

参数layer:keras.layers.RNN实例,例如keras.layers.LSTM或keras.layers.GRU。它也可以是满足以下条件的 keras.layers.Layer 实例:成为序列处理层(接受 3D+ 输入)。有一个 go_backwards、return_sequences 和 return_state 属性(与 RNN 类具有相同的语义)。有一个 input_spec 属性。通过 get_config() 和 from_config() 实现序列化。

2023-08-24 23:07:54 2522

原创 边写代码边学习之LSTM

长短期记忆网络 LSTM(long short-term memory)是 RNN 的一种变体,其核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径,让信息能在序列连中传递下去。你可以将其看作网络的“记忆”。理论上讲,细胞状态能够将序列处理过程中的相关信息一直传递下去。因此,即使是较早时间步长的信息也能携带到较后时间步长的细胞中来,这克服了短时记忆的影响。信息的添加和移除我们通过“门”结构来实现,“门”结构在训练过程中会去学习该保存或遗忘哪些信息。

2023-08-06 16:32:38 1361

原创 边写代码边学习之RNN

循环(Recurrent Neural Network,RNN)是一种以序列数据为输入来进行建模的深度学习模型,它是 NLP 中最常用的模型。其结构如下图:x是输入,h是隐层单元,o为输出,L为损失函数,y为训练集的标签.这些元素右上角带的t代表t时刻的状态,其中需要注意的是,因策单元h在t时刻的表现不仅由此刻的输入决定,还受t时刻之前时刻的影响。V、W、U是权值,同一类型的权连接权值相同。

2023-08-05 18:28:51 1117

原创 边写代码边学习之批归一化(BatchNormalization)

归一化(Normalization)是指将不同类型、不同取值范围等不同的数据按照一定的规则统一转化为相同的范围,使得数据在同一数值区间内比较、处理更加合理、有意义。归一化可以消除数据特征之间的量纲差异,使得每个特征在权重计算中起到相同的作用,同时还可以增加算法的收敛速度,提高模型的预测精度。使结果值映射到[0 ,1]之间。,这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1.,其中为均值,

2023-08-05 12:06:29 770

原创 InstructGPT怎么准备和标记数据集

(2) RM 数据集,带有用于训练的模型输出的标签器排名 我们的 RM, RM 数据集有 33k 个训练提示(来自 API 和 labeler-written),对于 RM,回想一下,对于每个提示,我们收集了 K 个输出(从 4 到 9)的排名,并在所有的 }K} 上训练模型,所以我们训练模型的排名对的数量是一个顺序2个数量级大于提示的数量。最后,我们还在表 11 中报告了用于我们的 SFT 模型的承包商编写的演示的长度,包括承包商编写的和标签商编写的提示。他们收集的数据涵盖广泛的类别和用例。

2023-05-01 18:40:03 2124

原创 [论文阅读]InstructGPT(Training language models to follow instructions with human feedback)

语言模型(language models)越大大并不意味着它能更好地理解用户的意图。例如,大型语言模型生成输出不真实、有毒或根本对用户没有帮助。换句话说,这些模型没有准确的理解用户想法。在此论文中,展示了一种有效的方法通过微调使语言模型与用户在各种任务上的意图保持一致与人类反馈。从一组的提示和提示开始通过 OpenAI API 提交,我们收集了已标记的范文数据集所需的模型行为,我们用它来使用有监督的方法来微调 GPT-3学习。

2023-03-31 11:55:40 2073 1

原创 GPT系列的总结以及GPT4

Generative Pre-trained Transformers (GPT) 是一种用于生成类人文本的深度学习模型。常见用途包括GPT 模型有无穷无尽的应用,您甚至可以根据特定数据对其进行微调,以创造更好的结果。通过使用转换器,您将节省计算、时间和其他资源的成本。

2023-03-27 22:16:04 2319

原创 LightRAG 入门:一文搞懂知识图怎么建、怎么存、怎么查

CEERE --> GRE --> VC --> VK --> VR --> GV --> X文档负责提供知识,LLM 负责把知识抽成 Entity 和 Relationship,Graph 负责组织关系,Vector 负责语义检索,Chunk 负责保留原文证据,最后 LLM 负责生成答案。“我给 RAG 加了一张知识图。

2026-09-05 16:58:24 333

原创 Browser Automation for Coding Agents:六种架构方案深度对比

Claude Code 的模式更接近:fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;Chrome而 OpenClaw 更接近:fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;Chrome。

2026-08-15 15:59:27 358

原创 RAG 入库后路径里多了 \_ ?markdownify 默认转义踩坑与修复

另外,markdownify 的 escape_misc 也曾被默认打开,但社区反馈很差:过度转义会把 URL、标识符搞坏,后来又改回默认关闭。最近在做知识库构建服务时,遇到一个很隐蔽的问题:源文档(Word)里明明是 Windows 共享路径,入库后在 Knowledge Base 的 chunk 里却在下划线前面多了一个反斜杠。乍一看像是解析 bug,但仔细追链路后发现:这其实是 HTML 转 Markdown 转换库的「渲染安全」默认行为,在 RAG 场景里反而会伤害检索。

2026-08-14 18:18:29 370

原创 从代码补全到自主软件工程:Coding Agent 演进的四个时代

阶段核心能力代表自动补代码理解代码上下文Cursor使用工具完成任务自主完成复杂工程任务Opus 5 方向↓↓↓模型 + 工具 + 上下文 + 验证机制 + 工程环境的综合能力竞争。这也是为什么未来 LSP、Code Graph、RAG、Memory、MCP、Agent Skills、Harness Engineering 会成为 Coding Agent 的关键基础设施。

2026-08-10 22:51:42 295

原创 JavaScript Runtime 全景解析:一张图搞懂 V8、Blink、WebKit、Chromium、Chrome、Node.js 和 Electron

JavaScript││ │ │▼ ▼ ▼│ │ │▼ ▼ ▼│ │ +│ │ │Blink V8 ││ │ │▼ ▼ ▼页面渲染 JS执行 系统能力Blink / WebKit:负责页面怎么画。V8 / JSC:负责 JavaScript 怎么跑。Chromium:把浏览器需要的各种能力组合起来。Chrome / Node.js / Electron:为 JavaScript 提供不同的运行舞台。

2026-08-05 16:11:34 347

原创 JavaScript Runtime 全景解析:一张图搞懂 V8、Blink、WebKit、Chromium、Chrome、Node.js 和 Electron

JavaScript 本身没有变化。变化的是它运行的环境。浏览器:JavaScriptDOM页面渲染Node.js:JavaScript操作系统能力Electron:JavaScript页面能力系统能力理解这套分层之后:V8 和 WebKit 的关系Chromium 和 Chrome 的关系Node.js 为什么没有 DOMElectron 为什么能开发桌面软件都会变得非常清晰。它属于语言层?引擎层?平台层?还是运行环境层?这就是理解现代 JavaScript 生态的关键。

2026-08-05 16:06:40 289

原创 JavaScript Runtime 全景解析:一张图搞懂 V8、Blink、WebKit、Chromium、Chrome、Node.js 和 Electron

本文通过分层模型解析JavaScript运行环境,清晰区分了易混淆的核心概念。文章将JavaScript生态划分为四层:1)Web技术层(HTML/CSS/JS);2)引擎层(Blink/WebKit负责渲染,V8/JSCore执行JS);3)平台层(Chromium/WebKit);4)产品层(Chrome/Node/Electron)。重点揭示了:V8仅是JS执行引擎,Chromium是包含Blink+V8的基础平台,Chrome是其商业产品;Node.js通过集成V8获得系统能力,Electron则结

2026-08-05 16:04:58 206

原创 shouldDefer:Claude Code 里「按需加载工具」的一块关键拼图

很多人第一次做 Agent 时,会默认认为:“工具不就是几个 JSON 吗?但实际上,一个稍微复杂的 MCP 工具,往往包含:名称examples参数说明严格模式约束几十个工具叠加之后,token 消耗会非常夸张。Anthropic 官方文档甚至直接指出:“50 个工具可能消耗 10K~20K tokens。” (Claude而且问题不仅是 token。当模型一次性看到:100+200+甚至上千个工具工具选择准确率会明显下降。

2026-05-10 21:27:58 476

原创 Claude Code 里的「多 Agent」:他们在代码里长什么样,又如何协作完成一次改码任务?

在这个项目里,「Agent」至少有两层含义主会话:你在 REPL 里对话的那条循环——模型 + 本会话注册好的全套工具(读文件、改文件、Bash、MCP、Agent等),在queryqueryLoop里多轮「思考 → 选工具 → 执行 → 把结果写回上下文」。子 Agent(subagent):主模型发起一次 Agent工具调用(对外工具名是Agent;历史会话或权限规则里也可能出现旧名 Task)时,运行时会进入runAgent:为这次委派创建 agentId、侧链 transcript、以及。

2026-05-10 15:51:53 657

原创 AI Memory:为什么未来的 Agent 一定会走向“多层记忆系统”

知道的事情”。也就是:可以被语言表达可以被描述可以被回忆可以被解释是什么?发生过什么?当前状态是什么?这是 AI Agent 中最核心的一类 memory。不依赖具体时间地点的长期知识。它更像:常识用户画像世界知识项目事实长期偏好“什么时候发生”“什么是长期成立的”对“某次经历”的记忆。它强调:时间地点上下文谁做了什么最终结果是什么“知道”“经历过”“怎么做”。知道什么会怎么行动这是:技能WorkflowSOP行为模式操作习惯的来源。

2026-05-08 17:59:47 442

原创 Hermes Agent:一个真正“会自我改进”的 Agent,到底是怎么实现的?

不是模型训练自己,而是 Agent 把经验沉淀成长期 Skill。任务执行↓经验总结↓生成 SKILL.md↓后续任务复用↓持续 patch 与维护↓形成长期 skill library这意味着:未来 Agent 的竞争力,模型参数大小长期经验系统能不能真正形成“技能”

2026-05-08 17:45:46 649

原创 Function Calling vs Tool Calling:从机制到架构的统一认知框架

Function Calling 是:一种让 LLM 输出符合函数签名的结构化 JSON 的机制关键点:模型不会执行函数只是生成“调用意图”由外部系统负责执行Tool Calling 是:模型在推理过程中,选择并调用外部能力来完成任务这些能力(Tools)可以包括:函数(Function)API数据库搜索引擎多步工作流Function Calling 是 Tool Calling 的底层实现机制之一Fast.io。

2026-04-05 23:02:54 947

原创 从 Long Tail 到幻觉:大语言模型中的长尾问题解析

Long Tail 并不是一个“边缘问题”,而是大语言模型的核心挑战之一。数据是长尾分布 → 模型学习不均 → 低频知识表现差 → 导致幻觉 → 需要 RAG 或 Fine-tuning 补偿理解 Long Tail,有助于我们:更理性地看待模型能力更有效地设计系统架构更精准地选择解决方案从更底层来看,Long Tail 甚至不是可以被完全消除的问题,而是数据世界的基本规律。真正的挑战,是在这个规律之上构建可靠的智能系统。

2026-04-04 12:28:41 883

原创 大龙虾 OpenClaw 接入企业微信完整教程

完整流程如下:注册企业微信账号安装企业微信 App安装 OpenClaw CLI选择扫码接入扫码完成授权自动创建机器人几分钟即可完成接入 🚀。

2026-03-30 22:34:19 727

原创 从 Prompt 到 Harness:AI Agent 工程范式的三次演进

设计模型“看到的全部信息”一句经典总结:Prompt 是“问什么”,Context 是“给它什么材料去回答” (围绕模型构建完整运行系统(约束 + context + feedback)层级关注点解决问题如何说单轮输出质量给什么信息多步任务稳定性整个系统怎么运作可靠性 & 自动化👉 一句话总结:Prompt:语言层Context:信息层Harness:系统层Prompt 让模型听话,Context 让模型有信息,Harness 让模型真正能完成任务。参考资料。

2026-03-29 17:11:35 1000

原创 深入理解 CDP 与 WebDriver:从协议设计到现代自动化架构

WebDriver 解决的是“如何模拟用户”CDP 解决的是“如何控制浏览器”为什么 CDP 会成为趋势?不是因为它更先进,而是因为:👉它更接近真实系统边界当需求逼近系统底层时:高层抽象(WebDriver)会失效低层接口(CDP)成为唯一解。

2026-03-28 16:18:02 590

原创 OpenClaw 中所有浏览器控制方法总览

要最强控制能力要自动化环境要真实用户浏览器 + 登录态要 AI Agent + 工具化接管真实浏览器CDP 是底层能力,MCP 是工具封装,Extension 是页面桥接,Managed 是环境托管。这四种方式分别解决:“控制谁”(新浏览器 or 已有浏览器)“怎么控制”(CDP / 扩展 / MCP)“在哪控制”(本地 / 用户浏览器 / 托管环境)

2026-03-27 18:51:21 2014

原创 GraphRAG 适合用在什么场景?一文讲清楚(附案例)

RAG:从文档中检索相关文本 → 输入给大模型生成答案GraphRAG:将知识构建为“图”(Graph)→ 利用实体和关系进行检索和推理也就是说,GraphRAG不仅知道“有哪些信息”,还知道这些信息之间的关系。GraphRAG可以通过“社区检测”(community detection)对信息进行分组,从而生成更高质量总结。如果你的问题依赖“关系”,而不仅仅是“内容”,就应该考虑 GraphRAG。

2026-03-23 22:42:03 562

原创 为什么在有 Bash 工具的情况下,Coding Agent 仍然需要 read_file / write_file

如果 Agent 已经拥有bash工具,可以执行任意 shell 命令,那么为什么还要提供read_filewrite_fileedit_file这样的文件操作工具?从能力角度来看,bash几乎可以完成所有事情。因此理论上,一个只拥有bash工具的 Agent 依然可以:读取代码修改代码创建文件运行程序执行测试这些工具并不是为了增加能力,而是为了。本文将解释为什么。

2026-03-15 21:43:43 507

原创 为 OpenClaw 添加 Tavily 搜索插件(替代 Brave API)

摘要:由于Brave取消免费API,社区开发了Tavily搜索插件作为替代方案。该插件专为AIAgent优化,提供结构化、低噪音的搜索结果。安装只需两步:通过CLI安装插件并配置API密钥。插件提供5个搜索工具,包括网页搜索、内容提取和自动研究报告等功能,安装后Agent将自动优先使用Tavily进行搜索。

2026-03-05 16:33:04 8574 5

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除