LingBot-World-Infinity, lanciato da Robbyant come una versione avanzata di LingBot-World, rappresenta una svolta nel campo dei modelli di simulazione interattiva grazie alla sua architettura e al miglioramento delle prestazioni.

Che cos’è LingBot-World-Infinity?

LingBot-World-Infinity genera video fotogramma per fotogramma condizionalmente ai dati d'azione forniti dall'utente. Ciascun stato visivo dipende solo dai fotogrammi precedenti e dall'input corrente. Il modello utilizza la seguente formula di fattorizzazione causale:

pθ(x1:T | a1:T) = Πt  pθ(xt | x≤t)

Gli azionamenti dell'azione a_t combinano la posizione della camera con un prompt testuale. Le informazioni sulla posizione della camera vengono iniettate tramite un'embedding Plücker integrato nei livelli normalizzazione adattiva (AdaLN). Il testo entra come un prompt frammentato attraverso meccanismi di attenzione incrociata.

I ricercatori hanno definito quattro aggiornamenti rispetto a LingBot-World:

    • Un orizzonte interattivo non vincolato con una qualità costante;
    • Un modello distillato che garantisce output grafico in tempo reale (1280x720p a 60 fps);
    • Uno spazio d'azione più ampio che include maghi, archi, incantesimi e tiri;
    • Un framework di agenti che unisce un agente pilota con un agente direttore.

Architettura: MoBA e formazione in due fasi

L’architettura principale di LingBot-World-Infinity è costituita da una combinazione di attenzione bidirezionale e autoregolare (MoBA). Essa aiuta a ridurre i problemi di drift visivi causati da un modello solo autoregolare.

L'architettura MoBA aggiunge un blocco di attenzione a tutto campo al maschere di forzatura del maestro. Questo blocco funge da regolarizzatore e aiuta il modello a produrre generazioni di lunghezza variabile.

Il mask attenzivo per l’incrocio riflette lo stesso schema. La componente autoregolare presta attenzione a un prompt contestuale e a un prompt frammento a triangolo inferiore. La componente bidirezionale presta attenzione a un prompt generale.

L’addestramento iniziale si ottimizza su un obiettivo di abbinamento di flusso condiziono con interpolazione rettifica. L’addestramento successivo comprime il modello multistep del insegnante in un modello studente a pochispassi:

    • Distillazione di consistenza: i latenti lungo la stessa traiettoria del flusso di probabilità del maestro devono produrre predizioni identiche;
    • Abbinamento di distribuzione (DMD): il generatore segue il gradiente KL tra i dati e la distribuzione degli studenti rumore.

Il framework agente: Una funzione degna di nota

Un modello di previsione di fotogrammi non opera da solo. Il team di Robbyant ha realizzato un framework co-simulativo con due agenti:

Director (Direttore)

Ecco il Vision-Language Model che governa le regole semantiche macrosopiche e la ragionamento causale.

Pilot (Pilota)

Il generatore Diffusione Transformer che simula la fisica dinamica e rende le transizioni visive.

Modalità di interazione

LingBot-World-Infinity supporta due modalità principali di interazione utente:

    • Modalità A: Interazione semantica diretta. Il VLM analizza il fotogramma corrente e genera eventi. Nessuna maschera di oggetti è richiesta.
    • Modalità B: Interazione supportata dal Tracking. Un loop di proposte di azione basato su SAM (Segment Anything Model) traccia gli oggetti tra i pezzi. Gli utenti selezionano un oggetto tracciato e scatenano azioni. Il documento include rollouts di aperture di porte e rotazione di palle.

Gli utenti possono anche intervenire testualmente per modificare il contesto generale, ad esempio, il tempo del giorno, le condizioni meteorologiche, e l'apertura di creature. La VLM sceglierà opportunamente i punti d’entrata.

Contenuti disponibili e limitazioni

I contenuti rilasciati sono basati su Wan2.2. Al momento è possibile scaricare lingbot-world-v2-14b-causal-fast. Altri modelli come i pre-addestrati causali o i vari 1.3B sono contrassegnati come TODO.

Il seguente codice mostra come scaricare e utilizzare il modello:

git clone https://github.com/robbyant/lingbot-world-v2.git

cd lingbot-world-v2

pip install -r requirements.txt # torch >= 2.4.0

pip install flash-attn --no-build-isolation

huggingface-cli download robbyant/lingbot-world-v2-14b-causal-fast \

--local-dir ./lingbot-world-v2-14b-causal-fast

Demo e script

L'utility generate.py esegue l'inferenza causale con la cache KV. Processa i fotogrammi un chunk alla volta:

torchrun --nprocpernode=8 generate.py \

--task i2v-A14B --size 480*832 \

--ckpt_dir lingbot-world-v2-14b-causal-fast \

--image examples/03/image.jpg --action_path examples/03 \

--ditfsdp --t5fsdp --ulysses_size 8 \

--framenum 361 --localattnsize 18 --sinksize 6 \

--prompt "A serene lakeside scene with a lone tree standing in calm water..."

Integrazione con il framework Diffusori

Un checkpoint Diffusers è anche disponibile:

import torch

from diffusers import DiffusionPipeline

from diffusers.utils import loadimage, exportto_video

pipe = DiffusionPipeline.from_pretrained(

"robbyant/lingbot-world-v2-14b-causal-fast",

dtype=torch.bfloat16, device_map="cuda")

frames = pipe(image=load_image("seed.png"), prompt="...").frames[0]

exporttovideo(frames, "output.mp4")

Usi potenziali

LingBot-World-Infinity offre molteplici utilizzi in diversi settori, inclusi:

    • Prototipazione di giochi e ambienti;
    • Simulazione di realtà con interazione visiva;
    • Creazione di contenuti narrativi dinamici;
    • Istituzione di agenti digitali interattivi.

Queste funzionalità aprono interessanti prospettive per futuri sviluppi e applicazioni industriali.