multilingual C4
收藏MrT5 数据集概述
数据集描述
MrT5 (MergeT5) 是一个更高效的 ByT5 变体,通过在其编码器中集成一个动态的 token 删除机制来缩短输入序列长度。该机制通过一个学习到的删除门来决定哪些 token 被删除,哪些被保留。通过有效地将删除的 token 中的关键信息合并到更紧凑的序列中,MrT5 解决了现有字节级模型的一些实际限制。
数据集创建
跨度损坏数据集
- 生成脚本:
preprocess_lm_dataset.py - 数据来源: multilingual C4 (mC4)
- 默认行为: 生成 15 种语言(英语、法语、西班牙语、德语、希腊语、保加利亚语、俄语、土耳其语、阿拉伯语、越南语、泰语、中文、印地语、斯瓦希里语和乌尔都语)的单语训练、验证和测试集。
- 示例命令:
-
生成仅包含英语的跨度损坏数据集:
python3 preprocess_lm_dataset.py --en_only
-
生成多语言测试集:
python3 preprocess_lm_dataset.py --split test
-
生成多语言训练语料库:
python3 preprocess_lm_dataset.py --multilingual
-
诊断数据集
- 生成脚本:
preprocess_diagnostic_dataset.py - 示例任务: 简单元音删除、上下文元音删除、序列合并
- 示例命令:
-
生成简单元音删除任务的训练、开发和测试集:
python3 preprocess_diagnostic_dataset.py vowel_removal --train_n 2560000 --eval_n 32000
-
下游任务数据集
- 生成脚本:
preprocess_char_dataset.py - 支持任务: 上下文拼写校正、单词搜索
- 示例命令:
-
预处理上下文拼写校正任务的数据:
python3 preprocess_char_dataset.py spelling_correction_contextual
-
训练
- 支持模型: ByT5 或 MrT5 架构,以及随机和固定删除基线。
- 训练脚本:
train.py - 示例命令:
-
在跨度损坏任务上微调预训练的 ByT5 Small:
python3 train.py span_corruption --warmup_steps 0 --logging_steps 10 --eval_steps 50 --effective_batch_size 1024 --per_device_train_batch_size 8 --run_name t5_span_corruption --random_seed 28 --max_steps 3000 --use_softmax1
-
在跨度损坏任务上训练 MrT5 模型:
python3 train.py span_corruption --warmup_steps 0 --logging_steps 10 --eval_steps 50 --effective_batch_size 1024 --per_device_train_batch_size 8 --run_name mrt5_span_corruption --random_seed 28 --max_steps 3000 --use_softmax1 --model_type MrT5
-
评估
- 说明: 即将发布。




