L'article examine s'il est possible de reconstruire un tokenizer équivalent pour un grand modèle de langage à code fermé en utilisant uniquement deux oracles dérivés de son API de chat. Ces oracles sont l'oracle de longueur de token, qui renvoie le nombre de tokens dans une chaîne, et l'oracle de token de préfixe, qui décode les n premiers tokens pour résoudre les ambiguïtés d'ordre de fusion.

  • Oracle de longueur de token : Étant donné une chaîne s quelconque, il renvoie len(tokenize(s)).
  • Oracle de token de préfixe : Étant donné une chaîne s et un entier n, il renvoie la chaîne décodée à partir des n premiers tokens de tokenize(s).
  • L'oracle de token de préfixe est construit en exploitant la capacité du modèle à répéter du texte de manière contrôlée via l'interface de chat standard.

La question centrale posée est de savoir si ces deux oracles sont suffisants pour reconstruire un tokenizer équivalent qui produit exactement les mêmes limites de tokens sur n'importe quelle entrée, jusqu'à un remappage des identifiants de token.