Ssylka

Оценка размера токенов в кодовых базах крупных проектов

Анализ крупных программных проектов, таких как MySQL, VS Code, Blender, Linux и LLVM, показывает значительные различия в количестве токенов, необходимых для их представления в моделях LLM. Использовался подход, который включает в себя объединение всех исходных файлов в единый текстовый файл, с предварительной генерацией дерева директорий, где каждый файл выделяется в формате markdown. Подготовку кодовой базы проводили с помощью многопоточной программы на C++, а подсчёт токенов выполнялся с использованием токенизатора Tiktoken от OpenAI, применяемого в моделях GPT-4o.
Оценка размера токенов в кодовых базах крупных проектов
Изображение носит иллюстративный характер

Структура объединенного файла состоит из дерева директорий, далее содержимого всех файлов, при этом в начале и в конце каждого файла добавляется имя файла и три обратных кавычки (`). Этот подход добавляет «шум» в виде метаданных, но даёт общее представление о кодовой базе. Программа на C++ также выполняет примитивный подсчет «слов», который дает значительно меньшее количество, чем количество токенов, подсчитанное Tiktoken. Важно отметить, что удаление каталогов.git и других подобных каталогов перед обработкой, как правило, должно проводиться, но не является обязательным условием. Программа на C++ для подготовки кодовой базы может быть использована на Unix и Windows системах.

Реализация подготовки кодовой базы, включая скачивание и распаковку, занимает несколько минут. Итоговые числа токенов варьируются от десятков миллионов до более чем шестисот миллионов, в зависимости от размера проекта. Так, MySQL насчитывает 242 миллиона токенов, VS Code – 31 миллион, Blender – 82 миллиона, ядро Linux – 456 миллионов, а LLVM – 631 миллион токенов.

Полученные результаты показывают масштаб кодовых баз, представляющих интерес для анализа с использованием LLM. Подобная обработка кодовой базы позволяет получить представление об общей структуре проекта, но при этом метаданные, добавленные при подготовке, могут немного искажать итоговое количество токенов. Тем не менее, подобный подход дает общее понимание о размерах токенизированных проектов, пригодных для дальнейшей обработки нейросетями.


Новое на сайте

18250Сможет ли искусственный интеллект обеспечить TSMC мировое господство? 18249Критическая уязвимость Adobe с оценкой 10.0 попала под активную атаку 18248Цифровое воскрешение прогнозов погоды из 90-х 18247Зачем мозг в фазе быстрого сна стирает детали воспоминаний? 18246Мог ли древний яд стать решающим фактором в эволюции человека? 18245Тайна колодца Мурсы: раны и днк раскрыли судьбу павших солдат 18244Битва за миллиардный сэндвич без корочки 18243Почему ваши расширения для VS Code могут оказаться шпионским по? 18242Как подать заявку FAFSA на 2026-27 учебный год и получить финансовую помощь? 18241Мог ли взлом F5 раскрыть уязвимости нулевого дня в продукте BIG-IP? 18240CVS завершает поглощение активов обанкротившейся сети Rite Aid 18239Nvidia, BlackRock и Microsoft покупают основу для глобального ИИ за $40 миллиардов 18238Действительно ли только род Homo создавал орудия труда? 18237Инженерный триумф: сотрудник Rivian вырастил тыкву-победителя 18236Процент с прибыли: как инвесторы создали новый источник финансирования для...