独步潮流!如何在私有数据集上塑造GPT式大型语言模型的独特风格!( 四 )


第二个区别是使上述的层可训练 。虽然这对训练性能有一定影响,因为需要更新额外的参数,但对推理速度没有影响,因为它并没有向网络中添加任何新的参数 。
Low-Rank
Low-Rank(LoRA)方法与上述的方法其实是类似的,它也是在模型中添加了一小部分可训练的参数,同时保持原始模型参数不变 。然而,其基本概念与 LLaMA- 方法在根本上有很大的区别 。简而言之,LoRA 直接将一个权重矩阵分解为两个较小的权重矩阵,如下图所示:
更多技术细节可参考《- LLMWith Low-Rank(LoRA)》
总结
在本文中,我们了解了如何使用 LLaMA- 方法和 LoRA 在单个 GPU 上对等最先进的开源 LLM 进行微调 。通过本文,我们知道传统的全层微调需要耗费 9 个小时,并且至少需要 6 个 A100 GPU,每个 GPU 需要 40 GB 的 RAM 。而本文介绍的参数高效微调方法可以在单个 GPU 上将同一模型的微调速度提高 9 倍,且所需 GPU 内存减少了 15 倍 。
在实践中,大家可能会想知道如何将这些方法应用于自己的数据集 。毕竟,开源 LLM 的优势在于我们可以对其进行微调和定制,以适应我们的目标数据和任务 。
【独步潮流!如何在私有数据集上塑造GPT式大型语言模型的独特风格!】实际上,要在自己的数据集上使用任何这些 LLM 和技术,原理很简单,我们只需要确保数据集格式化为标准格式,更详细的说明可以参考的博文《如何在自定义数据集上像GPT 一样微调大型语言模型》 。