您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 业务知识 > 正文

部署自己的大语言模型的五种方法

发表于:2023-12-27 作者:计算机世界 来源:计算机世界

这是历史上发展最快的新技术。生成式人工智能正在改变世界,改变我们创建图像、视频、音频、文本和代码的方式。

根据戴尔公司 9 月份对 IT 决策者进行的一项调查,76% 的人表示,生成式人工智能将对他们的组织产生 “重大(如果不是变革性的)”影响,而且大多数人预计将在未来 12 个月内看到有意义的成果。

大语言模型(LLM)是生成式人工智能的一种。它侧重于文本和代码,而不是图像或音频,尽管有些模型已经开始整合不同的模式。目前企业中最流行的 LLM 包括 ChatGPT 和其他 OpenAI GPT 模型、Anthropic 的 Claude、Meta 的 Llama 2 以及 Technology Innovation Institute in Abu Dhabi 的开源模型 Falcon。其中,Falcon 以支持英语以外的语言而著称。

公司部署语言识别器有几种方式,如让员工访问公共应用程序,使用提示工程和应用程序接口将语言识别器嵌入现有软件,使用矢量数据库提高准确性和相关性,微调现有模型,或建立自己的模型。

01 |部署公共 LLM

Dig Security 是一家以色列云数据安全公司,其工程师使用 ChatGPT 编写代码。"首席执行官 Dan Benjamin 说:“每个工程师都会使用一些东西来帮助他们更快地编写代码。ChatGPT 是最早也是最简单的编码助手之一。但它也存在一个问题--你永远无法确定你上传的信息是否会被用于训练下一代模型。Dig Security 通过两种方式解决了这种可能性。首先,公司使用安全网关检查上传的信息。”

Benjamin 说:“我们的员工知道他们不能上传任何敏感信息。这些信息都被屏蔽了。”

其次,公司将工程师输送到运行在私有 Azure 云上的 ChatGPT 版本。这意味着 Dig Security 获得了自己独立的 ChatGPT 实例。Benjamin 认为,即使采用了这种 “带刺”的安全方法,它也不是一个完美的解决方案。“没有完美的解决方案。任何认为有完美解决方案的组织都是在自欺欺人”。

例如,有人可以使用 VPN 或个人电脑访问 ChatGPT 的公共版本。这就需要另一个层面的风险缓解措施。

他说:“关键在于员工培训,确保他们了解自己需要做什么,并接受过良好的数据安全培训。”

Dig Security 公司并非孤军奋战。

Skyhigh 公司企业营销总监 Tracy Holden 指出,2023 年上半年,有近 100 万终端用户通过企业基础设施访问 ChatGPT,1 月至 6 月间用户量增长了 1500%。

根据 Netskope Threat Labs 七月份的一份报告,在 ChatGPT 上发布的源代码比任何其他类型的敏感数据都要多,每万名企业用户每月发生 158 起事件。

最近,企业开始有了更安全、更适合企业的选择,比如微软的 Copilot,它将易用性与额外的控制和保护结合在一起。在 11 月初举行的 OpenAI DevDay 上,首席执行官 Sam Altman 表示,目前有 1 亿活跃用户在使用该公司的 ChatGPT 聊天机器人,200 万开发者在使用其 API,超过 92% 的财富 500 强企业正在 OpenAI 平台上进行开发。

02 |矢量数据库和 RAG

对于大多数希望定制 LLM 的公司来说,检索增强生成(RAG)是必经之路。如果有人在谈论嵌入或矢量数据库,这通常就是他们的意思。其工作原理是,用户提出一个关于公司政策或产品的问题。这个问题不会立即被设置到 LLM 中。而是先进行处理。用户是否有权访问该信息?如果有访问权限,那么就会检索所有可能相关的信息,通常是从矢量数据库中检索。然后,问题和相关信息会被发送到本地语言管理器,并嵌入到优化的提示中,提示中还可能指定本地语言管理器首选的回答格式和语音语调。

矢量数据库是将信息组织成一系列列表的一种方式,每个列表按不同的属性排序。例如,您可能有一个按字母顺序排列的列表,按字母顺序排列的回答越接近,相关性就越大。

按字母顺序排列的列表是一个一维向量数据库,但向量数据库可以有无限多个维度,让您可以根据答案与任意因素的接近程度来搜索相关答案。因此,它们非常适合与 LLM 结合使用。

销售参与平台供应商 Salesloft 的首席产品和工程官 Ellie Fields 说:“现在,我们正在把所有东西都转换成矢量数据库。”是的,它们正在发挥作用。

她认为,这比使用简单的文档为 LLM 查询提供上下文更有效。

该公司主要使用开源矢量存储 ChromaDB,其主要用途是 LLM。Salesloft 使用的另一个矢量数据库是 Pgvector,这是 PostgreSQL 数据库的矢量相似性搜索扩展。

Fields 表示:“但我们也使用 FAISS 和 Pinecone 做了一些研究。FAISS 即Facebook 人工智能相似性搜索,是 Meta 提供的一个开源库,支持多媒体文档的相似性搜索。”

Pinecone 是一个基于云的专有矢量数据库,也很受开发者的欢迎,其免费层支持多达 10 万个矢量。一旦从矢量数据库中检索到相关信息并嵌入提示,查询就会被发送到运行在微软 Azure 私有实例中的 OpenAI。

Fields 指出:“我们已将 Azure 认证为我们平台上的新子处理器。当我们有新的处理器时,我们总是会让客户知道他们的信息。”

不过,Salesloft 也与谷歌和 IBM 合作,并正在开发使用这些平台的生成式人工智能功能。

她说:“我们肯定会与不同的供应商和不同的模式合作。事情每周都在发生变化。如果你不关注不同的模式,你就会错失良机。” 因此,RAG 允许企业将其专有数据与模型本身分离开来,当更好的模型发布时,可以更容易地交换模型。此外,矢量数据库可以更新,甚至是实时更新,而无需对模型进行更多的微调或重新训练。

Fields 表示:“我们已经更换过模型,从OpenAI 到 Azure 上的 OpenAI。我们已经在不同的 OpenAI 模型之间进行了切换。我们甚至可能为客户群的不同部分支持不同的模型。”

她补充说,有时不同的模型有不同的 API。她认为:“这可不是小事。但更换一个模型还是比重新训练要容易得多。我们还没有发现哪种用例更适合微调,而不是矢量数据库。我相信会有这样的用例,但到目前为止,我们还没有找到性能更好的用例。”

Salesloft 推出的 LLMs 的首批应用之一是增加一项功能,让客户可以向潜在客户发送销售电子邮件。Fields 说:“客户花了很多时间来撰写这些电子邮件。”这很难开头儿,而且有很多写作障碍。因此,现在客户可以指定目标角色、价值主张和行动号召--他们会收到三封不同的电子邮件草稿,可以进行个性化设置。Fields 说,Salesloft 使用 OpenAI 的 GPT 3.5 来编写电子邮件。

03 |本地运行的开源模型

总部位于波士顿的 Ikigai Labs 提供了一个平台,允许公司建立定制的大型图形模型,或设计用于处理结构化数据的人工智能模型。但为了使界面更易于使用,Ikigai 在前端使用了 LLM。例如,该公司使用了 Falcon 开源 LLM 的 70 亿参数版本,并在自己的环境中为一些客户运行。

为了将信息输入 LLM,Ikigai 使用了一个同样在本地运行的矢量数据库。联合创始人兼联合首席执行官 Devavrat Shah 说,该数据库建立在边界森林算法之上。

四年前在 MIT,我和我的一些学生尝试了大量的矢量数据库,身兼 Ikigai Labs 人工智能教授的 Shah 说。“我知道这很有用,但没有这么有用”。

他说,保持模型和矢量数据库的本地化意味着数据不会泄露给第三方。Shah 说:“对于可以向他人发送查询的客户,我们使用 OpenAI。我们与 LLM 无关。”

Pricewaterhouse Coopers 建立了自己的 ChatPWC 工具,该工具也与 LLM 无关。该公司的合伙人兼 gen AI 上市战略负责人 Bret Greenstein 说:“ChatPWC 让我们的员工更有能力。”例如,它包括用于生成职位描述的预置提示。他说:“它有我所有的格式、模板和术语。我们有人力资源、数据和提示专家,我们设计的东西能生成非常好的招聘信息。现在,没有人需要知道如何进行生成职位描述的惊人提示。”

该工具构建于微软 Azure 之上,但公司也为谷歌云平台和 AWS 构建了该工具。Greenstein:“我们必须为我们的客户服务,他们存在于每一个云上。同样,它也对后端使用不同模型进行了优化,因为客户希望这样做。我们的每种模式都能发挥作用。Llama 2、Falcon--我们什么都有。”

他说:“人们可以做很多事情。比如建立独立于模型的数据,以及建立治理结构。这样,当市场发生变化,新的模型出现时,数据和管理结构仍然是相关的。”

04 |微调

管理咨询公司 AArete 采用开源模型 GPT 2,并根据自己的数据进行了微调。该公司数字技术服务副总裁 Priya Iragavarapu 说:“它很轻便。我们想要一个开源的,以便能够在我们的内部环境中使用和发布。”

如果 AArete 使用托管模型并通过 API 与之连接,信任问题就会出现。她说:“我们担心来自提示的数据最终会流向哪里。我们不想冒这些风险。”

在选择开源模型时,她会考虑该模型之前的下载次数、社区支持以及硬件要求。

她说:“基础模型还应具有一定的任务相关性。有一些模型是针对特定任务的。例如,我最近研究了一个拥抱脸模型,它可以将 PDF 中的内容解析为结构化格式。”

金融界和医疗保健行业的许多公司都在根据自己的附加数据集对 LLM 进行微调。

她说:“基本的 LLM 是在整个互联网上训练出来的。通过微调,公司可以创建一个专门针对其业务用例的模型。”

一种常见的方法是创建一个问题和答案列表,然后根据这些问题和答案对模型进行微调。事实上,OpenAI 在 8 月份就开始允许使用问答方式对其 GPT 3.5 模型进行微调,并在 11 月份的 DevDay 上为 GPT 4 推出了一套新的微调、定制和 RAG 选项。

这对客户服务和服务台应用特别有用,因为公司可能已经拥有一个常见问题数据库。

另外,在 DELL 的调查中,21% 的公司倾向于在自己的环境中使用自己的数据重新训练现有模型。

Constellation Research Inc. 副总裁兼首席分析师 Andy Thurai 说:“最受欢迎的选择似乎是 Llama 2。Llama 2 有三种不同的尺寸,对月用户少于 7 亿的公司免费。”他认为,公司可以在自己的数据集上对其进行微调,并很快拥有一个新的定制模型。事实上,Hugging Face LLM 排行榜目前由不同微调和定制的 Llama 2 所占据。在 Llama 2 之前,Falcon 是最流行的开源 LLM。“现在是一场军备竞赛。他说,微调可以为特定业务用例创建更准确的模型。”如果使用通用的 Llama 模型,准确度可能会很低。

与 RAG 嵌入相比,微调也有一些优势。使用嵌入法时,公司必须为每次查询进行矢量数据库搜索。Thurai 说:“而且你还得实施数据库。这也不是件容易的事。”

微调也没有上下文窗口限制。通过嵌入,可以添加到提示中的信息有限。如果一家公司进行微调,他们也不会经常这样做,只是在发布基础人工智能模型的重大改进版本时才会这样做。

最后,如果公司拥有快速变化的数据集,微调可以与嵌入结合使用。他说:“你可以先进行微调,然后对增量更新进行 RAG。”

Forrester Research 公司的分析师 Rowan Curran 预计,在未来一年左右的时间里,将会出现大量经过微调的特定领域模型。他说,但只有少数公司(10% 或更少)会这样做。

Pricewaterhouse Coopers 的 Greenstein 说,构建 SaaS 应用程序等应用软件的软件公司可能会使用微调技术。他说:“如果你有一个高度可重复的模式,微调可以降低你的成本。但对于企业部署来说,RAG 在 90% 到 95% 的情况下更有效率。”

加拿大企业搜索和推荐公司 Coveo 的 ML 副总裁 Sebastien Paquet 补充说:“我们实际上正在研究针对特定垂直行业的微调模式。我们有一些具有专门词汇的专业垂直领域,比如医疗垂直领域。销售卡车零部件的企业有自己的零部件命名方式。”

不过,该公司目前使用的是运行在私有 Azure 云上的 OpenAI 的 GPT 3.5 和 GPT 4,LLM API 调用是隔离的,因此 Coveo 可以在需要时切换到不同的模型。该公司还在特定用例中使用了一些来自 Hugging Face 的开源 LLM。

05 |从零开始构建 LLM

很少有公司会从头开始构建自己的 LLM。毕竟,顾名思义,这些公司都相当庞大。OpenAI 的 GPT 3 拥有 1,750 亿个参数,在 45 TB 的数据集上进行了训练,训练成本高达 460 万美元。据 OpenAI 首席执行官 Sam Altman 称,GPT 4 的成本超过 1 亿美元。

正是这种规模赋予了 LLM 魔力和处理人类语言的能力,使其具备一定程度的常识和听从指令的能力。

Insight 公司的杰出工程师 Carm Taglienti 说:“你不能只用自己的数据来训练它。在数以千万计的参数上进行训练才有价值。”

如今,几乎所有的 LLM 都来自大型超级计算机或 OpenAI 和 Anthropic 等专注于人工智能的初创公司。

即使是那些在构建自己的模型方面拥有丰富经验的公司,也在远离创建自己的 LLM。

例如,Salesloft 多年来一直在构建自己的人工智能和机器学习模型,包括使用早期技术的生成式人工智能模型,但对于从头开始构建全新的尖端基础模型却犹豫不决。

Fields 说:“这是一个庞大的计算步骤,至少在现阶段,我不认为我们会去做。”

来源:www.cio.com