机器之心报道
编辑:Panda
前端工程师是不是开始慌了?
3 月 9 日央视的一档节目上,百度创始人、董事长兼 CEO 李彦宏指出,以后不会存在「程序员」这种职业了,因为只要会说话,人人都会具备程序员的能力。「未来的编程语言只会剩下两种,一种叫做英文,一种叫做中文。」
自大模型技术突破以来,越来越多的行业拥有了自动化的趋势,这其中进度最快的领域似乎是软件开发本身。
根据你的自然语言指令,ChatGPT 这样的工具可以和你边聊边生成代码,结果逐渐靠谱且速度很快。在最近多模态技术进步以后,甚至截个图让 AI 自行领会意图也能生成你想要的设计:
这种方法是装装样子还是来真的?AI 距离「替代程序员」还有多远?有研究告诉我们:已经很可怕了。
我们离自动化前端工程还有多远?
将视觉设计实现成执行功能的代码是一项颇具挑战性的任务,因为这需要理解视觉元素和它们的布局,然后将它们翻译成结构化的代码。
这个过程需要复杂的技能,也因此让很多普通人无法构建自己的网络应用,即便他们已经有了非常具体的构建或设计思路。不仅如此,由于这个过程需要不同领域的专业知识,因此往往需要具备不同技能的人互相合作,这就会让整个网页构建过程更加复杂,甚至可能导致目标设计与实际实现之间出现偏差。
如果能基于视觉设计有效地自动生成功能性代码,那么势必有望实现前端网页应用开发的大众化,也就是让非专家人士也能轻松快捷地构建应用。
近些年,基于自然语言的代码生成领域发展迅速,但少有人研究基于用户界面(UI)设计来自动生成代码实现,原因包括用户界面存在多样化的视觉和文本信号、结果代码的搜索空间巨大等。
最近,多模态 LLM 进入了新的发展时代,大规模预训练模型可以针对多种基于视觉的任务通过处理视觉和文本输入来生成文本输出,其中代表性的模型包括 Flamingo、GPT-4V 和 Gemini。
这样的进展为上述任务带来了全新的解决方案范式:取一张用户网站设计的截图并将其提供给系统,就能得到完整的代码实现,然后这些代码又可以被渲染成用户想要的网页。整个过程是完全端到端式的。
近日,斯坦福大学、佐治亚理工学院等机构的一个联合团队评估了当前的多模态模型在这一任务上的表现。
他们将这个任务称为 Design2Code。通过一系列的基准评测,我们可以从这些结果中了解自动化前端工程已经发展到哪一步了。
为了实现系统化和严格的基准评测,该团队为 Design2Code 任务构建了首个真实世界基准。表 1 给出了一些示例。
为了最好地反映真实用例,他们使用了真实世界的网页,而非用生成方法得到合成网页。他们收集了 C4 验证集中的网页,并对所有样本进行了仔细的人工调整,最终得到了 484 个高质量、高难度和多样化的网页。它们可代表不同复杂度的多种真实世界用例。他们执行了定性和定量分析,证明这个基准数据集覆盖了广泛的 HTML 标签用法、领域和复杂度。
此外,为了促进高效的评估和模型开发,该团队还为这个任务开发了一些评估指标 —— 可自动比较生成网页的截图与给定的截图输入。这些新指标考虑的维度很全面,包括边界框匹配、文本内容、位置和所有已匹配视觉元素的颜色。
然后,该团队调查了 GPT-4V 和 Gemini 等当前的多模态 LLM 在这一任务上的表现。为了让这些模型能展现出自己的最优能力,该团队使用了一些不同的 prompt 设计方案,包括文本增强式 prompt 设计和自我修正式 prompt 设计。其中文本增强式 prompt 设计是为视觉输入提供文本元素作为补充,从而可以降低光学字符识别(OCR)的任务负载;自我修正式 prompt 设计则是让模型比较之前的生成结果与输入的网页截图,让其自我改进。
研究者发现,在 GPT-4V 和 Gemini Pro 上,相比于使用直接 prompt 设计法,文本增强式 prompt 设计都能带来提升,但自我修正式方法只能为 GPT-4V 带来积极影响。
尽管这些商用模型的表现是当前最佳的,但它们都是缺乏透明度的黑箱。因此,该团队还为这一任务贡献了一个开源的 18B 参数的已微调模型:Design2Code-18B。
具体来说,该模型基于当前最佳的开源模型 CogAgent 构建,并使用合成的 Design2Code 数据进行了微调。令人惊讶的是,在新提出的基准上,尽管合成的训练数据与真实的测试数据之间存在差异,但这个「小型」开源模型的表现依然颇具竞争力 —— 足以媲美 Gemini Pro Vision。这说明专用型的「小型」开放模型是有发展潜力的,并且模型也可以从合成数据中学习获取技能。
Design2Code 基准
为了得到基准数据,该团队首先收集了 C4 验证集中的所有网站链接。然后他们将所有 CSS 代码嵌入到了 HTML 文件中,从而让每个网页都只有一个代码实现文件。这样得到了共计 12.79 万个网页。然后他们又执行了进一步的过滤和处理,包括自动调整和人工调节。最终他们得到了包含 484 个测试样本的基准。下表 1 比较了新提出的 Design2Code 与 Huggingface 的 WebSight 数据集。
图 2 总结了 Design2Code 的主要主题。
至于评估指标,该团队提出了一种高层级的视觉相似度指标,即比较参考网页和生成网页的相似度。另外他们还使用了一组低层级的元素匹配指标,包括块元素、位置、文本和颜色等的匹配程度。
结果自动评估和人类评估
自动评估
表 2 和图 3 给出了自动评估的结果。请注意,这里的比较并不是公平的,因为不同模型有不同的模型大小和训练数据。
可以观察到:
GPT-4V 在颜色之外的所有维度上都表现最好,而在颜色维度上领先的是 WebSight VLM-8B。对于 GPT-4V 和 Gemini Pro Vision,文本增强式 prompt 设计均可以成功提升块元素匹配分数和文本相似度分数,这说明提供提取出的文本元素是有用的。对 GPT-4V 而言,自我修正式 prompt 设计可以为块元素匹配和位置相似度带来少量提升,但对 Gemini Pro Vision 来说却并无提升。可能的原因是:在没有外部反馈的前提下,LLM 执行内部自我校正的能力有限。通过比较 Design2Code-18B 和基础版本的 CogAgent-18B,可以看出微调能为所有维度带来显著提升。相比于 WebSight VLM-8B,该团队微调得到的 Design2Code-18B 在块元素匹配和文本相似度指标上表现更好,但在位置相似度和颜色相似度指标上表现更差。该团队表示,前两个观察可以归因于更强更大的基础模型,而后两个则可归功于更大量的微调数据。
人类评估
该团队也进行了人类评估。下面是主要的评估协议和结果。每一个问题都由 5 位人类标注者给出评估意见,最终结果遵从多数意见。
成对模型比较:也就是让标注者给一对生成的网页排名(一个来自基线方法,另一个来自受测方法),以决定哪一个与参考网页更相似。这里的基线是对 Gemini Pro Vision 采用直接 prompt 设计,收集的数据是其它七种方法与这种基线方法的胜 / 平 / 负的比例。
结果见图 4,可以看出:
GPT-4V 显著优于其它基线,而且文本增强式 prompt 设计和自我修正式 prompt 设计能在直接 prompt 设计的基础上进一步提升。文本增强式 prompt 设计可以少量提升 Gemini,但进一步增加自我修正方法却没有帮助。WebSight VLM-8B 优于 Gemini 直接 prompt 设计方法(54% 的胜率和 35% 的败率),这说明在大量数据上进行微调可以在特定领域比肩商用模型。新模型 Design2Code-18B 的表现与 Gemini Pro Vision 直接 prompt 设计方法相当(38% 的胜率和 37% 的败率)。直接评估:尽管有这些比较,但读者可能还是会问:「我们离自动化前端工程还有多远?」
为了得到一个更直观的答案,该团队进一步让人类标注者比较了参考网页与最佳的 AI 生成网页(使用了 GPT-4V 自我修正式 prompt 设计)。他们从两个方面进行了直接评估:
1.AI 生成的网页能否替代原始网页?
人类标注者认为:AI 生成的网页中,49% 可与参考网页互换。
2. 参考网页和 AI 生成的网页哪个更好?
结果有点出人意料:在 64% 的案例中,人类标注者更偏爱 GPT-4V 生成的网页,也就是说他们认为 AI 生成的网页比原始参考图像的设计更好!
自动评估 vs 人类评估
该团队也研究了自动指标与人类配对偏好之间的相关性。结果发现,人类通常更关注高层级的视觉效果和布局,而不是细节内容,这说明人类的思考方式是自上而下的。
不过,针对论文给出的结果,有人提出了不同意见,认为前端的工作流程远比表面看上去复杂,因此真正实现「自动化前端工程」还需要一段时间。
对于这个问题,你怎么看?
如何选择一家靠谱的IT培训机构? 现在很多的人都知道工作难找,如果没有一技之长就很难获取好的发展,如今互联网的发展前景广阔,很多人转型开始学习软件开发之类的技术,市场上的培训机构多如牛毛,对于零基础报班的同学来讲,该怎么选择确实是个难题,花多少钱倒还是其次,时间浪费了才可惜。那么对于it小白来讲,到底该从哪些方面来考察一个机构呢?
今天这篇可以说是满满干货,看完我想你就知道怎么选了,先分享下我认为比较重要的几个方面,然后我针对国内三大培训机构给大家分析下,供大家参考!
1. 看品牌, 发展历程比较久的培训机构一般是有一定的实力的,也代表市场对它的认可。而一些刚成立的培训机构学员一不清楚它的规模;二不清楚它的师资力量;三不知道教学效果怎么样。在选择时一定要慎重。
2. 看师资力量 ,老师的本身实力、教学水平直接关系到教学的质量。所以们在挑选培训机构时一要看老师的工作经历,亲自做过相关职位的老师更清楚企业需要的人才也能更好地把知识传授给学员,二要看老师的教学经验,只会做而不能把知识清晰明了的传授给学员也是不行的。
3. 看就业保障, 大家在培训机构报班是想要通过在培训机构学习来找到一个满意的工作,所以有一定的就业保障相信会更让学员放心。但一些培训机构会说包就业,遇到包就业的大家就要谨慎考虑了,原因很简单,你去了之后,学得不是很好,他也能保证你的就业吗?没有一家用人公司会招聘一个技术不过关的员工。那可能有的同学会想,没事,我先去找一家公司去实习,抱歉,在这个行业里面基本很少有公司招软件开发的实习生,站在用人公司的角度思考一下,公司招你进去实习,你写的代码出了很多bug,还得要其他同事给你填坑,这样非但没有减少别人的工作量,反而给别人增多了,如果说打着Java培训包就业的机构不靠谱,那么什么样的机构才是靠谱的呢?在业内,大多数Java培训机构是不包就业的,他们都是让学员通过自己的实力去找工作的,在Java这个行业里面,是用技术水平来说话的,技术好薪水高,毋庸置疑,所以只有学员把技术学好了,才能找到高薪的工作。
那it培训机构哪个好呢?今天跟大家分享一下,供各位参考一下。主要就是从学员就业,口碑,师资等多角度统计出了3大it培训机构。
详细排名榜如下:
动力节点始于2009年,是一家只教授Java的培训机构,在全国各大城市设有直营校区,毕业学员占据Java培训界半壁江山,做到了毕业学员业内高薪就业,逐渐得到了业界广大的好评,被业界誉为“口口相传的Java黄埔军校“。
为什么我觉得动力节点可以排在第一名?我想很多人会觉得他们知名度好像没有千锋达内黑马高,接下来我说说他们的优点
IT培训机构有两种,一种是市场类型,一种是技术类型。
l 市场类型: 一般那是商人创业,他们懂运营,懂管理,懂包装,公司文化,公司形象,这些方面做得都是非常好的,如果在有人投资那更会是如日中天。但是缺点就是技术方面拿捏得不好,老师质量这块不好说,教学口碑不会很好。因为有大量的市场宣传投入,羊毛出在羊身上,所以学费贵,知名度高,但老学员口碑差。
l 技术类型: 一般是优秀的技术人员创业,这些人做培训有个特点就是技术拿捏得死死的,学生学的东西很充实,技术领先,技术人员创业一般都比较实在,没有什么花里胡哨的包装和广告,动力节点就可以说是技术类型的培训机构 ,精力全在课程上很少见他们发广告。 教的东西干货多,就业好。所以动力节点的学费性价比也高,班里一大半都是老学员介绍的,可想口碑非常好。
我们参加IT培训,选什么类型的比较好?
这点不用想,当然是技术类型培训机构靠谱,毕竟我们是去学习的,不是去度假的。
千锋教育总部位于北京,目前已在深圳、上海、广州、郑州、大连、武汉、成都、西安、杭州、青岛、重庆、长沙、哈尔滨、南京、太原、沈阳、合肥成立了分公司,成立于2012年,发展速度快,崛起势头猛,快速超越了一众老牌IT学校,也算是数一数二的了。
论规模,千锋在国内属于大型机构了,年招生量大概在15000-20000之间。
优点: 规模大、资金充足、教育投资高、设备先进。缺点: 虽然千锋最近几年确实名气挺大,但是随着规模大,教学质量也有所下滑,学员的就业情况基本也没有宣传得那么好,并且学费相比高一些,这点可以参考考虑下。没太多口碑积淀,营销团队强,15、16年培训的ios/andorid几千毕业生找不到工作,加上高层斗争,一半以上的高管都出走了,内部管理混乱。
前端也是他们第一大学科了,一年培训1万多人。主要从院校招生,2017年开始进军Java,培训质量我就不做过多评价
擅长的学科: 几乎所有课程品类,主要是:H5前端全栈
也就是传智,传智教育是由一批拥有10年以上开发管理经验,且来自互联网或研究机构的IT精英组成,负责研究、开发教学模式和课程内容。公司致力于培养高精尖数字化人才,主要培养人工智能、python大数据开发、智能制造、软件、互联网等数字化专业人才及数据分析、网络营销、新媒体等数字化应用人才。
在早几年行业里口碑还是可以的,学员报名前需要进行的测试,测试没通过不要,就这样无数小白慕名而去,但之后几年对于什么报名前的测试限制都慢慢没了,口碑也日渐下滑。
黑马的优势:1. 学习氛围比较强烈;
2. 课程设计比较合理;
3. 名师压阵,资源丰富
4. 有教育情怀,不套路招生(其实套路也不少,但都是控制在合理范围内,比如占座费)。
黑马的劣势也是很明显:1. 班级人数过多,大概70-80人;
2. 学员构成杂乱(近两年加速扩张,考核已形同虚设);
3. 北京面授、其他校区都是看录制好的视频(更新频率慢)
4. 学习成本较高(学费略高且不管住宿)
擅长的科目主要是大数据和前端
以上就是我个人的想法,大家可以参考下,然后一定实地考察再选择。
相关问答
说到前端培训机构哪个好?大家首先会想到的是一线城市北上广这样的比较发达的城市的前端培训机构,在一线城市科技比较发达,接触到的技术也比较前沿,所以这里的...
您好本人关山散人作设计工作十余念从事设计教学工作三年有余,如果您要是在中国工作的话不建议您去国外学习设计,平面设计是依附于市场的,中国的市场与国外不...
1.精通Photoshop、Dreamweaver、Flash、Illustrator或Freehand等矢量图形编辑软件;2.具备较强的网页美术设计能力和很深的美术功底,极好地把握视觉色彩与网站....
网上培训机构排名前十如下:1.慕课网:慕课网是一家国内知名的在线教育平台,提供包括前端开发、产品设计、室内设计、编程等70多个热门课程,有超过...
中公教育软件学院有学历+技能的整体培训,技能是互联网相关的IT技能,今后的就业还有发展前景都是非常不错的,在业内口碑还是比较好的,IT相关的课程非常多,前...
因为你没有说是哪个方面的设计,所以我按照我自己的理解来回答问题。一、3D、动画、平面设计01.3DMark(专业跑分)3DMark曾经是futuremark公司的一款专为...
一般是不可以的,游戏前端主要是美工美工,web前端主要是编写网页代码实现前端页面。两者的不同点如下:1、游戏前端:一般是设计游戏中的任务或者画面场景,要...
作为一名IT从业者,同时也是一名计算机专业的教育工作者,我来回答一下这个问题。首先,Web前端、UI设计、游戏开发和大数据这几个领域,目前都形成了各自比较庞...
答主三年多前端开发经验,不知道楼主自身情况是什么样的。刚好最近有充足的时间,个人建议先看下视频教学,现在网上教学视频很多,如果没有可以私信我,我分享给...
最大使用区别在于跨域,可以搜搜简单跨域和非简单跨域,能做到简单跨域尽量简单跨域。这其中就有传输格式的区别。如果不跨域,区别就不大,尤其现在前端封装...