大语言模型应用的业务架构点

news/2024/9/23 0:22:29/

背景

在国内某小龙干了一段时间了,困于时间、资本、人力等等原因,其实应用在工程侧的业务架构建模并没有做好。但是,随着业务迭代和读论文,对于大语言模型的应用(自认为)有一定的认知了,那么业务建模或者架构的重点是可以梳理一下的了。主要关注业务逻辑和前端的架构(我负责的部分)。

整体认知

  1. AGI不一定是单一模型搞定一切。短期更可能是在多个垂类模型前加一个路由。这个路由可能是意图模型,也可能是MOE的gate。但是,这些都应该反馈到工程侧,形成一定的路径差异。在模型规模/能力远超现在的大小之前,组合小模型会比单一模型的效果好很多;只有要求极强的迁移能力时,单一巨型模型才是合理的。
  2. 接1,有一些意图是应该让用户主动选择的(豆包等的智能体中心很大一部分是在明确意图而不是选模型能力)。
  3. 不同形态的问题,执行的逻辑是不一样的,pe的逻辑也是不一样的。
  4. 输出部分不一定是和模型本体耦合的,而是可以以风格、功能来做特殊训练和插拔的(ChatGPT的json api)。
  5. 特殊token一定是后面做工程化中极为重要的手段,而且是要求从业务需求角度出发,反向向模型训练数据中插入大量的业务化token。
  6. 模型的应用开发流程大概是:模式定义->生成对应的数据->ft->测评,跟传统应用开发能对应上:产品定义->技术设计->coding->测试。

PE认知

PE是为了治疗模型的智障。智障来源于问题不清晰、思考不正确、信息不全、迁移和杂糅等。解决问题主要几个路径:

  1. x-shot这种想办法给例子的。
  2. COT这种引导模型多思考的,这里会有COT这种单路径的,也有TOT这种多分支的,还有ReAct这种。
  3. tooling。
  4. 反思,包括多条的选择(self-consistency)和单条内的修改(reflection)。
  5. 分而治之,planner类或我的POT bot。
  6. 整合,包括多种角色的(ChatDev)、多种知识背景的或者只有超参差异的(ER)。

可能出现的非传统流式形态

最传统形态就是模型一个文本流直接展示到端上,只做一些展示上的优化。

  1. 隐藏模型输出。对于COT、ReAct这些方式,模型输出的很大一部分是思路,这些思路又一定要输出(模型不会思考,只是next token)。所以标记(特殊token)和隐藏这些内容是非常重要的工程能力。
  2. 结构化思考过程。planner、POT这种,甚至人肉的chain规则,这些都是有可能被以结构化的方式来展示的。这些展示的合理、巧妙能极大的提升产品体验。包括了特殊token、特殊格式的规定和展示;chain的建模(openai assistant api的run-step)。
  3. 方法调用。这个包括了后端、前端的方法调用。之前文章的微服务部分简单提到过。细化下来,需要有一个双工长信道来做IPC,传统的trunk或者sse其实都不如websocket靠谱(经典面试题,如何设计跨语言的callback)。同样可以适配到run-step的体系下。
  4. 多流。所有整合类的模式,都需要多流的展示,因为所有这种模式如果只输出整合步骤的内容,首token时间会让产品直接不可用。
  5. 修改。流的每个部分都是可能被重新生成的(reflection)。需要有一个地方持有当前流内容、每段内容用特殊token标记出来,模型的反思以“将token1之后的内容替换为xxx”的形式输出。这里的替换直接反馈到流本体上。注意这里和隐藏输出会有交错,潜在bug会很多。

关键点

  1. 意图分流,以及对于意图->推理过程的管理。以及遍布产品形态内部的意图明确方式:比如重新生成时询问意图、生成样式等。意图作为核心context存在于整个产品生命周期中。
  2. 插件化,两级插件化:特殊token作为纯文本标记,调起特殊逻辑;run-step中的step,直接在流式中打断纯文本行为。
  3. 流累积和管理,不只是端需要做累积+展示,而是后端需要完整管理模型输出,且可能出现全量replace的情况。
  4. 双向流。websocket,这里有个不太懂的,是不是一分钟左右的websocket是不是工程上合理的。
  5. 流式信息样式的极大复杂化。特别是可能会出现各种浮层/子页面+浮层内流式输出的case,毕竟多流直接在正常流式中输出肯定是各种问题的。还要做飞书聊天卡片量级的卡片内样式的横向扩展的设计。

与前端无关的

  1. x-shot的选取和推荐。根据用户反馈、任务相似度、用户相似度做例子的选取(面向模型的推荐系统),以期大幅提高模型回答满意度。
  2. 部分模型层的插拔。以按照用户喜好切换输出模式(面向用户的推荐系统)。

http://www.ppmy.cn/news/1529073.html

相关文章

828华为云征文 | 云服务器Flexus X实例:one-api 部署,支持众多大模型

目录 一、one-api 介绍 二、部署 one-api 2.1 拉取镜像 2.2 部署 one-api 三、运行 one-api 3.1 添加规则 3.2 运行 one-api 四、添加大模型 API 4.1 添加大模型 API 五、总结 本文通过 Flexus云服务器X实例 部署 one-api。Flexus云服务器X实例是新一代面向中小企业…

基于Jeecg-boot开发系统--后端篇

背景 Jeecg-boot是一个后台管理系统,其提供能很多基础的功能,我希望在不修改jeecg-boot代码的前提下增加自己的功能。经过几天的折腾终于搞定了。 首先是基于jeecg-boot微服务的方式来扩展的,jeecg-boot微服务本身的搭建过程就不讲了&#x…

【kafka】主题topic

这里写目录标题 1. 创建主题1). 自动创建;(不建议)2. 通过kafka-topics.sh 创建:3. 通过 TopicCommand 创建: 2. 查看主题2. 其他操作 1. 创建主题 1). 自动创建;(不建议…

【图灵完备 Turing Complete】游戏经验攻略分享 Part.4 处理器架构

比较有难度的一个部分。 运算单元ALU,其实就是通过OP选择计算方式,然后选通某个计算,之后输出。每个计算逐个实现就行了。 下面是一个优化占地面积的ALU,变得紧凑了一点。 下面是一个简单的OP选通原理线路。判断是立即数寻址&…

单核1.5 TFLOPS、ASIL-B功能安全!Imagination发布汽车GPU IP产品Imagination DXS GPU

大模型正在掀起一场智能应用产业革命,带来计算、开发、交互,三大范式全面的升级和转换,计算范式从图灵、冯诺伊曼计算范式转为神经网络计算范式,GPU成为了AI算力核心技术与产品。 39年历史的老牌GPU IP厂商Imagination&#xff0…

【OJ刷题】双指针问题4

这里是阿川的博客,祝您变得更强 ✨ 个人主页:在线OJ的阿川 💖文章专栏:OJ刷题入门到进阶 🌏代码仓库: 写在开头 现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经验和讨论 目录 1…

车辆重识别(CVPR2016图像识别的深度残差学习ResNet)论文阅读2024/9/21

[2] Deep Residual Learning for Image Recognition ( CVPR 2016) 作者:Kaiming He Xiangyu Zhang Shaoqing Ren Jian Sun 单位:微软研究院 摘要: 更深层的神经网络更难训练。我们提出了一个残差学习框架,以减轻对比先前使用的深…

解决Mac下Vscode编译运行C语言程序会自动生成DSYM文件夹的问题

🎉 前言 好久没写C语言了,今天打开Vscode打算写点程序练练手,结果发现一个让我非常苦恼的事情,那就是每次我运行程序的时候,左侧的资源管理器就会生成一大堆的文件,如图: 强迫症犯了&#xff…