卡卷网
当前位置:卡卷网 / 每日看点 / 正文

如何评价GLM开源CogAgent-9,成为GLM-PC基座模型?

作者:卡卷网发布时间:2025-01-10 19:31浏览数量:80次评论数量:0次

11月29,智谱正式提出GLM-OS概念,并发布AutoGLM和GLM-PC两款Agent产品。近期GLM-PC的基座模型——CogAgent-9开源,供社区进一步开发。 

CogAgent-9-20241220是基于GLM-4V-9训练而成的专用Agent任务模型。该模型仅需屏幕截图作为输入(无需HTML等文本表征),便能根据用户指定的任意任务,结合历史作,预测下一步的GUI作。得益于屏幕截图和GUI作的普适性,CogAgent可广泛应用于各类基于GUI交互的场景,如个人电脑、、车机设备等。 

相较于2023年12月开源的第一版CogAgent模型,CogAgent-9-20241220在GUI感知、推理预测准确性、动作空间完性、任务普适性和泛化性等方面均实现了显著提升,并支持中英文双语的屏幕截图和语言交互。

<>论文:

s://arxiv.org/as/2312.08914

<>代码:

s://githu/THUDM/CogAgent

<>模型:

s://modelscope/models/ZhipuAI/cogagent-9-20241220(方便下载)

<>体验链接:

s://modelscope/studios/ZhipuAI/CogAgent-Demo

<>技术文档:

s://cogagent.aminer/log#/articles/cogagent-9-20241220-technical-report

<>执行过程

CogAgent以GUI截图为唯一环境输入,结合已完成的动作历史,计算当前GUI截图中最合适的动作。该动作通过CogAgent端侧应用(如GLM-PC和CogAgentDemoApp)注入GUI,GUI响应并更新图像内容;同时,该动作被添加至动作历史。CogAgent根据更新后的历史动作和截图,计算后续作。此过程循环往复,直至CogAgent判定指令执行完毕。 

CogAgent的输入仅包含三部分:用户的自然语言指令、已执行历史动作记录和GUI截图,无需任何文本形式表征的布局信息或附加元素标签(setofmarks)信息。 

其输出涵盖以下四个方面: 

    <>思考过程(Status&Plan):CogAgent显式输出理解GUI截图和决定下一步作的思考过程,包括状态(Status)和计划(Plan)两部分,输出内容可通过参数控制。<>下一步动作的自然语言描述(Action):自然语言形式的动作描述将被加入历史作记录,便于模型理解已执行的动作步骤。<>下一步动作的结构化描述(GroundedOperation):CogAgent以类似函数调用的形式,结构化地描述下一步作及其参数,便于端侧应用解析并执行模型输出。其动作空间包含GUI作(基础动作,如左键单击、文本输入等)和拟人行为(高级动作,如应用启动、调用语言模型等)两类。<>下一步动作的敏感性判断:动作分为“一般作”和“敏感作”两类,后者指可能带来难以挽回后果的动作,例如在“发送邮件”任务中点击“发送”按钮。

<>模型升级

<>模型基座与结构升级:CogAgent采用了更强大的视觉语言模型GLM-4V-9作为基座,显著提升了模型的图像理解性能。 

<>视觉处理模块优化:实现了更高效、一的视觉处理模块,支持1120*1120原生高分辨率图像输入。通过带参数的下采样方法,在几乎不损失模型能力的前提下,提高了模型效率。CogAgent在结构上支持任意例或大小的图像输入,但在训练和推理中,一将输入图像缩放到1120*1120。尽管输入图像尺寸固定,结果显示,即使在2K或更高分辨率的屏幕上,模型仍能保持准确的理解能力。为获得更佳表现,建议用户适当增加图标和文字的相对大小,确保缩放后截图中的内容清晰可辨。 

<>数据集丰富与完:广泛收集并整合了多种数据集,包括无数据和GUI指令微调数据集。无数据涵盖开源GUI布局数据集、自采集的应用和网页数据集;GUI指令微调数据集则包含更长链路、更多应用、跨应用的GUIagent任务数据集等。此外,利用CogAgent自我生成数据,进一步扩充和完了数据集。 

<>预训练策略优化:VLM和GUI预训练旨在提升模型对视觉输入和GUI界面的基础理解能力。研究团队首次提出了GUIGrounding预训练,利用屏幕截图和布局对,构建界面子区域与布局表征(如DOM元素)的对应关系,从而构造GUI的REG和REC任务: 

    GUIReferringExpressionGeneration(REG):预测截图上某一区域对应的布局表征。GUIReferringExpressionComprehension(REC):预测截图中某一元素对应的位置。此方法已应用于多个GUI理解数据构造和GUIagent工作中。在原论文中,我们使用40万网页数据,构造了1.4亿的REC&REG训练样本。在此基础上,进一步扩充和优化了训练数据,加入了桌面应用和移动应用的布局数据,使模型更适应实际应用场景。

<>后训练策略改进:后训练在提升模型GUIagent分析、推理、预测能力方面至关重要。我们采用了更科学的后训练策略,分为两个难度递进的阶段:

    GUIinstructiontuning:融合GUI相关多任务数据,深化模型对GUI内容和功能的理解,具备初步问答能力。使用了广泛的开源数据和私有收集数据。GUIagentT:使模型具备完的GUIagent推理能力,训练数据包括开源数据集(如Mind2We)和额外收集的多平台跨应用数据。

<>模型推理及思维链优化:将思维链分解为Status(当前屏幕状态)、Plan(全局计划)、Action(下一步自然语言描述)、Operation(下一步形式语言描述)。通过随机采样混合多种模式训练数据(如Action-Operation、Status-Action-Operation等),可根据交互情景、计算资源和准确率需求灵活调整和控制推理过程中的实际输出。 

<>动作空间完:明确了基础动作空间,并新增了LLM、QUOTE_TEXT、LAUNCH等高级动作,增强了模型的使用工具和交互能力。 

<>评测结果

CogAgent在以下四个数据集中了CogAgent-9-20241220和类似模型的性能。

02.最佳实践

<>模型推理

代码下载

gitclones://githu/THUDM/CogAgent.git cdCogAgent

模型下载

modelscopedownload--modelZhipuAI/cogagent-9-20241220--local_dir./cogagent

CLI模型推理

pythoninference/cli_demo.py--model_dir./cogagent--platform"Mac"--max_length4096--top_k1--output_image_path./results--format_keystatus_action_op_sensitive

推理结果:

显存占用:

搭建WeUI可直接clone魔搭社区创空间并运行:

gitclones://modelscope/studios/ZhipuAI/CogAgent-Demo.git cdCogAgent-Demo pipinstall-rrequirements.txt pythonapp.py

<>模型微调

我们使用ms-swift对cogagent-9-20241220进行微调。ms-swift是魔搭社区提供的大模型与多模态大模型训练和部署框架。ms-swift开源:s://githu/modelscope/ms-swift

在这里,我们将展示可直接运行的demo,并给出自定义数据集的格式。

在开始微调之前,请确保您的环境已准备妥当。

gitclones://githu/modelscope/ms-swift.git cdms-swift pipinstall-e.[llm]

微调脚本如下:

CUDA_VILE_DEVS=0\ swiftt\ --modelZhipuAI/cogagent-9-20241220\ --dataset'modelscope/coco_2014_caption:validation#20000'\ --train_typelora\ --torch_dtypefloat16\ --num_train_epochs1\ --per_dev_train_atch_size1\ --per_dev_eval_atch_size1\ --learning_rate1e-4\ --lora_rank8\ --lora_alpha32\ --target_modulesall-linear\ --freeze_vittrue\ --gradient_accumulation_steps16\ --eval_steps100\ --se_steps100\ --se_total_limit5\ --logging_steps5\ --max_length2048\ --output_diroutput\ --warmup_ratio0.05\ --dataloader_num_workers4

训练显存资源:

自定义数据集格式如下,只需要指定`--dataset<dataset_path>`即可:

自定义数据集文档:s://swift.readthedo.io/zh-cn/la/Customization/%E8%87%AA%E5%AE%9A%E4%9%89%E6%95%0%E6%8D%AE%E9%9%86.html

[ { "messages":[ { "role":"user", "content":"Task:在设置的桌面与程序坞部分,开启调度中心板块中“显示器具有单空间”的选项\n(Platform:Mac)\n(AnswerinAction-Operation-Sensitiveformat.)\nHistorysteps:\n0.CLICK(ox=[[588,946,616,985]],element_='设置')\t点击屏幕下方的“设置”菜单,从而打开设置\n1.CLICK(ox=[[227,561,297,585]],element_='桌面与程序坞')\t点击左侧菜单中的“桌面与程序坞”选项,进入桌面与程序坞的设置界面。\n2.SCROLL_DOWN(ox=[[367,39,691,929]],step_count=75,element_='动')\t在当前屏幕的右侧动区域中,向下动以查看更多选项。\n" }, { "role":"assistant", "content":"Action:点击“调度中心”板块中的“显示器具有单空间”选项,从而开启该功能。\nGroundedOperation:CLICK(ox=[[655,842,671,857]],element_='“显示器具有单空间”的开关按钮')\n<<一般作>>" } ],"images":["images/0000000000336.png"] }, { "messages":[ { "role":"user", "content":"Task:通过启动台打开设置,导航到“网络”部分,将DNS设置手动IP为8.8.4.4。\n(Platform:Mac)\n(AnswerinAction-Operation-Sensitiveformat.)\nHistorysteps:\n0.CLICK(ox=[[7,6,27,31]],element_='苹果标志')\t点击屏幕左上角的“苹果”图标,以便打开设置。\n1.CLICK(ox=[[3,77,161,99]],element_='设置…')\t点击屏幕左上角菜单栏中的“设置…”选项,以打开设置界面。\n2.CLICK(ox=[[7,478,125,512]],element_='网络')\t点击左侧菜单中的“网络”选项,进入网络设置界面。\n3.CLICK(ox=[[155,217,459,270]],element_='Wi-Fi,已连接')\t点击屏幕中间偏上的“Wi-Fi”选项,进入Wi-Fi设置界面。\n4.CLICK(ox=[[405,280,447,296]],element_='详细信息…')\t点击Wi-Fi名称旁边的“详细信息…”按钮,以查看当前Wi-Fi的详细信息。\n5.CLICK(ox=[[27,344,45,362]],element_='DNS')\t点击左侧菜单中的“DNS”选项,进入DNS设置界面。\n6.CLICK(ox=[[166,308,442,399]],element_='8.8.8.8')\t点击DNS输入框,准备输入新的DNS。\n7.TYPE(ox=[[163,308,443,322]],text='8.8.4.4',element_='ip输入框')\t在DNS输入框中输入8.8.4.4,以设置手动IP。\n8.CLICK(ox=[[410,636,440,651]],element_='好')\t点击界面右下角的“好”按钮,以确认并保存DNS设置的更改。\n" }, { "role":"assistant", "content":"Action:已经完成了“通过启动台打开设置,导航到‘网络’部分,将DNS设置手动IP为8.8.4.4”这一任务,执行结束。\nGroundedOperation:END()\n<<END>>" } ],"images":["images/0000000000482.png"] } ]

训练完成后,使用以下命令对训练时的验证集进行推理:

这里`--adapters`需要替换成训练生成的lastcheckpoint文件夹.由于adapters文件夹中包含了训练的参数文件,因此不需要额外指定`--model`。

CUDA_VILE_DEVS=0\ swiftinfer\ --adaptersoutput/vx-xxx/checkpoint-xxx\ --streamtrue\ --load_data_argstrue\ --max_new_tokens2048

点击链接阅读<>原文,即可跳转模型链接:cogagent-9-20241220

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码