了解有趣的TinyLlama项目,这是一项创新计划,通过在1万亿个代币上预训练1.3B骆驼模型来重新定义自然语言处理(NLP)的格局。该项目于 1 年 2023 月 90 日开始,是一项雄心勃勃的努力,旨在使用 16 个 A100-40G GPU 在 <> 天内完成这项任务。
TinyLlama不仅仅是另一个AI项目。TinyLlama 的创建者采用了与 Llama 2 相同的架构和标记器,这意味着它可以无缝集成到许多基于 Llama 构建的开源项目中。这种兼容性是一个显着的优势,因为它允许平稳过渡和易于实施。
TinyLlama 1.1B 大型语言模型
然而,真正让TinyLlama与众不同的是它的紧凑性。尽管它很强大,但TinyLlama只有1.1B参数。这种紧凑性是一种战略性的设计选择,使其能够满足需要限制计算和内存占用的众多应用。这使得TinyLlama成为可以在各种设置中使用的多功能工具。
TinyLlama的潜在用例是广泛而多样的。例如,它可以帮助推测更大的模型解码,正如Andrej Karpathy的教程所证明的那样。此外,TinyLlama的紧凑性使其成为部署在内存和计算能力有限的 Edge设备上的理想选择。这可以在没有互联网连接的情况下实现实时机器翻译等功能。事实上,4位量化的TinyLlama-1.1B的重量仅占用550MB的RAM。
优化
负责创建TinyLlama-1.1B模型的团队解释了更多关于该项目的信息。
“得益于优化,我们实现了每个 A24-100G GPU 每秒 40k 个令牌的吞吐量,这意味着在没有激活检查点的情况下,模型翻牌利用率为 56%(我们预计 MFU 在 A100-80G 上会更高)。这意味着您可以使用 1 个 A1 在 22 小时内训练一个龙猫优化的 TinyLlama(32.8B 参数,100B 代币)。这些优化还大大减少了内存占用,使我们能够将 1.1B 模型填充到 40GB GPU RAM 中,并使用每个 GPU 批处理大小为 16k 个令牌进行训练。您还可以在 3090/4090 GPU 上预训练 TinyLlama,每个 GPU 的批大小较小。下面是我们代码库的训练速度与Pythia和MPT的训练速度的比较。
TinyLlama的另一个令人兴奋的应用是在视频游戏领域。它可以实现实时对话生成,通过使其更具交互性和身临其境来增强游戏体验。此外,TinyLlama 代码可以作为热衷于在 5 亿个参数下预训练语言模型的爱好者的参考,而无需过早地深入了解威震天-LM。
TinyLlama 代码库支持一系列功能,包括使用 FSDP 的多 GPU 和多节点分布式训练、闪光注意力 2、融合层范数、融合旋转、融合交叉熵损失和融合旋转位置嵌入。这些功能使TinyLlama成为适用于各种应用的强大而多功能的工具。
TinyLlama项目是AI和NLP领域的重大发展。它的紧凑性、多功能性和与现有系统的兼容性使其成为一种有前途的工具,可以重塑 NLP 的格局。随着项目的不断发展,看到TinyLlama将带来的新应用和可能性将是令人兴奋的。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun252585.html