InternEvo
最新动态 🔥
- 2024/01/17:要深入了解InternLM系列模型,请查看我们组织中的InternLM。
简介
InternEvo是一个开源的轻量级训练框架,旨在支持无需大量依赖的模型预训练。通过单一代码库,它支持在数千个GPU的大规模集群上进行预训练,以及在单个GPU上进行微调,同时实现了显著的性能优化。InternEvo在1024个GPU上训练时实现了近90%的加速效率。
基于InternEvo训练框架,我们持续发布各种大型语言模型,包括InternLM-7B系列和InternLM-20B系列,这些模型在性能上显著优于LLaMA等众多知名开源LLM以及该领域的其他领先模型。
快速开始
请参阅使用教程开始安装InternEvo、处理数据、预训练和微调。
更多详情,请查看internevo.readthedocs.io
系统架构
请参阅系统架构文档了解架构细节。
性能
InternEvo深度集成了Flash-Attention、Apex等高性能模型算子,提高了训练效率。通过构建混合零技术,实现了计算和通信的高效重叠,显著减少了训练过程中的跨节点通信流量。InternEvo支持将7B模型从8个GPU扩展到1024个GPU,在千GPU规模下加速效率高达90%,训练吞吐量超过180 TFLOPS,平均每GPU每秒处理超过3600个token。下表显示了InternEvo在不同配置下的可扩展性测试数据:
GPU数量 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 |
---|---|---|---|---|---|---|---|---|
TGS | 4078 | 3939 | 3919 | 3944 | 3928 | 3920 | 3835 | 3625 |
TFLOPS | 193 | 191 | 188 | 188 | 187 | 185 | 186 | 184 |
TGS代表每个GPU每秒处理的平均token数。更多性能测试数据,请参阅训练性能文档了解更多详情。
贡献
我们感谢所有为改进和增强InternEvo做出努力的贡献者。我们强烈鼓励社区用户参与到项目中来。请参阅贡献指南,了解如何为项目做出贡献的说明。
致谢
InternEvo代码库是由上海人工智能实验室和来自不同大学和公司的研究人员共同贡献的开源项目。我们要感谢所有贡献者为项目添加新功能的支持,以及用户提供的宝贵反馈。我们希望这个工具包和基准测试能为社区提供灵活高效的代码工具,用于微调InternEvo和开发自己的模型,从而不断为开源社区做出贡献。特别感谢两个开源项目,flash-attention和ColossalAI。
引用
@misc{2023internlm,
title={InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities},
author={InternLM Team},
howpublished = {\url{https://github.com/InternLM/InternLM}},
year={2023}
}