
AWS pokazuje uczenie wieloturowe w SageMaker AI na przykładzie Wordle
Poradnik AWS przedstawia wieloturowe uczenie ze wzmocnieniem, czyli MTRL, w Amazon SageMaker AI na przykładzie Wordle. Model uczy się na podstawie nagród za wieloetapowe epizody. Autorzy raportują poprawę skuteczności GPT-OSS-20B na słowach odłożonych do testów oraz opisują problemy z nagrodami i środowiskiem wykonawczym. Wyniki i koszty dotyczą tego eksperymentu i nie dowodzą skuteczności w innych zadaniach.
Współpraca modelu i agenta
W Wordle agent ma sześć prób odgadnięcia ukrytego pięcioliterowego słowa. SageMaker AI zarządza treningiem i modelem, a Amazon Bedrock AgentCore obsługuje agenta Strands, środowisko gry i funkcję nagrody. Agent wywołuje zgodny z OpenAI interfejs SageMaker Job Runtime i otrzymuje informacje zwrotne przez guess_word. GRPO porównuje nagrody z kilku rozgrywek dla tego samego słowa, aby aktualizować adapter LoRA.
Przykład zwraca jedną nagrodę za cały epizod. MTRL przyjmuje też nagrody za poszczególne tury przez UpdateReward. Agenci mogą działać w AgentCore albo w infrastrukturze klienta, takiej jak EKS, EC2 czy Fargate, dostępnej przez funkcję przekazującą AWS Lambda. Poradnik opisuje usługę jako bezserwerową: zapewnia ona infrastrukturę treningową i infrastrukturę do próbkowania.
Zadania bez wzorcowych odpowiedzi
Wiersze zbioru danych zawierają zadania bez docelowych odpowiedzi, transkrypcji czy etykiet. Usługa przekazuje agentowi niezmienioną zawartość kolumny prompt lub pierwszej kolumny. Przykład zawiera instrukcję, tajną odpowiedź i identyfikator śledzenia, ale model nigdy nie widzi odpowiedzi. Wykorzystano 640 słów treningowych oraz 128 odrębnych słów walidacyjnych. Według AWS dane, agenci i wytrenowane modele pozostają na koncie klienta i nie służą do trenowania modeli bazowych.
Kod uruchamiający korzysta z MultiTurnRLTrainer i wymaga aplikacji MLflow. Ustawia limit próbkowania na 8192 tokeny, maksymalnie 20 epok i 100 kroków. Przy partii 128 zadań i ośmiu rozgrywkach na zadanie epoka ma pięć kroków, a każdy krok obejmuje 1024 gry. Poradnik ostrzega, że ponowne wdrożenie agenta podczas treningu restartuje środowisko wykonawcze i może spowodować błąd całego zadania.
Nagrody muszą zachować kolejność wyników
Pierwsza funkcja nagrody sumowała premie za kolejne próby. Przegrana mogła więc otrzymać około +0,49, a rozwiązanie w trzeciej próbie mogło przebić rozwiązanie w pierwszej. Poprawiona funkcja łączy dominujący składnik wyniku z ograniczonym składnikiem pomocniczym. Ten ostatni jest przycinany do przedziału od −1 do 1 i ważony współczynnikiem 0,04 dla zwycięstw oraz 0,15 dla porażek.
Według autorów zachowuje to kolejność: szybsze zwycięstwa, wolniejsze zwycięstwa, porażki oraz gry bez poprawnych zgłoszeń. Nawet najniżej ocenione zwycięstwo uzyskuje +1,01, powyżej progu sukcesu usługi wynoszącego 1,0. Nagroda musi zatem odzwierciedlać cel całej gry, a także ewentualne postępy pośrednie.
Ustawienia oceny zmieniały wyniki
Przy średnim poziomie wysiłku rozumowania i temperaturze 1,0 autorzy podają wzrost skuteczności z 61 do 84 procent. Wynik 84 procent jest średnią dwóch przebiegów, które osiągnęły 80 i 88 procent. Przy niskim wysiłku skuteczność wzrosła z 15 do 69 procent. Walidacja podczas treningu przy temperaturze 0 osiągnęła jednak maksimum 48 procent i zakończyła się na 37 procentach. Są to więc wyniki uzyskane w różnych warunkach oceny.
Autorzy nie sprawdzili, czy dodatkowe kroki treningu poprawiają wyniki przy ustawieniach używanych do obsługi zapytań. Podają, że niski wysiłek rozumowania zużywał o 63–83 procent mniej tokenów próbkowania na ocenianą grę niż średni. MLflow zapisuje nagrody, tokeny i statystyki tur, a ślady OpenTelemetry w CloudWatch rejestrują tury modelu oraz wywołania narzędzi.
Działanie i raportowane koszty
Przy 32 równoległych rozgrywkach autorzy napotkali problem z dostępem do dostawcy poświadczeń; godzinne buforowanie tokenów powodowało też błędy uwierzytelniania. Rozwiązanie obejmuje samoodnawiającą się sesję, krótki czas buforowania i ponowne podpisanie żądania po odpowiedzi 403. Gry bez poprawnych zgłoszeń otrzymują −1,5; w przebiegu liczącym 100 kroków było ich 51. Zbyt wysokie tempo uczenia zmieniało również wywołania narzędzi w zwykły tekst, co skłoniło autorów do odzyskiwania zgłoszeń z karą za format.
Trening obejmujący 100 kroków wykonał 105 486 rozgrywek w 12 godzin i 40 minut. Zużył 491,6 miliona tokenów prefill, 159,7 miliona tokenów próbkowania i 643,3 miliona tokenów treningowych. Autorzy podali około 339 USD za tokeny treningowe i 79 USD za działanie AgentCore według ówczesnych cen katalogowych w us-east-1. Seria ocen kosztowała około 1,20 USD w tokenach i trwała około godziny; pojedyncze oceny 128 słów zajmowały od czterech do siedmiu minut.
Po zakończeniu zadania treningowe i oceniające przestają generować opłaty. Środowisko AgentCore, jego rola IAM, aplikacja MLflow i obiekty S3 pozostają jednak zachowane. Według poradnika rola treningowa i pakiety modeli nie są płatne. Źródłem jest poradnik AWS, a nie niezależna weryfikacja. Podane ceny nie stanowią aktualnej wyceny.