Необходимость контроля научного кода в больших языковых моделях (LLMs)
Большие языковые модели (LLMs) быстро превратились в сложные процессоры естественного языка, что позволило разработать агентские системы для управления сложными рабочими процессами. Однако использование агентов LLM для генерации научного кода пока не изучено.
Научный софт в основном зависит от C++, CUDA и других низкоуровневых языков, которые недостаточно представлены в большинстве наборов данных для предварительного обучения. В результате реализации, созданные LLM, содержат синтаксические или семантические ошибки, которые приводят к проблемам компиляции или нестабильному поведению во время выполнения.
Существующие агенты в значительной степени полагаются на заданные пользователем управляющие примитивы и тщательно разработанные подсказки, которые могут быть неверно истолкованы и привести к нестабильным потокам выполнения.
Ограничения существующих методов управления
Для решения задач управления LLM были разработаны новые подходы, позволяющие выявить причинно-следственные связи внутри активаций моделей и облегчить точные вмешательства на уровне нейронов.
SFT, методы модуляции веса и RLHF представляют собой прямое вмешательство для управления моделью, но они требуют значительных вычислительных ресурсов и могут снизить надёжность и общую производительность модели.
Метод исправления активаций, который использует повреждённые входные данные в качестве базового распределения, широко используется для детального контроля вывода. Однако эти методы требуют обширного анализа моделей, включающего миллионы оценок, и используются на бенчмарках с вопросами на выбор, а не в реальных сценариях развёртывания.
Введение фреймворка G-ACT
Исследователи из Мичиганского университета предложили градиентно-усовершенствованную адаптивную систему управления активацией (G-ACT) для решения задачи управления генерацией научного кода на конкретных языках программирования в LLM.
G-ACT объединяет различия активаций по запросам в направления управления и использует облегчённые пробники по слоям, которые обучаются и совершенствуются онлайн для выбора подходящих векторов управления.
Фреймворк поддерживает контроль на уровне концепций, обеспечивая при этом масштабируемость и интерпретируемость, предоставляя практический метод для достижения воспроизводимого поведения в агентских системах, требующих согласованного выбора языка программирования для задач научных вычислений.
Оценка модели и базовые предубеждения
Исследователи оценивают пять настроенных на инструкции LLM, включая Llama-3.2-3B-Instruct, Llama-3.3-70B-Instruct, Qwen2.5-Coder-32B-Instruct, Qwen2.5-14B-Instruct-1M и QwQ-32B. Каждая модель тестируется на 84 эталонных вопросах с 25 повторениями по каждому запросу при температуре выборки 1.0 для обеспечения статистической стабильности.
Результаты показывают, что Llama-3.2-3B сильно склоняется к Java (76,2 %), в то время как Llama-3.3-70B предпочитает Python (73,8 %). Модели Qwen демонстрируют различные предубеждения: Qwen2.5-Coder предпочитает Python (59,5 %), а Qwen2.5-14B отдаёт предпочтение Julia (66,7 %).
Эти базовые измерения показывают, что масштаб модели, архитектурное проектирование и данные для тонкой настройки в совокупности создают воспроизводимые предубеждения.
Статическая активация нейронов и языковое смещение
Анализ статическим методом включает в себя выявление языкового предпочтения и тестирование генерации кода. Результаты показывают, что выборочная активация отдельных нейронов MLP в базовых тестах с Llama-3.2-3B-Instruct обеспечивает сильный причинно-следственный контроль над выбором языка программирования.
При нацеливании на генерацию CPP результаты показывают почти 100 % вывод CPP по большинству задач, практически исключая выходные данные Python, Java и Julia.
Тестирование генерации кода выявляет два различных режима поведения: задачи с уклоном в Python показывают 40–80 % выходных данных Python для высокоуровневых операций, в то время как задачи с доминированием CPP демонстрируют 60–90 % предпочтение CPP для критически важных с точки зрения производительности подпрограмм.
Результаты градиентно-усовершенствованного управления активацией
В этой статье представлены результаты градиентно-усовершенствованного адаптивного управления активацией, которое может контролировать выбор языка программирования при генерации научного кода.
Фреймворк обеспечивает значительные улучшения, повышая точность классификации пробников с 0 % до 61,5 % в ранних слоях LLaMA-3.2 3B. Несмотря на умеренное увеличение времени выполнения в 1,3–1,4 раза, фреймворк остаётся практичным благодаря выборочному управлению слоями и оптимизации кэширования.
G-ACT предлагает масштабируемый и интерпретируемый подход к управлению на уровне концепций, выходящий за рамки языков программирования за счёт внедрения постоянных матриц преобразований. Это обеспечивает согласованное поведение модели для разных пользователей и вводит новый стандарт для надёжного управления LLM в контексте научных вычислений.
Ознакомиться с полной версией статьи можно по ссылке. Все заслуги за это исследование принадлежат исследователям этого проекта. Подписывайтесь на нас в Twitter и присоединяйтесь к нашему сообществу в ML SubReddit (более 100 тысяч участников) и подписывайтесь на нашу рассылку.
1. Какие проблемы возникают при использовании больших языковых моделей (LLMs) для генерации научного кода?
При использовании больших языковых моделей (LLMs) для генерации научного кода возникают проблемы, связанные с недостаточным представлением низкоуровневых языков программирования, таких как C++ и CUDA, в наборах данных для предварительного обучения. Это приводит к тому, что реализации, созданные LLM, содержат синтаксические или семантические ошибки, которые вызывают проблемы компиляции или нестабильное поведение во время выполнения.
2. Какие методы управления LLM существуют и какие у них ограничения?
Для управления LLM были разработаны методы SFT, модуляции веса, RLHF и исправления активаций. Однако эти методы требуют значительных вычислительных ресурсов, могут снизить надёжность и общую производительность модели, а также используются на бенчмарках с вопросами на выбор, а не в реальных сценариях развёртывания.
3. Что такое G-ACT и какие преимущества он предлагает?
G-ACT — это градиентно-усовершенствованная адаптивная система управления активацией, предложенная исследователями из Мичиганского университета. Она объединяет различия активаций по запросам в направления управления и использует облегчённые пробники по слоям, которые обучаются и совершенствуются онлайн для выбора подходящих векторов управления. G-ACT обеспечивает масштабируемость, интерпретируемость и практический метод для достижения воспроизводимого поведения в агентских системах, требующих согласованного выбора языка программирования для задач научных вычислений.
4. Какие результаты были получены при тестировании настроенных на инструкции LLM на 84 эталонных вопросах?
При тестировании настроенных на инструкции LLM на 84 эталонных вопросах было обнаружено, что Llama-3.2-3B сильно склоняется к Java (76,2 %), Llama-3.3-70B предпочитает Python (73,8 %), Qwen2.5-Coder предпочитает Python (59,5 %), а Qwen2.5-14B отдаёт предпочтение Julia (66,7 %). Эти результаты показывают, что масштаб модели, архитектурное проектирование и данные для тонкой настройки в совокупности создают воспроизводимые предубеждения.
5. Какие улучшения были достигнуты с помощью градиентно-усовершенствованного управления активацией?
Градиентно-усовершенствованное адаптивное управление активацией (G-ACT) обеспечивает значительные улучшения, повышая точность классификации пробников с 0 % до 61,5 % в ранних слоях LLaMA-3.2 3B. Несмотря на умеренное увеличение времени выполнения в 1,3–1,4 раза, фреймворк остаётся практичным благодаря выборочному управлению слоями и оптимизации кэширования.