在荒野中从头开始完全训练大型语言模型作为一家初创公司——易泰

主要观点:作者在 Reka 成功训练了较强的多模态语言模型,分享了从零开始构建基础设施和训练大型语言及多模态模型的经验,包括硬件彩票、GPU 与 TPU 的对比、多集群设置的痛苦、外部代码的情况、更倾向于“Yolo”式训练等方面。
关键信息:

  • 硬件彩票:计算提供商的不稳定性及硬件质量差异大,不同集群在硬件质量、I/O 等方面表现各异,难以提前预知,浪费大量计算资源,且服务提供商支持水平不同。
  • GPU 与 TPU:在 Reka 主要用 GPU 训练,作者之前在 Google 用 TPU,GPU 故障率高,感觉 GPU 多节点训练更像是事后考虑,与 TPU 不同。
  • 多集群设置:多个加速器池集群不可避免,缺乏专门的编排层,目前通过内部工作流来缓解问题。
  • 外部代码:喜欢的代码库在外部支持不足、已过时且不友好,发现改变模型并行性不自动,一些代码库对大规模训练支持少。
  • “Yolo”式训练:在 startup 中计算资源有限,只能进行少量小规模消融实验,依靠直觉和本能找到强模型。
    重要细节:
  • 租赁了多个计算提供商的集群,有可接受的和完全不可用的,同一提供商的集群也差异大。
  • 有些集群节点故障频繁,I/O 和文件系统差,影响训练和 checkpoint 保存。
  • 不同服务提供商支持程度不同,从礼貌到冷漠都有。
  • 作者在使用 pip、git、docker 等外部工具时遇到困难。
  • 团队通过直觉和少量实验找到强模型。

总之,在荒野中摸索有挑战但也凭借技术实力挺了过来,后续还将分享更多内容。

阅读 15
0 条评论