返回评测
代码生成 代码-视觉转代码 未饱和 模态 · 截图 任务 · 代码生成

WebSight

Hugging Face 开源的大规模网页截图与代码配对数据集,用合成数据把视觉转代码任务的训练规模推到百万级

Hugging Face M4 团队 ·

考察能力

视觉转代码 HTML/CSS 生成 合成数据利用 布局理解

构建信息

数据规模
约 200 万(2M)截图-代码对
构建方式
用合成方式大规模生成网页代码与对应渲染截图,经质量过滤后配对成训练数据
评测方式
下游基准(如 Design2Code)上的视觉相似度与元素匹配
核心指标
沿用下游基准指标(Element Match / CLIP Similarity)

为什么重要

WebSight 的意义不在「又一个基准」,而在它把视觉转代码从「数据稀缺」变成了「数据充足」。此前这类任务受限于真实网页-代码对的获取(要爬、要清洗、要处理外部依赖),规模上不去。WebSight 用合成的方式直接造出 200 万对,模型在这上面训完,在 Design2Code 上的表现大幅提升。

这是数据工程里一个很有代表性的案例:当任务的输入输出都是「可程序化生成」的,合成数据就是最优解。网页代码可以模板化生成,渲染结果是确定性的,标注(代码本身)天然精确——这种任务结构决定了合成数据的性价比远高于爬取。

配套发布的 WebSight VLM-8B 证明了这条路走得通:一个 8B 规模的模型在合成数据上训练后,在视觉转代码任务上超过了一些规模更大的通用模型。

构建方式

  1. 设计网页生成流程:以 Tailwind CSS 为主要样式框架,按模板生成结构多样的 HTML
  2. 控制变量:布局类型、配色方案、组件种类、文本长度等,保证分布多样性
  3. 渲染生成截图,与源码配对
  4. 质量过滤:剔除渲染失败、内容重复、布局异常的样本
  5. 规模化到约 200 万对,作为训练数据发布

任务示例

合成样本(简化示意):

<!-- 生成的代码 -->
<section class="bg-slate-50 py-12">
  <div class="max-w-4xl mx-auto">
    <h2 class="text-2xl font-bold text-slate-900">Pricing</h2>
    <div class="grid grid-cols-3 gap-4 mt-6">
      <div class="p-4 bg-white rounded-lg shadow">...</div>
      ...
    </div>
  </div>
</section>

配一张渲染后的 PNG 截图,构成一对训练样本。模型训练时的输入是截图,输出是这段 HTML。

最新进展

  • 基于 WebSight 训练的 WebSight VLM-8B 在视觉转代码任务上表现突出,验证了「合成数据 + 中等规模模型」的路线
  • 该数据集被广泛用于多模态代码生成方向的预训练与微调
  • 后续的同类工作(如各种 UI 代码生成模型)普遍沿用「合成截图-代码对」这条数据生产路径

关键发现

  • 可程序化生成的任务,合成数据是最优解:标注天然精确、规模无上限、无版权与隐私顾虑
  • 规模带来质变:从万级到百万级,视觉转代码的布局还原能力明显跃升
  • 多样性控制比数量更重要:模板太单一会让模型只学会几种布局,需要主动控制变量分布
  • 中等模型也能打:8B 模型配足量合成数据,可以超过更大但缺少该领域数据的通用模型——这是「数据补模型」的典型例证
视觉转代码 合成数据 HTML 多模态代码生成 Hugging Face