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

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


了解详情 >

Flash attention变长batching API使用

Flash attention变长batching API使用主要记录flash_attn.flash_attn_varlen_func这个接口的使用, 精髓在于理解函数签名和输入形状: 函数签名需要每个seq的offset, 输入形状需要(bs, seqlen)平坦化后的(total_num, nhead, headdim) 1from flash_attn import flash_at...

Label Words are Anchors An Information Flow Perspective for Understanding In-Context Learning深度解析

深入理解Label Words are Anchors: An Information Flow Perspective for Understanding In-Context Learningabs 只测试了GPT模型 探究了ICL(in context learning)如何学习上下文的机制 提出”Information Flow with Labels as Anchors”假说...

Deepspeed多机微调使用和踩坑记录

Deepspeed多机微调使用和踩坑记录官方demoDeepSpeedExamples step1_supervised_finetuning 基本使用NOTE: deepspeed只需要在一个节点上启动, 它会自动使用ssh根据hostfile的内容去其他节点启动程序。官方演示 多机训练主要有两个步骤: 配置ssh免密登陆: 以便deepspeed能访问其他节点然后自动启动其他节点的程序...

投机采样推理原理

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

神经网络中的激活值

神经网络中的激活值 什么是激活值 一层神经网络是数据就是激活值 为什么要保存激活值 因为反向传播过程中需要对函数的参数求偏导, 那么结果就和激活值相关 如: 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(...

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的环境...

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

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

大模型的长序列优化survey

大模型的长序列优化为什么长序列是必要的? prompt engineering 会话, 书籍, 视频 不忘记之前说的话, 不分心 idea prompt hashing! 允许精度损失, 浮点数类似的精度设计 如果一个token表示的不是一个token, 而是一个区域? 再加一个encode向量数据库 相关图, k邻近 多模态有没有可能就是将其他各种信息都embading进去...

FlashAttention笔记

FlashAttention 1 main idea IO感知, 即感知GPU的层级关系 手动算子融合, 实现CUDA算子 局限和Future 需要手写CUDA做融合, 希望可以用高级语言写在编程成CUDA IO感知的思路可以扩展到非Attention的场景 多GPU的IO感知也可以做优化 实现 尽可能少设计HBM读写 计算softmax时不需要访问整个输入 重新设计attn的计算,...

简单三步看清Megatron-LM的实现, Megatron源码解析

Megatron TEP 小白帮小白, 从我一个小白的视角记录我想要知道的东西, 希望能”模式匹配”帮助下一个小白 Megatron源码解析(overview版) 所谓简单三步就是: 数据并行, 流水并行, 张量并行 这里将简单理清Megatron实现数据并行, 流水并行, 张量并行的整体逻辑, 但talk is cheap, 更详细的代码细节可以看完本文后分模块再去深究。 数据并行: ...