亚瑟·克拉克曾经著名地说过,任何足够先进的技术都无法与魔法区别开来。通过引入视觉和语言(V&L)模型和语言学习模型(LLMs),人工智能已经跨越了这条界线。像Promptbase这样的项目实际上是通过将正确的词语以正确的顺序编织在一起,来制造看似自然而然的结果。如果“提示工程”不符合施法的标准,那么很难说还有什么符合。此外,提示的质量也很重要。更好的“咒语”会带来更好的结果!
几乎每家公司都希望利用LLM的魔力。但只有在将LLM与特定的业务需求相结合时,它才是魔法,比如从知识库中总结信息。
让我们踏上一次探险,揭示创造一种强大药剂——具有特定领域专业知识的LLM的配方。作为一个有趣的例子,我们将开发一种精通文明6的LLM,这个概念足够极客,引起我们的兴趣,拥有一个令人惊叹的CC-BY-SA许可的WikiFandom,并且并不太复杂,即使非粉丝也可以跟随我们的例子。
第一步:解读文档
LLM可能已经具有一些特定领域的知识,只需使用正确的提示即可访问。然而,您可能已经有现有的文档存储了您想要利用的知识。找到这些文档并继续下一步。
第二步:分割您的咒语
为了使LLM能够访问您的特定领域知识,将您的文档分割成较小、易于消化的部分。这种分割可以提高理解能力,便于检索相关信息。对于我们来说,这意味着将Fandom Wiki的标记文件分割成各个部分。不同的LLM可以处理不同长度的提示。将您的文档分割成明显较短(比如说10%或更少)的部分是有意义的,以使其远远小于LLM的最大输入长度。
第三步:创建知识药剂并酿造您的向量数据库
使用诸如Sentence Transformers等工具,对每个分割的文本段进行编码,得到相应的嵌入。
将生成的嵌入和相应的文本存储在一个向量数据库中。您可以使用Numpy和SKlearn的KNN自己完成,但经验丰富的从业者通常推荐使用向量数据库。
第四步:设计迷人的提示
当用户询问LLM有关文明6的问题时,您可以在向量数据库中搜索与问题嵌入密切匹配的元素。您可以在您设计的提示中使用这些文本。
第五步:管理上下文之锅
让我们认真地进行迷人的咒语!您可以将数据库元素添加到提示中,直到达到提示设置的最大上下文长度。密切注意来自第二步的文本段的大小。通常在嵌入文档的大小和您在提示中包括多少文档之间存在重要的权衡。
第六步:选择您的魔法成分
无论您选择哪种LLM作为最终解决方案,这些步骤都适用。LLM领域正在迅速变化,因此,一旦您的流程准备就绪,请选择成功的度量标准并对不同模型进行并行比较。例如,我们可以比较Vicuna-13b和GPT-3.5-turbo。
第七步:测试您的药剂
测试我们的“药剂”是否有效是下一步。这说起来比做起来容易,因为关于评估LLM还没有科学共识。一些研究人员开发了像HELM或BIG-bench这样的新基准,而其他人则主张进行人机交互评估,或者使用优秀模型评估特定领域LLM的输出。每种方法都有优缺点。对于涉及特定领域知识的问题,您需要构建与您的业务需求相关的评估流程。不幸的是,这通常需要从头开始。
第8步:揭示神谕并召唤答案和评估
首先,收集一组问题来评估领域特定的LLM的性能。这可能是一项繁琐的任务,但在我们的文明示例中,我们利用了Google Suggest。我们使用搜索查询如“文明6如何…”,并将Google的建议作为评估我们解决方案的问题。然后,使用一组领域相关的问题运行您的QnA流水线。为每个问题形成提示并生成答案。
第9步:通过先知之眼评估质量
一旦您拥有答案和原始查询,您必须评估它们的一致性。根据您期望的精确度,您可以将LLM的答案与上级模型进行比较,或者在Toloka上进行并排比较。第二个选项具有直接的人工评估优势,如果正确执行,可以防止上级LLM可能存在的隐含偏见(例如,GPT-4倾向于将其回答评价得比人类更高)。这对于实际业务实施可能至关重要,因为这种隐含偏见可能会对产品产生负面影响。由于我们处理的是一个玩具示例,我们可以选择第一条路线:将Vicuna-13b和GPT-3.5-turbo的答案与GPT-4的答案进行比较。
第10步:提炼质量评估
LLM通常在开放式环境中使用,所以理想情况下,您希望LLM能够区分具有向量数据库中答案的问题和没有答案的问题。这是Vicuna-13b和GPT-3.5的并排比较,由Toloka上的人类(也称为Tolokers)和GPT进行评估的结果。
| 方法 | Tolokers | GPT-4 | |
| 模型 | vicuna-13b | GPT-3.5 | |
| 可回答,正确答案 | 46.3% | 60.3% | 80.9% |
| 不可回答,AI未给出答案 | 20.9% | 11.8% | 17.7% |
| 可回答,错误答案 | 20.9% | 20.6% | 1.4% |
| 不可回答,AI给出了部分答案 | 11.9% | 7.3% | 0 |
如果我们检查Tolokers对Vicuna-13b的评估,可以看到上级模型与人工评估之间的差异。从这个比较中可以得出几个关键的观点。首先,GPT-4和Tolokers之间的差异值得注意。这些不一致主要发生在领域特定的LLM恰当地不回答时,而GPT-4将此类非回答评为可回答问题的正确答案。这突显了当LLM的评估未与人工评估进行对比时可能出现的潜在评估偏差。
其次,无论是GPT-4还是人工评估者在评估整体性能时都表现出一致性。这是通过将前两行中的数字之和与后两行中的数字之和进行比较来计算的。因此,将两个领域特定的LLM与上级模型进行比较可以是初步模型评估的有效自助方法。
到此为止!您已经掌握了令人惊叹的技巧,并且您的领域专用LLM管道已经完全投入使用。 Ivan Yamshchikov 是维尔茨堡-施韦因福特应用科学技术大学人工智能与机器人中心的语义数据处理和认知计算教授。他还带领 Toloka AI 的数据倡导团队。他的研究兴趣包括计算创造力、语义数据处理和生成模型。