ChatGPT:大语言模型在自动化工业应用

GPT42024-01-19 09:31:031001

  本文作者是好朋友Lola,前些天她给我发了一篇英文论文,然后很兴奋的说她也要输出倒逼输入,把这篇文章梳理出来可以发我的公众号上。而自己虽然一直把写论文放在核心目标上,但一拿起论文就头痛,反而是她提醒了我。这篇文章就是Lola对这篇英文论文的感想和体悟,总结的还不错。

    后续还是得把朋友些聚起来,大家不在一个公司,不考虑利益,也就是一起研究,做一些输出,做一些探索就已经很有意思了。

    公众号内容依旧有点乱,希望能体谅。但这就是我的生活,分享中有身心灵的书自我疗愈,一些咨询方法论和新技术的研究也不会少。

1应用背景

    在工业制造领域面临着日益多变的市场需求,然而传统的生产系统通常存在灵活性不足以及在重新配置生产设备方面缺乏特定领域知识的问题。为了应对这种挑战,制造商们迫切需要建立更灵活的生产系统,以便在迅速变化的市场环境中快速适应并保持竞争力。柔性生产已经成为制造业应对市场变化和定制需求的关键战略。然而,实现柔性生产面临多项技术挑战,包括:
    1. 无缝整合各种技术解决方案,如机器人、自动化以及规划算法等。
    2. 使用模块化系统、流程和可支持灵活配置的生产设备。
    3. 快速实现产线转换以应对特定需求的变化。
    4. 建立高素质员工队伍,精通各种复杂技术,以便有效地管理和监督复杂的生产系统。
    为了克服这些挑战,德国斯图加特大学提出了一种新颖的解决方案,即利用LLM(Large Language Model)结合agent(智能代理)的方式来增强自动化模块化生产系统。这一解决方案的核心要点包括:
    1. 利用LLM来提升工业自动化系统的智能性和适应性,特别是在柔性生产环境下。
    2. 基于自动化金字塔结构进行系统设计,将LLM+agent(智能代理)有机地集成到自动化系统中。
    3. 采用情境学习方法,将特定任务的知识注入到LLM中,以提高系统对环境变化的感知和响应能力。
这一创新性解决方案旨在帮助制造商建立更灵活、智能和适应性强的生产系统,以应对不断变化的市场需求和定制化要求。

2技术解释

在正式开始介绍该框架之前,我先为大家解释一下文章提到的一些专业技术及概念,这些技术都将与LLM相结合,共同构建模块化智能生产系统。

Agent

Agent是一种能够在任何系统中自主思考和与环境交互的智能体,它可以理解为有一个通用大脑(LLM)和一个控制器(外部工具)的组合。LLM是Agent的核心,它提供了语义理解、逻辑推理、规划决策等能力,而外部工具是Agent的辅助,它提供了感知、反馈、执行等功能。Agent弥补了LLM的不足,使其能够处理更加复杂和多样的任务,而不仅仅是生成文本。(agent结构见图一)
Agent在工业领域有很多应用,例如:
  • 工业自动化:Agent可以用来控制和协调工业生产过程中的各种设备和系统,如机器人、传感器、执行器等,实现高效、灵活、可靠的生产。
  • 软件工程:Agent可以用来开发和维护复杂的软件系统,如分布式系统、嵌入式系统、云计算等,提高软件的可扩展性、可维护性和可靠性。
  • 机器人和人工智能:Agent可以用来模拟和实现人类或其他生物的智能行为,如感知、推理、规划、学习、交互等,增强机器人和人工智能的智能水平和任务表现。

本文为自动化模块层开发了一个核心智能代理和多个智能代理,这些代理专为管理各自范围内的生产任务而设计。

图一:agent结构

柔性生产:

柔性生产是一种先进的生产方式,它旨在根据市场需求的变化,快速、灵活地调整生产线和工艺流程,以实现多品种、小批量、高质量的产品制造。柔性生产的核心依赖于柔性制造技术,该技术借助计算机、数控机床、物料运输系统等设备,能够实现对不同形状和尺寸的零件的自动化加工。
在实现柔性生产的过程中,通常采用以下三种常见的模块化生产系统结构类型(见图二):
  1. 线性生产:生产过程按照固定的顺序依次进行,每个模块执行特定的任务,然后将工件传递给下一个模块。这种结构相对简单,但缺乏足够的灵活性和适应性,因此难以应对多样化和定制化的需求。
  2. 并行生产:生产系统具备同时运行多个模块和生产线的能力,可以执行不同的任务。这种结构增加了生产的并发度和效率,也能够实现一定程度的多样化和定制化。然而,它通常需要额外的运输系统来连接各个模块,并仍然受到线路结构的限制。
  3. 矩阵化生产:生产系统将传统的线性结构改为矩阵结构,由多个模块化的生产单元和自动化的运输系统(通常是自动导引车)组成。这些系统可以根据不同的产品需求,以高度的组织灵活性重新配置和组合各个生产单元,从而实现多样化和定制化的生产任务。矩阵化生产具有出色的适应性,能够快速响应市场变化和客户需求。

尽管矩阵模块化生产在结构上具备灵活重组的优势,但在规划和流程协调方面仍然需要公司内部积累的专业知识。LLM拥有解释信息、生成推理见解以及协助决策的能力。经过大量数据训练,LLM可以理解和处理各个领域的复杂信息。借助LLM的解释和推理能力,可以简化规划和流程协调,从而更快地解决问题,更好地适应客户需求。

图二:三种生产结构类型

数字孪生:

数字孪生是一种创建物理对象和过程的虚拟模型的方法,它可以实现对物理对象或过程的实时监测、模拟、优化和控制,从而提高效率、质量和创新能力。数字孪生在自动化工业领域有着广泛的应用。

普通的自动化设备管理系统并不完全具备提供有关生产的全面描述信息以及用于查询和控制物理过程的统一界面的能力,而数字孪生是物理资产或流程的同步虚拟表示,它包含有关生产的描述性信息。而LLM拥有丰富的知识和推理能力,但在特定领域知识及物理世界的信息感知能力薄弱。数字孪生便可以为 LLM 操作物理系统提供统一接口,以弥合 LLM 与物理世界之间的差距。(数字孪生、自动化设备管理系统、LLM之间关系与架构如图三)

一方面,通过数字孪生和 LLM 增强自动化系统,释放数据和人工智能驱动的智能工厂的潜力;另一方面,通过结合自动化系统和数字孪生的既定基础设施,LLM 在现实中得到体现,从而与物理环境进行互动。

图三:数字孪生、自动化设备管理系统、LLM之间关系与架构

3框架描述

1、整理数据

首先,为了确保LLM agent能够准确理解生产系统,我们需要整合信息并公开数字孪生的服务接口。这一步骤的核心是建立一个数据基础设施,容纳生产系统全面信息。数字孪生系统应以模块化和级联的方式为生产系统建模,确保每个模块都包含了详细的资产信息。(如图四,展示了运输机器人的资产信息模板,包含描述、操作等url地址)

在数字孪生系统中,我们使用资产管理来构建描述信息,将查询信息和命令动作以URL的形式开放,这些接口可以通过RESTful调用的方式来查询资产状态和控制自动化设备管理系统功能。

图四:运输机器人的资产信息模板,包含描述、操作等url地址

2、规划LLM agent

在整理了数据并为数字孪生系统建立了高质量的信息基础后,我们进一步构建Agent。Agent的构建需要考虑数字孪生系统提供的资产描述知识和可调用接口。具体而言,我们可以建立两种类型的智能代理:

  1. 管理者代理:这些代理位于自动化模块的顶层,其主要任务是协调自动化模块的各种技能以规划生产。管理者代理可以根据数字孪生系统中的资产描述知识和可调用接口来进行决策和规划。
  2. 操作员代理:这些代理位于特定的自动化模块内部,其任务是协调各种功能以执行给定的技能。操作员代理的存在可以将高难度任务分解为几个易于管理的子任务,提高了任务执行的效率和精确度。

3、agent提示模板

在这一步骤中,我们通过设计提示结构来创建适应特定任务的LLM agent。提示结构有五个关键部分,用于引导LLM agent的行为和理解任务。这些部分包括:

  1. 角色和目标:提供代理的角色(如操作员、经理、顾问)和任务目标,明确定义了特定任务的执行方式。
  2. 背景:从数字孪生中获得生产系统信息,如我们上面整理数据得到的资产信息,不过数字孪生里面的知识展现与自然语言不同,这里需要将资产信息转换为自然文本形式输入给agent。这样agent能理解生产系统的运行,也能在它已有的广泛知识中更加专注于本系统提供的知识。
  3. 指令:指导LLM agent的行为,让模型逐步思考,还包括输出格式和内容的边界。
  4. 示例:提供验证过的示例,展示所需的输入-输出模式。
  5. 输入和输出交互模式:前面四部分都是让agent具有足够的知识和限制来理解任务,这一块便是要执行的具体任务,该任务可以是用户向“管理者代理”提出的协调任务,也可以是“管理者代理”向“操作员代理”提出的操作任务(调用自动化设备管理系统来执行设备的功能)。从图五中可以看到output:后面并不完整,因为这后面就是agent自己要理解任务并往下分发的动作。

图五:agent提示模板

4、LLM agent与生产系统实际交互

  • 管理员代理示例

以下是管理者代理的提示示例,定义一个属于管理者角色目标,并从数字孪生系统中查询到有关生产工序的数据并转换为自然语言作为“背景”嵌入提示模板中,在指令模块写出大致的任务描述,再给出一些标准的输入输出示例,由LLM生成任务步骤。

任务步骤输入MES系统,再分发给各操作员代理。在这里你是不是有个疑问,为什么是输出给MES系统,而不是直接发给各操作员代理呢?其中,MES系统是制造执行系统的缩写,它是一种用于监控和控制工厂生产过程的软件解决方案,管理员代理只负责规划生产任务的大致步骤,而不涉及具体的设备操作和控制。

以上提示模板发给GPT-3.5后,返回:

操作员代理示例

以下是操作员代理的提示示例,首先定义一个操作员的角色目标的描述,从数字孪生系统的“资产管理”模块中查询该生产系统的信息并转换为自然语言,定义好任务大致描述,再提供输入、输出的示例,最后根据MES系统输入的细分任务(如上一步GPT-3.5输出的“(T1) 将工件从存储模块运送到检验模块。”)整理为一个模版,通过LLM规划出对具体的自动化设备系统通过restful接口发起指令动作。

操作员代理提示信息发送给GPT-3.5后,返回:

5、请求流程(如图六)

  1. 用户向“管理者代理”输入总体任务
  2. “管理者代理”通过查询数字孪生的资产管理模块来获取到提示模版中的背景
  3. “管理者代理”生成完成提示模板,并通过LLM获取到任务分解的回答
  4. “管理者代理”根据任务分解后的步骤,提交给MES系统去执行,调用各个“操作员代理”
  5. “操作员代理”通过查询数字孪生的资产管理模块来获取到提示模版中的背景
  6. “操作员代理”生成完成提示模板,并通过LLM获取到任务分解的回答
  7. “操作员代理”将分解步骤按照restful接口的形式,依次分发到自动化设备管理系统中去执行

图六:整体执行流程

6、解决痛点

  1. 提高生产效率与灵活性:这种框架增强了生产系统的推理和决策能力,减少了对人力的需求,提高了生产效率,同时也增加了生产系统的灵活性,降低了生产过程中的延时,可以更好地适应市场需求的变化。
  2. 知识传递与信息补充:数字孪生系统弥补了LLM-agent的信息缺口,这种信息补充有助于代理更好地理解物理系统。由于LLM本身具有广泛的知识,数字孪生的补充知识能提高当前信息的权重,提高了决策的准确性。
  3. 模块化功能的可扩展性:该框架提倡模块化开发并提供完善的接口,模块化方法提高了功能的重用性,降低了系统开发和维护的复杂性。

这个框架虽然带来了显著的好处,但仍然面临一些技术限制和业务挑战,这些限制和挑战包括:

  1. 整合多设备厂商的控制接口:将各个设备厂商的细粒度控制接口整合到一个统一的框架中,这需要深入了解各个设备的通信协议和控制机制并备完成设备层面的代码模块化,以便自下而上的协同工作。
  2. 自然语言转换与模型理解:转换数字孪生中的数据知识与自然语言之间的转换是一项挑战性的任务。一方面不准确或有损失的转换可能导致生产系统对 LLM -agent的理解偏差,另一方面也很难评估 LLM -agent是否能准确理解提示模板中提供的背景信息并做出正确决策。
  3. 数据质量与动态数据:获取高质量、高保真度的数据是一项困难和耗时的任务,但这对于数字孪生系统的可靠性又至关重要。该框架的LLM-agent都是基于restful接口做的无状态的交互,但为了跟踪对环境的动态影响并做出更明智的决策,智能代理需要保存有关生产的数据记忆,模型就需要额外的内存或外联数据库来更好的缓存时序数据。
  4. 解释性与决策机制:目前的LLM可能无法提供解释性,而且其决策通常是基于概率的猜测。为了提供更高的可解释性和决策保障,需要引入一种机制,如知识图谱等。
  5. 缺乏测试和评估体系:目前尚未建立完善的测试和评估体系,用于评估智能代理的正确性和性能。这包括确定如何评估代理的决策是否符合预期和系统是否正常运行。
  6. 大模型的本地化部署难度:针对大量领域数据训练的强大LLM进行本地化部署需要相当大规模的硬件和计算要求。因此,利用特定领域的专用数据对较小的模型进行微调可能是一种潜在的解决方案。

该框架的提出参考下面引用的论文地址,虽然目前该框架还有很多局限性,但这仍然让我们看到了未来工厂的发展方向。并且与数字孪生、MES系统、知识图谱相结合让我们明确了目前的正在实施的工作有更多价值。而对于工业软件的服务提供商来说,该框架中提到的设备模块化、agent划分规则及构建方式、数字孪生的建立等也能为我们现阶段的工作带来很多启发。

引用:

Towards autonomous system: flexible modular production system enhanced with large language model agents (arxiv.org)

A Survey on Large Language Model based Autonomous Agents(arxiv.org)

本文链接:http://lechangxia.cc/gpt4/573.html

相关文章