随着人工智能技术的发展,特别是在大模型训练领域,对计算资源的需求日益增加。FP8作为一种新的数值格式,旨在以更低的精度提供更高的计算速度和更少的内存占用,从而有效降低成本。Colossal-AI,一个备受关注的人工智能大模型开发平台,最近宣布对其混合精度训练功能进行了重要升级,现在支持结合BF16(O2)和FP8(O1)的新一代混合精度训练模式。
这一更新不仅简化了用户的操作流程——只需一行代码就能实现对主流大型语言模型的加速,平均可达30%,还显著降低了模型开发的成本,同时确保了训练过程的稳定性和准确性。更重要的是,这一过程无需用户自行编写CUDA内核或进行复杂的编译设置,极大地提高了易用性。
随着GPU技术的进步,从早期的FP32到现今普遍使用的FP16/BF16,再到最新支持FP8的NVIDIA Hopper系列芯片(包括H100、H200、H800等),低精度计算已成为一种趋势。FP8不仅加快了计算速度,还减少了所需的内存空间,完全适应了大模型训练的需求。
在FP8混合精度训练中,scaling方案的选择至关重要,主要分为延迟scaling和实时scaling两种。延迟scaling通过历史数据预测当前的scaling值,虽然效率高但可能影响训练的收敛性;而实时scaling则基于当前的张量值即时调整,虽然计算成本稍高,但能更好地保持模型训练的稳定性。Colossal-AI选择了后者,实现了高性能与良好收敛性的平衡。
测试结果显示,无论是单卡还是多卡并行训练场景下,Colossal-AI的FP8混合精度训练方案都表现出色。例如,在H100单卡上,与使用延迟scaling的Transformer Engine相比,Colossal-AI在矩阵乘法上的性能几乎持平,而在多卡并行训练场景中,对于不同规模的模型,Colossal-AI的FP8方案均展现出显著的吞吐量优势。
此外,针对FP8混合精度训练的优化建议指出,减少张量并行的使用、增大模型的隐藏层尺寸以及选择矩阵乘法密集型的模型可以进一步提高训练效率。尽管在某些情况下,如使用张量并行的Command-R 35B模型,加速效果可能不如预期,但这并不妨碍Colossal-AI成为推动大模型高效训练的重要工具。
对于希望利用FP8混合精度训练优化其模型开发流程的研究人员和开发者来说,Colossal-AI提供了强大的支持。用户只需在初始化时启用FP8选项,即可享受这一先进技术带来的便利。更多详情,欢迎访问Colossal-AI的GitHub主页:https://github.com/hpcaitech/ColossalAI。