В статье исследуется возможность восстановления эквивалентного токенизатора для закрытой большой языковой модели, используя только два оракула, полученных из её чат-API. Эти оракулы — оракул длины токена, возвращающий количество токенов в строке, и префиксный оракул токена, декодирующий первые n токенов для разрешения неоднозначностей порядка слияния.

  • Оракул длины токена: для любой строки s возвращает len(tokenize(s)).
  • Префиксный оракул токена: для строки s и целого числа n возвращает строку, декодированную из первых n токенов tokenize(s).
  • Префиксный оракул токена конструируется за счёт способности модели контролируемо повторять текст через обычный чат-интерфейс.

Основной вопрос заключается в том, достаточно ли этих двух оракулов для восстановления эквивалентного токенизатора, который будет давать точно такие же границы токенов на любом входе с точностью до переназначения идентификаторов токенов.