如何将LLM 集成到自动化生产系统

关键词:自动化系统自主系统LLM数字孪生微服务多智能体系统 

       在技术不断发展的背景下,自动化和自主系统这两个术语经常交织在一起,但在影响上有明显的不同。两者都涉及到使用技术执行任务,最小化或不需要人工干预,但在决策制定的灵活性上有很大的不同:

  • 自动化: 传统自动化系统遵循预先定义的规则和工作流程,缺乏灵活性和适应性,难以应对不可预见的变化。
  • 自主系统: 自主系统具备更高的适应性和决策能力,能够根据系统目标和可用选项进行动态决策,例如智能机器人和人工智能。

在从自动化到自主的过渡中,关键的区别在于智能——做出明智、动态决策的能力。大语言模型(LLM)可以提供智能,填补传统自动化和工业系统中自主之间的差距。将LLM集成到工业自动化系统中,使我们能够利用它们在工业自动化中执行多样化任务的能力,进一步减少需要人类干预的任务中的智能需求。LLM在从大量数据集中提取重要信息、理解文本、进行推理、解决问题和支持决策过程方面特别有效。通过使这些模型能够基于实时数据执行智能信息处理,它们可以迅速适应变化,从而提高效率和生产力。

1 背景

1.1 自动化金字塔

自动化金字塔是一种组织工业自动化系统任务的框架,将任务分为五个层次:

  • 现场层: 与物理技术过程直接交互,通过传感器和执行器实现。
  • 控制层: PLC 等设备执行实时控制任务,例如控制调节和执行功能。
  • 监控层: SCADA 和 HMI 系统允许操作员监控和调整过程。
  • 生产计划层: 管理生产计划和调度,协调物流和生产过程。
  • 企业层: 通过 ERP 系统整合各种业务功能,增强决策和资源管理。

1.2 数字孪生在自动化生产的作用

数字孪生是与物理系统同步的软件系统,能够实现数据驱动优化和远程交互。它充当 LLM 和自动化系统之间的桥梁,提供实时数据和控制接口。

1.3 LLM作为智能自主系统的使能者

将LLM集成到系统中,为数字孪生增加了用于高级数据分析和决策制定的智能。模型利用大量文本执行推理,提供洞见,解决任务,并支持数据驱动的决策制定,为广泛的问题的解决提供了通用智能。这种智能可以被用来增强自动化系统内的适应性和灵活性,从而更快地响应变化和自动化问题解决。

2 方法论

2.1 LLM智能体和LLM多智能体系统的任务分解

核心上,一个生成性LLM是一个深度神经网络,用于处理和生成基于文本的信息.这种能力使它们能够作为智能体行动,装备了解释不同信息并生成作为任务响应的输出的能力。

如果一个任务对于单个LLM智能体来说太复杂而无法处理,那么就需要进行任务分解。这就是将LLM智能体设计为多智能体系统的一个组成部分的地方。每个LLM智能体都被赋予解决整个过程中的特定子任务,如上图所示。这些子任务可以从解释数据输入和生成动态过程计划到确定下一个可执行的微服务作为动作。智能体在一个框架内运作,其中复杂任务被分解成更易于管理的子任务,允许各个智能体更有效地执行它们。

2.2 结构化提示和智能体设计模板

为了为LLM开发一个有效的提示以执行特定任务,有必要解决几个关键方面以指导文本生成行为。根据在创建基于LLM的应用程序中的经验,本文概述了这些方面,形成了一个有效提示的模板。

这个模板包括以下关键元素:

  • 角色、责任和目标:概述智能体的功能角色和它旨在实现的目标,确保与其责任和更广泛的系统目标一致。
  • 上下文规范:提供与任务相关的详细背景信息,使智能体能够解释任务特定的上下文。
  • 行为指导和约束:包含指导智能体响应的规范,确保它们遵守任务责任。
  • 输入输出抽象模式:定义输入和输出的抽象格式,帮助标准化智能体的交互并生成可解析的输出。
  • 输入输出交互字段:提供动态输入,并在输出部分仅保留提示词“Output:”,迫使LLM仅通过文本延续生成输出内容。

2.3 为自动化系统中不同层级的任务设计专用的LLM智能体

在之前介绍的基础上,可以设计一个多智能体系统来执行自动化金字塔不同层级的多样化任务。

在LLM多智能体系统中,每个LLM智能体被分配一个特定的角色。在计划层面,一个管理智能体负责整体生产操作的规划。在控制层面,操作员智能体负责控制任务,根据实时数据做出决策,作为微服务接口调用的可执行操作。

数字孪生系统是多智能体系统的基础,通过提供物理过程的实时信息和控制接口。现场层级的执行被管理为微服务,当需要时,可以通过运行时接口调用。这种集成使LLM智能体能够通过数字孪生软件接口立即访问数据和控制机制

3 系统设计

3.1 概念设计

 LLM智能体通过解释数字孪生系统提供的生产特定信息、规划操作和做出决策,并根据用户命令或系统触发事件生成流程计划。

  • LLM 多智能体系统: 由多个 LLM 智能体组成,每个智能体负责特定任务,例如计划、控制、决策等。
  • 数字孪生系统: 与物理生产系统同步,提供实时数据和控制接口,充当 LLM 智能体和自动化系统之间的桥梁。
  • 自动化系统: 包括 PLC、AGV、传感器、执行器等自动化设备,执行具体的操作任务。

3.2 系统组件

3.2.1 运行时环境

  • OPC UA 服务器: 与 PLC 交互,读取和设置值,访问和修改 PLC 的操作参数和状态。
  • ROS 服务器: 控制和协调 AGV 的物流功能。
  • 服务注册: 记录所有可用的微服务,并提供查找和调用接口。
  • 数据池: 聚合来自系统各个部分的实时数据,并供外部组件访问。

3.2.2 事件驱动信息建模

将硬件级数据转换为语义丰富的信息,并以事件日志的形式组织,供 LLM 智能体进行推理和决策。

  • 数据观察者: 监控数据池中的数据变化,并应用规则将数据变化转换为有意义的事件。
  • 事件日志内存: 以时间顺序组织事件,并为每个事件分配系统时间戳。

3.2.3 LLM 智能体决策和微服务执行

 LLM 智能体订阅特定事件,并根据事件信息进行决策,生成可执行的命令,并通过微服务运行时执行器执行。

  • 管理员智能体: 负责生产操作的总体计划,并根据用户命令或系统触发事件生成流程计划。
  • 操作员智能体: 负责控制任务,根据实时数据和 LLM 智能体生成的命令执行具体的操作。
  • 微服务运行时执行器: 解析 LLM 智能体生成的命令,并调用相应的微服务执行操作。

3.3 案例设置

  • 模块化生产系统: 在斯图加特大学工业自动化和软件工程研究所的实验室中,搭建了一个模块化生产系统,包括多个自动化模块,能够执行各种生产和物流任务。
  • 数字孪生系统: 建立数字孪生系统,支持实时数据访问和控制接口。
  • LLM 多智能体系统: 在计划和控制层设计 LLM 智能体,并根据自动化金字塔的层次结构进行组织。

3.4 系统交互

  • 数据采集: 传感器采集物理生产系统的实时数据,并将其发送到数据池。
  • 数据观察和事件生成: 数据观察者监控数据池中的数据变化,并应用规则将数据变化转换为有意义的事件,然后将事件记录到事件日志内存中。
  • LLM 智能体决策: LLM 智能体订阅特定事件,并根据事件信息进行推理和决策,生成可执行的命令。
  • 命令执行: 微服务运行时执行器解析 LLM 智能体生成的命令,并调用相应的微服务执行操作,例如控制 PLC 或 AGV。
  • 反馈和调整: 系统收集操作结果数据,并将其反馈给 LLM 智能体,以便进行后续的决策和调整。

3.5 系统优势

  • 动态决策和规划: LLM 智能体能够根据实时数据进行动态推理和决策,并生成灵活的流程计划。
  • 创造性问题解决: LLM 智能体能够处理不可预见的问题,并提出创新的解决方案。
  • 减少人工干预: 系统能够自动执行许多任务,从而减少人工干预,提高效率。
  • 提高适应性: 系统能够快速适应生产环境的变化,例如设备故障或订单变化。

4 评估

4.1 评估目标

  • 评估 LLM 智能体解释和执行基本任务的能力。
  • 评估系统处理预定义和不可预见事件的能力。
  • 评估不同 LLM 模型的性能差异。

4.2 评估方法

  • 测试用例: 设计了 100 个测试点,包括 50% 的预定义常规任务和 50% 的不可预见事件。
  • LLM 模型: 使用了多种 LLM 模型,包括 GPT-4o、GPT-3.5、LLM-3-8B、LLAMA-3-70B 和基于 LLM-3-7B 的微调模型。
  • 评估指标:

可执行性: 生成的命令是否可以正确执行。

有效性: 生成的命令是否能够有效解决问题,由人工评估者进行判断。

4.3 评估结果

不同 LLM 模型的性能

  • GPT-4o 和基于 LLAMA-3-70B 的微调模型在可执行性和有效性方面表现最佳,分别达到 88% 和 87%。
  • LLM-3-8B 的性能明显下降,仅为 53%,表明小型模型可能无法有效地执行复杂的计划和控制系统任务。
  • 系统处理不可预见事件的能力: 系统能够有效地处理不可预见的事件,并提出创新的解决方案,例如在输送机故障时自动通知人类监督员并建议重新启动输送机。

4.4 评估结论

  • LLM 智能体能够有效地解释和执行基本任务,并处理不可预见的事件。
  • 不同的 LLM 模型在性能上存在差异,选择合适的模型对于系统性能至关重要。
  • 基于开源模型进行微调可以获得与私有模型相当的性能,从而降低成本。

4.5 未来研究方向

  • 实时性能优化: 探索降低 LLM 推理延迟的方法,以满足实时控制系统的需求。
  • 更全面的测试: 在真实生产环境中进行更全面的测试,验证系统的鲁棒性和可靠性。
  • 成本效益分析: 评估 LLM 集成方案的经济可行性,并与其他解决方案进行比较。
  • 扩展应用领域: 将 LLM 集成到其他工业自动化场景中,例如预测性维护、质量检测等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/797510.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Re:从零开始的C++世界——(一)入门基础

文章目录 C发展历史1.命名空间1.1 namespace的价值1.2 namespace的定义1.3 命名空间使⽤ 2.C输⼊&输出3.缺省参数3.1 缺省参数的概念3.2 缺省参数的分类 4.函数重载5.引⽤5.1引⽤的概念和定义5.2 引⽤的特性5.3 const引⽤5.4 使用场景5.5 指针和引⽤的关系 6.内联函数6.1内…

linux_进程周边知识——理解冯诺依曼体系结构

前言: 本篇内容是为了让友友们较好地理解进程的概念, 而在真正了解进行概念之前, 要先了解一下冯诺依曼体系结构。 所以博主会先对冯诺伊曼体系结构进行解释, 然后再讲解进程的概念。 ps: 本篇内容适合了解一些linux指…

【redis操作语句】

1.数据库操作 redis默认有16个数据库,编号为0~15,且默认访问0号数据库 获取当前键值对数量:先set创建一个键值对,再用dbsize获取,flushdb清空再获取。 127.0.0.1:6379> set k1 v1 OK 127.0.0.1:6379> dbsize (integer) 1 127.0.0.1:…

opencv 中如何通过欧式距离估算实际距离(厘米)

1:这个方法个人测试觉得是正确的,误差较小,目前满足我当前的需求,如果方法不对,请大家评论,完善。 2:确保拍摄的参照物是垂直的,如果不垂直,就会有误差,不垂…

基于SpringBoot+Hadoop+python的物品租赁系统(带1w+文档)

基于SpringBootHadooppython的物品租赁系统(带1w文档) 基于SpringBootHadooppython的物品租赁系统(带1w文档) 物品租赁系统是电子、信息技术相结合,是一种必然的发展趋势。以互联网为基础,以服务于广大用户为目的,发展整体优势,扩…

Flutter实现局部刷新的几种方式

目录 前言 1.局部刷新的重要性 1.概念 2.重要性 2.局部刷新实现的几种方式 1.使用setState方法进行局部刷新 2.使用StatefulWidget和InheritedWidget局部刷新UI 3.ValueNotifier和ValueListenableBuilder 4.StreamBuilder 5.Provider 6.GetX 7.使用GlobalKey 前言 …

游戏三倍补帧工具 Lossless Scaling v2.9.0

运行时请将游戏窗口化或全屏 比如你的显示器是144hz 把游戏限制帧率到48帧后开启三倍补帧 允许撕裂和垂直同步一起来延迟更低 72,48,36,分别对应1/2,1/3,1/4,性能够的话(补帧后满144fps)就优先锁72fps&a…

自动驾驶中的人机互相接管问题讨论

一、背景 人机接管(human takeover)是指在自动驾驶过程中,当系统遇到超出其处理能力或预设安全阈值的情况时,将控制权交还给驾驶员的过程。这一环节的设计直接关系到自动驾驶技术的实用性与安全性,是目前研究和实践中…

深入解析双向链表与单向链表的区别:示例详解

文章目录 一、单向链表与双向链表的定义及结构二、单向链表与双向链表的区别示例插入操作删除操作 三、完整示例四、总结 链表是一种灵活的数据结构,它通过指针连接一系列节点,实现了动态数组的特性。在众多链表类型中,单向链表和双向链表是最…

vue2学习笔记2-老规矩,从Hello World开始,了解Vue实例和模板

想要实现的效果&#xff1a;在页面上展示“Hello&#xff0c;World”字符串 1、准备一个【容器】div 想要把“Hello&#xff0c;World”放置在页面上&#xff0c;首先需要准备一个HTML的块级元素div&#xff0c;来承接内容。所以&#xff0c;我们先在<body>中定义<di…

Android12 MultiMedia框架之GenericSource extractor

前面两节学习到了各种Source的创建和extractor service的启动&#xff0c;本节将以本地播放为例记录下GenericSource是如何创建一个extractor的。extractor是在PrepareAsync()方法中被创建出来的&#xff0c;为了不过多赘述&#xff0c;我们直接从GenericSource的onPrepareAsyn…

《昇思25天学习打卡营第17天|K近邻算法实现红酒聚类》

K近邻算法原理介绍 K近邻算法&#xff08;K-Nearest-Neighbor, KNN&#xff09;是一种用于分类和回归的非参数统计方法&#xff0c;最初由 Cover和Hart于1968年提出是机器学习最基础的算法之一。它正是基于以上思想&#xff1a;要确定一个样本的类别&#xff0c;可以计算它与所…

springboot在线教育平台-计算机毕业设计源码68562

摘要 在数字化时代&#xff0c;随着信息技术的飞速发展&#xff0c;在线教育已成为教育领域的重要趋势。为了满足广大学习者对于灵活、高效学习方式的需求&#xff0c;基于Spring Boot的在线教育平台应运而生。Spring Boot以其快速开发、简便部署以及良好的可扩展性&#xff0c…

TypeError: Rule.__init__() got an unexpected keyword argument ‘method‘报错的解法

报错如图&#xff1a; 原代码&#xff1a; app.route(/query,method[get,post]) 解决办法很简单&#xff0c;method后加s​​​​​​​ app.route(/query,methods[get,post]) 重新执行代码&#xff0c;不报错了

C++ QT开发 学习笔记(1)

C QT开发 学习笔记(1) 考试系统 创建项目 新建Qt桌面应用程序&#xff0c;项目名&#xff1a;ExamSys。 类信息&#xff1a;类名LoginDialog继承自QDialog &#xff08;1&#xff09; ExamSys.pro 工程文件&#xff0c;包含当前工程的相关信息。 QDialog 是 Qt 框架中用…

大数据基础:Hadoop之MapReduce重点架构原理

文章目录 Hadoop之MapReduce重点架构原理 一、MapReduce概念 二、MapReduce 编程思想 2.1、Map阶段 2.2、Reduce阶段 三、MapReduce处理数据流程 四、MapReduce Shuffle 五、MapReduce注意点 六、MapReduce的三次排序 Hadoop之MapReduce重点架构原理 一、MapReduce概…

JavaScript中的面向对象编程

OPP在JavaScript的表现方式&#xff1a;原型 传统的OPP&#xff1a;类 ● 对象&#xff08;实例&#xff09;由类实例化&#xff0c;类的功能类似于蓝图&#xff0c;通过蓝图来实现建筑&#xff08;实例&#xff09; ● 行为&#xff08;方法&#xff09;从类复制到所有实例 …

【2-1:RPC设计】

RPC 1. 基础1.1 定义&特点1.2 具体实现框架1.3 应用场景2. RPC的关键技术点&一次调用rpc流程2.1 RPC流程流程两个网络模块如何连接的呢?其它特性RPC优势2.2 序列化技术序列化方式PRC如何选择序列化框架考虑因素2.3 应用层的通信协议-http2.3.1 基础概念大多数RPC大多自…

并查集——AcWing 239. 奇偶游戏

目录 并查集 定义 运用情况 注意事项 解题思路 AcWing 239. 奇偶游戏 题目描述 运行代码 代码思路 改进思路 并查集 定义 并查集&#xff08;Disjoint Set Union&#xff0c;简称DSU&#xff09;&#xff0c;是一种树形的数据结构&#xff0c;常用于处理一些不交集…

jvm 07 GC算法,内存池

01 垃圾判断算法 1.1引用计数算法 最简单的垃圾判断算法。在对象中添加一个属性用于标记对象被引用的次数&#xff0c;每多一个其他对象引用&#xff0c;计数1&#xff0c; 当引用失效时&#xff0c;计数-1&#xff0c;如果计数0&#xff0c;表示没有其他对象引用&#xff0c;…