Metodologia tworzenia zbiorów danych HackerRank

Last updated: June 23, 2025

Ten dokument wyjaśnia, jak HackerRank projektuje, buduje i dostarcza zestawy danych w całym cyklu życia oprogramowania, aby pomóc klientom przyspieszyć rozwój oprogramowania. 

Poniższy diagram przepływu pracy ilustruje Metodologię Tworzenia Zestawów Danych HackerRank.

Rozpoczęcie zaangażowania

Każde zaangażowanie zaczyna się od skupienia na zrozumieniu kontekstu biznesowego, celów technicznych, wymagań danych i ograniczeń bezpieczeństwa. Zapewnia to pełne dopasowanie HackerRank przed rozpoczęciem jakiejkolwiek pracy projektowej.

Dopasowanie celów i zakresu

Pierwszym krokiem jest zrozumienie przypadku użycia i kryteriów sukcesu dla Twojego modelu. To zapewnia, że wszystkie dostarczane elementy — od pojedynczych zadań po zestawy danych do oceny — są zgodne z Twoim końcowym celem.

  • Definicja przypadku użycia: Specjaliści ds. uczenia maszynowego (ML) HackerRank współpracują z Twoim zespołem, aby zdefiniować konkretne możliwości, które chcesz poprawić, na przykład:

    • Generowanie kodu

    • Wykrywanie błędów lub naprawa błędów

    • Podsumowanie kodu lub wyjaśnialność

    • Refaktoryzacja lub optymalizacja kodu

    • Generowanie przypadków testowych

    • Automatyzacja bezpiecznego kodowania lub linting

  • Kontekst modelu: Rejestruje szczegóły techniczne, takie jak:

    • Architektura modelu (na przykład enkoder-dekoder, tylko dekoder, dostrajanie instrukcji)

    • Metoda fine-tuningu lub post-treningu (na przykład pełne dostrajanie, LoRA, SFT, RLHF, DPO)

    • Budżet tokenów, cele opóźnienia i ograniczenia okna kontekstowego

  • Mierniki sukcesu: Określ zarówno cele ilościowe, jak i jakościowe, na przykład:

    • BLEU, CodeBLEU, dokładność dopasowania lub poprawność kodu (wskaźnik zdania testowego jednostkowego)

    • Wskaźnik halucynacji lub redukcja wskaźnika awarii

    • Opóźnienie lub koszt inferencji na token

Poprzez zdefiniowanie kluczowych wskaźników wydajności (KPI) i celów zachowania modelu, HackerRank dostosowuje decyzje na dalszym etapie — takie jak wybór zadań i format oceny — do priorytetów Twojej firmy.

Planowanie harmonogramu i kamieni milowych

Projekt jest podzielony na wyraźne fazy, aby wspierać przejrzyste i śledzone wykonanie.

  • Harmonogram dostawy jest wspólnie ustalany i dzielony na wyraźne kamienie milowe:

    • Finalizacja struktury zbioru danych

    • Przegląd próbek zadań lub pilotażowy

    • Ustawienie i bazowanie oceny

    • Ostateczna dostawa zbioru danych i zatwierdzenie

  • Każda faza obejmuje punkty kontrolne informacji zwrotnej, aby utrzymać przejrzystość.

  • Cotygodniowe synchronizacje i wspólne narzędzia śledzenia projektu zapewniają odpowiedzialność i widoczność.

Bezpieczeństwo i rezydencja danych

HackerRank przestrzega branżowych praktyk prywatności i bezpieczeństwa danych. Podczas rozpoczęcia projektu HackerRank finalizuje Twoje wymagania dotyczące bezpieczeństwa i zgodności.

  • Przetwarzanie danych: Jeśli zaangażowanie obejmuje własnościowy kod źródłowy lub artefakty modeli, obsługiwane są następujące opcje:

    • Kontrola dostępu oparta na NDA

    • Przetwarzanie danych w regionie (np. tylko UE, tylko Indie)

    • Polityki braku retencji

    • Bezpieczne przekazywanie w chmurze (np. Amazon S3 z ograniczonymi kluczami dostępu)

  • Redakcja PII: Przy pracy z danymi produkcyjnymi (np. fragmenty kodu z zgłoszeń lub logów), używane są niestandardowe pipeline'y do:

    • Redakcji danych osobowych (PII) (np. imiona, e-maile, tokeny, adresy IP)

    • Maskowania wrażliwych wzorców (np. klucze API, dane uwierzytelniające bazy danych)

  • Izolacja narzędzi: Tworzenie zestawów danych odbywa się we izolowanych środowiskach z dziennikami dostępu, kontrolą wersji i audytem.

Wprowadzenie interesariuszy

Role interesariuszy są jasno określone po obu stronach na początku każdego zaangażowania.

  • Twoja organizacja:

    • Kontakt techniczny (np. Właściciel Modelu, Inżynier ML)

    • Lider biznesowy (np. Właściciel Produktu, CTO)

    • Przedstawiciel ds. bezpieczeństwa lub zgodności

  • W HackerRank:

    • Kierownik zaangażowania

    • Menedżerowie Ekspertów Tematycznych (SME)

    • Lider Zapewnienia Jakości (QA)

    • Naukowcy ML

HackerRank tworzy wspólne kanały komunikacji (Slack lub e-mail) oraz opcjonalny wspólny dysk do aktualizacji w czasie rzeczywistym i raportów statusu.

Przygotowanie zestawu danych

Główna siła HackerRank leży w globalnej sieci wysoce zweryfikowanych ekspertów merytorycznych (SMEs) oraz sprawdzonej metodologii tworzenia zbiorów danych kodu na poziomie produkcyjnym i różnorodnych. Proces integruje wiedzę domenową, ustrukturyzowane przepływy pracy i wielowarstwową kontrolę jakości, aby zapewnić, że każdy punkt danych jest dokładny, wyjaśnialny i zgodny z Twoimi celami.

Tworzenie treści kuratorowanej przez ekspertów

  • Wybór SME: Każde zaangażowanie w zestaw danych rozpoczyna się od wybrania dedykowanego panelu SME, którzy posiadają zweryfikowaną wiedzę w zakresie docelowych języków, frameworków i dziedzin (na przykład, rozwój backend, inżynieria danych, DevOps).

  • Realistyczny projekt zadania: Każdy SME jest odpowiedzialny za projektowanie oryginalnych zadań programistycznych odzwierciedlających autentyczne wyzwania występujące w rozwoju oprogramowania, takie jak implementacja REST API, debugowanie błędów współbieżności czy refaktoryzacja kodu dziedziczonego. Zadania są dostosowane do celów klienta (na przykład generowanie kodu, naprawa błędów, podsumowania) i różnią się pod względem złożoności i formatu (funkcje, klasy, skrypty, projekty). SME korzystają z wewnętrznych narzędzi do tworzenia, które zapewniają informacje zwrotne w czasie rzeczywistym na temat zgodności z formatem, tagowania i kompletności. Utrzymuje się również pulpity nawigacyjne śledzące wydajność autorów i pokrycie zestawu danych.

  • Wytyczne dotyczące tworzenia zadań: SME są szkoleni z szczegółowych, standaryzowanych instrukcji dotyczących tworzenia zadań. Obejmują one zasady dotyczące:

    • Formułowania problemu i jasności

    • Oczekiwanych wejść/wyjść

    • Pokrycia przypadków brzegowych

    • Projektowania przypadków testowych

    • Wymagań dotyczących metadanych (na przykład, ograniczenia czasowe, oczekiwana wydajność)

  • Przegląd i zatwierdzenie zadania: Każde zadanie przechodzi przez ustrukturyzowany proces przeglądu prowadzony przez Menedżera SME (starszego inżyniera treści z wiedzą dziedzinową), zanim zostanie dodane do zestawu danych. Proces przeglądu obejmuje sprawdzenie poprawności technicznej, jasności instrukcji, istotności w rzeczywistym świecie i zgodności ze standardami tworzenia.
    Wewnętrzny zestaw narzędzi usprawnia proces przeglądu i informacji zwrotnej, aby zapewnić jakość i odpowiedzialność zadania.

    • Ukierunkowana informacja zwrotna: Menedżer SME może udzielać komentarzy na poziomie linii bezpośrednio w zadaniu.

    • Pętla rewizji: Zadania odrzucone są zwracane autorowi z szczegółową informacją zwrotną i sugerowanymi poprawkami. Autor poprawia zadanie i ponownie je przesyła do przeglądu.

    • Kontrola wersji: Wszystkie edycje są śledzone w systemie z kontrolą wersji i ścieżkami audytu.

    • Śledzenie wydajności: Utrzymuj pulpity nawigacyjne śledzące wydajność autora (na przykład czas potrzebny na utworzenie każdego zadania) i pokrycie zestawu danych.

  • Kryteria akceptacji: Zadanie jest zatwierdzane tylko wtedy, gdy przejdzie przegląd bez blokujących problemów. Surowe kontrole jakości zapewniają, że:

    • Tylko w pełni zatwierdzone zadania są uwzględniane w zbiorach danych produkcyjnych

    • Zadania częściowo zaakceptowane lub „wystarczająco dobre” są wykluczone
      Ten uporządkowany proces przeglądu zapewnia, że każde zadanie jest dopracowane, jednoznaczne i odpowiednie do szkolenia lub oceny dużych modeli językowych (LLMs).

  • Wiele rozwiązań na zadanie: Aby poprawić różnorodność i odporność danych treningowych, każde zadanie jest niezależnie rozwiązywane przez co najmniej trzech różnych SME. Zapewnia to różnorodność stylów rozwiązań i pozwala modelom uczyć się z różnych podejść do rozumowania. Możesz również skonfigurować liczbę rozwiązań wymaganą na zadanie w zależności od Twoich potrzeb.

Zbieranie metadanych i kontekstu

Każda kombinacja zadania i rozwiązania jest oznaczona szczegółowymi metadanymi wspierającymi dalsze wykorzystanie, w tym:

  • Instrukcje budowania i uruchamiania

  • Wersja języka i lista zależności

  • Analiza złożoności czasowej i przestrzennej (w przypadku zastosowania)

  • Przypadki brzegowe i oczekiwane tryby awarii

  • Notatki dotyczące optymalizacji wydajności

Te metadane zapewniają powtarzalność, łatwe filtrowanie i lepszą kontrolę nad fragmentami zbioru danych (np. według poziomu trudności, długości lub typu błędu).

Automatyczna i ludzka kontrola jakości

Stosowany jest dwuwarstwowy proces QA, aby utrzymać wysokie standardy zgłoszeń:

  • Kontrole sanity: Wszystkie zgłoszenia są weryfikowane za pomocą zautomatyzowanych pipeline'ów, które wykonują testy, sprawdzają styl i składnię oraz weryfikują spójność między każdym problemem a jego rozwiązaniem.

  • Recenzja rówieśnicza: Zgłoszenia są recenzowane przez innego SME, aby zapewnić poprawność, jasność i zgodność z określonymi standardami. Wszelkie niezgodności wywołują zorganizowany arbitraż przed finalizacją.

  • Kontrole stylu i dokumentacji: Oprócz poprawności funkcjonalnej, każde rozwiązanie musi przestrzegać idiomatycznego stylu kodowania, zawierać pomocne komentarze i unikać antywzorców. Te kontrole są niezbędne do dopracowania asystentów programistycznych i modeli wyjaśniających kod.

2ndimage.png

Ocena modelu

Po sfinalizacji zbioru danych, rozpoczyna się uporządkowana faza oceny, aby ocenić, jak dobrze model działa po dostrojeniu z nowymi danymi.

Dostrajanie i wstępna ocena

  • Integracja modelu: Podstawowy model klienta lub wybrany model podstawowy jest dostrajany za pomocą starannie wyselekcjonowanego zbioru danych. Obejmuje to:

    • Pełne dostrajanie

    • Dostrajanie instrukcji

    • Tworzenie promptów na podstawie kilku przykładów

    • Szkolenie nadzorowane lub w stylu RLHF, w zależności od kontekstu

  • Benchmarki: Wydajność modelu jest oceniana za pomocą:

    • Standardowych benchmarków takich jak HumanEval, MBPP i CodeXGlue

    • Benchmarku ASTRA HackerRank, dostosowanego do Twojego przypadku użycia

    • Niestandardowych zestawów testowych wywodzących się z Twoich przypadków użycia produkcyjnego

    • Metryk oceny zgodnych z Twoimi celami, takich jak BLEU, dokładność dopasowania, poprawność funkcjonalna, opóźnienie i wskaźniki halucynacji

Jeśli nie istnieje odpowiedni publiczny benchmark dla zadania (np. język specyficzny dla domeny, refaktoryzacja), HackerRank wspólnie z klientem zaprojektuje niestandardowy zestaw ocen, aby zapewnić znaczącą ocenę.

Projekt oceny (jeśli dotyczy)

Gdy otwarte benchmarki nie wystarczają do rozwiązania przypadku użycia, opracowuje się niestandardowy zestaw ocen. Obejmuje to:

  • Zestawy zadań kuratorowane z Twojej istniejącej bazy kodu

  • Ręcznie ocenione złote etykiety od ekspertów HackerRank

  • Metryki dostosowane do celów Twojej firmy, takie jak czytelność, bezpieczeństwo czy pokrycie testami

  • Przypadki brzegowe i przykłady przeciwdziałające

  • Podzbiory bezpieczne dla regresji na przyszłe iteracje

Pętla informacji zwrotnej o wydajności

Jeśli model nie spełni zdefiniowanych kryteriów sukcesu, uruchamiany jest uporządkowany proces informacji zwrotnej.

  1. Analiza błędów: Przeprowadzane są analizy jakościowe i ilościowe, w tym:

    • Klasteryzacja przypadków niepowodzeń według typu problemu

    • Macierz pomyłek na etykietach lub wynikach

    • Analiza poprawności kodu (np. błędy składniowe versus błędy logiczne)

    • Przegląd wyników modelu przez człowieka, gdy jest to konieczne

  2. Diagnoza i przypisanie przyczyn: Określenie głównej przyczyny luk w wydajności poprzez ocenę, czy wynikają one z:

    • Niewystarczającego pokrycia w zbiorze danych

    • Niejasnych instrukcji zadania

    • Niedostosowania lub nadmiernego dopasowania modelu

    • Niezgodności w ocenie

  3. Iteracja zbioru danych: Identyfikowane problemy są rozwiązywane przez:

    • Udoskonalanie istniejących zadań (np. przepisywanie niejasnych problemów)

    • Dodawanie nowych przykładów, aby skupić się na słabych obszarach

    • Różnicowanie stylów rozwiązań lub scenariuszy testowych

Ciągła pętla doskonalenia

Proces oceny i strojenia jest iteracyjny:

  • Model jest ciągle dostrajany za pomocą zaktualizowanych zbiorów danych.

  • Nowe wyniki modelu są ponownie oceniane względem benchmarków i testowane regresyjnie względem poprzednich wersji.

  • Zbiór danych lub wersja modelu jest zatwierdzana do wdrożenia tylko wtedy, gdy:

    • Osiągnięte są główne metryki docelowe

    • Nie wykryto regresji w metrykach drugorzędnych

    • Klient zatwierdza

Celem jest zamknięcie pętli między zachowaniem modelu a projektem zbioru danych, zapewniając, że dane, na które inwestujesz, prowadzą do wymiernych ulepszeń w rzeczywistej wydajności.

3rdimage.png

Przegląd jakości

Przed dostawą każdy zbiór danych przechodzi strukturalny, wieloetapowy przegląd jakości, aby zapewnić, że każde zadanie i rozwiązanie spełnia standardy poprawności, jasności i spójności.

Ostateczna recenzja ludzka

Każde zadanie i powiązane rozwiązania przechodzą ostateczny ręczny audyt przez starszych recenzentów SME, którzy nie byli zaangażowani w tworzenie zadania. Ten bezstronny punkt kontrolny gwarantuje integralność zbioru danych.

Weryfikowane są następujące kryteria:

  • Logika biznesowa i poprawność techniczna: Czy zadanie stanowi realistyczne i znaczące wyzwanie programistyczne? Czy wszystkie rozwiązania poprawnie rozwiązują określony problem?

  • Styl kodowania i formatowanie: Czy rozwiązania są idiomatyczne, czytelne i zgodne z konwencjami stylu specyficznymi dla języka? Czy formatowanie jest spójne i instrukcyjne?

  • Jasność i kompletność wyjaśnień:  Jeśli zestaw danych zawiera komentarze inline lub wyjaśnienia zewnętrzne, czy są one jasne i dokładne, aby LLM mógł się na nich uczyć?

  • Zasięg testów i zachowanie podczas wykonywania: Czy testowane są przypadki brzegowe? Czy przypadki testowe weryfikują zarówno poprawne, jak i niepoprawne implementacje? Czy przestrzegane są ograniczenia czasowe i pamięciowe?

Ocena oparta na kryteriach

Recenzenci korzystają z kryteriów oceny, które dzielą każde zadanie na kluczowe wymiarowe (np. jasność, poprawność, kompletność i format) z określonymi kryteriami zaliczenia/niezaliczenia i notatkami recenzenta. Zapewnia to spójny i przejrzysty system oceniania wśród recenzentów.

  • Obiektywne ocenianie zapewnia zgodność z oczekiwaniami klienta.

  • Notatki recenzentów są rejestrowane dla każdej oceny w celu śledzenia i ciągłego doskonalenia.

Rozwiązywanie sporów i arbitraż

Jeśli wielu recenzentów się nie zgadza:

  • Inicjuje się ustrukturyzowany proces arbitrażowy.

  • Każdy recenzent przedstawia swoją ocenę i uzasadnienie.

  • Kierownik SME mediacji dąży do osiągnięcia konsensusu.

  • Zadanie kończy się dopiero po rozwiązaniu wszystkich wątpliwości i udokumentowaniu wyniku. 

Ten proces unika subiektywnej niespójności i zapewnia, że żadne zadanie nie będzie kontynuowane z otwartymi pytaniami.

Kontrola wersji i ścieżka audytu

Wszystkie edycje zadań, cykle opinii, komentarze recenzentów i zatwierdzenia są śledzone za pomocą narzędzi wewnętrznych.

  • Dzienniki zmian są prowadzone dla każdego zadania.

  • Wszystkie recenzje są oznaczone czasem i przypisane.

  • Dostępna jest pełna historia rewizji na żądanie, aby pokazać, jak i dlaczego zadanie ewoluowało.

Narzędzia i automatyzacja

Podczas gdy recenzenci ludzkimi prowadzą proces, wykonywana jest również końcowa automatyzacja, aby:

  • Ponownie zweryfikować przypadki testowe i zachowanie w czasie wykonywania

  • Wykryć odchylenia w formatowaniu i niespójności plików

Zweryfikować sumy kontrolne integralności (np. SHA-256) w celu wspierania powtarzalności.

4thimage.png

Dostawa zbiorów danych

Po tym, jak zbiór danych przejdzie wszystkie kontrole jakości i otrzyma wymagane zatwierdzenia, HackerRank inicjuje bezpieczny i weryfikowalny proces dostawy. Workflow dostawy jest zaprojektowany tak, aby zapewnić śledzenie, powtarzalność i bezproblemową integrację z pipeline'ami ML.

Pakowanie i finalizacja

Przed dostawą wszystkie komponenty zbioru danych są pakowane, aby zapewnić ich przenośność, weryfikowalność i samowystarczalność.

  • Zawartość zatwierdzona

    • Wszystkie zadania, rozwiązania i metadane są zatwierdzane przez proces QA.

    • Zawiera odpowiednie pliki testowe, skrypty budowania i instrukcje uruchomieniowe, tam gdzie jest to konieczne.

    • Przypisanie zadania do SME jest dołączone, jeśli jest to konieczne (zanonimizowane w razie potrzeby).

  • Wersjonowanie i integralność

    • Zbiór danych jest pakowany jako uporządkowany archiwum (np. .tar.gz, .zip) z spójnymi ścieżkami plików.

    • Hash'e integralności (np. SHA-256) są dołączone do wszystkich plików i całego archiwum.

    • Diffy oparte na Git do śledzenia zmian między wersjami zbioru danych.

  • Pakiet dokumentacji

    • Plik README z opisem struktury zbioru danych i instrukcjami użytkowania.

    • Definicje schematu danych lub formatu adnotacji są dołączone.

    • Notatki bezpieczeństwa i instrukcje obsługi są udokumentowane.

Kanały dostawy

HackerRank obsługuje wiele bezpiecznych, zgodnych z przedsiębiorstwem kanałów dostawy:

  • Zaszyfrowany przekaz w chmurze (np. pre-signed URL AWS S3, bezpieczny bucket GCS, link do Azure Blob)

  • Bezpieczne punkty końcowe FTP lub VPN wyznaczone przez klienta

Wszystkie dostawy są rejestrowane i śledzone.

Przegląd klienta

Na życzenie HackerRank zapewnia sesję przeglądową z Twoim zespołem, aby:

  • Przejrzeć strukturę zbioru danych i ustawienia oceny

  • Wyjaśnić metadane, konwencje oznaczania lub oczekiwane wzorce użytkowania

  • Rozwiązać pytania dotyczące integracji od naukowców danych lub inżynierów ML

  • Zebrać opinie na temat przyszłych iteracji zbioru danych

Archiwizacja i retencja

Po potwierdzeniu dostawy:

  • HackerRank przechowuje kopię zestawu danych i dzienników dostaw przez 30 do 90 dni (konfigurowalne).

  • Po upływie okresu przechowywania zestaw danych jest bezpiecznie usuwany, chyba że uzgodniono inaczej.

  • Wydawany jest formalny raport zakończenia dostawy, zawierający:

    • Znacznik czasu dostawy

    • Rekord weryfikacji integralności

    • Podsumowanie zakresu QA