grounding指的是基础训练,定位之类的意思,sft指的是监督微调,也就是用带有标签的数据集对与训练完毕的模型进行微调(因为是带标签的,所以叫监督)
ui理解能力分为两个部分:Static UI understanding,Dynamic UI understanding
其中Static UI understanding分为以下三种:
OCR:指的是识别图像中的文字
ui grounding:是确定ui元素位置的能力
UI_domain knowledge:是ui领域的知识,就是要明白红心是收藏之类的
Dynamic UI understanding则是模型理解某个按钮点击之后会发生什么的能力。因为GUI场景具备的user interaction特点,也就是界面的element是抽象的高级语义表示。例如一个三条横线的图标,其实是menu的表示,点击后会出现菜单的内容。
以上是有关ui agent训练目标的介绍(model需要具有以上提到的这些能力)
下面是cogagent项目的学习:
cogagent预训练的重点放在以下几个方面:
识别高分辨率图像中各种大小、方向和字体的文本的能力:这部分使用了一些开源数据集,并且加上了各种高斯模糊,图像颠倒翻转之类的狠活,提高模型鲁棒性。
图片中文本和object的定位能力:follow CogVLM,使用从LAION-115M中采样的40M图像的构建的自然场景数据集,该数据集将caption中的实体与bounding boxes相关联,以指示它们的位置。
对GUI图像(如网页)的专业理解能力:用两种任务训练该能力:
- GUI Referring Expression Generation (REG):其中模型的任务是基于屏幕截图中的指定区域为DOM(文档对象模型)元素生成HTML代码
- GUI Referring Expression Comprehension (REC):涉及为给定的DOM元素生成bbox
可以看到这个是最重要的能力。这两个任务使用的是构建的CCS400K(Common Crawl Screenshot 400K)数据集。这个数据集是通过从最新的Common Crawl数据中提取URL,然后捕获400000个网页截图而形成的。除了这些屏幕截图,还使用Playwright1编译了所有可见的DOM元素及其相应的渲染框,为数据集补充了1.4亿个REC和REG问答对。
除了数据集,训练项目的部份外,cog agent的模型结构也很有意思。为了处理高分辨率的截图,cog agent使用了这样的结构:
右边就是普通的vlm,使用的也是分辨率减小之后的截图,但是左边大有学问。左边使用了一个体量较小的vision encoder(cog agent团队使用的是0.3B的)然后把获取到的特征一层一层的用cross attention塞到右边的decoder部分里(不是一口气放进去的,一层一层放的)这样就可以使用到高分辨率的照片的特征还不用考虑tokens太多的问题。
OdysseyAgent学习:
就是之前做mutil app任务的时候看的样板论文,那些任务分类就是从这里来的。除此之外其主要贡献是提出了多app任务要记住模型之前干过什么,历史截图是什么,然后再将这些信息输入到LLM中去获取下一步操作。
Static UI understanding Data
UI场景下的开源数据集,主要分为Caption、QA和Grounding三个任务形式,也就是描述图像,你问我答,定位元素
以上是预训练需要达到的要求,接下来是sft的要求
Sequence execution:序列生成,与之前的Dynamic UI understanding只需要一步预测不同,这个要多步。
下面是一些数据集的调研:
我现在要看notion里面绪睿给出的预训练的dataset和监督微调的dataset,还要看OdysseyAgent、CogAgent