Skip to content

Latest commit

 

History

History
97 lines (52 loc) · 8.65 KB

brewing-domainspecific-llm-potion.md

File metadata and controls

97 lines (52 loc) · 8.65 KB

酿造特定领域的 LLM 魔药

原文:www.kdnuggets.com/2023/08/brewing-domainspecific-llm-potion.html

酿造特定领域的 LLM 魔药

图片来自 Unsplash

亚瑟·克拉克曾名言:“任何足够先进的技术都与魔法无异。” 人工智能通过引入视觉和语言(V&L)模型以及大语言模型(LLMs)已越过了这条界限。像Promptbase这样的项目本质上是将正确的词汇以正确的顺序编织起来,以召唤看似自发的结果。如果“提示工程”不符合施法的标准,那么很难说什么符合。而且,提示的质量很重要。更好的“咒语”能带来更好的结果!

几乎每家公司都热衷于利用这股 LLM 魔力。但只有当你能够将 LLM 与特定业务需求对接时,它才是魔力,比如从你的知识库中总结信息。

让我们开始一场冒险,揭示制作强效魔药的秘诀——一个具有领域特定专业知识的 LLM。作为一个有趣的例子,我们将开发一个擅长《文明 6》的 LLM,这个概念足够极客,能引起我们的兴趣,拥有一个出色的WikiFandom并且许可证为 CC-BY-SA,并且不复杂,以至于即使是非粉丝也能跟随我们的例子。

第 1 步:解读文档

语言模型(LLM)可能已经具备一些特定领域的知识,使用正确的提示词即可访问这些知识。然而,你可能已有现存的文档存储了你想要利用的知识。找到这些文档并继续下一步。

第 2 步:分割你的咒语

为了让你的领域特定知识对 LLM 可访问,将你的文档分割成更小、更易消化的部分。这种分割可以提高理解度,并使相关信息的检索变得更加容易。对我们来说,这涉及到将 Fandom Wiki 的 Markdown 文件分割成若干部分。不同的 LLM 可以处理不同长度的提示。将文档拆分成长度显著小于(例如,10%或更少)最大 LLM 输入长度的部分是合理的。

第 3 步:创建知识精华并构建你的向量数据库

使用相应的嵌入向量对每个分割后的文本进行编码,例如使用Sentence Transformers

将生成的嵌入向量及其对应的文本存储在向量数据库中。你可以使用 Numpy 和 SKlearn 的 KNN 自行完成,但经验丰富的从业者通常推荐使用向量数据库

第 4 步:打造引人入胜的提示词

当用户询问 LLM 关于《文明 6》的问题时,你可以在向量数据库中搜索与问题嵌入相似的元素。你可以在你制作的提示中使用这些文本。

第 5 步:管理背景的药剂锅

让我们认真对待魔法吧!你可以在提示中添加数据库元素,直到达到为提示设置的最大上下文长度。密切注意第 2 步中你的文本部分的大小。通常,嵌入文档的大小和你在提示中包含的数量之间存在显著的权衡。

第 6 步:选择你的魔法成分

无论你为最终解决方案选择了哪个 LLM,这些步骤都是适用的。LLM 的格局正在迅速变化,因此,一旦你的流程准备好后,选择你的成功指标,并对不同模型进行并行比较。例如,我们可以比较Vicuna-13b和 GPT-3.5-turbo。

第 7 步:测试你的药剂

测试我们的“药剂”是否有效是下一步。说起来容易做起来难,因为目前尚无科学共识来评估 LLM。一些研究人员开发了新的基准,如HELMBIG-bench,而其他人则提倡人类在环评估,或通过一个更高级的模型来评估领域特定 LLM 的输出。每种方法都有优缺点。对于涉及领域特定知识的问题,你需要建立一个与你的业务需求相关的评估流程。不幸的是,这通常需要从零开始。

第 8 步:揭示神谕并施展答案和评估

首先,收集一组问题来评估领域特定 LLM 的表现。这可能是一项繁琐的任务,但在我们的《文明》示例中,我们利用了 Google Suggest。我们使用了像“文明 6 如何……”这样的搜索查询,并将 Google 的建议作为评估我们解决方案的问题。然后,使用一组与领域相关的问题,运行你的问答流程。为每个问题形成提示并生成答案。

第 9 步:通过预言者的视角评估质量

一旦你拥有了答案和原始查询,你必须评估它们的一致性。根据你期望的精确度,你可以将你的 LLM 答案与优越模型进行比较,或使用Toloka 上的并排比较。第二种选择的优势在于直接的人类评估,如果做得正确,可以防止优越 LLM 可能存在的隐性偏见(例如,GPT-4往往会将自己的回答评分更高)。这对实际业务实施可能至关重要,因为这种隐性偏见可能对你的产品产生负面影响。由于我们处理的是一个玩具示例,我们可以遵循第一条路径:将 Vicuna-13b 和 GPT-3.5-turbo 的回答与 GPT-4 进行比较。

第 10 步:提炼质量评估

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 需求


更多相关话题