TurboQuant és un algorisme de quantificació vectorial en línia per comprimir vectors euclidians d'alta dimensionalitat tot preservant la seva estructura geomètrica. Va ser proposat el 2025 per Amir Zandieh, Majid Daliri, Majid Hadian i Vahab Mirrokni a l'article TurboQuant: Quantificació vectorial en línia amb una taxa de distorsió gairebé òptima. El document enumera Zandieh i Mirrokni com a afiliats a Google Research, Daliri a la Universitat de Nova York i Hadian a Google DeepMind. El mètode es va desenvolupar per a aplicacions que inclouen la inferència de models de llenguatge gran (LLM), la compressió de memòria cau clau-valor (KV), les bases de dades vectorials i la cerca del veí més proper.
TurboQuant consta de dos algorismes relacionats: TurboQuantmse, que està optimitzat per a l'error quadràtic mitjà (MSE), i TurboQuantprod, que està optimitzat per a l'estimació del producte intern sense biaix. L'algorisme utilitza una matriu de rotació aleatòria dels vectors d'entrada, aplica quantificadors escalars a les coordenades girades i, per a l'estimació del producte intern, aplica una transformada quantificada de Johnson-Lindenstrauss (QJL) d'un bit a l'error residual.
Rerefons La quantització vectorial és un mètode de compressió que assigna vectors d'alta dimensionalitat a un conjunt finit de paraules de codi. El problema té les seves arrels en la teoria de codificació de fonts i la teoria de taxa-distorsió de Shannon. En l'aprenentatge automàtic i la recuperació d'informació, la quantització vectorial s'utilitza per reduir la memòria necessària per emmagatzemar incrustacions, vectors d'activació i altres representacions numèriques.
En els models de llenguatge grans basats en Transformer, la memòria cau KV emmagatzema vectors de clau i valor de tokens anteriors durant la descodificació autoregressiva. La mida d'aquesta memòria cau creix amb la longitud del context, el nombre de capçals d'atenció i el nombre de sol·licituds simultànies, cosa que la converteix en un coll d'ampolla de memòria important en el servei LLM. Problemes de compressió similars apareixen en la cerca vectorial, on s'han d'emmagatzemar i cercar grans col·leccions de vectors d'incrustació de manera eficient.
Els primers enfocaments de la quantificació vectorial inclouen la quantificació de productes, la quantificació escalar i la construcció de llibres de codis k-means dependents de dades. L'article de TurboQuant argumenta que molts mètodes existents o bé requereixen preprocessament i calibratge fora de línia o bé pateixen garanties de distorsió subòptimes en entorns en línia.
Algorisme TurboQuantmse TurboQuant mse és la versió de l'algorisme optimitzada per a l'error quadràtic mitjà. Per a un vector unitari , l'algorisme aplica primer una matriu de rotació aleatòria i conjunts . Cada coordenada del vector girat segueix una distribució beta desplaçada i escalada, que convergeix a una distribució normal en dimensions elevades. En dimensions elevades, les coordenades diferents també esdevenen gairebé independents, cosa que permet a l'algorisme aplicar quantificadors escalars independentment a cada coordenada.
El quantitzador escalar es construeix resolent un problema de k-means continu unidimensional o de quantificació de Lloyd-Max. Si els centroides són , el pas de quantificació emmagatzema, per a cada coordenada, Durant la dequantització, l'índex emmagatzemat per a cada coordenada es substitueix pel centroide corresponent, donant un vector rotat reconstruït. . L'algorisme llavors gira cap enrere: L'article dóna el següent límit per a TurboQuant mse : També informa de valors MSE més precisos d'aproximadament 0,36, 0,117, 0,03 i 0,009 per a amplades de bit. , respectivament.
TurboQuantprod TurboQuant prod està optimitzat per a l'estimació del producte intern sense biaix. Els autors assenyalen que un quantitzador optimitzat per MSE pot introduir biaix quan s'utilitza per estimar productes interns. Per solucionar això, TurboQuant prod primer aplica TurboQuantmse amb amplada de bits , després aplica una transformada quantificada de Johnson-Lindenstrauss d'un bit al vector residual restant.
Sigui sigui el residu després de la quantificació MSE, i sigui . El pas QJL emmagatzema un vector de signes per al residual. Per a , això es pot escriure utilitzant el residual normalitzat : on és una matriu de projecció aleatòria. Com que la funció de signe és invariant sota reescala positiva, això és equivalent a quan . Si , la correcció residual és zero.
TurboQuant prod emmagatzema la quantificació MSE, el vector de signe QJL i la norma residual: El vector dequantitzat es reconstrueix com a L'article demostra que TurboQuant prod és imparcial per a l'estimació del producte intern: També dóna el límit de distorsió
Rendiment i aplicacions L'article de TurboQuant informa que l'algorisme aconsegueix taxes de distorsió gairebé òptimes dins d'un petit factor constant de límits inferiors de la teoria de la informació. Els autors informen que, per a la quantització de la memòria cau KV, TurboQuant va aconseguir una neutralitat de qualitat a 3,5 bits per canal i una degradació marginal a 2,5 bits per canal.
En experiments LLM de context llarg utilitzant Llama 3.1 8B Instruct, l'article va avaluar el mètode en una tasca de recuperació "d'una agulla en un paller" amb longituds de documents de 4.000 a 104.000 tokens. Va informar que TurboQuant coincidia amb la línia de base de precisió completa sense comprimir mentre utilitzava una compressió de més de 4×, i va comparar el mètode amb PolarQuant, SnapKV, PyramidKV i KIVI.
Google Research va declarar que TurboQuant es va avaluar en punts de referència de context llarg, com ara LongBench, Needle in a Haystack, ZeroSCROLLS, RULER i L-Eval, utilitzant models de codi obert com ara Gemma i Mistral. Segons un informe a Tom's Hardware, Google va descriure el mètode com una reducció de la memòria cau KV almenys sis vegades i una millora de fins a vuit vegades en el càlcul del logit d'atenció a les GPU Nvidia H100 en comparació amb les claus de 32 bits no quantificades.
TurboQuant també s'ha aplicat a la cerca de vectors del veí més proper. L'article original presenta experiments sobre incrustacions d'entitats de DBpedia i incrustacions de GloVe, comparant TurboQuant amb la quantificació de productes i altres línies de base de quantificació de cerca vectorial.
Relació amb altres mètodes TurboQuant està relacionat amb diversos mètodes per a la inferència eficient de models de llenguatge gran i la cerca d'alta dimensió:
Quantificació del producte: una tècnica de quantificació vectorial àmpliament utilitzada per a la cerca aproximada del veí més proper. Quantificació (aprenentatge automàtic): reducció de la precisió numèrica dels pesos, activacions o tensors emmagatzemats a la memòria cau en models d'aprenentatge automàtic. PagedAttention: un algorisme de gestió de memòria per al servei LLM que redueix la fragmentació a la memòria cau KV. Lema de Johnson-Lindenstrauss: un resultat en geometria d'alta dimensió utilitzat en mètodes de projecció aleatòria Algorisme de Lloyd: un algorisme per a la quantificació escalar i vectorial, que inclou la construcció de llibres de codis d'estil k-means
A diferència de PagedAttention, que se centra en l'assignació de memòria i el disseny de la memòria cau, TurboQuant redueix el cost d'emmagatzematge numèric dels propis vectors. A diferència de molts mètodes de quantificació de productes, TurboQuant està dissenyat per ser inconscient de les dades i estar en línia, evitant l'entrenament de llibres de codis específics del conjunt de dades.
Limitacions Les afirmacions més sòlides sobre el rendiment de TurboQuant provenen de l'article original i de la pròpia publicació de Google Research. La cobertura dels mitjans tecnològics ha assenyalat que l'impacte més ampli del mètode dependrà dels detalls d'implementació del món real, les càrregues de treball i les arquitectures de maquinari.
Referències
Categoria:Programari Categoria:Algorismes Categoria:Intel·ligència artificial