1 points par GN⁺ 2024-12-15 | 1 commentaires | Partager sur WhatsApp
  • Byte Latent Transformer (BLT) est une nouvelle architecture de grand modèle de langage (LLM) au niveau des octets, qui atteint les mêmes performances que les modèles fondés sur la tokenisation tout en améliorant fortement l’efficacité en inférence et la robustesse
  • Les octets sont encodés en patchs de taille dynamique, qui deviennent l’unité principale de calcul
    • Segmentation dynamique des patchs : alloue davantage de ressources de calcul aux données complexes en fonction de l’entropie de l’octet suivant
  • Première étude de mise à l’échelle contrôlée par FLOP pour un modèle fondé sur les octets :
    • Mise à l’échelle jusqu’à 8B (8 milliards) de paramètres et 4 billions (4T) d’octets d’entraînement
    • Validation de la possibilité d’entraîner le modèle sur des octets bruts sans nécessiter de vocabulaire fixe

Principaux résultats

  1. Entraînement et inférence efficaces :
    • Réduit le volume de calcul en choisissant des patchs longs lorsque les données sont prévisibles
    • Le modèle ajuste dynamiquement les patchs selon la complexité afin d’optimiser les ressources
  2. Amélioration de la mise à l’échelle :
    • À coût d’inférence fixe, de meilleures performances que les modèles fondés sur la tokenisation
    • Efficacité de scaling obtenue en augmentant simultanément la taille des patchs et celle du modèle
  3. Amélioration qualitative des performances :
    • Meilleures capacités de raisonnement et de généralisation : amélioration qualitative dans le raisonnement et le traitement des données rares (long-tail)
    • Dépasse les limites des approches fondées sur un vocabulaire fixe

Portée

  • BLT traite des octets bruts sans tokenisation tout en démontrant l’efficacité de l’apprentissage sur de grands volumes de données et avec de grands modèles
  • Il offre de meilleures performances au regard du coût d’inférence et suggère le potentiel de la prochaine génération de LLM au niveau des octets
  • En particulier, pour les données complexes, l’approche par patchs dynamiques pourrait s’imposer comme un nouveau standard de modélisation adaptative

1 commentaires

 
GN⁺ 2024-12-15
Commentaires sur Hacker News
  • L’été où BERT est sorti, je travaillais dans une startup qui faisait de la classification avec un modèle CNN basé sur les caractères. Les membres de l’équipe s’intéressaient aux word vectors, mais je pensais que le grand nombre de mots hors vocabulaire pouvait mener à un échec

    • Même dans les « modèles de fondation », les mots hors vocabulaire posaient problème
    • On obtenait des résultats corrects avec un modèle basé sur les caractères, mais certains estimaient qu’il était inefficace de stocker un « dictionnaire » dans le réseau de neurones
    • J’étais convaincu que des approches comme Word2Vec échoueraient, au point de quitter mon projet précédent
    • Quand le byte pair encoding a été introduit, j’ai dit que c’était pour la première fois une méthode de tokenisation que je pouvais soutenir
    • J’aimerais qu’on puisse travailler avec des labels de caractères. J’ai une aversion pour les tokenizers
  • La hiérarchie est intéressante, mais c’est dommage qu’il n’y ait que deux niveaux. Empiler davantage de niveaux pourrait être une piste de recherche

    • Il faut faire attention à la répartition du budget de FLOP selon les niveaux hiérarchiques
    • Il faudrait trouver un moyen de regrouper les patchs en unités plus grandes
  • Un petit modèle est utilisé pour générer les patchs en prédisant la probabilité du caractère suivant dans la chaîne d’entrée

    • Exemple : le caractère suivant peut avoir 100 % de chances d’être 'a', ou bien 'a' et 'b' peuvent chacun avoir 10 % de chances
    • Les estimations de caractères sont regroupées pour former un patch (ou un token)
  • Le sampling est l’un des points difficiles des LLM, mais il permet aussi des usages intéressants, comme forcer une sortie toujours valide en JSON ou ajuster la température pour obtenir différentes distributions

    • Dans BLT, on peut imaginer fournir au décodeur comme entrée supplémentaire les octets autorisés/interdits, puis répéter le décodage jusqu’à obtenir une sortie valide
  • Une question se pose : l’IA peut-elle être préentraînée sur des fichiers binaires ?

  • Une autre question est de savoir s’il est possible de rendre la tokenisation implicite pour ne fournir au modèle que des octets (ou des caractères)

  • Citation connexe de Karpathy : la tokenisation est au cœur d’une grande partie des bizarreries des LLM

    • Si les LLM ne savent pas épeler les mots, c’est à cause de la tokenisation
    • Si les LLM ne savent pas faire de simples traitements de chaînes, c’est à cause de la tokenisation
    • Si les LLM sont faibles dans les langues non anglaises, c’est à cause de la tokenisation
    • Si les LLM sont faibles en arithmétique simple, c’est à cause de la tokenisation
    • Si GPT-2 a rencontré des difficultés inutiles en programmation Python, c’est à cause de la tokenisation
    • Si les LLM s’arrêtent soudainement quand ils voient la chaîne "<|endoftext|>", c’est à cause de la tokenisation
    • Si l’avertissement "trailing whitespace" apparaît, c’est à cause de la tokenisation
    • Si les LLM se cassent quand on les interroge sur "SolidGoldMagikarp", c’est à cause de la tokenisation
    • Si YAML doit être préféré à JSON dans les LLM, c’est à cause de la tokenisation
    • Si les LLM ne font pas réellement de modélisation du langage de bout en bout, c’est à cause de la tokenisation
    • La véritable source de la souffrance, c’est la tokenisation
  • Il s’agit d’un modèle composé de 3 éléments

    • Encodeur : reçoit des groupes d’octets et produit un état caché/encodage appelé patch
    • Transformer : traite de façon autorégressive les encodages des patchs
    • Décodeur : convertit en octets les encodages traités par le transformer
    • La loss est basée sur l’entropie croisée entre octets (prédiction de l’octet suivant)
  • Méthode de regroupement des octets

    • Utilisation d’un seuil d’entropie : si l’entropie d’une séquence d’octets est inférieure au seuil, elle est regroupée
    • C’est un modèle appris à partir des données
  • Il présente des avantages par rapport à la tokenisation byte pair actuelle des LLM

    • L’encodeur/décodeur fonctionne comme une méthode de tokenisation « apprenable »
    • Le compromis d’efficacité est meilleur (dans le cas de séquences d’octets prévisibles, l’encodeur peut « déporter » une partie de l’effort de calcul du transformer principal)
    • Comme l’histoire l’a montré, les systèmes appris de bout en bout finissent par surpasser les mécanismes conçus par l’humain
  • Je pensais qu’on devait entrer dans une phase de stagnation