自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

PeterPan的博客

探索AI与自动化的无限可能 | 专注GPU编程与优化、OpenClaw、大模型应用、办公自动化实战分享

  • 博客(303)
  • 资源 (3)
  • 收藏
  • 关注

原创 12. 父子文档与层级分片:保留上下文的全新思路

摘要(150字): 本文介绍了父子文档分片(Parent Document Retriever)技术,解决RAG中检索粒度与上下文完整性的矛盾。核心思想是召回时用小粒度子文档(200字)保证精准匹配,生成时返回对应的大粒度父文档(1000字)提供完整上下文。文章通过电商退换货政策案例演示其优势,并对比了LangChain实现与自实现方案的差异:LangChain默认版本存在父文档重叠和边界归属问题,而自实现方案通过独立存储父分片、添加文档ID标识,实现更灵活的客服场景适配。最后提供两种方式的代码示例,展示如

2026-08-12 12:00:00 28

原创 11. 语义分片:让模型理解文本边界

文章摘要 本文介绍了基于语义的文本分片方法(Semantic Chunking),相比固定长度分片能更好地保留完整语义。主要内容包括: 核心思想:按语义边界切分文本,确保每个片段表达完整话题 关键差异:语义分片在检索精度上优于固定分片,但实现复杂度更高 实现方法:重点讲解基于句子嵌入相似度的实现方案,包括分句、计算相似度、确定切分点等步骤 代码实现:提供了完整的Python实现示例,包含中文分句、向量计算等关键环节 该方法特别适用于客服场景,能更精准地匹配用户问题与相关知识片段。

2026-08-11 12:00:00 23

原创 10. 固定长度分片与重叠窗口:最简单的起点

本文介绍了RAG智能客服中固定长度分片策略的实战应用。主要内容包括: 固定分片的适用场景(FAQ列表、短消息等简单场景作为兜底方案) 核心思想:按固定长度切割文本并保留重叠部分 两种实现方式(字符级分片和更推荐的Token级分片) 生产级实现的关键细节(预处理、后处理、元数据等) 文章通过代码示例展示了从基础到生产级的完整实现方案,并解释了重叠机制对保留语义完整性的重要性。固定分片虽然简单,但在特定客服场景下仍是最优选择,同时也是其他复杂分片策略的基础组件。

2026-08-10 12:00:00 32

原创 9. 智能客服常见文档类型与解析坑点

本文介绍了RAG系统中文档解析与预处理的关键技术,重点针对智能客服场景下的多格式文档处理挑战。文章通过全景图展示了从格式识别到分片的完整流程,并深入分析了PDF和Word两类常见格式的解析难点与解决方案。 对于PDF文档,文章区分了文本型PDF和扫描件的不同处理方式,推荐了pdfplumber、Unstructured、Marker等工具,并提供了表格处理的Markdown/JSON转换方案。针对Word文档,解析时需要特别注意表格、图片和样式信息的保留,文中给出了结构化提取的代码示例。 文章强调解析阶段的

2026-08-09 12:00:00 17

原创 8. 生成:请大模型基于召回结果回答问题

本文探讨了RAG系统中生成环节的关键挑战与解决方案。主要内容包括: 三大设计原则: 确保模型真正基于上下文而非预训练知识回答 保证引用标注准确对应参考资料 建立有效的拒答机制防止错误回答 Prompt工程技巧: 提供骨架和完整生产级Prompt模板 强调角色设定、严格约束和输出格式规范 通过few-shot示例训练引用标注行为 关键技术实现: 三种引用方式(角标式/脚注式/链接式)及验证方法 基于召回分数和LLM自评的拒答触发机制 客服风格控制(称呼、礼貌用语、同理心表达) 流式输出实现低于500ms的首字

2026-08-08 12:00:00 12

原创 7. 重排:让最相关的片段排在最前面

本文深入探讨了RAG系统中重排(Rerank)环节的核心价值与技术实现。针对召回阶段存在的关键词干扰、语义模糊等问题,提出通过Cross-encoder模型进行精细化重排,显著提升Top结果的准确性。文章对比了Bi-encoder与Cross-encoder的差异,指出后者通过问题与文档的联合编码能捕捉更深层语义关联,并给出BGE-reranker等主流模型选型建议。针对不同场景,既推荐开源自建方案,也分析了Cohere API和RankGPT等商业方案的优劣。特别指出LLM重排虽效果卓越但成本较高,适用于

2026-08-07 12:00:00 18

原创 7. 重排:让最相关的片段排在最前面

本文介绍了RAG系统中重排(Rerank)环节的核心原理与实现方法。文章首先通过案例分析指出召回模型的局限性(如无关token干扰、无法捕捉细粒度关联),提出需要引入重排模型进行优化。重排采用Cross-encoder架构,将问题和文档拼接后通过Transformer计算全局相关性,精度显著高于召回模型但计算成本更高。 作者对比了主流重排模型(BGE-reranker、Cohere、RankGPT等),推荐中文场景优先选择开源的BGE-reranker-large,并提供了代码示例。针对高阶需求,介绍了基于

2026-07-24 08:00:00 217

原创 6. 召回:在知识海洋里捞出最相关的片段

本文介绍了智能客服系统中召回阶段的三大检索范式:稀疏检索(BM25)、稠密检索(向量检索)和混合检索。BM25擅长精确匹配关键词但缺乏语义理解,向量检索能捕捉语义但弱于精确ID匹配。混合检索通过RRF算法融合两者优势,在客服场景中显著提升召回准确率。文章还提供了实战方案,包括动态权重调整和LangChain实现代码,解决订单号、口语化表达等典型问题。最终推荐采用"并行检索+RRF融合"架构,平衡召回率、准确率和延迟。

2026-07-23 12:00:00 20

原创 5. 索引:给知识碎片建立“超级目录”

本文介绍了智能客服系统中将文本转化为向量并进行高效检索的关键技术。主要内容包括: 向量嵌入原理:通过高维向量(如1024维)表示文本语义,相似文本在向量空间距离更近。 嵌入模型选择: 推荐中文SOTA模型BAAI/bge系列 OpenAI的API方案作为备选 建议先使用通用模型,再考虑微调优化 向量索引技术:重点讲解HNSW分层检索算法,实现百万级向量的毫秒级查询,并对比主流向量数据库如Milvus、Chroma的适用场景。 实践示例:给出基于Milvus搭建向量索引的Python代码示例,包含HNSW参数

2026-07-22 12:00:00 18

原创 4. 分片:把文档变成可检索的知识碎片

本文是《RAG 做智能客服》系列的第四篇,重点探讨了RAG系统中的关键环节——分片(Chunking)。文章指出分片质量直接影响RAG系统50%的效果,分析了整篇入库的三大问题(上下文窗口超限、检索粒度粗、噪声污染),并揭示了分片的两大核心矛盾(粒度vs上下文、切分边界vs语义完整性)。详细介绍了5种主流分片策略(固定字符、句子/段落、Token长度、递归、语义),对比了它们的优缺点和适用场景。特别强调了重叠窗口的重要性,并针对客服场景给出了具体分片建议。最后指出分片大小需要结合实际场景测试,没有统一标准。

2026-07-21 12:00:00 19

原创 3. 智能客服的典型 RAG 使用场景全览

本系列为《RAG 做智能客服》第 3 篇前置条件:已阅读第 1、2 篇,了解 RAG 是什么。

2026-07-20 12:00:00 213

原创 2. RAG 是什么:定义、思想与运行全景图

本文详细介绍了RAG(检索增强生成)技术的核心原理与工作流程。通过学神裸考、图书管理员和开卷考试学霸三个类比,形象对比了纯生成模型、纯检索系统和RAG的优缺点。RAG结合了大模型的理解表达能力和检索系统的准确性,包含五大核心环节:分片(将文档切块)、索引(向量化存储)、召回(检索相关片段)、重排(精排结果)和生成(大模型整合答案)。文章还区分了离线流水线(预处理文档)和在线流水线(实时响应),并提供了30行Python代码的最小RAG实现示例。这套流程构成了后续优化RAG系统的认知框架基础。

2026-07-19 12:00:00 41

原创 1. 为什么智能客服必须用 RAG:从大模型痛点说起

摘要: 大模型在智能客服场景中常因幻觉、知识滞后、无法溯源、私有知识缺失和多轮对话问题而表现不佳。RAG(检索增强生成)技术通过外置知识库、实时检索相关文档辅助生成回答,有效解决上述痛点:知识可实时更新、支持私有数据、答案可溯源、减少幻觉,且开发成本低。本系列将指导从0搭建生产级RAG客服系统,涵盖核心流程与优化策略,适合具备基础Python能力的开发者。RAG通过“开卷考试”机制,显著提升客服回答的准确性和可靠性。

2026-07-18 08:05:59 24

原创 实战篇第13节:MIG——如何切割A100或H100实现资源隔离

NVIDIA MIG技术实现了A100/H100等GPU的硬件级虚拟化,可将单卡物理GPU切分为最多7个独立实例。每个MIG实例提供显存隔离、计算资源隔离和错误隔离,确保多租户环境下的安全性与稳定性。相比MPS共享模式,MIG通过静态分区SM、显存和L2缓存,彻底解决了资源抢占和故障传播问题。实际测试显示,MIG分区带来的性能损失仅5-10%,且计算资源与吞吐量呈线性关系。该技术已支持Docker和Kubernetes部署,成为云原生GPU资源隔离的首选方案,特别适合需要强隔离保障的推理服务场景。

2026-07-04 03:45:00 62

原创 实战篇第12节:MPS——提升多进程推理的GPU利用率

MPS(Multi-Process Service)通过改变CUDA调度模型实现GPU算力的高效利用。传统时间片轮转模式导致GPU利用率低下(如8卡A100跑12个推理服务时浪费60%算力),而MPS允许多个进程在SM级别并行执行,使GPU利用率提升至95%。MPS架构包含控制守护进程、服务进程和客户端进程,需通过环境变量配置。关键优势是SM级混合调度,但存在显存不隔离、错误传播风险等限制。实际应用中需配合内存监控、配额控制(如CUDA_MPS_ACTIVE_THREAD_PERCENTAGE)和进程管理,

2026-07-03 18:00:00 125

原创 实战篇第11节:CUDA Graphs——捕获Kernel启动序列,大幅降低启动开销

本文分析了CUDA kernel启动的开销问题及其优化方案CUDA Graphs。传统模式下,每个kernel启动需要5-10μs,对于包含大量小kernel的轻量级模型,启动开销可占总推理时间的30-50%。CUDA Graphs通过将整个kernel序列录制为静态图,运行时只需一次API调用即可重放所有操作,将800次kernel启动的开销从4-8ms降低到单次5-10μs。文章详细介绍了三种构建Graph的方式:Stream Capture(对现有代码改动最小)、显式API构建(更灵活)、以及PyTo

2026-07-02 18:00:00 40

原创 实战篇第10节:知识蒸馏——利用CUDA加速Teacher模型推理和Student模型训练

知识蒸馏的GPU优化策略 本文探讨了知识蒸馏技术中的GPU优化方案,重点解决Teacher模型推理的计算瓶颈问题。知识蒸馏通过大模型(Teacher)指导小模型(Student)训练,但Teacher推理占用了60-80%的训练时间。文章提出了两种核心优化方法: 在线蒸馏优化: 使用TensorRT将Teacher转换为FP16推理引擎,实现3.3倍加速 采用专用CUDA Stream实现Teacher推理与Student计算的并行执行 预分配GPU显存避免重复内存分配 离线蒸馏优化: 预先计算并缓存整个数

2026-07-01 18:00:00 350

原创 第5篇:Loop Engineer:让 AI 进入自主循环,重塑自动化

Loop Engineer 设计的是"能自我反馈、持续迭代、自动纠错的 AI 运行闭环"。关键词含义反例自我反馈系统自己检查自己的输出你手动看结果,发现错了再手动改 Prompt持续迭代不是"执行一次就结束",而是"不满意就再来"工作流跑完一个步骤就停了自动纠错发现问题后自动调整策略,不需要人介入天气 API 挂了,系统报错退出运行闭环观察→思考→行动→观察,形成一个封闭的循环观察→思考→行动,然后就没有然后了要素 1:感知(Perceive)——能看到执行结果。

2026-07-01 12:00:00 737

原创 实战篇第9节:结构化剪枝——在CUDA层面加速稀疏模型

文章摘要: 剪枝是模型压缩的重要手段,但非结构化剪枝(随机置零权重)虽能实现90%+稀疏度,却因GPU无法高效计算随机稀疏矩阵而难以落地。相比之下,结构化剪枝(如整行/整列/通道剪枝)虽稀疏度较低(30-50%),但可直接被GPU加速。NVIDIA提出的2:4结构化稀疏(每4个连续权重中保留2个)在Ampere架构上通过稀疏Tensor Core实现硬件加速,理论提升2倍吞吐。通道剪枝通过整通道移除直接减小卷积核尺寸,实现线性加速。实际应用中,结构化剪枝(如2:4模式或通道剪枝)更易部署且能显著提升推理速度

2026-06-30 18:00:00 29

原创 第4篇:Harness Engineer:给 AI 装上手脚,工具调用与 API 编排

本文摘要: 《Loop Engineer实战:从提示工程到自主循环》第4篇探讨了如何让AI从“对话”升级为“行动”。通过Function Calling机制,AI可生成工具调用的JSON描述,由外部程序执行具体操作(如查询天气、发送邮件)。文章详细解析了工具定义、调用流程及多工具编排(如数据库查询→数据分析→邮件发送),并对比了LangChain等主流框架。最终指出,预设流程仍有限制,需突破编排框架的自动化天花板,迈向更自主的AI系统。

2026-06-30 12:00:00 236

原创 35. 控制编译器默认生成的函数

default和= delete编译器会默认生成六个特殊成员函数(构造、析构、拷贝/移动构造、拷贝/移动赋值)——当你定义了其他构造函数时,默认构造不再生成;定义移动操作会压制拷贝操作管理资源的类必须用 Rule of Five——如果声明了析构函数(说明你在管理资源),拷贝构造和拷贝赋值几乎一定需要自定义(或 delete 掉)——浅拷贝是灾难= default显式声明"我要编译器生成的版本"——用于多态基类的虚析构、恢复被压制生成的移动操作、在 .cpp 中定义以隐藏实现= delete。

2026-06-30 12:00:00 434

原创 实战篇第8节:量化感知训练QAT——如何在PyTorch中模拟量化并部署

文章摘要 量化感知训练(QAT)是后训练量化(PTQ)的进阶方案,通过在训练中插入"假量化"节点模拟量化误差,使模型适应量化噪声。QAT尤其适用于轻量模型(如MobileNet),精度损失可控制在0.1%以内,而PTQ可能损失5%。PyTorch QAT工具链包含训练时模拟量化(FakeQuant)、STE反向传播、模型导出等步骤,最终可部署到TensorRT。QAT让优化器直接在INT8量化网格上寻找最优解,相比PTQ能保持更高精度,但需要额外训练时间(原始训练的10-20%),适用于自动驾驶、医疗影像等

2026-06-29 18:00:00 122

原创 第3篇:Context Engineer:构建 AI 的长期记忆与动态知识库

本文探讨了如何突破大语言模型(LLM)"无状态"的局限性,实现跨越会话的记忆能力。文章首先解释了LLM的上下文窗口机制及其物理限制(成本、延迟、注意力衰减),随后提出三大解决方案: 上下文窗口管理:包括滑动窗口法(保留最近对话)、摘要压缩(提炼历史信息)和Token预算管理(优化资源分配) RAG(检索增强生成):通过文档分块、向量化存储和语义检索,实现外部知识的按需调用 长期记忆系统(文中未展开) 作者指出,虽然这些技术能赋予AI记忆能力,但仍存在"有记忆无手脚"的局限,即缺乏主动执行能力。全文采用"问题

2026-06-29 12:00:00 315

原创 34. 让编译器帮你查错:初始化与 const 成员函数

本文探讨了C++中初始化的关键问题与const成员函数的使用。主要内容包括: 初始化与赋值的区别,强调成员初始化列表的高效性及三种必须使用初始化列表的情况(const成员、引用成员、基类无默认构造函数); 非局部静态对象的初始化顺序问题,提出用局部静态对象(Meyers Singleton)解决跨编译单元初始化顺序不确定性问题; const成员函数的作用,展示如何通过const重载实现接口安全,使用mutable关键字允许const方法修改特定成员,并介绍了避免代码重复的const/non-const版本实

2026-06-29 12:00:00 511

原创 第2篇:Prompt Engineer:极致提示词的魔力与天花板

Few-shot:用范例激活模型已有的能力。CoT:让模型展开推理步骤,显著提升复杂任务的准确率。结构化输出:让模型返回可解析的格式,打通自动化链路。角色扮演:通过人设激活模型的特定语言模式。组合技:多个技巧叠加,效果远大于单独使用。无状态:每次会话独立,没有跨会话记忆。无工具:被困在训练数据中,无法与外部世界交互。无循环:没有自我检查、自我修正、迭代优化的能力。

2026-06-28 12:00:00 319

原创 实战篇第7节:训练后量化PTQ——原理与TensorRT实现

本文介绍了训练后量化(PTQ)技术,重点讲解了数学原理和TensorRT中的实现方法。主要内容包括: 量化基础 线性量化公式及对称/非对称量化实现 INT8需要校准的原因:相比FP16需要动态调整scale以应对离群值 最优scale选择策略(如使用百分位截断) TensorRT校准器 三种校准器对比:MinMax(简单快速)、EntropyCalibrator2(KL散度优化,推荐)、LegacyCalibrator(已淘汰) EntropyCalibrator2实现细节:直方图统计和KL散度最小化 实践

2026-06-28 12:00:00 23

原创 33. 用 const、enum、inline 代替 #define

本文总结了C++中替代C语言宏定义的三种主要方式:使用const/constexpr定义常量、enum枚举类型和inline函数。相比#define宏,这些替代方案具有类型安全、可调试、遵循作用域规则等优势。文章详细介绍了类内常量定义、C++17的inline变量、constexpr编译期常量等技术要点,并分析了宏函数存在的参数多次求值等问题。最后指出宏在头文件保护、条件编译等场景仍不可替代,但应尽量避免在其他情况下使用宏。这些建议能帮助开发者编写更安全、可维护的C++代码。

2026-06-28 12:00:00 198

原创 第1篇:从 Prompt 到 Loop:AI 应用开发范式的四次进化

本文《Loop Engineer 实战:从提示工程到自主循环》开篇纵览了AI开发的四阶段演进: Prompt Engineer - 优化输入提示引导模型输出,但存在无状态、被动响应等局限; Context Engineer - 通过记忆管理、RAG检索等技术赋予AI上下文理解能力,但仍缺乏行动力; Harness Engineer - 实现函数调用和工具编排,使AI能操作系统API执行任务,但流程固定缺乏应变; Loop Engineer - 构建"观察-思考-行动"的自主循环,AI可评估结果并动态调整策略

2026-06-27 13:00:00 227

原创 实战篇第6节:案例——气象与流体模拟——结合CNN与RNN的CUDA加速

这篇文章摘要介绍了流体动力学和气象模拟中的GPU加速技术,重点围绕Navier-Stokes方程的数值求解。主要内容包括: 基础方法:使用Jacobi迭代求解2D热传导方程,通过共享内存优化stencil计算,减少全局内存访问 高阶差分格式:气象模拟中常用的6阶中心差分方法及其实现优化 CNN在空间特征提取中的应用:以FourCastNet为例,介绍Adaptive Fourier Neural Operator结构 cuFFT在气象模拟中的应用:全球谱模式中的FFT和Legendre变换实现 关键技术点包

2026-06-26 18:00:00 24

原创 实战篇第5节:案例——CUDA加速分子动力学模拟——N-Body问题优化实战

本文介绍了分子动力学(MD)模拟中N-Body问题的CUDA优化方法。首先通过朴素实现展示O(N²)复杂度下引力计算的核心瓶颈在于全局内存访问,随后采用共享内存分块技术(Tiling)将性能提升20倍。第二部分转向真实分子力场计算,详细实现了Lennard-Jones势能及其梯度计算,展示了更复杂的原子类型参数处理。文章揭示了MD模拟的核心挑战:低计算密度与复杂数据结构间的平衡优化,为后续更高效的邻居列表算法优化奠定基础。

2026-06-25 18:00:00 475

原创 实战篇第4节:案例——端侧推理加速——在Jetson设备上部署与优化

摘要: Jetson Orin系列在15W功耗下部署YOLOv8等模型需全链路优化。硬件上,统一内存架构和有限带宽要求零拷贝内存管理,禁用GUI以释放资源。模型选型优先考虑延迟/功耗,INT8量化是刚需,可结合DLA加速器提升效率。DLA适合处理卷积密集型任务,与GPU并行执行。功率管理通过DVFS和nvpmodel调节,平衡性能与散热。优化策略包括TensorRT引擎构建、显存池限制及多流编排,实现端侧实时推理。

2026-06-24 20:00:00 37

原创 32. 概念(Concepts):C++20 的模板约束

本文介绍了C++20引入的Concepts特性,它通过在模板声明中明确约束类型参数的条件,解决了传统模板错误信息冗长的问题。主要内容包括: Concepts基本语法:通过concept关键字定义类型约束,支持布尔表达式、requires表达式和组合已有概念三种方式。使用时可替代typename、添加requires子句、尾随requires或内联requires表达式。 requires表达式:详细解析四种需求检查方式(简单表达式、类型存在性、返回类型约束和嵌套约束),以及其作为编译期布尔值的特性。 类模板

2026-06-24 12:00:00 528

原创 实战篇第3节:案例——多模态模型(如CLIP)推理优化

CLIP双塔模型的CUDA优化策略 摘要 CLIP双塔模型在生产环境部署面临两大挑战:图像编码器(ViT)和文本编码器的异构计算特性。图像侧主要瓶颈在于ViT的高分辨率MHSA计算(占比45%),可采用TensorRT引擎构建和FlashAttention优化;文本侧则需处理变长序列(3-77 tokens)的因果Transformer(占比37%),通过动态批处理和KV缓存优化。 关键技术点包括: 图像Encoder采用混合精度FP16,为MHSA Softmax保留FP32精度 高分辨率ViT使用Fla

2026-06-23 18:00:00 23

原创 31. 完美转发:将参数原样传递

本文摘要(148字): 《C++完美转发机制深度解析》系统阐述了参数转发中的核心问题与解决方案。当右值参数被命名后变为左值,导致移动语义失效,完美转发通过std::forward保持原始值类别。关键点包括:1)引用折叠规则决定最终引用类型;2)转发引用(T&&)的模板推导机制;3)std::forward基于类型参数恢复值类别的实现原理。文章通过工厂函数示例演示完美转发的实际应用,并指出转发引用与重载函数的潜在冲突。该技术是std::make_shared等标准库组件的基础,需注意右值命名化和转发边界条件。

2026-06-23 12:00:00 355

原创 实战篇第2节:案例——BEV视角感知模型部署:处理多模态数据融合与稀疏卷积

BEV感知技术的GPU优化挑战与突破 摘要: 自动驾驶BEV感知技术面临多模态数据融合与实时处理的重大挑战。本文分析了将6摄像头、LiDAR和毫米波雷达数据实时融合为鸟瞰图的CUDA优化方案,重点解决三大瓶颈:1)点云体素化通过哈希表与原子操作优化,性能提升4.2倍至1.2ms;2)3D稀疏卷积采用子流形模式实现不规则内存访问,通过自定义CUDA kernel解决TensorRT支持不足问题;3)View Transform通过减少Gather/Scatter操作优化内存访问。实验表明,优化后关键模块延迟显

2026-06-22 18:00:00 30

原创 30. 变参模板与折叠表达式

本文介绍了C++变参模板的核心概念和应用方法。主要内容包括: 参数包基础:介绍了类型参数包和函数参数包的概念,以及使用sizeof...获取参数包大小的方法。 递归展开:详细讲解了C++11/14中通过递归函数模板处理参数包的技术,包括递归终止条件和实例化过程。 折叠表达式:重点介绍了C++17引入的折叠表达式特性,展示了一元/二元折叠的四种语法形式及其应用实例。 变参类模板:简要提及了变参模板在类模板中的应用,如实现简化版tuple。 文章通过大量代码示例,循序渐进地讲解了从基础到高级的变参模板技术,包括

2026-06-22 12:00:00 192

原创 实战篇第1节:案例——高分辨率图像修复:利用共享内存和Tensor Core优化

本文介绍了基于CUDA的高分辨率图像修复优化方案,聚焦4K图像修复的端到端工程实现。通过分析LaMa模型的性能瓶颈(105ms延迟、8.2GB显存),提出三阶段优化: 算法优化:采用FFC(Fast Fourier Convolution)架构,融合频域变换与卷积操作; CUDA核心优化: 共享内存tiling处理4K大分辨率图像 开发融合kernel整合FFT/卷积/iFFT 使用Tensor Core加速矩阵运算(性能提升3.1倍) 系统级优化: 多尺度特征金字塔的CUDA Stream流水线 显存管理

2026-06-21 18:00:00 144

原创 29. 类型萃取:编译期判断类型的能力

类型萃取是C++模板编程中的核心技术,它允许在编译期查询和操作类型信息。本文介绍了类型萃取的三大类: 类型属性查询(如is_integral、is_pointer等) 类型关系查询(如is_same、is_base_of等) 类型变换(如remove_reference、conditional等) 通过模板特化技术,这些萃取器能够在编译期判断类型特性并产生不同的代码分支,实现零运行时开销的类型检查。文章通过具体示例展示了这些萃取器的使用场景和底层实现原理,包括is_void的全特化实现、is_pointer

2026-06-21 12:00:00 232

原创 面试真题集(十八):推理服务与部署

文章摘要 本文聚焦推理服务的系统工程化问题,涵盖Triton配置、K8s部署和性能优化。内容分为三部分: 选择题:解析Triton Dynamic Batching、Model Ensemble、健康检查等核心概念 简答题:探讨实例数量设置、模型加载优化、LLM流式压测等实用技巧 场景题:提供真实问题解决方案,包括500错误排查、健康检查异常处理、多地域架构设计等 文章特别强调从单模型优化到服务亿级用户的思维转变,重点介绍了: Triton的零拷贝流水线和动态批处理技术 Kubernetes环境下的部署与伸

2026-06-19 18:00:00 43

原创 面试真题集(十七):大模型推理优化

这篇文章摘要如下: 大模型推理优化面试核心问题解析 本文聚焦大语言模型推理优化的13个典型面试问题,覆盖KV Cache、PageAttention、In-flight Batching和量化技术等核心领域。选择题部分澄清了KV Cache的关键特性(与序列长度成正比)、PageAttention的block分配机制以及GPTQ与AWQ量化的本质区别。简答题深入探讨了KV Cache的必要性、PageAttention与操作系统分页的类比、In-flight Batching的适用场景限制等原理性问题。场景

2026-06-18 18:00:00 61

ros串口通讯c++实现

使用前,先安装sudo apt install ros-kinetic-serial 库,再进行编译

2020-08-31

g3log 日志管理

这是一个开源的日志管理系统,但是现有接口过于落后,不过很成熟与稳定,个人长期使用,可以将该接口进一步封装成更加友好的接口进行使用。

2020-08-31

基于g3log日志管理

该日志管理系统基于g3log使用,请先安装g3log再进行编译;同时该日志管理系统继承了ros的日志使用习惯,方便熟悉ros的朋友使用。

2020-08-31

空空如也

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

TA关注的人

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