- 博客(163)
- 收藏
- 关注
原创 BERT 模型的运行机制及DistilBERT 的蒸馏压缩过程
教师模型 BERT 在预测词汇时,不仅给出最高概率的词,还会给出整个词表的概率分布(例如“狗”的概率是 0.85,“猫”是 0.10,“汽车”是 0.001)。这种概率分布包含了极其丰富的“暗知识(Dark Knowledge)”,揭示了词汇之间的语义相似性。这是 BERT 理解“上下文”的核心数学操作。但在蒸馏过程中,DistilBERT 学习的是教师模型输出的“软标签”(Soft Targets)。)时,概率分布变得更平滑,使得原本接近于 0 的概率(如“猫”和“汽车”的差异)被放大,供学生模型学习。
2026-06-03 16:09:29
365
原创 ARM64和AMD64有什么区别,怎么知道自己的系统是哪个版本
AMD64(别名:x86_64、x64):是x86架构的64位扩展标准,由AMD率先设计推出,Intel后续全面兼容(曾用名EM64T/Intel 64),是目前桌面PC、笔记本、主流服务器的通用64位架构。并非只有AMD处理器才用AMD64,Intel酷睿/至强系列的64位处理器均基于此架构。ARM64(别名:AArch64)
2026-04-16 19:19:14
1720
原创 STFT(Short-Time Fourier Transform,短时傅里叶变换)
在音频信号处理与现代 AI 语音降噪领域,STFT(短时傅里叶变换)是将一维的声音波形转化为二维“时频图”的。理解现代音频算法(如复数掩码 CRM 和 Conformer 架构),必须首先彻底拆解 STFT 的底层齿轮。
2026-04-15 10:00:00
879
原创 骨传导加速度计
是现代高端降噪耳机(如 AirPods Pro、华为 FreeBuds Pro 等)实现“在狂风和嘈杂地铁里依然能清晰通话”的终极硬件秘密。它本质上。传统的空气麦克风靠捕捉空气气压的变化来录音,所以它不可避免地会录到风声、汽车声。而骨传导加速度计紧紧贴着你的耳道皮肤或面颊,它,只捕捉你说话时,声带震动顺着头骨传导过来的。既然是空间加速度计,它必然包含。
2026-04-15 08:00:00
204
原创 语音活动检测 (Voice Activity Detection, 简称 VAD)
是音频处理系统中的核心底层组件。从严格的信号处理定义来看,它是一个。其核心任务是:从连续输入的音频流中,通过实时计算信号的物理特性,精准判定当前帧(Frame)属于。
2026-04-14 10:00:00
855
原创 复数比掩码 (Complex Ratio Mask, 简称 CRM)
理想实数比例掩码 (IRM):就像一个只有“音量旋钮”的收音机。它只能把带噪信号的向量拉长或缩短,无法改变它的角度。如果角度一开始就被噪音带偏了,它永远回不到正确的轨道上。复数比掩码 (CRM):就像一个高级的“2D 飞行摇杆”。它既能推拉(调音量),又能左右旋转(调相位)。AI 算出精确的MrM_rMr和MiM_iMi,强行把被噪音撞歪的音频向量,旋转回绝对精准的原始角度。
2026-04-14 10:00:00
367
原创 理想实数比例掩码(Ideal Ratio Mask,简称 IRM)
掩码 (Mask)这就好比在时频图上覆盖一层“滤网”。网格的每个点对应一个频率。比例 / 实数 (Ratio / Real Number)在更早的时代,人们用的是“二值掩码 (IBM, Ideal Binary Mask)”,非黑即白(要么保留乘 1,要么杀掉乘 0),导致声音断断续续。IRM 的伟大突破在于引入了“比例”。它输出的是一个介于0.00.00.0到1.01.01.0之间的纯实数小数(比如 0.8、0.3)。这意味着它允许“半透明”的过滤,保留了声音的平滑过渡。理想 (Ideal)
2026-04-13 21:45:27
411
原创 均方根能量 (Root Mean Square Energy, 简称 RMS Energy)
是音频信号处理中最基础、也最符合人类听觉直觉的一个特征指标。简单来说,如果“时频图”展示了声音的细节,“频谱重心”展示了声音的明暗,那么。在声学和物理学中,我们不能简单地用波形图上的“最高点(峰值)”来代表声音有多大,这时候就必须引入 RMS。我们将从它的数学反推过程、物理意义以及它与“峰值”的区别进行硬核拆解。
2026-04-13 14:09:06
453
原创 SNR、SIR、SINR
在音频和通信领域,人们经常把挂在嘴边,但真正让顶尖算法工程师抓狂、也是衡量“目标人提取(TSE)”算法好坏的终极硬核指标,其实是。。
2026-04-13 13:34:47
875
原创 如何看懂时频图
看懂时频图(Spectrogram),本质上是要理解一维的时间信号是如何通过数学变换,被展开成包含的三维信息平面的。我们将从它的数学源头——**短时傅里叶变换(STFT)**开始推演,然后解析它的视觉映射规则,最后通过典型的物理信号结构来建立直观的读图能力。
2026-04-10 11:25:02
618
原创 如何用滑动窗口(Sliding Window)和语义边界(Semantic Boundary)来进行科学切块?
想象一下,如果一份 10 万字的 PDF 被极其暴力地按每 500 个字符切一刀。当这两块文本分别被送进 Embedding 模型时,为了防止这种“语义碎裂”,工业界演进出了。我们把它们的物理执行过程全部拆开!
2026-03-28 12:00:00
421
原创 RAG向量库如何进行数据保鲜?
市面上 90% 甚至 99% 业余 RAG 系统的把 10 亿篇文档用大模型 Embedding 成 1536 维的向量存进 Milvus 数据库,这是一个。如果公司 HR 今天上午 10 点刚刚修改了《报销手册》,而你的向量库还是昨天晚上的全量索引,那么下午 2 点员工去问 Agent 时,大模型就会看着旧的,一本正经地输出已经被废弃的旧政策。为了解决这个“延时性”和“旧数据”的灾难,顶尖的 AI 架构师在工程底层引入了。我们绝不省略任何步骤,把这三套机制在服务器内存和网络里的流转过程彻底解剖!
2026-03-27 20:51:40
404
原创 RAG 与向量检索的底层算法
BM25 把词频统计、罕见度权重、反作弊和长度惩罚全部揉进了一个没有超参数需要训练的解析解公式里。它在查找特定名字、型号、代码时,是极其精准的“狙击枪”。
2026-03-27 20:32:19
841
原创 三大分词算法
BPE= 靠频次,自底向上合并。(目前最主流,因为简单暴力且编码确定)。WordPiece= 靠互信息概率,自底向上合并。(BERT 时代的王者)。Unigram= 靠整体信息损失,自顶向下淘汰。(极其优雅的概率模型)。= 包含并执行上述算法的工业级 C++ / Rust 代码库。
2026-03-26 12:00:00
604
原创 有限状态自动机 (FSA) 和抽象语法树 (AST)
在计算理论中,一个确定的有限状态自动机MMMMQΣδq0FMQΣδq0F。QQQ(状态集合):Agent 停留在宿主程序中的“节点”。例如:q0q_0q0START(接收用户输入状态)q1q_1q1(等待大模型返回思考结果状态)q2q_2q2(宿主程序调用本地 Java API 状态)q3q_3q3(高危操作,挂起等待人类点击确认状态)Σ\SigmaΣ(事件/输入字母表):触发状态改变的条件。
2026-03-25 21:09:58
561
原创 BPE 算法的硬核拆解——理解词表(Vocabulary)是如何从零训练出来的,以及字符串是如何被切碎的
BPE分词机制在处理不同语言时存在显著效率差异。该算法通过统计相邻字节对频次进行合并,自底向上构建词表。英文和代码由于ASCII字符仅占1字节且重复模式多,合并效率高,常见组合可压缩为单一Token。而中文每个字符通常占3字节,且语料占比低,导致合并机会少,往往需多个Token表示单个汉字。这种差异使得相同Token限额下,模型能处理的英文/代码字符量远超中文。通过Python代码可完整模拟BPE训练过程,直观展示合并规则如何影响最终分词效果。理解这一机制对优化多语言处理至关重要。
2026-03-24 10:12:00
2328
5
原创 Unicode和UTF-8到底有什么区别?MySQL建表时如何选择编码格式?其他字符编码的底层机制?
编码名称占用字节核心应用场景ASCII1纯英文底层系统、基础网络协议头GBK1 或 2解析国内老旧的 Windows 文本文件、早期的中文 BBS 数据UTF-162 或 4Java/C# 的内存字符串内部表示、Windows OS 内部 APIUTF-8(mb4)1 到 4现代互联网的绝对霸主。所有的 Web 前后端通信、所有的 MySQL 数据库建表、所有喂给 LLM 的文本,统统使用 UTF-8。
2026-03-24 10:11:27
440
原创 从数学和矩阵运算的底层逻辑来透视 仅解码器 Transformer (Decoder-only Transformer) 自回归解码阶段的全过程
摘要:KV Cache通过缓存已计算的键值矩阵,将自回归解码的计算复杂度从O(N²)降至O(1),实现高效推理。但这一机制带来严重的内存瓶颈——LLaMA-7B模型处理4096个token时KV Cache占用达2GB,远超边缘设备容量。更致命的是内存带宽限制,每生成一个token需全量读取缓存,导致计算核心持续等待数据传输。这种"空间换时间"的策略在边缘设备上形成双重打击:内存容量不足引发OOM,低带宽造成硬件利用率暴跌。论文《Jupiter》正是针对这一物理限制提出的优化方案。
2026-03-23 13:42:47
558
原创 旋转位置编码(Rotary Position Embedding, RoPE)
RoPE(旋转位置编码)通过复数空间旋转巧妙地将相对位置信息融入注意力机制。传统方法直接添加位置向量会破坏词间距离关系,而RoPE将位置编码转化为对空间坐标系的旋转操作:将高维向量两两分组,每组独立进行二维旋转,使内积结果仅依赖相对位置差(m-n)。这种旋转通过轻量的逐元素乘法实现,仅作用于Q、K矩阵而不干扰V矩阵,确保注意力得分精确反映词间距。RoPE的数学优雅性使其成为大模型处理长上下文的核心技术。
2026-03-23 13:42:32
340
原创 从数学和矩阵运算的底层逻辑来透视 仅解码器 Transformer (Decoder-only Transformer) 预填充阶段的全过程
摘要:本文详细解析了Decoder-only Transformer架构的核心流程,这是LLaMA、Mistral和GPT等大模型的基础。首先通过词嵌入和位置编码将文本转化为矩阵,然后通过QKV投影生成查询、键和值矩阵。重点阐述了掩码自注意力机制如何实现"从左到右"的生成特性,包括打分矩阵计算、掩码操作和softmax归一化。接着介绍了多头注意力机制、残差连接与层归一化,以及前馈神经网络的作用。最后通过一个"我 爱 学习"的微型案例,演示了输入矩阵化、QKV生成和掩码
2026-03-18 18:02:26
595
1
原创 词嵌入(Word Embedding)和位置编码(Positional Encoding)
Transformer架构中词嵌入和位置编码的机制差异显著:词嵌入通过可学习的嵌入矩阵将离散词语映射为稠密向量,模型通过海量数据训练不断调整矩阵参数;而位置编码则基于预设的正弦/余弦公式生成,为序列注入绝对和相对位置信息。两者相加形成模型输入,前者捕捉语义,后者保留语序。现代模型如LLaMA采用旋转位置编码(RoPE)等改良技术,但核心目标仍是解决序列无序性问题。这种设计体现了神经网络中学习参数与预设规则的巧妙结合。
2026-03-18 18:00:28
480
原创 莫比乌斯反演(Möbius Inversion)
本文提出了一种基于莫比乌斯反演的高效算法,用于计算给定数组中所有元素两两最小公倍数之和。通过将问题转化为数值频率统计,利用数论技巧消除条件判断,最终将时间复杂度从O(N²)优化至O(M log M)。关键步骤包括:1)使用桶排序统计数值频率;2)提取公因数并枚举gcd;3)应用莫比乌斯函数简化互质条件;4)调换求和顺序分离变量。该算法通过预处理两个核心数组,实现了百万级别数据的高效计算,将理论运行时间从十秒级降至毫秒级。
2026-03-17 22:57:44
279
原创 文件解析:ProcessGroupNCCL.cpp
时,每一次数据并行的梯度同步、模型并行的权重切分传递、亦或是分布式的显式发送接收,都会穿透 Python 层,在这份文件中寻找到对应的方法,并转化为原生的 NVIDIA NCCL API 调用,投递到 GPU 上执行。,那么你调用的任何同步 / 异步的分布式操作最终都会落在它所在的底层 —— 也就是这个 C++ 文件里的方法。其核心职责是将 PyTorch 的底层。简单地说,当你使用 PyTorch 进行分布式训练(比如。)时,如果你指定的 backend(后端)是。PyTorch 中的分布式操作大多是。
2026-03-04 19:41:22
420
原创 如何配置go环境并用vscode运行
1、E盘gosy文件夹下新建一个文件夹名为:firstProject。3、在终端输入:go mod init firstProject。3、点击新建,把下载好的bin目录粘贴进去。5、终端输入:go run main.go。2、点击环境变量,找到Path点击编辑。OK,恭喜你可以开始编写go文件了~~完成配置后关闭vscode!会出现一个go.mod文件,如下。1、Win+s输入"环境变量"2、右键用vscode打开。4、新建main.go文件。
2026-01-29 21:48:11
335
原创 拒绝“资源内耗”:一文读懂分布式训练中的 DMA 与 RDMA
DMA解决了内部冲突(计算 vs. 通信抢夺 GPU 核心)。RDMA解决了外部障碍(机器间通信的软件开销和高延迟)。正是通过对这两种底层技术的精妙结合,DistTrain 才能在 1172 块 GPU 上训练 72B 多模态模型时,跑出高达54.7% 的 MFU(算力利用率)。
2026-01-28 18:28:17
509
原创 深度解密 StepCCL:如何通过 DMA 释放被 NCCL “霸占”的 GPU 计算力?
当通信内核运行并占据 SM 时,留给计算内核(GEMM)的 SM 数量就会减少,甚至会因为缓存竞争和调度延迟,导致同时运行的 GEMM 性能显著下降。这种计算与通信的“资源内耗”,使得简单的计算通信重叠(Overlap)难以发挥最大效力。:由于不依赖内核融合,StepCCL 甚至可以跨模块隐藏通信(例如在交叉注意力机制中重叠通信),这是传统方案无法做到的。:将一个巨大的 GEMM 及其对应的通信(如 All-Gather)分解为多个较小的“单元对”。,看它是如何通过底层架构创新实现通信开销的“完美隐藏”。
2026-01-27 22:28:57
310
原创 什么叫做容器隔离,逃逸漏洞又是怎么突破容器隔离的?
容器隔离可以理解为一种边界限制机制权限限制:用户的工作负载通常运行在具有有限权限的容器(Pod)中。逻辑分区:在 Kubernetes 的架构中,数据平面由多个工作节点(机器)组成,隔离机制确保运行在同一个节点上的不同应用(Pod)互不干扰。安全屏障:它的核心目的是确保应用只能在其被允许的范围内运行,无法直接触及底层宿主机(工作节点)或其他不相关的资源。
2026-01-21 14:48:05
178
原创 Randomized Hadamard Transform随机哈达玛变换
OptiReduce通过随机哈达玛变换(RHT)解决分布式深度学习中的丢包问题。该方法将梯度参数进行随机化处理和哈达玛矩阵变换,使数据丢失转化为全局微小噪音而非局部空洞,显著降低误差(MSE从2.53降至0.01)。系统采用GPU加速和自适应触发机制,仅在丢包率超过2%时激活RHT,平衡了计算开销与训练效率。实验显示即使丢失10%数据包,恢复梯度仍能保持原始值的基本特征,对神经网络训练影响极小。
2026-01-15 17:07:34
678
原创 Exponentially Weighted Moving Average smoothing 指数加权移动平均平滑法
本文介绍了指数加权移动平均(EWMA)平滑法在分布式深度学习系统中的应用。EWMA通过指数级衰减权重,赋予近期数据更高重要性,有效过滤瞬时噪音(如3.0s的计算时间波动),同时保留真实性能趋势(若持续变慢会逐步反映)。该方法只需递归更新单个变量,配合死区阈值机制,避免了系统对临时波动的过度反应。实验显示,当α=0.2时,单次异常值仅使平滑值从1.0s升至1.4s,而连续异常才会使结果稳步逼近真实值。EWMA通过平衡历史稳定性和当前变化,为分布式训练提供了关键鲁棒性。
2026-01-05 14:34:51
611
原创 一文吃透朴素贝叶斯:原理、实现与实战
本文全面介绍了朴素贝叶斯分类算法的原理与应用。首先解析贝叶斯定理的核心概念(先验概率、似然、后验概率),阐明其"朴素"特征条件独立性假设的简化作用。重点讲解了Scikit-learn中4种朴素贝叶斯实现:CategoricalNB(离散分类特征)、BernoulliNB(二元特征)、MultinomialNB(离散计数特征)和GaussianNB(连续特征),并给出代码示例。文章还总结了朴素贝叶斯在文本分类等场景的应用优势,以及计算高效但独立性假设可能影响准确性的特点。通过理论解析和代码
2025-12-30 22:27:16
1098
原创 KNN实战进阶:模型评估、Scikit-learn实现与Numpy手动编码
本文系统介绍了KNN算法的实战应用,包括模型评估、交叉验证和工程实现。主要内容涵盖:1) 分类/回归任务的核心评估指标及其适用场景;2) 三种交叉验证方法的原理与实现;3) Scikit-learn快速实现KNN分类的完整流程;4) 通过Numpy手动实现KNN的进阶作业要求。文章特别强调了样本不平衡时准确率的局限性,以及如何利用精确率、召回率等指标进行补充评估,并提供了大模型辅助编程的具体技巧和验证方法。全文从理论到实践,为KNN算法的应用提供了全面指导。
2025-12-24 13:59:45
671
原创 深入浅出K近邻法(KNN):原理、实现与Scikit-learn实战
摘要:K近邻法(KNN)是一种基于相似度的监督学习算法,通过"邻里投票"机制实现预测。本文详细解析了KNN的核心原理、三要素(距离度量、k值选择和特征缩放)以及高效实现方法KD树,并展示了Scikit-learn中的实战应用。KNN无需显式训练,适用于分类和回归任务,其相似度匹配思想是现代推荐系统和图像搜索的基础。文章通过offer预测案例生动展示了KNN的工作机制,并提供了参数调优建议和代码实现。
2025-12-24 13:15:52
1209
1
原创 机器学习入门:从概念到实战,轻松解锁AI技能
你是否好奇ChatGPT如何精准回应需求?AI如何快速生成穿搭照片、证件照甚至动态视频?这些看似神奇的"AI魔法",背后的核心驱动力正是机器学习。机器学习是第四次工业革命的核心引擎,它依托数据、算力与算法的三重爆发,构建了全新的编程范式。传统编程是"规则+数据→答案",而机器学习则颠覆为"数据+答案→规则"——让计算机从海量数据中自主学习规律,形成能预测未来的"模型"。从垃圾邮件过滤到医疗影像诊断,从房价预测到自动驾驶,机器学习已渗透到生活的方方面面,成为不可或缺的技术力量。
2025-12-22 22:39:53
1114
原创 如何分割训练集、验证集、测试集
机器学习数据集划分方法总结:首先明确训练集(用于模型训练)、验证集(用于调参)和测试集(用于最终评估)的职责,测试集必须严格隔离。数据划分比例根据数据量大小调整,小样本(1k-10k)常用6:2:2,中等规模(10k-100k)用8:1:1,大规模数据可98:1:1。划分方法包括随机划分(i.i.d.假设)、分层抽样(分类任务必备)、时间切分(时序数据)、分组划分(防止信息泄露)和交叉验证(小样本)。文中提供了Python/scikit-learn、PyTorch和TensorFlow的代码实现模板。
2025-12-22 16:18:24
447
原创 如何借助Zotero批量下载只有参考文献格式的论文
本文介绍了使用Zotero管理文献的完整流程:首先通过anystyle.io网站转换参考文献格式为BibTex并导入Zotero;然后下载适配插件,批量获取文献DOI;接着创建bat启动文件设置代理;最后批量下载PDF全文,未成功的文献需单独在谷歌学术搜索。该流程涵盖了从文献导入到全文获取的全套操作方法。
2025-12-18 17:15:34
528
原创 如何给整个文件夹/项目配置conda环境
本文简要介绍了如何为Python项目配置Conda环境作为解释器。首先进入设置,找到当前项目文件夹菜单;然后选择Python Interpreter并点击添加解释器;接着选择本地解释器(Add Local Interpreter),指向已建立的Conda环境。文中还提供了关于如何创建Conda环境的博客链接供参考。
2025-12-18 16:47:34
380
原创 Conda与Pip混用导致的“幽灵包”现象
混用 Conda 和 Pip 确实是 Python 环境管理中的大忌,尤其是在 Windows 上搞深度学习开发时。以下是为什么,以及。
2025-11-20 20:20:35
469
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅