需要订阅 JoVE 才能查看此. 登录或开始免费试用。
Method Article
在该协议中,通过向量嵌入机制增强同行评审的、特定领域的科学文章,从而提高了基础大型语言模型的响应质量。此外,还提供了代码来帮助在大型语言模型之间进行性能比较。
大型语言模型 (LLM) 已成为生成与用户查询相关的信息的常用资源。此类模型是通过资源密集型训练过程创建的,该过程利用广泛的静态文本数据语料库。这种静态特性导致在知识、专有信息和敏感数据快速变化的领域中采用受到限制。在这项工作中,概述了使用基于嵌入的方法为特定领域的信息增强通用 LLM(称为基础模型)的方法,以整合最新的、经过同行评审的科学手稿。这是通过 Llama-Index 等开源工具和 Llama-2 等公开可用的模型实现的,以最大限度地提高透明度、用户隐私和控制力以及可复制性。虽然科学手稿用作示例用例,但这种方法可以扩展到任何文本数据源。此外,还讨论了在此增强功能之后评估模型性能的方法。 这些方法能够为高度专业化的领域快速开发 LLM 系统,而不管训练语料库中信息的全面性如何。
OpenAI 的 ChatGPT 或 Meta AI 的 Llama 等大型语言模型 (LLM) 已迅速成为生成与用户提示相关的文本的流行资源。这些模型最初用于预测序列中的下一个词汇项目,现在已经发展到理解上下文、编码临床信息并在各种任务上表现出高性能 1,2,3,4。尽管语言模型比这些功能及其目前的流行程度早了几十年5,但深度学习和计算功能的最新进展使用户可以通过基于 Web 的技术和应用程序接口 (API) 6 广泛使用预训练的高质量商业 LLM。但是,以这种格式使用 LLM 有几个明显的限制。
挑战 1:静态训练语料
LLM 在大量(例如,在 Llama 27 的情况下为 2 万亿个标记)但静态的文本数据主体上进行训练。这为生成与正在快速发展或不断变化的文献相关的准确响应带来了挑战。在这种静态方法中,LLM 需要经常重新训练以跟上最新数据,这既不实用也不可扩展。此外,需要根据训练数据中不存在的信息进行响应的提示可能会阻止有用的文本生成或导致幻觉8(Hallucinations)。幻觉或事实捏造的实例引起了人们对 LLM 可靠性的严重担忧,尤其是在信息准确性至关重要的环境中9。
挑战 2:缺乏域特异性
预先训练的模型通常是为一般用途而创建的,而用户可能需要专门针对特定域中的性能优化的模型。此外,从 头 训练模型或执行重大微调所需的计算资源和数据对许多用户来说是令人望而却步的。
挑战 3:缺乏隐私
寻求涉及敏感数据或专有信息的应用程序的用户可能不愿意或不能使用某些 LLM 服务,因为他们缺乏有关如何存储或使用数据的信息。
挑战 4:缺乏保证的稳定性
具有专有 LLM 的服务可能随时更改可用模型或更改行为,这使得稳定性成为依赖这些服务的应用程序的实施的一个问题。
检索增强生成 (RAG) 是一种为提高 LLM 性能而开发的技术,尤其是在与模型训练语料库10,11 之外的信息相关的查询上。这些系统通过合并在生成对用户查询的响应时要考虑的上下文信息来增强 LLM。最近的各种工作描述了 RAG 系统的应用及其潜在优势 12,13,14。
这项工作中概述的方法的目标是演示这样一个系统的构建,并为研究人员提供一个框架,以快速试验特定领域的增强 LLM。此方法适用于寻求使用基于文本的外部数据源来扩充 LLM 的用户。具体来说,该协议的首要目标是提供可扩展到各种实际 LLM 和 RAG 实验的分步代码,而无需语言建模领域的大量技术专业知识,尽管需要 Python 的工作知识才能应用这种方法而无需修改。为了最大限度地提高用户控制、透明度、可移植性和解决方案的可负担性,使用了开源、公开可用的工具。建议的系统通过以下方式解决前面提到的问题:
解决方案 1 和 2:静态训练语料库和缺乏领域特异性
提供的方法利用 RAG 方法,利用嵌入来提供原始训练数据中未包含的域特定信息。概括性模型将文本或其他数据转换为向量或单维数字数组的表示形式。这种技术非常有用,因为它将文本中包含的语义信息转换为密集的数字形式。通过将用户查询投影到同一嵌入空间中,可以使用各种算法来计算用户查询和文本文档部分之间的距离15,从而近似语义相似性。因此,从分解为离散部分的文档中创建此类向量的数据库可以促进在大量文档中搜索与用户查询最相关的文本(图 1)。此方法可扩展到任何文本文档。虽然开始实施其他方法(例如在线搜索功能)来增强 LLM,但这种方法允许用户选择被认为对其用例具有足够高质量的来源。
解决方案 2:缺乏隐私
在此实施中,使用安全的云环境进行托管,没有用户提示、生成的响应或其他数据离开此生态系统。但是,所有代码都是以与平台无关的方式编写的,以确保可以替代其他云提供商或本地硬件。
解决方案 3:缺乏保证的稳定性
这种方法利用开源库,并专注于使用公开可用的权重来增强 LLM,从而在需要时实现更高程度的透明度、稳定性和版本控制。
图 2 显示了我们提议的系统的完整示意图,协议部分概述了复制此系统或类似系统的详细说明。通过微调或增强来改变模型行为时,另一个考虑因素是性能评估。在语言生成模型中,这带来了独特的挑战,因为许多传统的机器学习指标不适用。尽管存在多种技术16,但在这项研究中,使用专家编写的多项选择题 (MCQ) 来评估准确性并比较增强前后的性能,以及与流行的替代 LLM 的性能。
在本文中演示的使用案例中,向量存储是使用芝加哥共识第17 工作组发布的指南生成的。该专家组的成立是为了制定腹膜癌管理指南。选择该主题领域是因为它属于研究者的临床专业领域。这组论文是从在线期刊存储库访问的,包括 Cancer 和 Annals of Surgical Oncology。由北京人工智能研究院 (BAAI, https://www.baai.ac.cn/english.html) 创建的紧凑(33.4M 参数)嵌入模型 bge-small-en 用于从源文档生成嵌入。然后将生成的数据库用于增强 Llama 2 和 Open-AI 基础模型7。为方便读者,代码可通过 GitHub (https://github.com/AnaiLab/AugmentedLLM) 获得。为确保可复制性,建议使用提供的需求列表中使用的相同版本的库以及相同版本的 Python。有关以下方法中使用的工具的安装或文档的更多详细信息,请访问 Python (https://www.python.org)、git (https://git-scm.com)、Llama-Index (https://llamaindex.ai) 和 Chroma (https://trychroma.com) 提供商的官方网站。
1. 先决条件:查看代码并安装所需的库
2. 使用 Llama-Index 创建向量数据库
3. 使用第 2 节中生成的向量数据库增强 Llama 模型
4. 备选 LLM 的编程比较
来自芝加哥共识工作组管理指南的一组 22 篇出版物用于增强基础 Llama-7b 模型17。使用工具 Llama-Index 将文档转换为向量索引,以生成 Llama-2-7b-CCWG-Embed。流行的 OpenAI 模型,如 GPT-3.5 和 GPT-4,也以类似的方式进行了增强,以生成 GPT-XX-CCWG-Embed 模型。共开发了 20 道多项选择题 (MCQ) 来评估与各种腹膜表面恶性肿瘤管理相关的知识。MCQ 由董事会认证的外科?...
这里提供的方法旨在促进 LLM 的特定领域应用的研究,而无需从头开始培训或进行广泛的微调。随着 LLM 成为重要研究兴趣的领域,增强知识库和提高响应准确性的方法将变得越来越重要 18,19,20,21。如提供的结果所示,与没有增强的相同 LLM 相比,概述的协议在特定领域...
作者没有需要声明的利益冲突。
这项工作得到了几个开源库的推动,最著名的是 llama-index (https://www.llamaindex.ai/)、ChromaDB (https://www.trychroma.com/) 和 LMQL (https://lmql.ai/)。
Name | Company | Catalog Number | Comments |
pip3 version 22.0.2 | |||
Python version 3.10.12 |
请求许可使用此 JoVE 文章的文本或图形
请求许可This article has been published
Video Coming Soon
版权所属 © 2025 MyJoVE 公司版权所有,本公司不涉及任何医疗业务和医疗服务。