AIGC创业大盘点系列之五:大语言模型系统的技术架构分析

系列:

我们上一期聊了AIGC的产品,这一期来探讨一下大语言模型应用的架构,是应用。

这一期依旧比较主观,主要是我们真正构建大语言模型实战中遇到的一些问题与思考

一、技术怎么落地

对于我们创业者来说,面对这样一次巨大的技术革命,大家无疑都是激动的。

刚刚开始,我们会觉得AI很酷,然后觉得大语言模型太聪明了,太酷了,什么都能做

大家有了很多幻想,甚至觉得这一次,AI真的能取代人类的工作。

然后,当我们真正开始研究大语言模型,就会发现可能并不如想象的好用,

为了方便,我们对比一下2009年移动互联网的那一波,

当时如果你想做一个,从0开始学,2到3个月就可以上手,然后就能出活或者接商单了。

但是,现在怎么把这些看上去花里胡哨的技术落地成能够赚钱的产品呢?怎么才能搞出一个可以运行的东西呢?

现在大语言模型应用的技术框架还不太清晰。

请注意,这里说的是应用的技术框架,不是大语言本身的框架。

简单说,就是,如果我真的想创建一个能够应对千万人访问的大语言应用,我应该如何去构建这个系统?

或者说,如果我需要对客户提供的资料实现99%准确度的回答,我应该如何去构建这个系统?

二、大语言模型技术能力范围

可能首先我们要明白的是:这个新技术到底能干嘛?

之前,我们曾经专门讨论过,大语言模型的特点在于:

对自然语言的理解意味着改变了系统与人类的交互方式,

泛化的,无需编程即可完成任务的能力。有自主的推理能力,意味着一定程度的智力

但是同样,大语言模型有着非常明显的弱点。

系统的本质,无非是数据与逻辑,整个系统可以简化为:

从最早的信息系统,到PC时代,互联网时代,移动互联网时代,甚至后来的VR和元宇宙时代,这个思维其实一直都没有变过。

但是,到了AI时代,好像都不一样了,大语言模型的功能与逻辑非常不同。

对了,如果大家希望了解大语言系统的基本使用方法,建议学习一下几个文档或者课程

https://platform.openai.com/docs/introduction

https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/1/introduction

https://learn.deeplearning.ai/chatgpt-building-system/lesson/1/introduction

简单说,大语言模型一旦完成训练,会出现:

除了微调对模型层面的调整这种之外,大语言模型唯一的输入方式几乎就是提示词(Prompt)

以对话为例,你需要将历史的对话信息在模型外保存下来,然后在每次对话中,以提示词的方式输入给大语言模型。

而且,你几乎没办法控制大语言模型内部的逻辑,你无法通过设定配置文件或者数据库来改变流程...

因此,你没办法用传统的方式来设计大语言模型的应用。

五:如何处理逻辑

那么,如何来设计一个大语言模型的应用?

我们想讨论一个很主要的区别:我们把业务的主要逻辑放在什么地方?

或者说,在大语言模型的应用中,大语言模型本身到底应该处于什么角色?

内逻辑:

内逻辑的核心是:将业务的主逻辑放在大模型之内,依赖大语言模型的回答进行处理

例如在课程【使用ChatGPT的API来创建系统】中就包括这样的案例:要求大语言模型以返回Json或XML,然后解析这个Json/XML来进行后续处理。这样的设计,是将大语言模型放置在整个系统的核心,让整个系统根据大语言模型的反馈来行动。

这种结构更【大模型】一些,可能会有非常智能的结果。

但是,正如前面所说,将逻辑输入到大语言模型并不是容易的事情,可能需要成本很高时间很长的微调。

外逻辑:

外逻辑的核心是:将业务的主逻辑放在大模型之外,将大语言模型更类似于一个I/O模块来使用。

按照传统业务的方式来处理主逻辑:

将数据以数据库/文件等传统方式存储

按照传统方式构建业务逻辑,至于大语言模型之外,将整理好的逻辑与数据传入大语言模型中

解析大语言模型的输出结果,作为下个工作流的输入
在这里,我们必须提到一个概念:AI代理(AIAGENT)。

你可以使用Langchain构建一个典型的AI代理。

构建方式:

如何构建一个完整的大语言模型应用

方案

优点

缺点

微调大语言模型

将数据灌入大模型中

  • 回答更智能
  • 有推理能力
  • 成本比较高
  • 实时性差
  • 技术门槛高
  • 可能会失败

Langchain+大语言模型

  • 数据容易扩展
  • 搭建容易
  • 依赖于LLM的能力
  • 缺乏推理能力

六、涉及的知识体系

在线大语言模型:

  1. 在线模型的API
  1. 提示词工程:
  1. 如何使用在线大模型进行微调
  1. 如何构建一个以ChatGPT为核心的应用

离线大语言模型:

  1. 如何运行基本的大语言模型
  1. 如何准备数据,如何微调离线大语言模型

后面,我可能会一个个来讨论要使用的技术与软件。