在学习大模型训练库unsloth时看到和FlashAttention的对比,因为之前也听说过,感觉这个技术还挺火的,所以趁这个机会研究一下。 现今的模型基本上基于transformer,模型变的越来越大,越来越深,但是扩展序列长度却还是很困难。因为其核心自注意力模块的内存和时间复杂度对于序列长度是平方级别的。 在FlashAttention之前,业界的主流方案是减少计算量,而没有关注内存的 ...
在学习大模型训练库unsloth时看到和FlashAttention的对比,因为之前也听说过,感觉这个技术还挺火的,所以趁这个机会研究一下。 现今的模型基本上基于transformer,模型变的越来越大,越来越深,但是扩展序列长度却还是很困难。因为其核心自注意力模块的内存和时间复杂度对于序列长度是平方级别的。 在FlashAttention之前,业界的主流方案是减少计算量,而没有关注内存的 ...
在学习llama模型的训练过程中发现强化学习除了PPO(proximal policy optimization)还有一个DPO可选项(direct preference optimization),在我的上一篇笔记里有提到两本入门课程(Easy RL和动手学强化学习)里并没有提到这个算法,应该是最近新出现的,查了一下该算法是在23年提出的。 在学习DPO之前,我们先回顾一下RLHF。 ...
一般来说我们平时训练时使用的是32位浮点数(以下简称FP32),但是FP32占用内存较高,如果你的显卡的显存不够大就无法训练了,这时候可以用到量化(Quantization),将FP32压缩到FP16或者FP8以减少内存占用。QLoRA是目前比较流行的量化微调技术,它由微软在23年提出。在阅读了其相关的资料后,接下来分析一下它的核心算法。 LoRA 在分析QLoRA之前,先介绍一下它 ...
上一篇文章学习了策略梯度,它是同策略,采样学习过一次的数据在执行梯度上升之后就不能再用了,需要重新采样,所以它在采样上花费了大量的时间。而近端策略优化解决了这个问题,它是策略梯度的变种,也是异策略,它用另外一个策略和演员同环境交互,让原来的策略去学习另外一个策略,这样可以多次使用另外一个策略采样到的数据,可以多次执行梯度上升。 关键词 同策略和异策略:如果要学习的智能体和与环境交 ...
在学习大模型的训练过程中发现在微调之后需要用到强化学习,常见的方法如近端策略优化(PPO)。在查询资料后发现在没有系统性学习强化学习的基础知识的前提下想直接学习PPO会非常困难。于是我决定先放下大模型训练的学习,转而学习强化学习。 在查询了相关教程后,发现了两本比较适合入门的书籍,都有配套的在线教程。分别是[Easy RL 强化学习教程](https://datawhalechina.git ...