Page 437 - 《软件学报》2025年第12期
P. 437
5818 软件学报 2025 年第 36 卷第 12 期
成后将代码运行的输出文件创建为一个新的数据集对象. 作为示例, 本文使用 ReproLink 复现了 Google 的 C4 数
据集 (colossal clean crawled corpus) [39] 的创建过程中的一个步骤. C4 数据集由 Google 于 2019 年发布, 包含的文档
总数超过 3 亿 6 千万, 数据总量超过 300 GB. C4 中的语料全部来自爬虫项目 Common Crawl [40] . 对于 Common
Crawl 中的数据, C4 进行了包括去重、去除非英文文档、去除不良内容、去除 Lorem ipsum 占位符等一系列过滤
操作, 最终得到适合大语言模型训练的数据集. 以 C4 数据集为基础, Google 训练了大语言模型 T5 [39] .
在发布 C4 数据集时, Google 并未提供数据集本身的访问链接, 而仅提供其对 Common Crawl 语料的处理代
码, 这使得需要使用 C4 数据集的用户需要自己进行对 Common Crawl 的预处理操作. 然而, 由于 Common Crawl
数据集的容量巨大, 对 Common Crawl 的预处理代码需要大约 335 CPU-日 (即 335 个 CPU 同时运行 1 天) 的计算
量, 这增加了使用 C4 数据集进行研究的门槛. 为了方便 C4 数据集的共享, 艾伦人工智能研究院对 C4 数据集进行
了预处理, 并将其发布在 Hugging Face 等平台上 [41] . 但这也带来了新的问题: 新发布的 C4 数据集和 Common
Crawl 数据集之间的关系并没有被显式地表达, C4 数据集的使用者无法方便地对其中的数据进行溯源.
ReproLink 可以在一定程度上解决这一问题: 若 Common Crawl 已经作为一个数据集对象被上传到系统中,
C4 数据集的发布者只需要将对 Common Crawl 进行数据过滤的代码上传至系统, 以 Common Crawl 为输入数据
集, 此代码为运算过程, 创建复现单元, 并通过在线复现功能使用此代码对 Common Crawl 数据集进行过滤, 待运
行完成后获取结果数据集即可. 在这个过程中, ReproLink 会自动创建 C4 结果数据集对象和复现单元之间的关系.
C4 数据集和 Common Crawl 数据集之间存在长度为 2 的间接关系, 可以基于它们之间的关系对象进行数据溯源.
本节对 C4 数据集的创建过程中“去除网页无效内容”这一步骤进行了复现. 由于 Common Crawl 数据容量过
大, 处理无法在短时间内完成, 本文进行的复现只使用了 Common Crawl 中的部分数据. 具体的步骤如下.
D
1) 创建 Common Crawl 数据集对象, 设其为 O .
1
C
2) 根据 C4 的数据清洗算法实现去除网页无效内容的代码, 并将其创建为代码对象 O .
R R C D R
3) 创建复现单元 O , 建立 O 到 O 类型为 (use,reproduction,code) 的边, 建立 O 到 O 的类型为 (input,dataset,
1
reproduction) 的边.
R
4) 调用复现执行引擎, 在线执行 O .
D
D
5) 执行完成后, 得到复现的输出数据集 O . O 即为输出的 C4 数据集对象.
2 2
R
在复现执行过程中, ReproLink 会自动维护 O 和 O D 2 之间的关系, 创建类型为 (output,reproduction,dataset) 的
D (output,reproduction,
关系对象. 在代码执行完成后, 用户可以使用路径搜索功能, 查询从 O 出发, 经过两跳类型分别为
2
dataset)、 O , 从而实现了数据溯源.
D
(input,dataset,reproduction) 的关系的数据对象, 即可搜索到
1
5 总结与展望
本文设计并实现了一个面向可复现性的科研数据管理系统 ReproLink. ReproLink 提出了对科研数据的统一
建模, 将论文、代码、数据集这 3 类科研数据抽象为包含标识、属性集、数据实体三要素的科研对象. 通过将多
阶段的论文复现流程拆分为若干复现单元, ReproLink 为科研人员提供了一种精确表示研究成果的复杂复现流程
的方式. 通过代码和上下文运行环境的一体化建模, ReproLink 增强了代码的可复现性. 对 ReproLink 的性能测试
和实例分析表明 ReproLink 具有较好的性能和可扩展性, 且在实际场景中具有一定的应用价值.
目前, ReproLink 的部署尚处于初步阶段, 且其数据规模仍有扩大的空间. 因此本文的后续工作方向主要是基
于用户在实际使用中反馈的体验和需求进一步优化 ReproLink 的功能, 并进一步扩大 ReproLink 系统的数据规模.
此外, 随着大模型智能体技术的发展, 大量软件工程领域的经典任务可以基于大模型实现自动化. 在后续工作中也
将探索在 ReproLink 中集成大模型智能体以提升复现效率的可能性.
References:
[1] National Academies of Sciences, Engineering, and Medicine. Reproducibility and Replicability in Science. Washington: National
Academies Press, 2019. [doi: 10.17226/25303]

