Metodologia de Criação de Conjuntos de Dados do HackerRank

Last updated: June 23, 2025

Este documento explica como o HackerRank projeta, constrói e entrega conjuntos de dados ao longo do SDLC para ajudar os clientes a acelerar o desenvolvimento de software. 

O diagrama de fluxo de trabalho abaixo ilustra a Metodologia de Criação de Conjuntos de Dados do HackerRank.

Início do engajamento

Cada engajamento começa com um foco em entender o seu contexto de negócios, metas técnicas, requisitos de dados e restrições de segurança. Isso garante que o HackerRank esteja totalmente alinhado antes de qualquer trabalho de projeto começar.

Alinhamento de objetivo e escopo

O primeiro passo é entender o caso de uso e os critérios de sucesso para o seu modelo. Isso garante que todas as entregas—de tarefas individuais a conjuntos de dados de avaliação—estejam alinhadas com seu objetivo final.

  • Definição do caso de uso: Os cientistas de aprendizado de máquina (ML) da HackerRank colaboram com sua equipe para definir a capacidade específica que você deseja melhorar, como:

    • Geração de código

    • Detecção de bugs ou correção de bugs

    • Sumarização de código ou explicabilidade

    • Refatoração ou otimização de código

    • Geração de casos de teste

    • Automação de codificação segura ou linting

  • Contexto do modelo: Captura detalhes técnicos como:

    • Arquitetura do modelo (por exemplo, codificador-decodificador, apenas decodificador, ajustado por instruções)

    • Ajuste fino ou método pós-treinamento (por exemplo, ajuste fino completo, LoRA, SFT, RLHF, DPO)

    • Orçamento de tokens, metas de latência e restrições de janela de contexto

  • Métricas de sucesso: Defina metas quantitativas e qualitativas, como:

    • BLEU, CodeBLEU, precisão de correspondência exata ou correção de código (taxa de aprovação de testes unitários)

    • Taxa de alucinação ou redução da taxa de falhas

    • Latência ou custo de inferência por token

Ao definir indicadores-chave de desempenho (KPIs) e metas de comportamento do modelo, a HackerRank alinha as decisões subsequentes—como seleção de tarefas e formato de avaliação—with suas prioridades de negócios.

Planejamento de cronograma e marcos

O projeto é organizado em fases distintas para apoiar uma execução transparente e rastreável.

  • O cronograma de entrega é definido em colaboração e dividido em marcos claros:

    • Finalização da estrutura do conjunto de dados

    • Amostragem de tarefas ou revisão piloto

    • Configuração de avaliação e estabelecimento de linha de base

    • Entrega final do conjunto de dados e aprovação

  • Cada fase inclui pontos de verificação de feedback para manter a transparência.

  • Sincronizações semanais e rastreadores de projetos compartilhados garantem responsabilidade e visibilidade.

Segurança e residência de dados

HackerRank segue as práticas padrão do setor de privacidade e segurança de dados. Durante o início do projeto, a HackerRank finaliza seus requisitos de segurança e conformidade.

  • Manipulação de dados: Se o envolvimento envolver código fonte proprietário ou artefatos de modelo, o seguinte é suportado:

    • Controles de acesso respaldados por NDA

    • Processamento de dados na região (por exemplo, apenas UE, apenas Índia)

    • Políticas de não retenção

    • Transferência segura para a nuvem (por exemplo, Amazon S3 com chaves de acesso restritas)

  • Redação de PII: Ao trabalhar com dados de produção (por exemplo, trechos de código de tickets ou logs), pipelines personalizados são usados para:

    • Redação de informações pessoalmente identificáveis (PII) (por exemplo, nomes, e-mails, tokens, endereços IP)

    • Mascaramento de padrões sensíveis (por exemplo, chaves de API, credenciais de banco de dados)

  • Isolamento de ferramentas: Toda criação de conjunto de dados ocorre em ambientes isolados com registros de acesso, controle de versão e auditabilidade.

Integração de stakeholders

Os papéis dos stakeholders são claramente definidos de ambos os lados no início de cada envolvimento.

  • Sua organização:

    • Ponto de contato técnico (por exemplo, Proprietário do Modelo, Engenheiro de ML)

    • Líder de negócios (por exemplo, Proprietário do Produto, CTO)

    • Representante de segurança ou conformidade

  • Na HackerRank:

    • Gerente de Envolvimento

    • Gerentes de Especialistas em Assuntos (SME)

    • Líder de Garantia de Qualidade (QA)

    • Cientistas de ML

A HackerRank configura canais de comunicação compartilhados (Slack ou e-mail) e uma unidade compartilhada opcional para atualizações em tempo real e relatórios de status.

Preparação do conjunto de dados

A força principal do HackerRank reside em uma rede global de especialistas altamente avaliados (SMEs) e uma metodologia comprovada para criar conjuntos de dados de código de qualidade de produção e diversificados. O processo integra expertise de domínio, fluxos de trabalho estruturados e garantia de qualidade em múltiplas camadas para garantir que cada ponto de dado seja preciso, explicável e alinhado com seus objetivos.

Geração de conteúdo curada por especialistas

  • Seleção de PME: Cada engajamento de conjunto de dados começa com a seleção de um painel dedicado de PMEs que possuem expertise verificada nas línguas-alvo, frameworks e domínios (por exemplo, desenvolvimento backend, engenharia de dados, DevOps).

  • Design de tarefas realista: Cada PME é responsável por projetar tarefas de programação originais que refletem desafios autênticos vistos no desenvolvimento de software, como implementar uma API REST, depurar bugs de concorrência ou refatorar código legado. As tarefas estão alinhadas aos objetivos do cliente (por exemplo, geração de código, correção de bugs, sumarização) e variam em complexidade e formato (funções, classes, scripts, projetos). As PMEs usam ferramentas internas de autoria que fornecem feedback em tempo real sobre conformidade de formato, marcação e completude. Painéis que acompanham o desempenho do autor e a cobertura do conjunto de dados também são mantidos.

  • Diretrizes de autoria de tarefas: As PMEs são treinadas com instruções detalhadas e padronizadas para a autoria de tarefas. Estas incluem regras para:

    • Formulação e clareza do problema

    • Entradas/saídas esperadas

    • Cobertura de casos extremos

    • Design de casos de teste

    • Requisitos de metadados (por exemplo, restrições de tempo de execução, desempenho esperado)

  • Revisão e aprovação de tarefas: Cada tarefa passa por um processo de revisão estruturado liderado por um Gerente de PME (um engenheiro de conteúdo sênior com expertise no domínio) antes de ser incluída no conjunto de dados. O processo de revisão inclui verificações de correção técnica, clareza das instruções, relevância no mundo real e conformidade com os padrões de autoria.
    Um conjunto de ferramentas internas agiliza o processo de revisão e feedback para garantir a qualidade e responsabilidade da tarefa.

    • Feedback direcionado: O Gerente de PME pode fornecer comentários em nível de linha diretamente na tarefa.

    • Ciclo de revisão: Tarefas rejeitadas são devolvidas ao autor com feedback detalhado e melhorias sugeridas. O autor revisa a tarefa e a reenvia para revisão.

    • Controle de versão: Todas as edições são rastreadas por meio de um sistema controlado por versão com trilhas de auditoria.

    • Monitoramento de desempenho: Manter painéis que acompanham o desempenho do autor (por exemplo, tempo gasto na criação de cada tarefa) e a cobertura do conjunto de dados.

  • Critérios de aceitação: Uma tarefa é aprovada somente quando passa na revisão sem problemas bloqueantes. Verificações de qualidade rigorosas garantem que:

    • Somente tarefas totalmente aprovadas são incluídas em conjuntos de dados de produção

    • Tarefas parcialmente aceitas ou “boas o suficiente” são excluídas
      Este processo estruturado de revisão garante que cada tarefa seja aprimorada, inequívoca e adequada para treinar ou avaliar grandes modelos de linguagem (LLMs).

  • Múltiplas soluções por tarefa: Para melhorar a diversidade e robustez dos seus dados de treinamento, cada tarefa é resolvida independentemente por pelo menos três SMEs diferentes. Isso fornece uma variedade de estilos de solução e permite que os modelos aprendam com abordagens de raciocínio variadas. Você também pode configurar o número de soluções necessárias por tarefa com base nas suas necessidades específicas.

Captura de metadados e contexto

Cada combinação de tarefa e solução é anotada com metadados detalhados para apoiar o uso downstream, incluindo:

  • Instruções de construção e execução

  • Versão do idioma e lista de dependências

  • Análise de complexidade de tempo e espaço (quando aplicável)

  • Casos extremos e modos de falha esperados

  • Notas de ajuste de desempenho

Esses metadados garantem reprodutibilidade, filtragem fácil e melhor controle sobre fatias do conjunto de dados (por exemplo, por nível de dificuldade, comprimento ou tipo de bug).

QA automatizado e humano

Um processo de QA de duas camadas é aplicado para manter altos padrões de submissão:

  • Verificações de sanidade: Todas as submissões são validadas por pipelines automatizados que executam casos de teste, realizam linting para estilo e sintaxe, e verificam a consistência entre cada problema e sua solução.

  • Revisão por pares: As submissões são revisadas por outro SME para garantir correção, clareza e conformidade com os padrões definidos. Qualquer desacordo aciona uma arbitragem estruturada antes da finalização.

  • Verificações de estilo e documentação: Além da correção funcional, cada solução segue o estilo de codificação idiomático, inclui comentários úteis e evita antipadrões. Essas verificações são essenciais para ajustar assistentes de desenvolvedores e modelos de explicação de código.

2ndimage.png

Avaliação do modelo

Assim que o conjunto de dados estiver finalizado, ele entra em uma fase estruturada de avaliação para verificar o desempenho do modelo após o ajuste fino com os novos dados.

Ajuste fino e avaliação inicial

  • Integração do modelo: O modelo de base do cliente ou o modelo de base de sua escolha é ajustado usando o conjunto de dados curado. Isso inclui:

    • Ajuste fino completo

    • Ajuste de instruções

    • Construção de prompt de poucos exemplos

    • Treinamento supervisionado ou no estilo RLHF, dependendo do contexto

  • Benchmarks: O desempenho do modelo é avaliado usando:

    • Benchmarks padrão como HumanEval, MBPP e CodeXGlue

    • O benchmark ASTRA do HackerRank, personalizado para seu caso de uso

    • Conjuntos de testes personalizados derivados de seus casos de uso de produção

    • Métricas de avaliação alinhadas com seus objetivos, como BLEU, precisão de correspondência exata, correção funcional, latência e taxas de alucinação

Se não existir um benchmark público adequado para uma tarefa (por exemplo, linguagem específica de domínio, refatoração), o HackerRank co-projetará um conjunto de avaliação personalizado com o cliente para garantir uma avaliação significativa.

Design de avaliação (se aplicável)

Quando benchmarks de código aberto não abordam suficientemente o caso de uso, um conjunto de avaliação personalizado é desenvolvido. Isso inclui:

  • Conjuntos de tarefas selecionados a partir do seu código existente

  • Rótulos de ouro avaliados manualmente por especialistas do HackerRank

  • Métricas adaptadas aos seus objetivos de negócio, como legibilidade, segurança ou cobertura de testes

  • Casos extremos e exemplos adversariais

  • Subconjuntos seguros para regressão para futuras iterações

Ciclo de feedback de desempenho

Se o modelo não atender aos critérios de sucesso predefinidos, um processo estruturado de feedback é iniciado.

  1. Análise de erros: São realizadas análises qualitativas e quantitativas, incluindo:

    • Agrupamento de casos de falha por tipo de problema

    • Matriz de confusão em rótulos ou saídas

    • Análise da correção do código (por exemplo, erros de sintaxe versus bugs de lógica)

    • Revisão humana das saídas do modelo quando necessário

  2. Diagnóstico e atribuição: Determinar a causa raiz das lacunas de desempenho avaliando se elas resultam de:

    • Cobertura insuficiente no conjunto de dados

    • Instruções de tarefa ambíguas

    • Subajuste ou sobreajuste do modelo

    • Desajustes na avaliação

  3. Iteração do conjunto de dados: Questões identificadas são resolvidas por:

    • Refinamento de tarefas existentes (por exemplo, reescrever problemas pouco claros)

    • Adição de novos exemplos para atingir áreas fracas

    • Diversificação de estilos de solução ou cenários de teste

Ciclo de melhoria contínua

O processo de avaliação e ajuste é iterativo:

  • O modelo está sendo ajustado continuamente usando conjuntos de dados atualizados.

  • Novas saídas do modelo são reavaliadas em relação a benchmarks e testadas contra regressões em versões anteriores.

  • Uma versão de conjunto de dados ou modelo é aprovada para implantação somente quando:

    • As métricas primárias alvo são alcançadas

    • Nenhuma regressão é encontrada nas métricas secundárias

    • O cliente aprova

O objetivo é fechar o ciclo entre o comportamento do modelo e o design do conjunto de dados, garantindo que os dados nos quais você investe levem a melhorias mensuráveis no desempenho no mundo real.

3rdimage.png

Revisão de qualidade

Antes da entrega, cada conjunto de dados passa por uma revisão de qualidade estruturada e em várias etapas para garantir que cada tarefa e solução atendam aos padrões de correção, clareza e consistência.

Revisão final humana

Cada tarefa e soluções associadas passam por uma auditoria manual final pelos revisores seniores SME que não estiveram envolvidos na criação da tarefa. Este ponto de verificação imparcial garante a integridade em todo o conjunto de dados.

Os seguintes critérios são verificados:

  • Lógica de negócios e correção técnica: O desafio representa um desafio de programação realista e significativo? Todas as soluções abordam corretamente o problema declarado?

  • Estilo e formatação do código: As soluções são idiomáticas, legíveis e alinhadas com as convenções de estilo específicas da linguagem? A formatação é consistente e instrutiva?

  • Clareza e completude das explicações: Se o conjunto de dados inclui comentários inline ou explicações externas, eles são claros e precisos para um LLM aprender?

  • Cobertura de testes e comportamento de execução: Os casos extremos são testados? Os casos de teste validam implementações corretas e incorretas? Os limites de tempo e espaço são respeitados?

Avaliação baseada em rubrica

Os avaliadores usam uma rubrica de pontuação que divide cada tarefa em dimensões-chave (por exemplo, clareza, correção, completude e formato) com critérios de aprovação/reprovação definidos e notas dos avaliadores. Isso fornece um sistema de pontuação consistente e transparente entre os avaliadores.

  • A pontuação objetiva garante alinhamento com as expectativas do cliente.

  • As notas dos avaliadores são registradas por tarefa para rastreabilidade e melhoria contínua.

Resolução de disputas e arbitragem

Se vários avaliadores discordarem:

  • Um fluxo de trabalho de arbitragem estruturado é iniciado.

  • Cada avaliador apresenta sua avaliação e justificativa.

  • O gerente SME media para chegar a um consenso.

  • Uma tarefa é finalizada somente após todas as preocupações serem resolvidas e o resultado ser documentado. 

Este processo evita inconsistências subjetivas e garante que nenhuma tarefa prossiga com questões em aberto.

Controle de versão e trilha de auditoria

Todas as edições de tarefas, ciclos de feedback, comentários dos avaliadores e aprovações são rastreados usando ferramentas internas.

  • Registros de alterações são mantidos para cada tarefa.

  • Todas as revisões são carimbadas com data e atribuídas.

  • Um histórico completo de revisões está disponível mediante solicitação para mostrar como e por que uma tarefa evoluiu.

Ferramentas e automação

Enquanto revisores humanos lideram o processo, uma passagem final de automação também é realizada para:

  • Revalidar casos de teste e comportamento em tempo de execução

  • Detectar deriva de formatação e inconsistências de arquivo

Verificar hashes de integridade (por exemplo, SHA-256) para apoiar a reprodutibilidade.

4thimage.png

Entrega de conjunto de dados

Após um conjunto de dados passar por todas as verificações de qualidade e receber as aprovações necessárias, o HackerRank inicia um processo de entrega seguro e verificável. O fluxo de trabalho de entrega é projetado para rastreabilidade, reprodutibilidade e integração perfeita com pipelines de ML.

Embalagem e finalização

Antes da entrega, todos os componentes do conjunto de dados são embalados para garantir que seja portátil, verificável e autocontido.

  • Conteúdo aprovado

    • Todas as tarefas, soluções e metadados são aprovados através do processo de QA.

    • Inclui arquivos de teste aplicáveis, scripts de build e instruções de runtime, quando aplicável.

    • Atribuição de tarefa ao SME está incluída se necessário (anonimizada quando necessário).

  • Versionamento e integridade

    • O conjunto de dados é empacotado como um arquivo estruturado (por exemplo, .tar.gz, .zip) com caminhos de arquivo consistentes.

    • Hashes de integridade (por exemplo, SHA-256) estão incluídos para todos os arquivos e para o arquivo completo.

    • Difs baseados em Git para rastreamento de mudanças entre versões do conjunto de dados.

  • Pacote de documentação

    • Arquivo README com estrutura do conjunto de dados e instruções de uso.

    • Definições de esquema de dados ou formato de anotação estão incluídas.

    • Notas de segurança e instruções de manuseio estão documentadas.

Canais de entrega

HackerRank suporta múltiplos canais de entrega seguros e compatíveis com empresas:

  • Transferência criptografada na nuvem (por exemplo, URL pré-assinada do AWS S3, bucket seguro do GCS, link do Azure Blob)

  • Pontos finais FTP ou VPN seguros designados pelo cliente

Todas as entregas são registradas e rastreáveis.

Apresentação ao cliente

Mediante solicitação, o HackerRank fornece uma sessão de apresentação com sua equipe para:

  • Revisar a estrutura do conjunto de dados e a configuração de avaliação

  • Esclarecer metadados, convenções de rotulagem ou padrões de uso esperado

  • Responder a perguntas de integração de cientistas de dados ou engenheiros de ML

  • Coletar feedback para futuras iterações do conjunto de dados

Arquivamento e retenção

Assim que a entrega for confirmada:

  • HackerRank mantém uma cópia do conjunto de dados e registros de entrega por 30 a 90 dias (configurável).

  • Após o período de retenção, o conjunto de dados é excluído de forma segura, a menos que haja acordo em contrário.

  • Um relatório formal de conclusão de entrega é emitido, incluindo:

    • Carimbo de data/hora da entrega

    • Registro de verificação de integridade

    • Resumo da cobertura de QA