大型模型开发工具集已经建立!

王林
王林 转载
2023-09-17 14:21:08 831浏览

需要进行改写的内容是:作者 Richard MacManus

策划 | 言征

Web3未能颠覆掉Web2,但新兴的大模型开发栈正在让开发者从“云原生”时代迈向新的AI技术栈。

提示工程师或许不能触动开发者奔赴大模型的神经,但产品经理或者领导的一句:能不能开发一个“agent”,能不能实现一条“chain”,“使用哪款向量数据库”,却成为了目前各大主流大模型应用公司中驱动技术同学攻克生成AI开发的难点所在。

新兴的技术栈究竟分为哪几层?哪里最为棘手?本文将带领大家一探究竟

1、技术栈需要更新了开发者迎来AI工程师时代

在过去的一年里,出现了一些工具,如LangChain和LlamaIndex,这使得AI应用程序的开发者生态系统开始变得成熟。甚至,现在还有一个术语来形容那些专注于人工智能开发的人员,即“AI工程师”。根据Shawn@swyx Wang的说法,这是“提示工程师”的下一步。他还创建了一张坐标图,形象地展示了AI工程师在更广泛的人工智能生态系统中的位置

大型模型开发工具集已经建立!图源:swyx

大型语言模型(LLM)是AI工程师的核心技术。LangChain和LlamaIndex都是扩展和补充LLM的工具,这绝非巧合。但是,对于这类新的开发人员来说,还有什么其他工具可用呢?

到目前为止,我看到的LLM堆栈的最佳图表来自风险投资公司Andreessen Horowitz(a16z)。以下是它对“LLM app stack”的看法:

大型模型开发工具集已经建立!图源:a16z

2、没错,最顶层的还是数据

在LLM技术栈中,数据是最重要的组成部分,这一点非常明显。根据a16z的图表,数据处于最顶层。在LLM中,"嵌入模型"是非常关键的领域,你可以从OpenAI、Cohere、Hugging Face或其他几十种LLM选项中进行选择,其中包括越来越受欢迎的开源LLM

在使用LLM之前,还需要建立一个“数据管道”。例如,可以将Databricks和Airflow作为两个示例,或者可以对数据进行“非结构化”处理。这对于数据的周期性也是适用的,可以帮助企业在将数据输入自定义LLM之前进行数据的“清理”或简单整理。像Alation这样的“数据智能”公司提供这种类型的服务,听起来有点像IT技术栈中更为人知的“商业智能”等工具

数据层的最后一部分是近期非常受欢迎的向量数据库,用于存储和处理LLM数据。根据微软的定义,这是一种将数据存储为高维向量的数据库,高维向量是特征或属性的数学表示。数据使用嵌入技术存储为向量

在一次媒体交谈中,领先的向量数据库供应商Pinecone指出,他们的工具经常与数据管道工具(如Databricks)一起使用。在这种情况下,数据通常存储在其他地方(比如数据湖),然后通过机器学习模型转换为嵌入式数据。经过处理和分块后,生成的向量会被发送到Pinecone

3、提示和查询

接下来的两个层次可以总结为提示和查询 - 这是人工智能应用程序与LLM和(可选)其他数据工具接口的交互点。A16z将LangChain和LlamaIndex定位为“编排框架”,这意味着一旦开发人员了解他们使用的是哪种LLM,就可以利用这些工具

根据a16z的观点,像LangChain和LlamaIndex这样的编排框架“抽象掉了许多提示链接的细节”,这意味着在应用程序和LLM之间查询和管理数据。这个编排过程包括与外部API接口的交互,从矢量数据库中检索上下文数据,以及在多个LLM调用中维护内存。a16z图表中最有趣的方框是“游乐场”,其中包括OpenAI、nat.dev和Humanloop

A16z在博客文章中没有确切定义,但我们可以推断,“游乐场”工具可以帮助开发人员施展A16z所说的“提示柔术”。在这些地方,开发人员可以尝试各种提示技术。

Humanloop是一家英国公司,其平台的一个功能是“协作提示工作区”。它进一步将自己描述为“用于生产LLM功能的完整开发工具包”。因此,基本上,它允许您尝试LLM的东西,然后将其部署到应用程序中(如果它有效的话)

4、流水线作业:LLMOps

目前,大型生产流水线的布局正在逐渐明确。在编排框的右侧,有许多操作框,其中包括LLM缓存和验证。此外,还有一系列与LLM相关的云服务和API服务,其中包括Hugging Face等开放的API存储库,以及OpenAI等专有的API提供商

这可能是我们在“云原生”时代习惯的开发人员技术栈中最相似的地方,许多DevOps公司将人工智能添加到了他们的产品列表中,这绝非巧合。5月,我与Harness首席执行官Jyoti Bansal进行了交谈。Harness运行一个“软件交付平台”,专注于CI/CD流程的“CD”部分。

Bansai告诉我,人工智能可以减轻软件交付生命周期中涉及的繁琐和重复的任务,从基于现有功能生成规范到编写代码。此外,他还表示,人工智能可以自动化代码审查、漏洞测试、错误修复,甚至为构建和部署创建CI/CD管道。根据我在五月份的另一次对话,人工智能也在改变开发人员的生产力。来自构建自动化工具Gradle的Trisha Gee告诉我,人工智能可以通过减少重复任务(如编写样板代码)的时间来加速开发,并使开发人员能够专注于大局,如确保代码满足业务需求。

5、Web3凉了,大模型开发栈来了

在新兴的LLM开发技术栈中,我们可以观察到一系列新的产品类型,例如编排框架(如LangChain和LlamaIndex)、向量数据库和Humanloop等“游乐场”平台。所有这些产品都在扩展和/或补充当前时代的核心技术:大型语言模型

一如前几年Spring Cloud、Kubernetes等云原生时代工具的兴起。只不过当下,几乎所有云原生时代的大、小、顶流企业都在极力将其工具适应AI工程化,这就会对LLM技术栈的未来发展非常有利。

没错,这一次的大模型俨然“站在巨人的肩膀上”,计算机技术中最好的创新总是建立在以前的基础上。也许这就是“Web3”革命失败的原因——与其说它是建立在上一代的基础上,不如说它试图篡夺它。

LLM技术栈似乎已经做到了,它成为了从云开发时代到更新的、基于人工智能的开发者生态系统的桥梁

参考链接://m.sbmmt.com/link/c589c3a8f99401b24b9380e86d939842

以上就是大型模型开发工具集已经建立!的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:51CTO.COM,如有侵犯,请联系admin@php.cn删除