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]
   432   433   434   435   436   437   438   439   440   441   442