Восстановление хода мыслей: Новый подход к обучению языковых моделей

Автор: Денис Аветисян


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

🚀 Квантовые новости

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

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

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

Несмотря на значительные успехи больших языковых моделей (LLM) в генерации кода, их возможности в решении сложных задач, требующих глубокого логического рассуждения, остаются ограниченными. В статье ‘Understanding by Reconstruction: Reversing the Software Development Process for LLM Pretraining’ предложен новый подход к обучению LLM, основанный на идее восстановления логической цепочки разработки программного обеспечения, а не просто на анализе готового кода. Авторы показали, что предварительное обучение на синтезированных траекториях разработки, имитирующих планирование, отладку и итеративное улучшение кода, значительно повышает производительность LLM, включая Llama-3-8B, в задачах, требующих понимания контекста, программирования и логических рассуждений. Способна ли эта методика «реконструктивного» обучения открыть новые горизонты в создании более интеллектуальных и эффективных LLM для решения сложных инженерных задач?


Искусство Правдоподобия: Необходимость Реалистичных Траекторий в Обучении Моделей

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

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

Оптимизация цепочки рассуждений (CoT) приводит к увеличению ее связности и одновременному снижению перплексии генерируемого кода.
Оптимизация цепочки рассуждений (CoT) приводит к увеличению ее связности и одновременному снижению перплексии генерируемого кода.

Многоагентное Моделирование: Путь к Синтезу Реальности

Разработанная нами платформа многоагентного моделирования генерирует реалистичные траектории агентов на основе полного репозитория программного обеспечения. Фреймворк использует информацию о структуре проекта, включая зависимости между компонентами, логику работы и данные, для моделирования поведения программных агентов. Симуляция позволяет создавать последовательности действий и взаимодействий, отражающие типичные сценарии использования программного обеспечения, что позволяет генерировать большие объемы синтетических данных, пригодных для обучения моделей машинного обучения.

В основе данного подхода лежит использование структурной информации, извлеченной из репозитория программного обеспечения, для управления симуляцией и обеспечения ее достоверности. Извлечение структурной информации включает в себя анализ зависимостей между компонентами, взаимосвязей между классами и функциями, а также данных о потоке управления. Эти данные используются для определения поведения агентов в симуляции, гарантируя, что их действия соответствуют реальной архитектуре и логике программного обеспечения. Использование структурной информации в качестве руководства для симуляции позволяет генерировать синтетические данные, которые точно отражают характеристики и сложность исходного репозитория, повышая эффективность обучения больших языковых моделей (LLM).

Имитация действий и взаимодействий программных агентов позволяет генерировать большие объемы синтетических данных, пригодных для обучения больших языковых моделей (LLM). Этот подход заключается в создании виртуальной среды, в которой агенты, представляющие компоненты программного обеспечения, выполняют определенные задачи и обмениваются данными. Сгенерированные траектории выполнения, логи транзакций и другие артефакты служат обучающим набором, позволяющим LLM изучать закономерности в коде, понимать семантику программных операций и улучшать свои навыки в задачах, связанных с анализом и генерацией программного обеспечения. Объем синтетических данных, получаемых путем моделирования, значительно превосходит возможности получения данных из реальных проектов, что позволяет обучать LLM на более широком спектре сценариев и повышать их обобщающую способность.

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

Уточнение Рассуждений: Оптимизация LongCoT и LLama-3-8B

Оптимизация LongCoT была применена для улучшения последовательности и точности этапов рассуждений в сгенерированных траекториях агентов. Данный метод предполагает расширение цепочки рассуждений (Chain-of-Thought) и последующую фильтрацию и переформулировку промежуточных шагов на основе критериев согласованности и логической корректности. Это позволяет снизить вероятность ошибок в рассуждениях и повысить надежность и предсказуемость поведения агента при решении задач, особенно в сложных сценариях, требующих многошагового планирования и принятия решений. Процесс оптимизации включает в себя автоматическую оценку качества каждого этапа рассуждений и внесение корректировок для обеспечения более связного и логичного потока информации.

Для генерации высококачественных синтетических данных, используемых в процессе непрерывного предварительного обучения, была применена методика LongCoT в сочетании с языковой моделью LLama-3-8B. Данный подход позволил создать обширный набор данных, имитирующих реальные сценарии взаимодействия и сложные задачи, что способствовало улучшению обобщающей способности модели и повышению её производительности в различных областях применения. Синтетические данные, полученные таким образом, были использованы для дальнейшей тонкой настройки LLama-3-8B, что позволило повысить точность и согласованность генерируемых ответов.

Использование вызовов инструментов (tool calls) в траекториях агента позволяет языковой модели взаимодействовать с внешней средой и выполнять сложные задачи. Данный механизм предполагает, что в процессе генерации рассуждений, модель определяет необходимость использования конкретного инструмента для получения информации или выполнения действия. Вызов инструмента возвращает результат, который затем используется моделью для продолжения рассуждений и достижения поставленной цели. Это расширяет возможности модели за пределы ее внутренней базы знаний и позволяет ей динамически получать доступ к актуальной информации и выполнять операции, недоступные при статичном обучении. Примеры инструментов включают поисковые системы, калькуляторы, API баз данных и другие внешние сервисы.

Комплексная Оценка: Кодирование, Рассуждения и Контекст

В ходе оценки производительности на эталонных наборах данных для кодирования, разработанный подход продемонстрировал значительные результаты на HumanEval, набрав 37.20 баллов. Этот показатель превосходит результат базовой модели Raw-Repo, составивший 34.76 балла, что указывает на улучшенные возможности генерации и понимания кода. Подобное превосходство подтверждает эффективность предложенных методов в решении задач, требующих точного и функционального кода, и подчеркивает потенциал для дальнейшей оптимизации и применения в различных областях разработки программного обеспечения.

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

Для подтверждения способности к обработке больших объемов информации были проведены тесты с использованием эталонных наборов данных, требующих понимания длинного контекста. Результаты показывают, что модель достигла показателя 61.80 в тесте Ruler, работающем с контекстом в 64 тысячи токенов, что превосходит результаты эталонных моделей Raw-Repo (61.00) и Prolong (57.10). Аналогичные улучшения продемонстрированы в тесте Helmet, где был получен результат 62.65 при контексте в 32 тысячи токенов, превзойдя показатель Raw-Repo (60.98). Кроме того, в тесте LongCodeBench-32k, оценивающем способность к кодированию с использованием длинного контекста, модель показала результат 36.46, что свидетельствует о значительном прогрессе в обработке сложных задач программирования, требующих понимания обширного контекста.

Исследование демонстрирует интересную парадигму в обучении больших языковых моделей, смещая акцент с простого воспроизведения кода на реконструкцию логики, лежащей в основе разработки программного обеспечения. Этот подход, использующий синтетические траектории агентов, позволяет модели не просто понимать синтаксис, но и осмысливать процесс создания программного продукта. Как заметил Анри Пуанкаре: «Самое важное в науке — это умение видеть то, что невидимо». Именно это умение — выстраивать логические связи и понимать намерения разработчика — является ключевым для повышения эффективности LLM, и данная работа вносит значительный вклад в развитие этого направления. Стремление к ясности в представлении логики разработки, а не просто к воспроизведению результата, соответствует принципам, лежащим в основе оптимизации цепочки рассуждений (Chain-of-Thought Optimization).

Что дальше?

Предложенный подход, концентрируясь на реконструкции траекторий разработки, а не просто на коде, обнажает давнюю проблему: мы склонны оценивать интеллект по продукту, игнорируя процесс. Если система не объясняет как она пришла к решению, а только что она решила, её истинная глубина остаётся под вопросом. Будущие исследования должны сосредоточиться на формализации этого процесса реконструкции, стремясь к созданию метрик, измеряющих не только точность, но и когерентность рассуждений.

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

В конечном счёте, успех данного направления зависит от способности отделить существенное от наносного. Простота — не ограничение, а признак понимания. Если модель не может объяснить свою логику в одном предложении, возможно, она просто имитирует интеллект, а не обладает им.


Оригинал статьи: https://arxiv.org/pdf/2603.11103.pdf

Связаться с автором: https://www.linkedin.com/in/avetisyan/

Смотрите также:

2026-03-13 06:11