ChatGPT及其相关模型的学习笔记
在学习ChatGPT的原理时,我们不仅需要理解其模型结构和训练方法,还要深入了解数据和算力在其中的关键作用。就像学习烹饪不仅需要菜谱,还需要了解食材和厨具的选择。ChatGPT的成功不仅依赖于模型结构和算法创新,还依赖于高质量的数据和强大的算力。
GPT系列模型的发展
GPT初代
GPT初代模型采用了语言模型预训练加特定任务微调的思路。其预训练数据主要来自BooksCorpus数据集,包含约7000本英文图书,总计约5GB。这些数据为模型提供了较长的上下文依赖能力。然而,初代模型的参数量仅为1.17亿,数据量和模型规模相对较小。
GPT-2.0
GPT-2.0在数据质量上进行了提升,使用了从Reddit爬取的高质量数据集WebText,总数据量达40GB。相比BooksCorpus,WebText的数据覆盖领域更广,适合多任务模型的训练。GPT-2.0强调高质量数据的重要性,摒弃了预训练加微调的思路,直接进行多任务预训练。
GPT-3.0
GPT-3.0进一步扩大了数据规模,主要使用Common Crawl数据集,经过清洗和去重后,数据量达570GB。GPT-3.0的参数规模达到了1750亿,成为一个庞然大物。通过清洗和去重,GPT-3.0确保了数据的高质量,并加入了WebText、Books和Wikipedia等数据集,提升了模型的多样性和可靠性。
InstructGPT与RLHF
InstructGPT在GPT-3的基础上,尝试了RLHF(Reinforcement Learning from Human Feedback)训练方法。RLHF通过人类反馈优化模型输出质量,显著提高了模型的响应能力。在RLHF中,数据标注员和用户提供的prompt用于训练监督模型(SFT)、奖励模型(RM)和强化学习(PPO)阶段。尽管数据量相对较少,但RLHF在少量数据上依然取得了惊艳的效果。
数据集的选择与标注
在训练过程中,数据的选择和标注标准至关重要。OpenAI设计了详细的打分标准,确保模型输出的回答对用户有帮助、符合事实且无偏见。数据集的分布偏向于文本生成、头脑风暴和聊天等主观指令,而对客观知识的覆盖相对较少。这导致了模型可能出现幻觉妄语(Hallucination)的情况。
GPT-3.5与ChatGPT的推测
尽管没有公开的资料,但可以推测GPT-3.5利用了更庞大的数据集,尤其是包含客观知识的数据集被赋予了更高的权重。ChatGPT在RLHF训练阶段,可能使用了比InstructGPT更多的prompt,涵盖了编程、数学、物理等科学问题。ChatGPT不仅在语言任务上表现出色,还具备了处理多种数据形式的能力。
总结
GPT系列模型的发展伴随着数据量和参数规模的指数级增长,证明了大模型在智能上的优势。InstructGPT通过RLHF方法在较少的数据集上取得了优异效果,验证了RLHF的有效性。数据质量对模型训练效果的影响巨大,需要克服幻觉妄语的问题。ChatGPT已经超越了传统自然语言处理的范畴,展现了更广泛的应用潜力。