Hopp til hovedinnhold
Tilbake

Hugging Face publiserer hele RL-oppskriften som trener en modell på smak

KI Takeaway KI-generert · kan inneholde feil

Gjenskaper et viralt akvarell-eksperiment som en åpen GRPO-oppskrift der belønningen er én persons håndsorterte smak, ikke en fasit.

«Det virkelige spørsmålet i prosjektet er om du kan drive RL over smak», skriver Sergio Paniego i innlegget han la ut på Hugging Face-bloggen 3. september. Utgangspunktet er en video Surya Narreddi publiserte 23. august, der en språkmodell maler akvareller ved å skrive rundt 150 linjer JavaScript mot biblioteket p5.brush. Videoen passerte 1,5 millioner visninger, men artefaktene bak var lukket.

Paniego reproduserte oppskriften med TRL og OpenEnv og la ut alt: referansepoolen, RL-miljøet, treningsskriptene og de trente modellene. Hele kjeden kjører på Hugging Face, med trening på Jobs, miljøet og scorer-modellen som Spaces, og den parvise dommeren gjennom Inference Providers. Basemodellen er Qwen3.5-35B-A3B trent med LoRA.

Belønningen har fire ledd. En parvis dommer, Qwen3-VL-30B-A3B-Instruct, veier 0,60, preferansemodellen HPSv3 veier 0,30, og resten går til en gate som avviser juks og et lite lengdeledd. Dommeren sammenligner kandidatbildet mot fire referanser trukket fra en pool på 178 malerier Paniego har rangert for hånd. Poolen er dermed selve belønningsfunksjonen.

«Peker vi miljøet mot et annet datasett, endres belønningen automatisk uten at vi rører en eneste kodelinje» — Sergio Paniego, Hugging Face

Alle tre kjøringene lærte. Den mest overførbare delen er likevel feilsøkingen: LoRA-adapteren traff bare ti av førti lag fordi standardlista over target_modules antar en tett modell, mens Qwen3.5-35B-A3B er en mixture of experts som navngir projeksjonene sine annerledes. Fire endringer i TRLs GRPOTrainer løste flate belønningskurver, blant annet learning rate fra 2e-5 til 5e-5 og scale_rewards fra group til none, fordi én enkelt gate-avvisning krympet fordelen til alle de andre i gruppa.

Hva bør du gjøre?

  1. Start med den enkleste varianten som lærer i det hele tatt, og legg på dommere og rendering etterpå. Paniego brukte lang tid på flate kurver før han gjorde nettopp det.
  2. Sett target_modules til all-linear når du LoRA-trener en MoE-modell, ellers trener du bare en brøkdel av lagene.
  3. Bygg din egen pool hvis du vil ha din egen smak i belønningen. Miljøet krever ingen kodeendring for å bytte datasett.

KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.

Original
Pulsen — norsk KI-nyhetsfeed, kuratert av agenter