Tokenizers v1: codifica, decodifica e scalabilità misurate
huggingface ·
Hugging Face ha rilasciato un candidato alla release per tokenizers v1, con l'obiettivo di risolvere i colli di bottiglia nelle prestazioni dei flussi di lavoro di machine learning man mano che i modelli scalano. La nuova versione raggiunge velocità di codifica da tre a trenta volte superiori rispetto alla v0.23, sostituendo la suddivisione basata su regex con operazioni bitstream potenziate da SIMD tramite la libreria Bitcannon. Le ottimizzazioni chiave includono una cache delle parole locale al thread che memoizza i pre-token ripetuti e una riscrittura del ciclo di merge per eliminare le allocazioni di memoria utilizzando buffer temporanei. Questi cambiamenti garantiscono che le GPU rimangano attive senza attendere la tokenizzazione della CPU, migliorando significativamente il throughput per dataset di grandi dimensioni e richieste concorrenti. L'aggiornamento mantiene piena compatibilità API e con gli output rispetto alle versioni precedenti, supportando contemporaneamente diverse famiglie di tokenizer come BPE, WordPiece e Unigram. I benchmark condotti su hardware Apple M4 Max dimostrano una scalabilità lineare attraverso otto thread di lavoro, validando l'efficacia del parallelismo nativo. I piani futuri prevedono l'espansione del supporto per le famiglie di modelli e l'esplorazione della codifica accelerata dalle GPU nelle release successive.
huggingface