主要观点:作者在 Reka 成功训练了较强的多模态语言模型,分享了从零开始构建基础设施和训练大型语言及多模态模型的经验,包括硬件彩票、GPU 与 TPU 的对比、多集群设置的痛苦、外部代码的情况、更倾向于“Yolo”式训练等方面。
关键信息:
- 硬件彩票:计算提供商的不稳定性及硬件质量差异大,不同集群在硬件质量、I/O 等方面表现各异,难以提前预知,浪费大量计算资源,且服务提供商支持水平不同。
- GPU 与 TPU:在 Reka 主要用 GPU 训练,作者之前在 Google 用 TPU,GPU 故障率高,感觉 GPU 多节点训练更像是事后考虑,与 TPU 不同。
- 多集群设置:多个加速器池集群不可避免,缺乏专门的编排层,目前通过内部工作流来缓解问题。
- 外部代码:喜欢的代码库在外部支持不足、已过时且不友好,发现改变模型并行性不自动,一些代码库对大规模训练支持少。
- “Yolo”式训练:在 startup 中计算资源有限,只能进行少量小规模消融实验,依靠直觉和本能找到强模型。
重要细节: - 租赁了多个计算提供商的集群,有可接受的和完全不可用的,同一提供商的集群也差异大。
- 有些集群节点故障频繁,I/O 和文件系统差,影响训练和 checkpoint 保存。
- 不同服务提供商支持程度不同,从礼貌到冷漠都有。
- 作者在使用 pip、git、docker 等外部工具时遇到困难。
- 团队通过直觉和少量实验找到强模型。
总之,在荒野中摸索有挑战但也凭借技术实力挺了过来,后续还将分享更多内容。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。