“ 我相信玩过文生图应用的朋友们都或多或少的听过或用过ComfyUI,它是一个基于节点的图形用户界面,专为Stable Diffusion设计,用于图像生成工作流的管理与执行。ComfyUI通过其节点式的操作界面,使得工作流程更加直观和灵活。这种高度定制化的功能使得ComfyUI在AI绘画爱好者和数字艺术家中非常受欢迎。然而,真正使用过ComfyUI的朋友们应该都知道-ComfyUI虽然旨在用户友好,但仍然要求用户在理解各种生成模型组件的原理和精心设计工作流程方面具有一定程度的专业知识,即要想使用好它,仍然需要较高的门槛!本文介绍了GenAgent,这是一个基于LLM的框架,可以自动生成各种复杂的工作流,与单个模型相比,它能够提供更强大的灵活性和可扩展性。GenAgent的核心创新在于用代码表示工作流,同时逐步构建具有协作代理的工作流。在该框架中,Agent协作完成工作流生成任务。Gen Agent主要由三个独立的模块组成:Memory、PlanAgent和Action。”
项目主页-https://xxyqwq.github.io/GenAgent/
代码链接-https://github.com/xxyQwQ/GenAgent
论文链接-https://arxiv.org/pdf/2409.01392
01-ComfyUI简介
ComfyUI是一个基于节点的图形用户界面,专为Stable Diffusion设计,用于图像生成工作流的管理与执行。
ComfyUI通过其节点式的操作界面,使得工作流程更加直观和灵活。用户可以通过拖放不同的节点来构建自定义的图像生成流程,这些节点包括加载模型、输入提示词、指定采样器等。这种高度定制化的功能使得ComfyUI在AI绘画爱好者和数字艺术家中非常受欢迎。
ComfyUI不仅适用于高级用户,还对初学者十分友好。它的灵活性和较低的系统配置要求使其成为不同层次用户的理想选择。对于新手来说,ComfyUI提供了详细的指南和教程,帮助他们从基础的文本到图像生成开始,逐步掌握更复杂的操作。
此外,ComfyUI支持多种安装方法,包括官方整合包和一键启动器,进一步简化了安装过程,使其更易于本地部署和使用。对于已经熟悉Stable Diffusion和其他AI绘图工具的用户,ComfyUI提供了一个更加高效和可定制的平台,以实现他们的创意构想。
总的来说,ComfyUI以其强大的功能、易用的界面及广泛的适用场景,正在改变人们使用AI技术进行图像创作的方式。
02-GenAgent背景简介
人工智能的最新发展是由协作人工智能系统日益增长的重要性所定义的,该系统集成了多种模型和工具,作为一个整体协同工作。ChatGPT Plus的成功提供了将各种任务(如网页浏览、图像生成和代码执行)集成到单个会话代理中的可能性。与作为单个实体的传统人工智能模型不同,协作人工智能系统集成了多个人工智能组件,每个组件都有独特的能力来解决复杂的问题。这种向集成的转变对于实现最先进的结果至关重要,因为它在统一的框架内利用了各种人工智能功能的组合优势。
不幸的是,协作系统的设计空间和优化通常需要大量的人类专业知识。例如,各种协作系统利用了不同的方法:AlphaCode 2为编码问题生成多达100万个解决方案,然后对其进行过滤和评分。AlphaGeometry通过LLM迭代地建议几何问题中的构造,并检查符号引擎产生的推断事实。ComfyUI虽然旨在用户友好,但仍然要求用户在理解各种生成模型组件的原理和精心设计工作流程方面具有一定程度的专业知识。这就引出了一个关键问题:我们能否开发一个类似于人类专家的智能代理,能够自主设计协作人工智能系统?
如上图所示,作者将协同人工智能系统的自动设计定义为自动工作流设计问题。工作流是协作人工智能系统的高级抽象。这些管道是通过将人工智能相关组件(如人工智能模型、检索器和外部工具)系统地组织成分析数据、执行任务或提供输出的过程而构建的。GenAgent框架通过创建工作流来构建协作AI系统。工作流被转换为代码,以便LLM代理能够更好地理解它们。GenAgent可以从人类设计的工作流程中学习并创建新的工作流程,生成的工作流可以被解释为完成复杂任务的协作系统。
03-GenAgent算法简介
以前的许多人工智能研究都集中在开发单个模型上,按照最大限度地提高其智能和能力,主要目标是提高特定任务的性能。相比之下,本文探索了一种替代方法:使用工作流集成模型、数据源和管道的协作人工智能系统,从而解决复杂多样的任务。
本文介绍了GenAgent,这是一个基于LLM的框架,可以自动生成各种复杂的工作流,与单个模型相比,它能够提供更强大的灵活性和可扩展性。GenAgent的核心创新在于用代码表示工作流,同时逐步构建具有协作代理的工作流。
作者在ComfyUI平台上实现了GenAgent,并提出了一个新的基准OpenComfy。大量的实验结果表明:GenAgent在运行级和任务级评估中都优于基线方法,表明其能够生成具有卓越有效性和稳定性的复杂工作流。
04-GenAgent算法应用场景
04.01-文生图工作流
上图展示了ComfyUI平台中GenAgent的文生图样例。该任务是跟随给定照片中的姿势,并根据描述生成新图像。通过观察与分析,我们可以发现:GenAgent生成了一个包含13个节点的工作流,并成功的将输入图片中的小女孩换成了一个在森林中的男人。
04.02-图生视频工作流
上图展示了ComfyUI平台中GenAgent的图生视频样例。该任务涉及样式转换、图像到视频生成、超分辨率和帧插值等技术。通过观察与分析,我们可以发现:GenAgent生成一个包含22个节点的工作流,最终生成满足任务要求的高质量视频。根据输入的一张图片生成对应的高质量视频。
05-GenAgent算法流程
作者提出了GenAgent框架,在该框架中,Agent协作完成工作流生成任务。Gen Agent主要由三个独立的模块组成:Memory、PlanAgent和Action。
-
Memory包括历史、参考和工作空间,存储代理最近的历史行为、中间结果、外部参考知识和内部推理。
-
PlanAgent负责根据任务指示对工作流进行全局规划。在每一步中,PlanAgent都会生成一个高级计划,其中包含基于当前内存和任务指令的行动决策。
-
Action代表PlanAgent可以选择的不同活动,每个动作的目标都是修改当前内存。不同的操作由不同的代理或模块处理。
上图展示了GenAgent框架的架构,多个代理协作以逐步生成工作流。PlanAgent接收任务指令,并在每一步生成高级计划和行动决策。然后,Combine Agent、AdaptAgent和RetrieveAgent分别处理不同的操作。代理配备了内存,其中包括历史、参考和工作区。如果需要,RefineAgent负责调试。一旦PlanAgent决定完成生成过程,工作流将提交给解释器执行。
06-GenAgent算法实现细节
06.01-工作流表示形式
如上图所示,工作流广泛应用于各种应用程序,具有不同的表示形式:流图、JSON、元素列表和代码。
-
流图是人类(而不是LLM)工作流DAG最直观、最用户友好的表示之一。
-
JSON是LLM表示结构化信息的一种流行方式,但处理长JSON文件极其困难。
-
元素列表是LLM掌握工作流的自然表示,但缺乏语义和拓扑信息。
-
代码是LLM理解和生成工作流的合理有效的表示。
工作流的四种不同表示形式,包括流图、JSON、元素列表和代码。流程图仅对人类视觉直观。JSON是一种结构化格式,但复杂且冗余。元素列表更紧凑,更接近自然语言,但缺乏语义和拓扑信息。代码紧凑、图灵完备、语义丰富,对LLM友好,因此适合描述工作流。
06.02-Memory详解
Memory主要存储主体的近期状态,建立在心理学理论的基础上。在这里,记忆是指工作记忆,它反映了主体的当前情况:它存储了主体最近的历史行为、中间、外部参考知识和内部推理的结果。作者主要将其分为三个部分:
-
历史:历史主要存储PlanAgent最近采取的行动。PlanAgent可以通过历史回顾过去的行动,以计划后续活动。
-
参考文献:参考文献主要包括RetrieveAgent从知识数据库中检索到的最突出的信息,用于分析。RetrieveAgent通常根据当前内存状态检索最相关的信息,随后更新引用。
-
工作区:工作区存储当前工作流及其自然语言描述,保持当前工作状态的完整性和可理解性。
06.03-Action详解
Action代表PlanAgent可以选择的不同活动,每个动作的目标都是修改当前内存。PlanAgent有五种可能的操作:
-
初始化:PlanAgent选择一个现有的工作流来初始化内存,并根据任务指令给出一个全面的多步骤计划。
-
合并:有一个专用的CombineAgent,负责执行合并操作。CombineAgent从引用中选择一个特定的工作流,并将其组合到当前的工作流代码中。组合后,RefineAgent将优化CombineAgent的输出并在工作区中更新它。
-
适应:AdaptAgent是一个专门负责执行适应行动的代理。AdaptAgent根据内存和指令调整当前工作流的细节(例如超参数)。自适应后,RefineAgent会细化AdaptAgent的输出,并在工作区中更新它。
-
检索:专用的检索代理负责执行检索操作。RetrieveAgent从知识数据库中检索最相关的信息,并相应地更新参考文献。
-
完成:PlanAgent根据工作区中的当前工作流评估任务指令的完成状态。任务完成后,PlanAgent执行finish动作以防止出现无限循环。
07-GenAgent算法性能评估
上表展示了该算法与多个SOTA的Agent(零样本、少速、CoT和RAG代理)在OpenComfy测试基准上面的评估结果。作者报告了运行级和任务级评估的两种通过率。
通过观察与分析,我们可以发现:GenAgent在运行级和任务级评估中都优于所有基线。Zeroshot Agent无法生成任何有效的工作流,因为LLM缺乏基本知识。少数镜头代理和CoT代理的性能有限,因为它们无法从相关示例中学习。RAG Agent的性能相对较好,但与GenAgent相比稳定性较低。此外,其性能受到检索示例数量和质量的限制。因此,作者声称GenAgent能够以更好的效率和稳定性生成复杂的工作流程。
08-总结与探讨
相信很多做文生图应用的朋友们对ComfyUI都不陌生,它是一个最强大且模块化的SD GUI和后端。它的最大价值是:彻底简化了文生图算法的应用难度与门槛,即使是没有代码编程经验的设计师,也能通过简单的拖拽来搭建出一个简易的文生图流程出来。
然而,使用过ComfyUI的朋友可能会有这样的体会,它的难度在于如何理清并搭建整个算法的流程以及如何高效的微调某些模块的参数等。为了搭建文生图应用,很多人可能都会踩很多相同的坑!
因此,个人觉得ComfyUI还有进一步优化的空间。当前的文生图技术架构基本确定,将其应用在不同的领域中可能只需要调节部分的模块或者参数就可以了,并不需要让所有人都从头开始搭建这个流程,让所有人把相同的坑踩一遍。针对当前的ComfyUI中的核心模块做进一步的封装,并上架一个类似于App商城的ComfyUI框架商城能够更快的加速文生图在多个行业的落地速度。商城里面可以放很多比较通用的模版,用户只需要根据自己的需求调节某些模块或者参数就可以将其落地到自己的应用场景!
据我了解,当前已经有很多人在做类似的工作,但是都没有开源。这项工作的技术壁垒并没有想象的那么高,一个优秀的工程师+一个优秀的设计师 可以在一定的时间内可以将它复现出来,更重要的反而是需要想清楚都需要哪些类型的模版的问题。
总而言之,虽然GenAgent当前的支持的功能比较有限,生成的效果也比较一般,但是它却给我们提供了一个更加自动化的途径,让ComfyUI变得更简单易用。它可以进一步省去用户在理解各种生成模型组件的原理和精心设计工作流程方面的一些专业知识。很多朋友之前觉得自己会用ComfyUI搭建个工作流是自己的核心优势,看完这个你是不是有点慌呢?
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。