大语言模型在实际业务中的应用:以Facebook内容审核为例
引言
在使用大语言模型(LLM)解决实际业务问题时,我们需要三个要素:基础的LLM(如GPT-3或Dolly等)、使用私有数据集对模型参数进行微调的算法,以及针对特定业务问题的私有数据集。然而,人们往往只关注前两者,而忽视了第三个要素——数据质量的重要性。本文将通过Facebook内容审核的例子,阐述数据质量对于机器学习解决方案的影响,并介绍数据清洗工具Cleanlab。
LLM + 微调 + 高质量数据集 = 优秀的机器学习解决方案
假设你是Facebook的一名机器学习工程师,你需要开发一个机器学习算法来过滤冒犯性的帖子。你有一个大型的历史数据集,其中包含帖子文本和标记(标记为冒犯性或非冒犯性)。
你的机器学习解决方案的性能取决于这三个要素的质量。开源的LLM正在逐渐赶上OpenAI和Google的专有模型,所以你不必过于担心这一点。同样,最先进的微调算法也正在开源,例如HuggingFace的PEFT。
真正能够决定你的项目成功与否的是第三个要素——你的私有数据集的质量。试图改变基础LLM模型(例如,使用Flan T5代替Dolly)或不同的微调参数(例如,使用LoRA代替AdaLoRA)显然会影响你最终模型的质量。然而,这些模型中心的技术只能帮助你挤出模型的额外性能,真正的关键在于你用来微调LLM的数据集。
数据驱动的方法
如果你真的想要改进模型,那么你需要使用数据驱动的技术来提高你的数据集的质量。在这个案例中,你需要确保标签(冒犯性与非冒犯性)是准确的。你的数据集,像大多数现实世界的数据集一样,是由不同的人和机器学习模型在一段时间内标注的。这种混合方法确保了标签过程的可扩展性,但也为你的数据集添加了不可忽视的标签错误。
因此,你应该将注意力集中在找出并修复标签错误上。数据驱动的AI技术已经被证明可以减少LLM的预测错误高达37%。
如何以可扩展的方式提高数据质量?
手动修复标签错误只对相对较小的数据集来说是可行的。幸运的是,有一些开源工具可以帮助你自动化数据清洗。
自动数据清洗
Cleanlab是我最喜欢的数据清洗工具。它是一个开源的、免费的Python库,可以帮助你检测、过滤和纠正数据集中的标签错误。
结论
要学习数据驱动的AI,唯一的方法就是亲自动手。因此,我建议你看一下Cleanlab团队的这个动手教程,并尝试用你的数据集复制它,然后将结果发布到你的GitHub上。