原文:
www.kdnuggets.com/2023/08/brewing-domainspecific-llm-potion.html
图片来自 Unsplash
亚瑟·克拉克曾名言:“任何足够先进的技术都与魔法无异。” 人工智能通过引入视觉和语言(V&L)模型以及大语言模型(LLMs)已越过了这条界限。像Promptbase这样的项目本质上是将正确的词汇以正确的顺序编织起来,以召唤看似自发的结果。如果“提示工程”不符合施法的标准,那么很难说什么符合。而且,提示的质量很重要。更好的“咒语”能带来更好的结果!
几乎每家公司都热衷于利用这股 LLM 魔力。但只有当你能够将 LLM 与特定业务需求对接时,它才是魔力,比如从你的知识库中总结信息。
让我们开始一场冒险,揭示制作强效魔药的秘诀——一个具有领域特定专业知识的 LLM。作为一个有趣的例子,我们将开发一个擅长《文明 6》的 LLM,这个概念足够极客,能引起我们的兴趣,拥有一个出色的WikiFandom并且许可证为 CC-BY-SA,并且不复杂,以至于即使是非粉丝也能跟随我们的例子。
语言模型(LLM)可能已经具备一些特定领域的知识,使用正确的提示词即可访问这些知识。然而,你可能已有现存的文档存储了你想要利用的知识。找到这些文档并继续下一步。
为了让你的领域特定知识对 LLM 可访问,将你的文档分割成更小、更易消化的部分。这种分割可以提高理解度,并使相关信息的检索变得更加容易。对我们来说,这涉及到将 Fandom Wiki 的 Markdown 文件分割成若干部分。不同的 LLM 可以处理不同长度的提示。将文档拆分成长度显著小于(例如,10%或更少)最大 LLM 输入长度的部分是合理的。
使用相应的嵌入向量对每个分割后的文本进行编码,例如使用Sentence Transformers。
将生成的嵌入向量及其对应的文本存储在向量数据库中。你可以使用 Numpy 和 SKlearn 的 KNN 自行完成,但经验丰富的从业者通常推荐使用向量数据库。
当用户询问 LLM 关于《文明 6》的问题时,你可以在向量数据库中搜索与问题嵌入相似的元素。你可以在你制作的提示中使用这些文本。
让我们认真对待魔法吧!你可以在提示中添加数据库元素,直到达到为提示设置的最大上下文长度。密切注意第 2 步中你的文本部分的大小。通常,嵌入文档的大小和你在提示中包含的数量之间存在显著的权衡。
无论你为最终解决方案选择了哪个 LLM,这些步骤都是适用的。LLM 的格局正在迅速变化,因此,一旦你的流程准备好后,选择你的成功指标,并对不同模型进行并行比较。例如,我们可以比较Vicuna-13b和 GPT-3.5-turbo。
测试我们的“药剂”是否有效是下一步。说起来容易做起来难,因为目前尚无科学共识来评估 LLM。一些研究人员开发了新的基准,如HELM或BIG-bench,而其他人则提倡人类在环评估,或通过一个更高级的模型来评估领域特定 LLM 的输出。每种方法都有优缺点。对于涉及领域特定知识的问题,你需要建立一个与你的业务需求相关的评估流程。不幸的是,这通常需要从零开始。
首先,收集一组问题来评估领域特定 LLM 的表现。这可能是一项繁琐的任务,但在我们的《文明》示例中,我们利用了 Google Suggest。我们使用了像“文明 6 如何……”这样的搜索查询,并将 Google 的建议作为评估我们解决方案的问题。然后,使用一组与领域相关的问题,运行你的问答流程。为每个问题形成提示并生成答案。
一旦你拥有了答案和原始查询,你必须评估它们的一致性。根据你期望的精确度,你可以将你的 LLM 答案与优越模型进行比较,或使用Toloka 上的并排比较。第二种选择的优势在于直接的人类评估,如果做得正确,可以防止优越 LLM 可能存在的隐性偏见(例如,GPT-4往往会将自己的回答评分更高)。这对实际业务实施可能至关重要,因为这种隐性偏见可能对你的产品产生负面影响。由于我们处理的是一个玩具示例,我们可以遵循第一条路径:将 Vicuna-13b 和 GPT-3.5-turbo 的回答与 GPT-4 进行比较。
LLMs 通常在开放设置中使用,因此理想情况下,你希望一个 LLM 能够区分你的向量数据库中有答案的问题与没有答案的问题。以下是由人类在Toloka(即 Tolokers)和 GPT 上对 Vicuna-13b 和 GPT-3.5 的并排比较。
方法 | Tolokers | GPT-4 |
---|---|---|
模型 | vicuna-13b | GPT-3.5 |
可回答,正确答案 | 46.3% | 60.3% |
无法回答,AI 没有给出答案 | 20.9% | 11.8% |
可回答,错误答案 | 20.9% | 20.6% |
无法回答,AI 给出了一些答案 | 11.9% | 7.3% |
如果我们检查 Tolokers 对 Vicuna-13b 的评估,就如第一列所示,我们可以看到优越模型与人工评估之间的差异。从这次比较中可以得出几个关键点。首先,GPT-4 与 Tolokers 之间的差异值得注意。这些不一致主要发生在领域特定的 LLM 适当地不作回应时,但 GPT-4 却将这些无回应的情况评分为可回答问题的正确答案。这突显了当 LLM 的评估未与人工评估对比时,可能会出现的评估偏差。
其次,GPT-4 和人工评估者在评估整体表现时显示出一致性。这是通过比较前两行的数字总和与后两行的总和来计算的。因此,将两个领域特定的 LLM 与优越模型进行比较可以成为一种有效的 DIY 初步模型评估方法。
这就是结果!你已经掌握了迷人的技巧,你的领域特定 LLM 管道已全面运行。
伊万·亚姆什奇科夫 是应用科学大学维尔茨堡-施韦因富特人工智能与机器人中心的语义数据处理与认知计算教授。他还领导 Toloka AI 的数据倡导者团队。他的研究兴趣包括计算创造力、语义数据处理和生成模型。
1. Google 网络安全证书 - 快速进入网络安全职业生涯。
2. Google 数据分析专业证书 - 提升你的数据分析技能
3. Google IT 支持专业证书 - 支持你组织的 IT 需求