Open
Conversation
您好,我是宋晗搏,是北京邮电大学人工智能学院的学生,希望能去您的团队实习,这是我关于您给我的那篇文章写的wiki,请您过目。
| 4. 关键结果有哪些? | ||
| - **benchmark成绩**:在多个代码生成和理解任务上(HumanEval、MBPP、BigCodeBench 等),OpenCoder 在 1B+ 和 6B+ 参数规模下均取得了SOTA或次优的成绩,同时可以看出小参数模型对训练数据的质量更加敏感。 | ||
| - **消融实验成果:** | ||
| - 文件级去重比仓库级去重更有效,明显提升了下游任务表现。 |
| OpenCoder 的关键创新主要体现在: | ||
|
|
||
| 1. **构建了极高质量数据集——RefineCode**:论文构建了一个包含 9600 亿 tokens 的大规模代码预训练数据集,数据来源既包括 GitHub 上的原始代码,也涵盖了代码相关的网络数据。通过精细的预处理、去重(先精细去重再模糊去重)、转换以及多层次的筛选,确保了数据质量和多样性。 | ||
| 2. **退火阶段设计**:在预训练之后引入退火阶段,利用高质量的算法语料(从leetcode等爬取)、合成代码片段和等数据进一步强化模型能力。 |
There was a problem hiding this comment.
退火阶段的这些语料,具体是怎么生成的?假设给你它论文里提到的 seed 语料,你如何合成呢?
| 数据处理的pipeline主要包括这些模块,分别是预处理,重复数据删除,转换和对数据进行采样。 | ||
| - Preprocessing: | ||
|
|
||
| 在预处理中作者首先将大小大于8MB的文件删除,因为这些往往是非编码的文件,同时根据文件的拓展名来确定哪些文件是代码文件,然后将低质量的文件进行过滤,最终保存了607种编程语言的文件。 |
There was a problem hiding this comment.
你觉得为什么要保留607种语言,而不是精选我们常用的30种语言来训练这个大模型呢
|
|
||
| **模糊删除**:将原始文本按照5个字符一组进行划分,对每个文件计算2048hash值,使用LSH的方法检测出相似的文件,在相似的文件中只保留最好starts数和最新发布的版本。 | ||
|
|
||
| 经过这两次删除,总数据量降低了6% |
There was a problem hiding this comment.
精确去重和模糊去重,各自删除的file vol 是多大?为什么两者的去重有这么大的差异?
|
|
||
| **Copyright Removal:** | ||
|
|
||
| 对版权信息的删除,因为版权信息都是高度重复的,如果不进行删除可能影响模型的能力。 |
| 对版权信息的删除,因为版权信息都是高度重复的,如果不进行删除可能影响模型的能力。 | ||
|
|
||
| **PII Reduction:** | ||
| 训练数据中包含敏感信息,所以要对其进行删除,作者通过复杂的正则匹配来对其进行删除。 |
There was a problem hiding this comment.
假设让你设计这个去除,能举出来几个例子,里面是有敏感信息的吗?要去除时,应该怎么做?
| 针对文件大小,行数来过滤文件 | ||
|
|
||
| **通用的code过滤标准:** | ||
| 通过变量数量,平均函数长度来进行过滤 |
There was a problem hiding this comment.
可以根据它开源的过滤代码,看看 python 里有哪些规则?这些规则具体怎么实现的,他们的阈值设置合理吗
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
您好,我是宋晗搏,是北京邮电大学人工智能学院的学生,希望能去您的团队实习,这是我关于您给我的那篇文章写的wiki,请您过目。