构建更好的基于LLM的运行程序的四大秘诀
出品 | 技术栈(微信号:blog51cto)
自从OpenAI颁布首个ChatGPT模型以来,人们对生成式AI的兴味激增。基于大言语模型(LLM)的运行程序现处于企业思索消费劲和效率的最前沿,用于构建生成式AI运行程序的工具和框架失掉了极大的裁减。但人们依然担忧生成式AI输入的准确性,因此开发人员须要极速学会处置诸如此类的疑问,以构建弱小、牢靠的运行程序。
以下是提高LLM运行程序准确性的一些倡导和技术,以及选用正确LLM的留意事项。咱们无法详尽地讨论这些疑问,由于每个疑问自身都很复杂,但咱们可以提供一番倡导,供诸位进一步探求。
本文中的Streamlit是一个收费开源框架,用于极速构建和共享机器学习和数据迷信Web运行程序,最近它颁布了一份报告,剖析了Streamlit社区云上13000余名开发人员构建的21000多个LLM运行程序。它引见了开发人员迄今为止不时在经常使用的一些工具和技术,并提供了以下一些倡导。
比如说,矢量检索工具可以为基于LLM的运行程序有效地改善高低文介绍,但咱们的考查发现,目前只要少数开发人员在经常使用矢量配置,这代表未来大无时机。
随着更多的开发人员应用生成式AI开发运行程序,咱们将开局看到跨类别和垂直行业的运行程序逐渐内置基于AI的搜查以及对话和辅佐体验。以下是我给开发人员的四条倡导,协助他们构建更好的基于LLM的运行程序,这样他们可以给所在组织带来真正的推翻效应。
1、为更智能的运行程序经常使用代理和编排
像LangChain和LlamaIndex这样的编排框架可以经常使用额外的工具或代理来协助增强模型基于LLM的运行程序的配置。在这种状况下,可以将代理视为插件系统,准许您将额外配置做入到运行程序中,用人造言语来表白。
这些代理可以组合起来治理和提升LLM配置,比如改良AI推理、处置成见和集成外部数据源。代理还可以为LLM提供一种方法来思索它能否犯了失误以及成功成功义务所必定采取的步骤。
打个比如,思索一下开发人员如何编写提供特定函数的API和形容该函数的文档:API示意为代码,文档经常使用人造言语。代理以相似的模式上班,除了提供文档是为了繁难LLM,而不是繁难其余开发人员。因此,LLM关注手头的义务,检查代理的文档,并确定代理能否可以协助它成功义务。
这些代理还为运行程序提供了一种反思自身失误并纠正它们的方法,从而为LLM运行程序削减了强健性。比如说,假定一个LLM运行程序编写了一些SQL代码来口头义务,比如审核数据库中的库存数量,但它在代码中犯了失误。关于规范的“童稚”的LLM运行程序而言,这个失误似乎路之止境。
但是,假设运行程序有一个口头SQL的代理,它可以检查失误,经常使用代理来确定应该采取什么不同的做法,而后纠正失误。这或许只是语法上的一个小变动,但是假设没有代理,LLM就无法经过推理处置失误。
2、经常使用矢量魔法和RAG来反抗幻觉
有时,您在经常使用的LLM无法访问成功预期义务所需的一切消息。这可以在揭示时注入额外的消息,但大少数LLM限度了这些揭示的大小。为了克制这种限度,LLM或许须要经常使用矢量查问外部数据库,这种技术就叫检索增强生成(RAG)。
为了了解RAG可以为LLM运行程序做什么,无妨思索三个不同级别的LLM运行程序。
•第1级:运行程序可以经常使用LLM中已有的常识生成结果。
•第2级:运行程序须要额外的消息,消息可以在揭示时注入。只需您能坚持遵守揭示限度,这相当繁难。
•第3级:LLM须要咨询外部消息源(比如数据库)以成功义务。
RAG在第3级有了用武之地,外部数据库通经常常使用矢量启动语义索引,这就是为什么您最近或许频频听到矢量数据库和矢量搜查工具的资讯。
具备矢量数据库和矢量搜查的运行程序可以经过对庞大的非结构化数据集(包括文本、图像、视频或音频)启动分类,以成功极速的高低文搜查。这关于启动更快、更弱小的高低文介绍十分有效。但矢量工具仍未失掉宽泛运行。Streamlit的考查发现,仅20%的基于生成式AI的运行程序经常使用了某种矢量技术。
3、聊天机器人为用户提供了一种弱小的模式来提升查问
聊天机器人将生成式AI带入了干流,但有人疑心未来它们能否会成为一种有效的界面。有人以为,聊天机器人给了用户太多的自在,却没有足够的背景常识来说明如何经常使用LLM运行程序。有人被过去的失败所吓倒:Clippy是一场劫难,为什么聊天机器人当天会成功呢?
很显然,聊天机器人能否适宜一方面取决于运行程序的预期用途。但聊天机器人至少有一个十分有用的好处不容漠视:它们为用户经过流利的、仿人的界面增加高低文和完善答案提供了一种繁难又直观的模式。
要了解为什么这很弱小,无妨想想搜查引擎。用户通常无法改良搜查引擎查问;比如说,假设结果略有偏向,没有方法通知搜查引擎“再试一次性,但扫除关于X的答案”,或许“给y更多的权重”。这将是一种繁难而弱小的配置,这也是聊天机器人为LLM运行程序提供的配置。
考查发现,用Streamlit构建的生成式AI运行程序中28%是聊天机器人,而72%的运行程序通常不准许会话改良。另一方面,考查显示,这些聊天机器人的每周经常使用率回升到近40%,而非聊天机器人运行程序的经常使用率有所降低。因此,聊天机器人或许是最终用户青眼的界面。
4、思索GPT的代替方案,包括开源LLM
基本的GPT模型依然是最出名的LLM,它们配置十分弱小,但在过去的一年里发生了更多的选用,其中一些或许更适宜您的运行程序。须要思索的要素包括:LLM所需的常识广度、LLM的规模、您的训练要求和估算,以及LLM是开源还是专有对您来说能否关键。与科技界的许多方面一样,这里也存在取舍。
假设您在构建一个供外部经常使用的生成式AI运行程序,或许须要经常使用外部企业数据来训练该LLM。关于大少数企业来说,出于安保要素,与公共LLM共享敏感数据是无法能的,因此许多公司在现有的云安保边界内运转LLM,这经常造成它们选用比拟小的LLM,比如AI21和Reka。
十分庞大的LLM还往往有更高的提前,由于所需的计算资源,通常运转老本更高。假设运行程序口头比拟繁难的义务,比如翻译文本或总结文档,较小的LLM或许成果很好,经常使用和操作老本清楚降低。
您也或许有理由偏爱开源LLM,比如Meta的LLaMA,而不是像OpenAI、Anthropic或Cohere这样的专有LLM:在专有LLM中,源代码、训练数据、权重或模型的其余细节通常不会地下披露。开源LLM须要自托管或经过托管提供商启动推理,但是源代码及模型的其余细节更容易取得。
5、写在最后:如今就开局经常使用生成式AI
生成式AI依然是迅速崛起的畛域,但所需的工具和技术在迅速开展,当天有很多选用可以开局入手。抓住这个时机的开发人员可以为所在组织提供渺小的价值,将AI运行程序作为日常业务运营和义务的一项惯例配置。随着生成式AI继续重塑组织中的角色和责任,依赖并知晓基于LLM的运行程序的开发人员将锋芒毕露,上述倡导将协助您开局迈出正确的第一步。
原文链接: