Исследователи проанализировали, как языковые модели формируют внутренние представления при работе с кодом. Изучив взаимодействие между языками программирования Python и Rust и архитектурами Qwen2.5-Coder-7B и DeepSeek-Coder-V1-6.7B, авторы выяснили, насколько схожим образом модели обрабатывают грамматические концепции. Результаты показывают, как именно архитектурные различия и специфика синтаксиса влияют на формирование знаний внутри нейросетей.

Работа опирается на метод извлечения концептуальных схем (concept-circuit extraction), который позволяет декомпозировать внутренние состояния модели. Авторы измерили полный набор грамматических конструкций — 58 для Python и 57 для Rust — во всех комбинациях моделей и языков. Это позволило выявить, какие аспекты кода являются универсальными для разных архитектур, а какие зависят от конкретной модели или синтаксиса целевого языка.

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

Ключевые факты

  • В исследовании использованы модели Qwen2.5-Coder-7B и DeepSeek-Coder-V1-6.7B.
  • Анализ охватил 58 грамматических концепций для Python и 57 для Rust.
  • Применен метод извлечения концептуальных схем для оценки идентичности представлений во всех четырех комбинациях «модель-язык».
  • Работа демонстрирует, как именно нейронные сети разделяют роли задачи, языка и архитектурных особенностей при генерации и анализе кода.