You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Donut(Document Understanding Transformer)准备自定义训练数据?

训练Donut模型的训练数据创建指南

Donut模型的训练核心是文档图像+结构化JSON标注的配对样本,以下是具体的创建步骤和规范:

一、明确任务与标注结构

先确定你的具体任务(如表单提取、发票识别、文档分类),不同任务对应不同的标注结构:

  • 文档分类:标注仅需包含类别信息,示例:
    {"category": "增值税发票"}
    
  • 表单/票据提取:标注需包含键值对形式的字段信息,示例:
    {
      "invoice": {
        "发票编号": "INV-2024-0001",
        "开票日期": "2024-05-20",
        "合计金额": "¥1280.50",
        "销售方": "XX科技有限公司"
      }
    }
    

二、图像数据准备

  • 收集覆盖不同场景的文档图像:包括不同扫描质量(清晰/模糊)、字体类型、布局样式、背景干扰的样本,尽量贴近实际应用场景。
  • 统一图像规格:缩放到模型要求的输入尺寸(如Donut-base默认1920×1920),保证图像清晰,避免过度曝光、扭曲。

三、标注规范要点

  • 标注必须为合法JSON格式,且结构要与训练时的prompt前缀匹配(比如训练表单任务会用<s_invoice>作为前缀,标注要对应任务结构)。
  • 只保留任务相关信息:比如提取发票字段时,无需标注页眉、页脚等无关内容。
  • 保持标注一致性:相同字段的命名要统一(避免“发票号”和“发票编号”混用),数值格式、日期格式也要统一。

四、数据集组织方式

推荐采用如下目录结构,方便模型加载:

your_dataset/
├── train/
│   ├── images/
│   │   ├── img_001.jpg
│   │   ├── img_002.png
│   │   └── ...
│   └── annotations/
│       ├── img_001.json
│       ├── img_002.json
│       └── ...
└── validation/
    ├── images/
    └── annotations/

也可以用CSV文件关联图像路径与标注,示例:

image_path,annotation
train/images/img_001.jpg,"{""invoice"": {""发票编号"": ""INV-2024-0001"", ...}}"

五、高效标注工具与技巧

  • 手动标注工具:LabelStudio、VGG Image Annotator(VIA),支持图像标注并直接导出JSON格式。
  • 半自动标注:用预训练Donut模型对未标注图像批量生成预测结果,再人工修正,大幅提升标注效率。
  • 参考开源数据集:可以参考Donut官方用到的FUNSD、RVL-CDIP等数据集,学习标注格式,也可直接用于微调。

六、额外注意事项

  • 小样本场景下,可通过图像增强(旋转、缩放、添加轻微噪声)扩充数据集,提升模型泛化能力。
  • 验证集要与训练集分布一致,避免场景偏差导致评估结果失真。

内容的提问来源于stack exchange,提问作者Vikas Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:27:30