HackerRank 数据集创建方法
Last updated: June 23, 2025
本文件说明了HackerRank如何设计、构建和交付数据集,以帮助客户加快软件开发的整个软件开发生命周期(SDLC)。
下方的工作流程图展示了HackerRank数据集创建方法论。

合作启动
每个合作都以理解您的业务背景、技术目标、数据需求和安全约束为重点。这确保在任何项目工作开始之前,HackerRank都已完全对齐。
目标和范围对齐
第一步是理解您的模型的用例和成功标准。这确保所有交付物——从单个任务到评估数据集——都与您的最终目标保持一致。
用例定义: HackerRank的机器学习(ML)科学家与您的团队合作,定义您希望改进的具体能力,例如:
代码生成
缺陷检测或修复
代码总结或可解释性
代码重构或优化
测试用例生成
安全编码或静态分析自动化
模型背景: 捕获技术细节,例如:
模型架构(例如,编码器-解码器、仅解码器、指令调优)
微调或训练后方法(例如,完全微调、LoRA、SFT、RLHF、DPO)
令牌预算、延迟目标和上下文窗口限制
成功指标: 定义定量和定性目标,例如:
BLEU、CodeBLEU、精确匹配准确率或代码正确性(单元测试通过率)
幻觉率或失败率降低
每个令牌的延迟或推理成本
通过定义关键绩效指标(KPIs)和模型行为目标,HackerRank将下游决策——如任务选择和评估格式——与您的业务优先事项保持一致。
时间线和里程碑规划
项目被组织成不同的阶段,以支持透明和可追踪的执行。
交付时间线由双方协作定义,并划分为明确的里程碑:
数据集结构最终确定
任务抽样或试点评审
评估设置和基准线建立
最终数据集交付和签字确认
每个阶段都包括反馈检查点,以保持透明度。
每周同步和共享项目跟踪器确保责任和可见性。
安全性和数据驻留
HackerRank 遵循行业标准的 数据隐私和安全实践。在项目启动时,HackerRank 会最终确定您的安全和合规要求。
数据处理: 如果合作涉及专有源代码或模型工件,支持以下内容:
NDA 支持的访问控制
区域内数据处理(例如,仅限欧盟、仅限印度)
无保留政策
安全云交接(例如,限制访问密钥的 Amazon S3)
PII 涂抹: 在处理生产数据(例如,工单或日志中的代码片段)时,使用定制管道进行:
个人身份信息(PII)涂抹(例如,姓名、电子邮件、令牌、IP 地址)
敏感模式屏蔽(例如,API 密钥、数据库凭据)
工具隔离: 所有数据集创建都在隔离环境中进行,具有访问日志、版本控制和审计能力。
利益相关者入职
每次合作开始时,双方的利益相关者角色都明确界定。
贵组织:
技术联系人(例如,模型所有者、ML 工程师)
业务负责人(例如,产品负责人、CTO)
安全或合规代表
在 HackerRank:
合作经理
主题专家(SME)经理
质量保证(QA)负责人
ML 科学家
HackerRank 建立了共享沟通渠道(Slack 或电子邮件)和可选的共享驱动器,用于实时更新和状态报告。
数据集准备
HackerRank 的核心优势在于一个由经过严格筛选的主题专家(SMEs)组成的全球网络,以及一种经过验证的方法,用于创建生产级、多样化的代码数据集。该过程结合了领域专业知识、结构化工作流程和多层次的质量保证,确保每个数据点都是准确的、可解释的,并且与您的目标保持一致。
专家策划的内容生成
SME 选择: 每个数据集参与始于选择一组具有验证专业知识的专门SME,他们拥有目标语言、框架和领域的专业知识(例如,后端开发、数据工程、DevOps)。
现实任务设计: 每个SME负责设计反映软件开发中真实挑战的原创编程任务,例如实现REST API、调试并发错误或重构遗留代码。任务与客户目标一致(例如,代码生成、错误修复、总结),并在复杂性和格式(函数、类、脚本、项目)上有所不同。SME使用内部创作工具,提供关于格式合规性、标签和完整性的实时反馈。还维护跟踪作者表现和数据集覆盖率的仪表板。
任务 创作指南: SME接受详细、标准化的任务创作指令培训。这些包括:
问题框架和清晰度
预期输入/输出
边缘情况覆盖
测试用例设计
元数据要求(例如,运行时限制、预期性能)
任务审查与批准:每个任务在被纳入数据集之前,经过由SME经理(具有领域专业知识的高级内容工程师)领导的结构化审查流程。审查流程包括对技术正确性、指令清晰度、实际相关性和符合创作标准的检查。
内部工具集简化了审查和反馈流程,以确保任务质量和责任。有针对性的反馈:SME经理可以在任务中直接提供行级评论。
修订循环:被拒绝的任务会返回给作者,附带详细反馈和建议改进措施。作者修订任务后重新提交审查。
版本控制:所有编辑通过具有审计追踪的版本控制系统进行跟踪。
性能跟踪:维护跟踪作者表现(例如,完成每个任务所用时间)和数据集覆盖率的仪表板。
接受标准: 只有在通过审查且没有阻塞性问题的情况下,任务才被批准。严格的质量检查确保:
只有完全批准的任务才包含在生产数据集中
部分接受或“足够好”的任务被排除
这个结构化的审查过程确保每个任务都经过润色、明确,并适合用于训练或评估大型语言模型(LLMs)。
每个任务的多方案: 为了提高训练数据的多样性和鲁棒性,每个任务由至少三位不同的SME独立解决。这提供了多样的解决方案风格,并允许模型从不同的推理方法中学习。你还可以根据你的具体需求配置每个任务所需的解决方案数量。
元数据和上下文捕获
每个任务和解决方案组合都带有详细的元数据,以支持后续使用,包括:
构建和运行指令
语言版本和依赖列表
时间和空间复杂度分析(适用时)
边界情况和预期失败模式
性能调优笔记
这些元数据确保可复现性、便于筛选以及对数据集切片的更好控制(例如,按难度级别、长度或错误类型)。
自动化和人工质量保证
采用双层质量保证流程以保持高提交标准:
理智性检查: 所有提交都通过自动化流程验证,这些流程执行测试用例、进行风格和语法的lint检查,并验证每个问题及其解决方案之间的一致性。
同行评审: 提交由另一位SME进行同行评审,以确保正确性、清晰性和符合定义的标准。任何分歧都将触发结构化仲裁,然后再进行最终确认。
风格和文档检查: 除了功能正确性外,每个解决方案都遵循惯用的编码风格,包含有用的注释,并避免反模式。这些检查对于微调开发者助手和代码解释模型至关重要。

模型评估
一旦数据集确定,它将进入一个结构化的评估阶段,以评估模型在微调新数据后表现的好坏。
微调与初步评估
模型集成: 客户的基础模型或您选择的基础模型通过策划的数据集进行微调。这包括:
完全微调
指令微调
少样本提示构建
监督或RLHF风格的训练,视情况而定
基准测试: 模型性能通过以下方式评估:
如HumanEval、MBPP和CodeXGlue等标准基准测试
HackerRank的ASTRA基准测试,为您的用例定制
从您的生产用例派生的自定义测试套件
与您的目标一致的评估指标,如BLEU、精确匹配率、功能正确性、延迟和幻觉率
如果没有适合任务的公共基准(例如,领域特定语言、重构),HackerRank将与客户共同设计一个定制的评估套件,以确保有意义的评估。
评估设计(如适用)
当开源基准不能充分满足用例时,将开发定制的评估套件。这包括:
从您现有代码库策划的任务集
由 HackerRank SME 手动评估的金标标签
针对您的业务目标定制的指标,例如可读性、安全性或测试覆盖率
边缘案例和对抗性示例
对未来迭代安全的回归子集
性能反馈循环
如果模型未能达到预定义的成功标准,将启动结构化的反馈流程。
错误分析: 进行定性和定量分析,包括:
按问题类型对失败案例进行聚类
标签或输出的混淆矩阵
代码正确性分析(例如,语法错误与逻辑错误)
必要时对模型输出进行人工审查
诊断与归因: 通过评估以下情况,确定性能差距的根本原因:
数据集覆盖不足
任务指令模糊
模型欠拟合或过拟合
评估不匹配
数据集迭代: 通过以下方式解决识别出的问题:
优化现有任务(例如,重写不清楚的问题)
添加新示例以针对薄弱环节
多样化解决方案风格或测试场景
持续改进循环
评估和调优过程是迭代的:
模型在使用更新的数据集进行持续微调。
新模型输出会根据基准进行重新评估,并与之前的版本进行回归测试。
只有在以下情况下,数据集或模型版本才会被批准部署:
达到目标主要指标
在次要指标中未发现回归
客户签字确认
目标是闭环模型行为与数据集设计,确保你投入的数据能带来可衡量的实际性能提升。

质量审查
在交付之前,每个数据集都经过结构化、多阶段的质量审查,以确保每个任务和解决方案都符合正确性、清晰度和一致性的标准。
最终人工审查
每个任务及相关解决方案都由未参与任务创建的高级SME审查员进行最终手动审核。这个无偏见的检查点保证了数据集的完整性。
验证以下标准:
业务逻辑和技术正确性: 该任务是否代表一个现实且有意义的编程挑战?所有解决方案是否正确解决了陈述的问题?
代码风格和格式: 解决方案是否符合习惯用法、易读,并符合特定语言的风格规范?格式是否一致且具有指导性?
解释的清晰度和完整性: 如果数据集包含内联注释或外部说明,它们是否清晰且准确,便于LLM学习?
测试覆盖率和执行行为: 是否测试了边界情况?测试用例是否验证了正确和不正确的实现?是否遵守了时间和空间限制?
基于评分标准的评估
评审人员使用评分标准,将每个任务细分为关键维度(例如,清晰度、正确性、完整性和格式),并设定通过/不通过的标准和评审备注。这为评审提供了一致且透明的评分体系。
客观评分确保与客户期望保持一致。
评审备注会为每个任务记录,以便追溯和持续改进。
争议解决与仲裁
如果多个评审意见不一致:
启动结构化仲裁流程。
每位评审提出他们的评估和理由。
SME经理调解以达成共识。
只有在所有问题解决且结果被记录后,任务才算完成。
此流程避免了主观不一致,确保没有任务在存在未解决问题的情况下继续进行。
版本控制与审计追踪
所有任务编辑、反馈周期、评审意见和批准都通过内部工具进行跟踪。
每个任务都维护变更日志。
所有评审都带有时间戳和归属信息。
应要求提供完整的修订历史,以显示任务的演变过程和原因。
工具与自动化
虽然人工审查员领导该过程,但也会进行最终的自动化处理,以:
重新验证测试用例和运行时行为
检测格式漂移和文件不一致
验证完整性哈希(例如,SHA-256)以支持可复现性。

数据集交付
在数据集通过所有质量检查并获得必要的批准后,HackerRank 启动一个安全且可验证的交付流程。交付工作流程旨在实现可追溯性、可复现性和与 ML 管道的无缝集成。
打包与最终确认
在交付之前,数据集的所有组件都被打包,以确保其可携带、可验证且自包含。
签署内容
所有任务、解决方案和元数据都通过质量保证流程批准。
包括适用的测试文件、构建脚本和运行时说明(如适用)。
如果需要,包含任务到SME的归属(必要时匿名化)。
版本控制与完整性
数据集作为结构化存档(例如,.tar.gz、.zip)打包,具有一致的文件路径。
所有文件和整个存档都包含完整性哈希(例如,SHA-256)。
基于Git的差异,用于跟踪数据集版本之间的更改。
文档包
包含数据集结构和使用说明的README文件。
包含数据架构或注释格式定义。
安全注意事项和处理说明已被记录。
交付渠道
HackerRank支持多种安全、符合企业标准的交付渠道:
加密云端交接(例如,AWS S3预签名URL、GCS安全存储桶、Azure Blob链接)
客户指定的安全FTP或VPN端点
所有交付都被记录和追踪。
客户演示
应要求,HackerRank为您的团队提供演示会,以:
审查数据集结构和评估设置
澄清元数据、标签惯例或预期的使用模式
解答来自数据科学家或ML工程师的集成问题
收集对未来数据集迭代的反馈
归档与保留
一旦交付确认:
HackerRank 保留数据集和交付日志的副本30到90天(可配置)。
在保留期结束后,数据集将被安全清除,除非另有约定。
发出正式的交付完成报告,包括:
交付时间戳
完整性验证记录
QA覆盖范围摘要