nothin Blog

「Don't Repeat Yourself. 为未来的自己存档解决方案。」

在 nano-rocksdb 中实现 Prefix 优化:从 Prefix Bloom 到 Prefix Iterator

这篇文章记录我在 nano-rocksdb 中加入 prefix 优化的实现思路。 这里的目标不是完整复刻 RocksDB 的 prefix seek、partitioned filter、hash index 或 memtable prefix bloom,而是做一个适合学习的最小版本: 用户可以通过 Options::prefix_extractor 告诉 DB 如何提取 ke...

在 nano-rocksdb 中实现 DeleteRange:从 Range Tombstone 到读写路径

这篇文章记录我在 nano-rocksdb 中加入 DeleteRange 支持的实现思路。整体语义参考 RocksDB:DeleteRange(begin, end) 不会立刻枚举并删除区间内的每个 key,而是写入一条 range tombstone。读取时,如果某个 key 落在 tombstone 覆盖范围内,并且 tombstone 的 sequence 比点记录更新,就把这个 k...

在 nano-rocksdb 中实现 Merge:从写入到 Get 读取路径

这篇文章记录我在 nano-rocksdb 中加入 Merge 支持的实现思路。整体语义参考 RocksDB:Merge 写入的不是最终 value,而是一个 merge operand;读取时需要把同一个 key 上较新的 operands 和更旧的 base value 合并,最后通过 MergeOperator::FullMerge() 得到用户可见的 value。 当前实现重点放在...

2025年终总结

2025年已经快要结束了,所以我仿照古圣先贤,来写一个年终总结。 首先我要回顾一下上半年,考研这一年,臃肿了体态,也磨损了心志。不过好在是成功上岸,成为一位失败的研究生。但是这一年也认识了好多网友和朋友,后面会逐渐介绍。 本科毕业之后的暑假,按照大部分人的说法,是狠狠玩的最后一个假期,但是我彻底失败,进组干活到了开学,在北京成功生活了几个月,体验了单程通勤一小时上下班,早十晚x的几个月。...

记录最近阅读的30篇论文

记录最近阅读的30篇论文 [toc] Attention Is All You Need 大模型的奠基之作,介绍了Scaled Dot-Product Attention,attention以及transformer架构, 在 Attention is All You Need这篇论文中,作者首次提出了基于 Attention 的 Transformer 架构,并在 机器翻译(M...

从ai编译器的角度理解FlashAttention

在深度学习领域,Transformer模型和自注意力机制(Attention)已经成为支撑自然语言处理、计算机视觉和其他领域的重要基石。随着模型规模的扩大,计算复杂度和内存需求也随之呈指数级增长,尤其是自注意力机制中的计算和存储需求。因此,如何高效地计算自注意力成为了深度学习编译器和硬件加速器优化的核心课题之一。 FlashAttention是一种为解决这一问题而提出的高效计算方法,它在保...

GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints 论文

GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints 本文的idea是MHA和MQA两种方案的折衷,正如文章中的描述GQA-1就是MQA,GQA-H就是MHA。本实验中使用的是MQA-8,因为实验结果表明这是一种最优的选择。 abstract 多查询注意力(M...

EFFICIENTLY SCALING TRANSFORMER INFERENCE 论文翻译

EFFICIENTLY SCALING TRANSFORMER INFERENCE 论文翻译(使用Claude) 详细解读可参照佳瑞老师的知乎文章 摘要 我们研究了Transformer模型高效生成式推理的问题,特别是在最具挑战性的场景下:大型深度模型、严格的延迟目标和长序列长度。更好地理解大型基于Transformer模型推理的工程权衡非常重要,因为这些模型的应用场景正在...

Fast Transformer Decoding: One Write-Head is All You Need 论文阅读

Fast Transformer Decoding: One Write-Head is All You Need 论文阅读 本篇文章在MHA的基础上做了修改,不使用多头注意力机制,而是使用多query机制,所有的query共享一个k,v头。所以这带来性能提升时必然的,因为减少了计算。所以在不降低原有的准确率似乎是重点。 刚接触这个领域,如有错误,希望能得到您的指正。 in...

Python 中的广播机制 (Broadcasting)

Python 中的广播机制 (Broadcasting) 什么是广播 广播 (Broadcasting) 是 NumPy 和 PyTorch 等科学计算库中的一种机制,允许不同形状的数组进行算术运算,而无需显式复制数据。 核心思想 广播通过虚拟扩展较小数组的形状来匹配较大数组,在计算时重复使用数据,而不实际占用额外内存。 优势: 内存高效:不创建数据副本 代码简...