Una clausola all’inizio, una domanda alla fine
Un’impresa vuole interrogare un manuale lungo: una regola compare nelle prime pagine, ma la domanda arriva dopo centinaia di sezioni. Aumentare il limite di ingresso del modello sembra la soluzione naturale. Eppure accettare il documento, rappresentare le distanze fra le sue parti e recuperare correttamente quella regola sono capacità differenti. L’articolo studia il secondo passaggio per spiegare perché non dimostri automaticamente il terzo. Partiremo da una rotazione nel piano, arriveremo al riscalamento delle posizioni e confronteremo il risultato matematico con il tipo di evidenza richiesto per una vera estensione del contesto.
Abstract. Spieghiamo Rotary Position Embedding, o RoPE, tramite vettori bidimensionali e prodotto scalare. Deriviamo la dipendenza dalla distanza relativa e verifichiamo numericamente l’invarianza a traslazioni. In un esempio non addestrato, dividere le posizioni per 4 riporta una distanza 80 alla fase della distanza 20, ma riduce la separazione geometrica dei vicini da circa 0,099958 a 0,024999. Un secondo esempio a due frequenze mostra perché la periodicità di un singolo canale non descriva l’intera rappresentazione. RoFormer e LongRoPE 2 permettono di distinguere proprietà della codifica, risultati degli autori e comprensione di un compito aziendale, qui non misurata.
Prima delle posizioni: che cosa confronta l’attenzione
Un token è un’unità della sequenza, non necessariamente una parola intera. Per ogni posizione il modello costruisce vettori numerici; una query esprime ciò che cerca una posizione e una key descrive ciò con cui un’altra può essere confrontata. Sono interpretazioni operative, non intenzioni umane. Il prodotto scalare somma prodotti delle coordinate e contribuisce al punteggio di attenzione. I punteggi vengono poi normalizzati e usati per combinare altri vettori, detti value. Qui isoliamo il punteggio prima della normalizzazione: non lo chiameremo probabilità di risposta corretta.
Per intuire il problema dell’ordine, manteniamo identici i vettori dei contenuti e spostiamoli lungo la sequenza. Un confronto che non riceve informazioni di posizione non distingue da solo dove quei contenuti si trovino. L’esperimento tiene appositamente fissi i vettori; in un modello reale dipendono invece dal testo e dai livelli precedenti. Questo controllo rende leggibile l’effetto della codifica, ma impedisce di interpretare i risultati come previsione del comportamento completo di un linguaggio naturale.
Ruotare senza cambiare la lunghezza
Una rotazione nel piano cambia la direzione di una freccia mantenendone la lunghezza. Usiamo una coppia di coordinate per ciascun vettore: q per la query e k per la key, entrambi vettori colonna. Alla posizione intera m ruotiamo q di mθ radianti; alla posizione n ruotiamo k di nθ. θ indica radianti per passo di posizione e nel nostro esempio vale 0,1. Le frecce aiutano a capire l’operazione numerica, ma non rappresentano neuroni o movimenti fisici nel processore.
Le righe combinano le coordinate con coseno e seno. La trasposta T scambia righe e colonne e coincide con la rotazione opposta. Una rotazione moltiplicata per la sua inversa dà l’identità I: per questo la norma euclidea, cioè la lunghezza, non cambia. Il programma verifica con il vettore(3,4), di lunghezza 5, che il quadrato della norma resti 25 agli angoli 0,1;2;8 radianti. È un controllo numerico dell’identità, non un test di stabilità di un LLM addestrato.
Perché rimane la distanza relativa
Che cosa resta nel prodotto scalare dopo le due rotazioni? Sostituiamo q_m e k_n e raggruppiamo le matrici. Ruotare di nθ e poi di−mθ equivale a ruotare di(n−m)θ. La dipendenza esplicita dalle posizioni diventa dipendenza dalla differenza: è il nucleo di RoPE proposto in RoFormer. La dimostrazione usa identità elementari; l’esempio numerico è nostro e non riproduce l’addestramento degli autori.
Aggiungere lo stesso intero c a m e n non cambia n−m, quindi il punteggio resta identico a vettori fissati. Il codice confronta(0,20),(7,27),(40,3) con le coppie spostate di 100 posizioni, entro tolleranza 10⁻¹⁴ in floating point Python. Non significa che inserire 100 token all’inizio lasci immutata la risposta: cambiano contenuti, maschere, normalizzazione e vettori dei livelli. Abbiamo verificato una proprietà locale isolata.
Un esempio completo: una sola frequenza
Scegliamo q=k=(1,0). Il prodotto diventa S(Δ)=cos(0,1Δ), con Δ=n−m in passi di token. A distanza 20 la fase è 2 radianti e il punteggio−0,416147; a 80 la fase è 8 e il punteggio−0,145500. I valori negativi sono leciti prima della normalizzazione e non significano probabilità negative. Definiamo il riferimento 0–20 per confrontare le fasi: non abbiamo addestrato un modello su 20 token.
Una frequenza ritorna alla stessa direzione dopo 2π/θ≈62,831853 passi, considerando distanze continue. Le posizioni sono però intere:63 dà quasi coincidenza, punteggio 0,999859, non identità col passo 0. È il limite di un singolo canale, non la prova che un LLM confonda 0 e 63. Molte coordinate, contenuti e livelli concorrono all’output.
Comprimere le posizioni: il vantaggio e il prezzo
Per conservare la fase massima arrivando a distanza 80 dividiamo le posizioni per s=4:80 × 0,1/4=2, come prima a 20. Ma la distanza 20 ora usa fase 0,5 e punteggio 0,877583, invece di−0,416147. Cambia la geometria anche entro il vecchio intervallo. La rotazione è definita a coordinate frazionarie; non vengono spezzati i token del testo.
Quanto distano due codifiche adiacenti sulla circonferenza unitaria? La corda misura due volte il seno della metà dell’angolo. Con θ=0,1 la separazione originale 0,0999583 diventa 0,0249993 con s=4. È compressione geometrica, non percentuale di accuratezza persa. Un modello può adattare pesi, frequenze o altri livelli: il successo richiede addestramento e valutazione qui non eseguiti. Beneficio e costo appartengono entrambi alla rappresentazione.
| Distanza (token) | Senza scala | Scala4 |
|---|---|---|
| 1 | 0.995004 | 0.999688 |
| 20 | −0.416147 | 0.877583 |
| 63 | 0.999859 | −0.004204 |
| 80 | −0.145500 | −0.416147 |
Due frequenze non sono due modelli addestrati
Costruiamo K(Δ)=[cos(0,1Δ)+cos(0,01Δ)]/2 con due coppie di coordinate di peso uguale. Non è il kernel completo di un modello specifico. A 63 passi il primo coseno è quasi 1, il secondo 0,808028: la media 0,903943 non è 1. A 80 la media originale 0,275603 diventa 0,281960 dopo il riscalamento: riconosciamo il valore originale a 20. Il pacchetto salva tutti gli interi 0–80 per disegnare le curve. Le frequenze rendono leggibile il conto, senza replicare una configurazione commerciale o osservazioni linguistiche.
La somma elimina alcune ambiguità del singolo canale ma non certifica una lunghezza sicura. Non dimostriamo periodicità comune dell’intera codifica, distanza massima affidabile o legame monotono fra punteggio e comprensione. Una curva che risale non prova rilevanza dei token lontani: contenuti e coefficienti sono fissati. È geometria controllata, non attenzione osservata in un LLM. Il punto essenziale resta comprensibile senza ricostruire ogni equazione: allargare la scala cambia anche il metro con cui si distinguono posizioni vicine.

Appendice guidata: il contenuto cambia la curva
L’esempio q=k rende il conto trasparente, ma nasconde un particolare importante. In generale la distanza relativa è firmata: una key prima della query e una dopo non producono necessariamente lo stesso punteggio. Introduciamo la matrice J=[[0,−1],[1,0]], una rotazione di 90 gradi. Poiché R(φ)=I cosφ+J sinφ, possiamo espandere il prodotto in due coefficienti determinati dai contenuti. Il primo è il consueto prodotto scalare; il secondo confronta q con k ruotato di un quarto di giro. L’informazione posizionale non agisce quindi in modo identico su qualunque coppia di contenuti.
Nella nuova coppia q=(1,2), k=(3,−1), il primo coefficiente vale 1 × 3+2 ×(−1)=1; il secondo 1 × 1+2 × 3=7. Cambiare il segno di Δ conserva il coseno ma cambia il segno del seno. Il programma valuta sia il prodotto diretto sia l’espressione espansa a−20,−1,0,1,20 passi, e ne controlla l’uguaglianza entro 10⁻¹⁴. Non aggiungiamo queste curve alla figura principale, che resta esplicitamente il caso simmetrico; tutti i risultati aggiuntivi sono nel JSON. Il coefficiente 7 non è un peso appreso o un parametro di un modello EL-AI: deriva dalle coordinate scelte.
Questo passaggio chiarisce anche il ruolo della maschera causale. Un modello che genera testo può consentire a una query di usare soltanto posizioni precedenti: è una regola separata dalla rotazione e può escludere completamente una key, quale che sia il suo punteggio. I nostri calcoli non applicano maschere né softmax e usano anche distanze positive per visualizzare la geometria. Non sono quindi l’esecuzione di un’attenzione causale. Né l’invarianza della rotazione dimostra invarianza dell’output dopo l’aggiunta di nuove key, perché la normalizzazione dipende dall’insieme delle alternative disponibili.
Il problema del manuale diventa così più preciso: dobbiamo mantenere rappresentazioni utili, rendere accessibili le evidenze e usare quelle evidenze nel compito. Sono condizioni connesse ma verificabili separatamente. La derivazione non assicura quale clausola riceverà più peso nel modello reale; dimostra perché un test fondato soltanto sulla funzione che genera posizioni controlli una parte insufficiente del percorso. Questa distinzione è il motivo per cui abbiamo conservato nel testo tanto il conto elementare quanto le ipotesi che lo separano dalla comprensione del documento.
Che cosa dicono davvero i lavori letti
RoFormer di Jianlin Su, Yu Lu, Shengfeng Pan, Ahmed Murtadha, Bo Wen e Yunfeng Liu è stato depositato il 20 aprile 2021; leggiamo arXiv v 5 dell’8 novembre 2023, sezioni 3–4. Introduce rotazioni a coppie e valutazioni linguistiche. Per esempio WMT 2014 inglese-tedesco usa circa 4,5 milioni di coppie e riporta BLEU 27,3 contro 27,5 nelle impostazioni degli autori. Non prova comprensione illimitata e non è il nostro esperimento: non abbiamo scaricato quei dati o addestrato quei modelli.
LongRoPE 2 di Ning Shang e coautori compare negli atti ICML 2025, PMLR 267:54203–54218. Per metodi ed esperimenti leggiamo anche arXiv v 1 del 27 febbraio 2025: cerca riscalamenti usando perplessità sui token da recuperare a distanza e adatta i pesi con finestre corte e lunghe. La versione letta riporta LLaMA 3-8 B a 82,03 come media RULER a 128 k su 13 compiti sintetici, Phi 3-mini a 58,81. Il protocollo usa 10 miliardi di token e 64 A 100: sono risultati degli autori, non nostri. La pubblicazione negli atti è verificata separatamente dalla versione tecnica consultata.
I due punteggi e la natura sintetica contano: una media non equivale ad affidabilità su ogni domanda del manuale. I metodi mostrano che estendere il contesto richiede ricerca, adattamento e verifica anche sulla finestra corta, non solo modificare una costante. La nostra rotazione non riproduce LongRoPE 2 né seleziona fattori ottimali. I lavori citati sono riferimenti verificati, non una classifica esaustiva o l’affermazione che non esistano sviluppi successivi nel 2026.
Verificare l’obiettivo, oltre il limite di ingresso
Per il manuale bisogna sapere se il modello recuperi e applichi la regola corretta fra eccezioni e versioni contrastanti. Un protocollo proposto varierebbe lunghezza, posizione dell’evidenza e distrattori con risposte verificabili, distinguendo recupero letterale da combinazione di più regole. Occorre confrontare la stessa versione del modello e registrare configurazione RoPE, precisione, prompt e campione. Non eseguiamo quel protocollo né assegniamo percentuali di successo. La geometria spiega perché serva senza sostituirlo.
Il costo è distinto dalla qualità. Ruotare per coppie richiede lavoro lineare nella dimensione del vettore per token, senza costruire una matrice densa d×d. Non elimina le interazioni fra token nell’attenzione densa né dimostra memoria di un’implementazione. Non misuriamo GPU, latenza o energia. Il codice usa soltanto math di Python e nessun peso addestrato; salva risultati e asserzioni. Le figure collegano i valori a distanze intere per rendere leggibile l’andamento, senza suggerire misure fisiche.
La risposta iniziale è che più pagine accettate dimostrano capacità di ingresso, non ancora comprensione delle relazioni. RoPE rappresenta distanze con matematica esplicita; riscalare cambia la struttura e richiede valutazione nel modello e nel compito. L’esempio controllato calcola beneficio geometrico e prezzo locale. Per un’impresa questa distinzione consente di chiedere evidenze pertinenti sul documento, senza trasformare la dimensione nominale della finestra in garanzia sul risultato.
from experiment import score
for distance in [1,20,63,80]:
print(distance, score(0,distance), score(0,distance,4))
Codice, dati e istruzioni · JSON. Calcoli didattici eseguiti con Python 3.14.0; figure con Matplotlib 3.11.2. Analisi con assistenza AI, senza dichiarare peer review o revisione umana. Copertina originale ImageGen, illustrativa: non documenta persone, sedi o installazioni EL-AI. Fonti consultate il 17 ottobre 2026.

