前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Transformer模型训练数据准备详解

Transformer模型训练数据准备详解

原创
作者头像
Paulette
发布2023-07-12 23:50:04
1.3K0
发布2023-07-12 23:50:04
举报
文章被收录于专栏:小白实例

数据准备是模型训练的基础,本教程将详细介绍Transformer在自然语言处理任务中的数据准备过程。我们将以文本分类任务为例,手把手教你如何获取质量好的语料,进行数据清洗与预处理,制作符合Transformer输入要求的训练集、验证集和测试集。

一、语料获取

Transformer模型对训练数据的质量和规模要求非常高。为了达到最佳效果,我们需要数GB甚至数十GB规模的文本数据。以下是一些可获得大规模语料的途径:

  • 网络爬虫技术可以聚合新闻、论坛、博客网站的数据
  • 开源数据集如BookCorpus、Wikipedia等都可以提供GB级的文本
  • 付费数据平台也出售质量较好的手标注数据集
  • 自有业务系统中的日志、文档类数据也可筛选使用 需要注意版权、知识产权等问题,避免使用存在法律风险的数据源。此外,语料数据应涵盖各个领域,保证主题和样式的多样性。

二、数据清洗与筛选

原始语料获得后,还需要进行严格的数据清洗,常见的步骤包括:

  • 去除过多错词语句
  • 过滤不合规定语言的内容
  • 剔除过于敏感的文本
  • 移除重复内容
  • 纠正部分语法错误
  • 标准化英文的大小写、拼写格式
  • 移除各类元数据、代码、非自然语言符号
  • 等等 清洗后的语料,还需要按照具体任务进行筛选。比如文本分类任务可以筛选出类属明确的样本。这通常需要专业数据标注团队协助,或借助自动化规则实现。

三、数据集划分

对于监督学习的Transformer模型,通常需要将数据分为训练集、验证集和测试集。

训练集用于模型迭代训练,验证集用于调整超参数,测试集最终评估模型效果。一般按照7:2:1的比例进行划分训练数据。

需要保证各个数据集同分布,类目平衡。否则会导致模型过拟合现象。分布不均匀的数据集也会使结果评估不准确。

四、文本序列处理

Transformer的输入为文本序列,因此还需要进行序列化的预处理。具体来说:

  • 切分语句为单词/词组(Subword)
  • 建立词表,为每个词汇分配索引
  • 限制序列最大长度,短文本后补PAD
  • 对超长文本采用截断或滑窗分割
  • 序列前添加特殊分隔符(SEP)标记 对句子长度、词表大小等都需要经过多次尝试,找到最优方案。句子不宜过长也过短,词表大小过小会限制语义表示。

五、生成训练批次

经过上述处理后,我们得到了编码为数字索引序列的文本数据。最后一步是生成训练所需的批次:

  • 每条训练样本包含输入序列和目标序列
  • 对输入序列进行MASK或其他增强操作
  • 批次大小一般为32、64或128条样本
  • 批次序列长度统一 padding 到最大长度
  • Shuffle batch 同时读取数据和标签 至此我们就完成了Transformer模型训练数据的全流程准备工作。充足的质量训练数据是获得最佳效果的基石。希望本教程可以提供一些参考,指导大家准备用于Transformer等模型的训练数据。六、验证集制作验证集用于训练过程中的模型评估,其制作原则与训练集基本一致,只是比例较少,一般在1万句左右。 需要确保验证集同训练集来源一致,具有代表性,涵盖各类别情况。同时要独立于训练集,避免出现数据泄露。 评估验证集时禁用dropout、数据增强等,关闭 shuffle,使用teacher forcing,以获得一个较为准确的模型效果指标。 验证集的损失和评测指标通常作为early stop和超参调优的监控信号。七、测试集制作测试集只在模型训练结束后使用一次,来评估最终性能。 测试集的样本应当只出现在此,不可复用其他数据集的内容。同时样本数量要足够大,至少超过1万,以使指标评估更稳定可信。 测试前不要继续优化模型,直接加载最好的检查点进行 inference。测试结果将在论文、报告中发布。

总结

本教程详尽介绍了从语料获取到制作批次数据集的整个流程,让大家对Transformer的训练数据有全面系统的了解。优质的数据决定上限,希望本指南能帮助大家制作出高质量的数据集,训练出更出色的Transformer模型。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、语料获取
  • 二、数据清洗与筛选
  • 三、数据集划分
  • 四、文本序列处理
  • 五、生成训练批次
  • 总结
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档