deepspeed推理和训练优化概述
伴随着 Transformer 结构的提出,后续 LLM 参数开始从亿级到百亿、乃至万亿级增长,与超高速增长到模型参数量相比, GPU 显存的增长实属有限,有数据显示每 18 个月仅翻了 1.7 倍。模型参数量的增长和硬件的显存的增长之间的差距越来越大,但从目前趋势看,超大的计算量和参数量是目前 LLM 训练和推理的必经之路。在千亿模型上训练就需要 1.5T
BLOG / 766 ARTICLES
计算机基础、AI、后端与客户端开发笔记
伴随着 Transformer 结构的提出,后续 LLM 参数开始从亿级到百亿、乃至万亿级增长,与超高速增长到模型参数量相比, GPU 显存的增长实属有限,有数据显示每 18 个月仅翻了 1.7 倍。模型参数量的增长和硬件的显存的增长之间的差距越来越大,但从目前趋势看,超大的计算量和参数量是目前 LLM 训练和推理的必经之路。在千亿模型上训练就需要 1.5T
在 多轮对话、DocQA 和 RAG 客服系统场景下中,提示词会包含重复的文本段落,如系统消息、提示模板和用于上下文的文档,也就是说常见文本段的注意力状态(也就是 kv 缓冲向量)\{(k_1,v_1), (k_2,v_2),..,(k_n,v_n)\} 是可以重复利用的。Prompt Cache 论文基于这一关键观察,设计了一个提示词模块提出来明确定义这些
torch 中 Tensor 的乘法有几种方法,如 *、torch.mul、torch.multiply、torch.dot、torch.mv、torch.mm、torch.matmul、torch.einsum 等,主要分为 3 种:
flashattention-2 虽然减少了非矩阵乘法的计算量,提高了运行速度,但是其并未充分利用最新硬件的功能,导致在 H100 GPU 上的利用率仅为 35%,由此作者提出了 flashattention-3,提出了3 项优化策略来提升 Hopper GPU 上的注意力计算性能:
背景:生成式模型的推理过程很有特点,推理生成 tokens 的过程是迭代式的。简单来说就是,用户给一个输入文本,模型会输出一个回答(长度为 N),但该过程中实际执行了 N 次模型前向传播过程。即 GPT 类模型一次推理只输出一个 token,当前轮输出的 token 与之前输入 tokens 拼接,并作为下一轮的输入 tokens,反复多次直到遇到终止符 E