快速微调击败专有模型
本文探讨了如何通过快速微调开源嵌入模型,以更低的成本和更高的准确性超越专有模型(如 OpenAI 的 text-embedding-3-small)。文章首先介绍了微调的基本概念,然后通过实验展示了在简单问答任务中所需的微调数据量。作者强调,利用开源模型和可扩展的基础设施,初创企业可以在没有大量用户数据的情况下,快速启动并优化其模型,进而形成数据飞轮效应。 微调的重要性: 微调可以使模型更好地适应特定任务,提供比现成模型更好的性能。 数据飞轮的概念:用户数据的积累可以不断提升模型的表现,从而吸引更多用户,形成良性循环。 数据集和模型选择: 本文使用 Quora 数据集进行训练,该数据集包含标记为“相似”和“不同”的问题对,以训练模型识别文本相似性。 选择合适的基础模型是关键,作者推荐使用具有开放许可证的模型,这些模型的权重可以下载和修改。 基础设施和资源管理: 微调模型需要显著的计算资源,Modal 提供的自动扩展基础设施可以按需使用 GPU,降低成本。 作者建议设定明确的训练目标和资源限制,以优化训练过程。 实验结果: 实验表明,经过微调的 bge-base-en-v1.5 模型在识别文本相似性方面表现优于 OpenAI 的基线模型。 即使使用仅几百个样本,微调后的模型也能显著降低错误率,表明微调的有效性。 未来方向: 文章最后指出,下一步应将微调过程自动化,以便持续收集数据并迭代模型,从而实现系统的持续改进。 快速微调击败专有模型 只需要几个示例,微调后的开源嵌入模型就能以更低的成本提供比专有模型(如 OpenAI 的text-embedding-3-small)更高的准确性。本文将介绍如何使用 Modal 创建这样的模型。首先,我们会讲解微调的基础知识。然后,我们会讨论一个实验,研究在一个简单的问答应用中需要多少微调数据。 为什么要微调 开源模型让你起步 定制模型至关重要。这是 Netflix 不断推荐更好的电影和 Spotify 找到适合你每日播放列表新歌的原因。通过跟踪你是否看完选定的电影或是否跳过一首歌,这些公司积累了大量数据。他们利用这些数据改进内部的嵌入模型和推荐系统,从而提供更好的建议和用户体验。这甚至能吸引更多用户参与,进而积累更多数据,进一步改进模型,形成一个被称为数据飞轮的良性循环。 数据飞轮:更多用户意味着更多数据意味着更好的模型,进而吸引更多用户。 像 Netflix 和 Spotify 这样的顶尖机器学习公司利用数据飞轮从头创建了自己的模型,他们现在拥有大量数据。然而,当你刚开始一个新公司或项目时,你可能没有足够的数据。在 2010 年代,启动数据飞轮需要大量的创造力或资源投入。 但在 2020 年代,随着高性能通用预训练模型和宽松许可证的出现,启动数据飞轮变得大大简化。你可以从这些模型之一开始,这些模型经过大规模、多样化数据集训练,能够在你的任务中表现得相当不错。 在之前的博客文章中,我们展示了如何通过使用 Modal 的自动扩展基础设施在数百个 GPU 上部署现成模型,在不到 15 分钟内嵌入整个英文维基百科,证明了这一点。 微调启动数据飞轮 这些模型和运行它们的基础设施的可用性对于刚刚起步且还没有用户数据的组织来说是个好消息。但关键是要尽快转向一个定制模型,以提供比现成模型更好的性能。幸运的是,数据积累得很快:只需几十个用户每天与服务交互 3-4 次,几天内就能生成数百个数据点。 这些数据足以训练一个在样本数据集上击败 OpenAI 的text-embedding-3-small的模型。 我们用于创建嵌入的 Modal 上的同样可扩展、无服务器基础设施也可以用来定制模型,这个过程称为微调。最终结果是一个具有更高性能且显著降低运营成本的机器学习应用:启动你自己数据飞轮的第一步。 微调的操作:数据集、模型和基础设施 在微调模型时,有许多设计决策需要做出。我们在此回顾其中的一些。 找到或创建数据集 虽然机器学习的大部分讨论和研究都集中在模型上,但任何有经验的机器学习工程师都会告诉你,数据集才是最关键的部分。...