AI赚钱的新方式:自己训练GPT
①、为什么要自己训练GPT?
大型语言模型(LLM)如GPT和GPT-4的崛起引发了人们的疑问:是否有可能用自己的数据训练一个私有的GPT?这样做有什么好处?这些语言模型能提供这样的功能吗?在这篇文章中,我们将讨论构建“您自己的GPT”所需的架构和数据要求。我们将探讨这项技术的优点以及如何克服目前的限制。
②、用微调LLM的方法有缺点吗?
通常,人们会选择在预训练语言模型上微调(训练)自己的数据。然而,这种方法存在一些缺点,例如GPT-4发布会上提到的幻觉风险。此外,GPT-4只使用了2021年9月之前的数据进行训练。微调LLM的常见缺点包括:
- 对于使用微调进行问答(QA)的目的来说,会变得非常困难,几乎不可能。
- 如何克服这些限制并从这些LLM中受益呢?
③、将知识与语言模型分离
为了确保用户获得准确的答案,我们需要将语言模型和知识库分开。这样做可以利用语言模型的语义理解能力,同时为用户提供最相关的信息。这一切都是实时进行的,无需进行模型训练。具体的方法如下:
- 用户提出问题
- 应用程序找到最相关的文本(最可能包含答案)
- 向LLM发送简洁的提示和相关文档文本
- 用户将收到答案或“未找到答案”的响应
这种方法通常被称为“对模型进行基础”,即应用程序将为语言模型提供额外的上下文信息,以便基于相关资源回答问题。现在,让我们详细了解构建这种场景所需的高级架构。
④、检索最相关的数据
上下文至关重要。为了确保语言模型具有正确的信息,我们需要构建一个知识库,通过语义搜索来查找最相关的文档。这样一来,我们就能为语言模型提供正确的上下文,从而生成准确的答案。
为了做到这一点,我们需要将文档分成更小的块,以确保回答提示不超过标记限制。然后,我们可以创建一个搜索索引,通过用户的问题查询这些块。另外,我们还可以添加附加的元数据到索引中,以便存储答案的来源和其他可用于访问控制和过滤的信息。
构建语义搜索索引有两种选项:
- 使用搜索产品:利用现有的搜索服务平台,如Azure提供的Cognitive Search,它利用了Bing后面的语言模型,提供了一个托管的文档摄取管道和语义排名。
- 使用嵌入来构建自己的语义搜索:通过计算文档的嵌入并将其存储在向量数据库中,如Azure Cache for Redis(RediSearch)或开源向量数据库Weaviate或Pinecone,然后在应用程序运行时,将用户问题的嵌入与之前生成的文档嵌入进行比较,以计算余弦相似度。
为了找到最相关的信息,我们需要了解数据和用户可能的查询。这将决定如何最好地划分数据。改善相关性的常见方法包括使用滑动窗口、提供更多上下文和创建包含较大文档部分摘要的块。
提要
AI赚钱的新方式来了!自己训练GPT,利用大型语言模型的优势,同时将知识库与语言模型分离,可以提供更准确、实时的答案。通过构建一个语义搜索索引,我们可以检索最相关的数据,并根据用户的问题生成答案。这一切都可以在不进行模型训练的情况下实现。想要实践这一技术吗?赶快动手试试吧!
感谢您的阅读!
(参考文章内容已保存,但已达到字数上限,无法全部展示。
想要了解更多内容,请访问葫芦娃AI以获取更多信息