CLIC: новая система сравнивает, как разные ИИ-модели пишут код
Авторы работы указывают: оценка больших языковых моделей на задачах программирования почти всегда сводится к метрикам качества вроде pass@k, доле решённых задач. Но по мере того как всё больше моделей проходят базовую планку качества, такие метрики хуже различают модели между собой. Авторы ставят другой вопрос, не насколько хорошо модель пишет код, а чем именно по стилю её код отличается от кода другой модели.
Для ответа они предложили CLIC (Code Learning for Identification and Comparison), подход визуальной аналитики, который характеризует поведение модели при написании кода через анализ частоты токенов. Каждый образец кода представляется в виде вектора частот токенов, а затем на паре наборов кода от двух разных моделей обучается интерпретируемое дерево решений, которое разделяет их код между собой. Поверх точности такой классификации авторы вводят две новые метрики: устойчивость (robustness), остаются ли две модели различимыми, если постепенно убирать самые показательные для их разделения токены, и концентрацию (concentration), определяется ли различие небольшим числом доминирующих токенов или оно распределено по многим.
Поскольку интерпретация множества попарных сравнений, между моделями, задачами и уровнями токенизации, и прослеживание всей аналитической цепочки требуют многомасштабного, гипотезо-ориентированного исследования, авторы также разработали интерактивную систему визуальной аналитики: она позволяет перемещаться по пространству сравнений, находить интересные пары моделей и углубляться в конкретные показательные токены и их контекст в коде.
В работе представлены кейс-стади, где по этому методу сравнили 10 больших языковых моделей на 22 задачах машинного обучения с платформы Kaggle. По словам авторов, такие сравнения дают практически применимые выводы для выбора модели под конкретную задачу и для инженерии промптов.
Ключевые факты
- Авторы предлагают CLIC, систему визуальной аналитики, которая сравнивает стиль кода разных ИИ-моделей через частоту токенов, а не через привычные метрики качества вроде pass@k
- Метод строит вектор частот токенов для каждого образца кода и обучает интерпретируемое дерево решений, разделяющее код двух моделей
- Введены две новые метрики: устойчивость, сохраняется ли различие моделей при удалении самых показательных токенов, и концентрация, сосредоточено ли различие в немногих токенах или распределено по многим
- Помимо метода, сделана интерактивная система для исследования множества попарных сравнений моделей, задач и уровней токенизации
- В кейс-стади сравнили 10 моделей на 22 задачах машинного обучения с Kaggle; авторы говорят о практически применимых выводах для выбора модели и инженерии промптов
Почему это важно
Стандартный способ сравнивать ИИ-модели в программировании, метрики качества вроде pass@k, то есть доля успешно решённых задач. Но по мере того как всё больше моделей соответствуют базовым требованиям к качеству, такие метрики хуже различают их между собой: несколько моделей могут показывать почти одинаковый процент решённых задач, оставаясь совершенно разными по тому, как именно они пишут код. CLIC предлагает смотреть не только на то, насколько хорошо модель справляется с задачей, но и на то, чем её код отличается от кода другой модели на уровне частоты используемых токенов, конструкций языка, названий переменных, идиом.
Кому это важно
Работа адресована исследователям и инженерам, которые выбирают ИИ-модель для задач, связанных с кодом, и занимаются инженерией промптов: способ увидеть не только итоговое качество, но и стилистические различия между моделями может повлиять на то, какую модель предпочесть для конкретного проекта или команды. Полезна она и тем, кто занимается интерпретируемостью и оценкой языковых моделей в целом, как пример альтернативы чисто числовым бенчмаркам.
Как это применить
CLIC даёт интерактивный инструмент визуальной аналитики: он позволяет перебирать множество попарных сравнений, между моделями, между задачами, между уровнями токенизации кода, и для интересующей пары моделей углубляться в конкретные токены, по которым дерево решений их различает, вместе с контекстом кода вокруг этих токенов. Так можно, например, увидеть, что две модели расходятся не столько в качестве решений, сколько в предпочитаемых конструкциях или библиотеках, и учитывать это при выборе модели или настройке промптов.
Можно ли доверять
Это препринт на arXiv, текст доступен только в виде аннотации без указания имён авторов, организаций и даты публикации в тексте, то есть без независимой проверки и рецензирования на момент подготовки этого материала. Аннотация не приводит конкретных числовых результатов классификации, устойчивости или концентрации для проведённых кейс-стади, а также не называет ни сами 10 сравниваемых моделей, ни конкретные 22 задачи Kaggle, судить о величине и практической значимости различий по одной аннотации нельзя.
Риски и подводные камни
В доступном тексте нет сведений о том, публикуются ли код или инструментарий CLIC в открытом доступе, что ограничивает возможность независимо проверить или воспроизвести метод. Интерпретируемое дерево решений на частотах токенов может улавливать поверхностные стилистические различия, которые не обязательно отражают содержательные различия в качестве или логике кода моделей, а выводы, сделанные на 22 задачах с одной платформы, не обязательно переносятся на другие типы задач программирования.