Tokenizers v1 : encoder, décoder et mettre à l'échelle, mesuré
huggingface ·
Hugging Face a publié un candidat de release pour tokenizers v1, visant à résoudre les goulets d'étranglement de performance dans les flux de travail d'apprentissage automatique à mesure que les modèles évoluent. La nouvelle version atteint des vitesses de codage trois à trente fois plus rapides que la v0.23 en remplaçant le fractionnement basé sur les expressions régulières par des opérations de flux de bits alimentées par SIMD via la bibliothèque Bitcannon. Les optimisations clés incluent un cache de mots local au thread qui mémorise les pré-jets répétés et une réécriture de la boucle de fusion pour éliminer les allocations mémoire grâce à des tampons provisoires. Ces modifications garantissent que les GPU restent actifs sans attendre le tokenisation CPU, améliorant significativement le débit pour les grands ensembles de données et les requêtes simultanées. La mise à jour maintient une compatibilité totale de l'API et des sorties avec les versions précédentes tout en prenant en charge plusieurs familles de tokenizers telles que BPE, WordPiece et Unigram. Des benchmarks effectués sur du matériel Apple M4 Max démontrent une mise à l'échelle linéaire sur huit threads de travail, validant l'efficacité du parallélisme natif. Les plans futurs consistent à étendre le support des familles de modèles et à explorer le codage accéléré par GPU dans les releases ultérieures.
huggingface