无论你是为个人用途构建实验性原型, 还是为整个组织开发应用程序, AI技术栈中都有一些关键组成部分,你必须正确把握。
这样才能构建出不仅能生成答案, 还能解决真实、有意义问题的AI系统。
场景:AI驱动的药物研发
举个例子, 假设我正在构建一个AI驱动的应用, 帮助药物研发人员理解和分析其领域内的最新科学论文。
这个项目可能始于我最近听说的一个模型, 据说它在处理博士级研究员那样的高度复杂任务方面表现更佳。
模型是技术栈中一个重要的层次, 但它只是整个拼图的一块。
graph TD;
A[用户查询] --> B{AI 技术栈};
B --> C[1. 基础设施层];
C --> D[2. 模型层];
D --> E[3. 数据层];
E --> F[4. 编排层];
F --> G[5. 应用层];
G --> H[最终输出];
## 深入了解AI技术栈的五个层次
### 1. 基础设施层 (Infrastructure Layer)
首先是模型运行的基础设施。
并非所有的大语言模型(LLM)都能在标准的企业级CPU服务器上运行, 也不是所有模型都小到可以在笔记本电脑上运行。
因此,你能接触到什么样的基础设施以及你选择如何部署它, 这一点至关重要。
在基础设施方面,LLM通常需要AI专用硬件,特别是GPU。 这些可以通过以下三种方式之一进行部署:
-
本地部署 (On-premise) 如果你有财力和资源自行购买这些基础设施。
-
云端 (Cloud) 这允许你租用计算能力,并根据需要进行扩展或缩减。
-
本地设备 (Local) 这通常指在你的笔记本电脑上。 虽然不是所有笔记本电脑都能支持不同规模的LLM, 但确实有一些较小的LLM可以在标准笔记本电脑的GPU上运行。
### 2. 模型层 (Model Layer)
接下来是模型层。
AI构建者在选择使用哪种模型时有很多选择。 需要考虑的一个维度是模型是开源还是专有。
另一个维度是模型大小。 我们有大语言模型,也有可能更轻量、能适应更轻量级硬件的小语言模型。 但后者的思考能力可能与大语言模型不完全相同, 而是专门用于更具体的任务。
最后是专业化。 这有时与模型大小密切相关。 有些模型可能在推理、工具调用或生成代码等方面表现更佳。 其他模型则可能具有不同的语言优势。
在像 Hugging Face 这样的模型目录中,已经有超过两百万个新模型, 可以满足AI构建者可能有的任何不同需求组合。
### 3. 数据层 (Data Layer)
技术栈的下一层是数据。
在我们的例子中,重点是帮助科学家理解他们领域的最新论文。 而模型通常有一个知识截止日期。
所以,如果我们想讨论过去三个月的论文, 这意味着我们必须为AI系统提供额外的数据。 这就是数据层。
它分为几个不同的组成部分:
-
数据源 (Data Sources) 用于补充模型的知识。
-
处理管道 (Processing Pipelines) 用于对数据进行任何预处理或后处理。
-
向量数据库 (Vector Databases) 以及你可能使用的检索系统,也称为RAG(检索增强生成)。
向量数据库是将外部数据向量化为嵌入(embeddings)并保存的步骤。 这样你的模型就可以更快地检索上下文, 并用基础模型所没有的这些额外知识来增强自己。
这一点很重要,因为基础模型通常是在公开可用的信息上训练的, 这些信息可能并不总是足以完成你手头的任务。 你可能需要用额外的数据来补充。
### 4. 编排层 (Orchestration Layer)
下一层是编排。
因为构建一个能做比简单生成文本或回答问题更复杂任务的AI系统, 需要将初始用户输入分解为更小的任务。
这些任务可以从思考开始, 利用模型的推理能力来规划它将如何解决问题。
这也可以包括执行等环节, 模型在其中进行工具调用或函数调用。
还包括审查等步骤, LLM可以对初始生成的响应提出自己的批判, 并发起反馈循环以进一步改进这些响应。
这一层正在迅速发展, 出现了像 MCP 这样的新协议和新架构, 用于更好地编排日益复杂的任务。
### 5. 应用层 (Application Layer)
最后是应用层。
这是因为最终,总有一个用户在使用这个工具。 所以必须有一个界面来定义输入和输出将是什么。 它可能不像文本输入和文本输出那么简单。
最广泛使用的AI系统确实遵循一个非常简单的设计: 文本输入,文本输出。
但当我们在工作和生活中使用这些工具时, 一些重要的特性对于AI的实际可用性变得至关重要, 这些因素构成了应用层。
-
接口 (Interfaces) 最经典的接口是文本输入和文本输出。 但对于某些任务,其他模态也可能非常有价值, 比如图像、音频、数值数据集以及许多其他自定义数据格式。 此外,在界面中,记住修订或引用等功能非常重要, 这样当用户看到模型提出的内容时,他们有能力编辑或进一步查询。
-
集成 (Integrations) 这涉及到允许用户使用的其他工具向AI系统发送输入, 或者获取模型输出并自动化地将其集成到他们日常工作中使用的某些工具中。
[!NOTE] 全局视角至关重要 从硬件到用户界面,你在每个层次做出的选择都将对解决方案的质量、速度、成本和安全性产生重要影响。
结论
总而言之,AI技术栈的这些层次—— 从硬件到模型, 你使用的数据, 你如何编排它, 以及应用和其可用性——都至关重要。
当我们清楚地了解它们如何协同工作时, 我们就能看到真正可能性所在, 并做出实际的选择, 来设计出可靠、有效且符合我们真实世界需求的AI系统。