NVIDIA Open-SWE-Traces: Jak przygotować dane do dostrajania modeli inżynierii oprogramowania
Artykuł przedstawia praktyczne podejście do wykorzystania zbioru danych Open-SWE-Traces firmy NVIDIA w celu tworzenia wysokiej jakości danych do nadzorowanego dostrajania modeli AI w inżynierii oprogramowania.

NVIDIA udostępnia zbiór danych Open-SWE-Traces, który stanowi cenne źródło do badania i przygotowywania trajektorii agentów inżynierii oprogramowania do nadzorowanego dostrajania (SFT). Proces ten obejmuje strumieniowe pobieranie danych bezpośrednio z Hugging Face, co umożliwia efektywną pracę z dużym zbiorem danych w środowisku Google Colab bez konieczności lokalnego pobierania całości. Kluczowe etapy to inspekcja pojedynczych rekordów, normalizacja konwersacji agentów, analiza finalnych poprawek kodu (patchy), ekstrakcja użytecznych metadanych oraz budowa ramki danych do analizy, która pozwala zrozumieć długość trajektorii, użycie narzędzi, rozmiar poprawek, rozkład języków programowania oraz wyniki rozwiązywania problemów.
Przygotowanie i analiza danych
Pierwszym krokiem jest instalacja i importowanie niezbędnych bibliotek, takich jak datasets, huggingface_hub, tiktoken, pandas i matplotlib, które są kluczowe do strumieniowego przesyłania, parsowania, analizy i wizualizacji danych. Konfiguracja pandas i matplotlib zapewnia czytelność tabel i wykresów w Google Colab. Definiowane są również nazwy zbiorów danych, kombinacje agentów i modeli, rozmiar próbki oraz ustawienia filtrowania SFT, które kontrolują dalszą część procesu.
Następnie tworzone są funkcje pomocnicze ułatwiające przetwarzanie zbioru danych, nawet gdy pola pojawiają się w różnych formatach. Obejmuje to normalizację trajektorii, ekstrakcję tekstu wiadomości, zliczanie ról, wykrywanie użycia narzędzi, parsowanie poprawek kodu oraz szacowanie długości tokenów. Te narzędzia są budowane w sposób defensywny, aby analiza pozostała stabilna pomimo różnic w schematach dużych, strumieniowanych zbiorów danych.
Strumieniowanie i struktura rekordów
Zbiór danych Open-SWE-Traces jest strumieniowany bezpośrednio z Hugging Face, co pozwala na pobranie małej próbki zamiast całego zbioru. Przykłady są zbierane z różnych kombinacji agentów (np. openhands, sweagent) i modeli (np. minimax_m25, qwen35_122b). Po pobraniu próbki, szczegółowo analizowana jest struktura pojedynczego rekordu. Obejmuje to przegląd pól najwyższego poziomu, identyfikatorów instancji, repozytoriów, języków, licencji, statusu rozwiązania (resolved) oraz metadanych. Analizowana jest również trajektoria, czyli sekwencja wiadomości, wraz z histogramem ról (system, użytkownik, asystent, narzędzie) oraz podglądem finalnej poprawki kodu (model_patch), aby zrozumieć zawartość każdego przykładu treningowego.
Budowa ramki danych do analizy i wizualizacje
Surowe rekordy są przekształcane w ustrukturyzowaną ramkę danych pandas w celu dalszej analizy. Ekstrahowane są cechy na poziomie trajektorii, takie jak liczba wiadomości, liczba ról, zmiany w poprawkach kodu (patch churn), szacowane tokeny, pola metadanych oraz liczniki użycia narzędzi. Tworzone są również flagi rozwiązania problemu, aby porównać udane i nieudane trajektorie inżynierii oprogramowania.
Na podstawie ramki danych przeprowadzane są wizualizacje i analizy, które obejmują:
- Rozkład języków: Liczba trajektorii dla każdego języka programowania.
- Współczynnik rozwiązania problemów: Średnia skuteczność rozwiązania problemów w zależności od języka (dla języków z co najmniej 25 trajektoriami).
- Współczynnik rozwiązania problemów według agenta i modelu: Porównanie skuteczności różnych kombinacji agentów i modeli.
- Rozkład liczby wiadomości na trajektorię: Histogram pokazujący, ile wiadomości zawiera typowa trajektoria.
- Rozmiar poprawki kodu: Histogram zmian w liniach kodu (dodanych i usuniętych), ograniczony do 97. percentyla, aby wyeliminować wartości odstające.
- Długość trajektorii a rozmiar tokenów: Wykres punktowy pokazujący zależność między liczbą wiadomości a szacowaną liczbą tokenów, z rozróżnieniem na trajektorie rozwiązane i nierozwiązane.
Wymagania dotyczące budżetu tokenów
Analiza budżetu tokenów jest kluczowa dla efektywnego dostrajania modeli. Szacowana liczba tokenów na trajektorię jest analizowana pod kątem percentyli (50, 75, 90, 95, 99) oraz wartości maksymalnej. Następnie obliczana jest frakcja trajektorii, które mieszczą się w określonych oknach kontekstowych, takich jak 8 192, 16 384, 32 768, 65 536 i 131 072 tokenów. Te dane są niezbędne do optymalnego doboru modeli i konfiguracji treningowych, zapewniając, że dane treningowe mieszczą się w ograniczeniach kontekstowych używanych modeli językowych.
Ostatecznie, na podstawie zebranych informacji, tworzony jest wyselekcjonowany podzbiór danych do nadzorowanego dostrajania, który zawiera tylko wysokiej jakości trajektorie. Kryteria selekcji obejmują etykiety sukcesu, limity tokenów, filtry językowe oraz dostępność poprawek. Takie podejście pozwala na efektywne wykorzystanie zbioru Open-SWE-Traces do rozwijania i ulepszania agentów AI w inżynierii oprogramowania, co ma kluczowe znaczenie dla postępów w automatyzacji procesów deweloperskich.
Źródło: marktechpost.com
Komentarze
Zaloguj się, aby dołączyć do dyskusji.
Nikt jeszcze nie skomentował. Bądź pierwszy!
Czytaj dalej

Ford zatrudnia ponownie doświadczonych inżynierów po niespełnionych oczekiwaniach wobec AI
Koncern Ford Motor Company zatrudnił 350 doświadczonych inżynierów, w tym byłych pracowników, po tym jak systemy sztucznej inteligencji i automatyzacji nie zapewniły oczekiwanego poziomu jakości w produkcji.
Redakcja Aigest15 godz. temu

VibeThinker-3B: Mały model językowy Sina rywalizuje z gigantami w logice, ale nie w wiedzy
Chiński model językowy VibeThinker-3B, opracowany przez firmę Sina, osiąga wyniki porównywalne z modelami stukrotnie większymi w zadaniach matematycznych i programistycznych, co podważa dotychczasowe założenia dotyczące
Redakcja Aigestwczoraj

Jak zbudować stabilny przepływ pracy dla danych Fable 5 Traces w Colab
Artykuł przedstawia kompleksowy przewodnik po tworzeniu stabilnego środowiska pracy z danymi Fable 5 Traces, obejmujący parsowanie wywołań narzędzi, audyt danych i trenowanie modeli bazowych.
Redakcja Aigestwczoraj

Liquid AI prezentuje LFM2.5-230M: mały model AI do zadań agentowych na urządzeniach brzegowych
Liquid AI wprowadza LFM2.5-230M, swój najmniejszy model AI, zoptymalizowany do zadań agentowych na urządzeniach brzegowych, takich jak telefony i roboty.
Redakcja Aigestwczoraj

DeepSeek prezentuje DSpark: przyspieszenie generowania DeepSeek-V4 o 60-85%
DeepSeek wprowadził DSpark, framework do spekulatywnego dekodowania, który znacząco przyspiesza generowanie treści przez modele DeepSeek-V4, oferując otwarte zasoby i kod do trenowania.
Redakcja Aigestwczoraj

Połowa użytkowników Claude twierdzi, że AI może wykonać co najmniej połowę ich pracy
Badanie przeprowadzone przez Anthropic wśród blisko 10 000 użytkowników Claude'a ujawnia, że wielu z nich uważa, iż sztuczna inteligencja jest już w stanie przejąć znaczną część ich obowiązków zawodowych.
Redakcja Aigestwczoraj
Bądź na bieżąco ze światem AI
Najważniejsze newsy, recenzje i poradniki — raz w tygodniu, prosto na maila. Bez spamu.