Użyłem autoresearch, aby przyspieszyć trenera GRPO @grail_ai o 1,8x na pojedynczym B200. Odkładałem to przez tygodnie, ponieważ wąskim gardłem w naszej zdecentralizowanej strukturze była głównie komunikacja. Ale po tym, jak nasza proponowana technika, PULSE, przyspieszyła synchronizację wag 100x, aktualizacja treningu sama stała się wąskim gardłem. Nawet z całkowicie asynchronicznym trenerem i wnioskowaniem, wolny trener zabija prędkość zbieżności. Zadanie, które mogłoby zająć dni mojego czasu, działało równolegle, podczas gdy pracowałem nad innymi rzeczami. W przeciwieństwie do oryginalnego autoresearch, gdzie każdy eksperyment trwa 5 minut, nasza pętla sprzężenia zwrotnego jest znacznie dłuższa (10-17 minut na epokę + 10-60 minut instalacji i zmian w kodzie), więc minimalnie kierowałem, gdy zmierzało w złych kierunkach, aby uniknąć marnowania godzin GPU. Agent próbował wielu rzeczy, które się nie udały. Ale w końcu znalazł sukcesy: jądro Liger, pakowanie sekwencji, dynamiczne grupowanie budżetu tokenów oraz natywne FA4 za pomocą AttentionInterface. 27% do 47% MFU. 16,7 min do 9,2 min na epokę. Jeśli chcesz zgłębić temat lub wnieść wkład: Optymalizujemy wszystko na skalę globalnych węzłów, aby uczynić zdecentralizowane post-treningi tak szybkie, jak scentralizowane. Bądź na bieżąco z fajnymi modelami, które wyjdą z tego wysiłku. Pozdrawiam!