博客
分类
标签
归档
友链
关于
Dark Mode
博客
分类
标签
归档
友链
关于
Dark Mode
Mens et Manus
首页
帮助
示例
社区
档归
源码
cutlass cute实现flash attention
用cutlass cute实现flash attentionflash attention自顶向下(虽然我学cutlass是自底向上学的但是感觉快速上手应该自顶向下学)。因为有了cutlass cute用户就可以方便的实现一些功能了, 即一些cuda编程的范式: cuda程序范式: global mem -> share mem -> reg -> compute blo...
2024-05-08
Read More
Deepspeed多机微调使用和踩坑记录
Deepspeed多机微调使用和踩坑记录官方demoDeepSpeedExamples step1_supervised_finetuning 基本使用NOTE: deepspeed只需要在一个节点上启动, 它会自动使用ssh根据hostfile的内容去其他节点启动程序。官方演示 多机训练主要有两个步骤: 配置ssh免密登陆: 以便deepspeed能访问其他节点然后自动启动其他节点的程序...
2024-03-18
Read More
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的环境...
2023-12-08
Read More
大模型的长序列优化survey
大模型的长序列优化为什么长序列是必要的? prompt engineering 会话, 书籍, 视频 不忘记之前说的话, 不分心 idea prompt hashing! 允许精度损失, 浮点数类似的精度设计 如果一个token表示的不是一个token, 而是一个区域? 再加一个encode向量数据库 相关图, k邻近 多模态有没有可能就是将其他各种信息都embading进去...
2023-08-28
Read More
FlashAttention笔记
FlashAttention 1 main idea IO感知, 即感知GPU的层级关系 手动算子融合, 实现CUDA算子 局限和Future 需要手写CUDA做融合, 希望可以用高级语言写在编程成CUDA IO感知的思路可以扩展到非Attention的场景 多GPU的IO感知也可以做优化 实现 尽可能少设计HBM读写 计算softmax时不需要访问整个输入 重新设计attn的计算,...
2023-08-19
Read More
简单三步看清Megatron-LM的实现, Megatron源码解析
Megatron TEP 小白帮小白, 从我一个小白的视角记录我想要知道的东西, 希望能”模式匹配”帮助下一个小白 Megatron源码解析(overview版) 所谓简单三步就是: 数据并行, 流水并行, 张量并行 这里将简单理清Megatron实现数据并行, 流水并行, 张量并行的整体逻辑, 但talk is cheap, 更详细的代码细节可以看完本文后分模块再去深究。 数据并行: ...
2023-07-02
Read More
大模型训练优化
大模型训练优化大模型现状处理大模型的主要办法是数据切分,然后做数据并行, 模型并行和张量并行。原理略 总结一下数据并行和模型并行存在的资源利用率问题: 数据并行 多个GPU上需要存储相同的模型,导致模型资源占用放大 每次迭代最后都有不小的模型同步开销 模型并行: 流水线并行 + 张量并行 大模型训练的流水线需要等待执行结果,无法多发射,导致资源闲置和利用率低 流水线各个阶段的负载不均匀...
2023-04-14
Read More