Ricerca
Circuiti causali della sintassi nei CodeLMs: budget e sonda determinano che cosa appare localizzato
I modelli per il codice scrivono in Python quando il prompt non specifica quale linguaggio usare. Ci poniamo una domanda sul meccanismo alla base di questa abitudine: è prodotta da un piccolo gruppo d

- arXiv
- 2610.20683
- Pubblicato
- 2026-10-14
- Autori
- Harsh Kumar, Tanmay Shailesh Joshi, Rahul Maity, Anusa Saha
Abstract degli autori
I modelli per il codice scrivono in Python quando il prompt non specifica quale linguaggio usare. Ci poniamo una domanda sul meccanismo alla base di questa abitudine: è prodotta da un piccolo gruppo di componenti individuabili all’interno del modello? Applichiamo un’unica procedura — ablazione mediante sostituzione con la media, patching delle attivazioni, estrazione greedy dei circuiti, test di significatività con controlli casuali e steering delle attivazioni — a 55 configurazioni modello-linguaggio, che comprendono dieci modelli open source per il codice (cinque base e cinque sottoposti a fine-tuning sulle istruzioni), tre linguaggi bersaglio (Rust, C#, PHP), due raccolte di prompt e due budget di componenti. Riportiamo cinque risultati. Primo, la preferenza è marcata, cresce con la dimensione del modello e persiste dopo il fine-tuning sulle istruzioni: in ogni checkpoint sottoposto a tale fine-tuning è più marcata che nella rispettiva versione base, in media del 12%. Secondo, la sua entità misurata dipende soprattutto dalla sonda: sostituire i nostri prompt allineati con le funzioni parallele di XLCoST porta la stessa misura, sugli stessi modelli, da circa 1,6 a circa 0,01. Terzo, il fatto che la preferenza appaia localizzata dipende da quanti componenti la ricerca può mantenere: con un budget di 12, in 1 configurazione su 15 si ottiene un circuito che supera controlli casuali della stessa dimensione dopo la correzione per confronti multipli; con un budget di 40, ciò accade in 6 configurazioni su 15. Quarto, gli interventi che uno studio con un budget inferiore descrive come uniformemente inefficaci talvolta riescono: il patching fa sì che un prompt Python preferisca la sintassi del linguaggio bersaglio in 2 configurazioni su 45, mentre lo steering cambia il token successivo più probabile in 9 su 45. Quinto, ogni circuito il cui effetto è significativo ma si orienta nella direzione opposta al linguaggio bersaglio proviene da una configurazione in cui l’estrazione del circuito è fallita: questi risultati costituiscono quindi un segnale diagnostico, non un fenomeno. La lezione pratica è che un’affermazione sulla localizzazione di un comportamento può dipendere da scelte di analisi che gli articoli raramente riportano. Rendiamo disponibile l’intera griglia affinché sia possibile variare tali scelte.
Il riassunto di questo paper è disponibile solo in inglese: leggilo nella pagina inglese.
Leggi il paper originale su arXiv