为什么所有GPT-3复现都失败了?使用ChatGPT你应该知道这些(3)

2023-04-30 来源:飞速影视
请注意:虽然一般来说,多样性的数据对于训练一个通用的 LLM(Large Language Model,大规模语言模型)是重要的,但特定的预训练数据分布,则会对 LLM 在特定的下游任务上的性能产生巨大的影响。例如,BLOOM 和 PaLM 在多语言数据上有更高的占比,这导致它们在一些多语言任务和机器翻译任务上的性能更高。
OPT 使用了很多对话数据(例如 reddit),这可能是它在对话中表现好的原因之一。PaLM 有很大的占比在社交媒体对话中,这可能是它在多种问答任务和数据集上有着卓越表现的原因。同样的,PaLM 和更新版本的 GPT-3 有很大比例的代码数据集,这增强了它们在代码任务上的能力,以及可能增强了它们 CoT (Chain-of-Thought,思维链) 的能力。
一个有趣的现象是 BLOOM 在代码和 CoT 上的表现仍然是较差的,尽管它在预训练过程中使用了代码数据。这可能暗示着单独代码数据本身,并不能保证模型的代码和 CoT 能力。
总之,一些文章表明了上面三点的重要性,即:通过数据去重避免记忆和过拟合,通过数据筛选以得到高质量数据,保证数据多样性以确保 LLM 的泛化性。但不幸的是,对于 PaLM 和 GPT-3 预处理这些数据的细节,或者这些预训练数据本身,仍然没有公布,这使得公共社区很难去复现它们。
训练策略
此处训练策略包括训练框架、训练持续时间、模型架构 / 训练设置、训练过程中的修改。在训练非常大的模型时,它们被用于获得更好的稳定性和收敛性。一般来说,由于未知的原因,预训练过程中广泛观察到损失尖峰(loss spike)和无法收敛的情况。因此,众多的对训练设置和模型架构的修改被提出,用以避免这些问题。但是其中一些修改在 OPT 和 BLOOM 之中还不是最优解,这可能导致它们的性能较差。GPT-3 并没有明确提到他们是如何解决这个问题的。
1. 训练框架。一个参数量大于 175B 的模型往往需要 ZeRO 式的数据并行(分布式的优化器)和模型并行(包括张量并行(tensor parallel)、流水线并行(pipeline parallel),有时还包括序列并行(sequence parallel))。OPT 采用了 ZeRO 的 FSDP 实现,以及模型并行的 Megatron-LM 实现。BLOOM 采用了 ZeRO 的 Deepspeed 实现和模型并行的 Megatron-LM 实现。
相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

www.fs94.org-飞速影视 粤ICP备74369512号