WizardLM是微软亚洲研究院开发的一系列大型语言模型。该项目引入了Evolve-Instruct方法,这是一种自动生成复杂指令数据的技术,用于机器学习微调。首个WizardLM模型于2023年发布,基于LLaMA架构,这是一种Transformer (architecture)模型,依赖于多头注意力和层归一化。
名称“WizardLM”反映了使模型能够处理复杂用户指令的目标,类似于巫师的专长。这些模型属于更广泛的生成式AI领域,并建立在人工智能研究的进展之上。WizardLM旨在解决指令遵循的挑战,即模型必须高精度地解释和执行用户请求。
背景与动机
指令微调是使神经网络适应遵循用户提示的标准实践。在此过程中,基础模型在指令和期望响应的配对上进行微调。然而,手动制作多样且复杂的指令耗时费力,且往往导致数据集缺乏深度。WizardLM通过使用AI系统将简单种子指令演化为更复杂的形式来解决这一问题。这种方法与课程学习相关,即模型在逐渐变难的示例上进行训练。目标是让模型接触更广泛的推理模式和约束,从而提高其处理现实世界用户请求的能力。
Evolve-Instruct方法在一篇题为“WizardLM: Empowering Large Language Models to Follow Complex Instructions”的论文中提出,该论文于2023年4月发布在arXiv上。作者隶属于微软亚洲研究院。论文提出了一个两阶段过程:深度进化和深度内进化。在深度进化中,模型通过添加约束、加深推理或使输入复杂化来生成新指令。在深度内进化中,模型重写现有指令以增加其复杂性。生成的随后数据集用于微调基础模型。
Evolve-Instruct方法
Evolve-Instruct方法使用教师模型(如ChatGPT)通过添加约束、加深推理和使输入复杂化等操作来重写种子指令。进化后的指令作为微调的数据增强形式。该方法包括多种进化类型,如添加约束、加深、具体化和增加推理步骤。例如,像“写一首诗”这样的简单指令可能被进化为“以莎士比亚的风格写一首关于机器人学习爱的诗”。这增加了任务的复杂性和特异性。
该过程是迭代的,模型反复接触更具挑战性的指令。作者还引入了一种质量控制机制,以过滤掉过于模糊或无法回答的指令。这确保了训练数据保持有用,不会降低模型性能。进化后的指令随后与原始种子指令结合,形成最终训练集。
模型版本与基准
首个WizardLM模型WizardLM-7B是从LLaMA-7B微调而来的。后续版本包括WizardLM-13B和WizardLM-30B。这些模型在Evol-Instruct测试集和其他基准上进行了评估。作者报告称,在他们的评估中,WizardLM-7B在复杂指令遵循方面优于ChatGPT。具体来说,他们使用GPT-4作为评判者来比较响应,发现WizardLM-7B在Evol-Instruct测试集上获得了更高的胜率。后续版本,如WizardLM v1.1和v1.2,包含了进一步的改进,包括更大的训练数据集和改进的进化策略。
模型权重已公开发布,允许研究人员和开发者使用和微调它们。WizardLM模型也被集成到各种开源项目中,并作为后续指令遵循模型的基线。截至2024年,WizardLM系列包括不同大小的模型,Evolve-Instruct方法也已应用于其他领域。
影响与相关工作
WizardLM的Evolve-Instruct方法影响了后续模型,包括用于代码生成的WizardCoder和用于数学推理的WizardMath。这些模型将类似的进化技术应用于专业领域,展示了该方法的多样性。该方法已被该领域的其他研究人员采用,论文也被广泛引用。WizardLM是深度学习中通过自动化数据生成改进指令遵循的更广泛趋势的一部分。该方法还促进了更复杂的指令遵循模型评估基准的开发。