抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

投机采样推理原理

投机采样推理原理 基本原理 正确性证明 推理加速证明 源码实现 基本原理一次正确的生成其实使用小模型模型就能大概率正确的完成, 但连续多次的正确的概率就会下降, 一步错步步错。如果以大模型为基准, 则大模型的生成的百分百正确的, 但是大模型相对小模型需要耗费更多的时间来完成。 在自回归模型中, 由于因果关系的存在, 模型在推理时每次只能生成下一个token, 这种一次生成一个token的阶...

手把手实现Ring Attention

手把手实现Ring Attention 官方ring attention是jax实现的,这里用pytorch实现一个ring attention的学习版本。 source code 是ring attention是attention机制的分布式版本。分布式的持有QKV分块从而降低单机的显存消耗。 主要流程: 数据并行模拟: 不想折腾DDP, 使用一些技巧来模拟 p2p通信 给ring at...

神经网络中的激活值

神经网络中的激活值 什么是激活值 一层神经网络是数据就是激活值 为什么要保存激活值 因为反向传播过程中需要对函数的参数求偏导, 那么结果就和激活值相关 如: f(x) = ax, g(x) = bx, 神经网络为: g(f(1)) $d = f(1)$, $g’_b(x) = \frac{dg}{db} = x$, $f’_a(x) = \frac{df}{da} = x$ $g’_b(...

CUDA编程小记

CUDA编程小记这个教程的小记/速查 核函数(kernel)kernel的定义和启动形如,使用__global__修饰的函数就是kernel,由host端启动,在device端运行。如果使用__host__就是就是host端代码,cuda编译器不会编译到gpu上。使用__device__修饰就是设备端代码,只能在设备上运行 1234__global__ void cuda_kernel(.....

llama2.c体验

llama2.c体验 Have you ever wanted to inference a baby Llama 2 model in pure C? No? Well, now you can! 为什么要体验llama2.c? 因为我现在在做一些大模型相关的东西, 但是设备资源又不是十分充足, 想要先通过一个很小很小的llama来验证跑通再迁移到实验环境。偶然发现llama2.c的环境...

聊天应用的系统设计

聊天应用的系统设计 ref https://www.youtube.com/watch?v=xyLO8ZAk2KE&ab_channel=ByteMonk https://medium.com/@m.romaniiuk/system-design-chat-application-1d6fbf21b372 https://bytebytego.com/courses/system-d...

leveldb读写操作笔记

leveldb读写操作笔记 https://leveldb-handbook.readthedocs.io/zh/latest/rwopt.html 整体架构 存内数据结构 MemTable 一种有序的存内结构(跳表) 写入先写入memtable, 当内容达到阈值后将其转换成immutable memtable Immutable MemTable 只读的memtable, 可以用来后...

自动并行insight, 关于alpa和unity的思考

自动并行insight: 关于alpa和unity的思考Alpa和Unity都是OSDI22上关于大模型自动并行的文章。居然戏剧性的同时入选,工作量当然是一个重要因素, 不过这个偶遇也给了我一些思考,浅浅记录一下。下一期会开”斯坦福自动并行三剑客源码解析: MetaFlow, TASO, FlexFlow(Unity)”。 首先会先简述一下Unity和Alpa的思路。会先说Unity再说Al...

N卡单显卡直通保姆级教程

N卡单显卡直通 总结只要能用vfio把显卡隔离出来就算成功了, 剩下都是调试问题 安装一个启用UEFI的windows虚拟机 在安装准备时勾选”安装前手动配置”, (Customize configuration before install) 在Overview栏, Firmware(固件)项中选择UEFI, 没有UEFI选项的arch用户可以安装ovmf包后再尝试 启动vn...

LSM tree笔记

LSM tree笔记 数据结构: 一个内存中的有序结构: level 0 排序树(MemTable) 一个外存中的append only结构: level 1+n 每个level内可以有多个SSTable, SSTable内有序 一个level多个SSTable是一种Tiered compaction的设计, 有多次merge的设计 内存中排序好的数据顺序写入磁盘 每个level...