Исследователи Apple изучают, как ИИ может предсказывать ошибки, писать тесты и даже исправлять код

Apple опубликовала три интересных исследования, которые дают некоторое представление о том, как разработка на основе ИИ может улучшить рабочие процессы, качество и производительность. Вот подробности.

Прогнозирование программных дефектов с использованием автоэнкодерной трансформерной модели

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

Модель под названием ADE-QVAET направлена ​​на повышение точности прогнозирования ошибок путем объединения четырех методов ИИ: Адаптивной дифференциальной эволюции (ADE), Квантового вариационного автоэнкодера (QVAE), трансформерного слоя и Адаптивного шумоподавления и аугментации (ANRA).

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

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

Согласно исследователям, таковы были результаты при измерении производительности модели на наборе данных Kaggle, специально предназначенном для прогнозирования программных ошибок:

«Во время обучения с 90% обучающей выборки ADE-QVAET достигает высокой точности, прецизионности, полноты и F1-меры — 98,08%, 92,45%, 94,67% и 98,12% соответственно, по сравнению с ML-моделью дифференциальной эволюции (DE)».

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

Прочитать полное исследование в блоге Apple Machine Learning Research

Агентное RAG для тестирования программного обеспечения с гибридным векторно-графовым и многоагентным оркестрированием

Это исследование было проведено четырьмя исследователями Apple, трое из которых работали над моделью ADE-QVAET. Здесь они решают вторую трудоемкую задачу, стоящую перед инженерами по обеспечению качества, — создание и поддержка подробных планов и тестовых случаев для крупных программных проектов.

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

Другими словами, они создали систему ИИ, которая может самостоятельно планировать, писать и организовывать тестирование программного обеспечения, что может помочь оптимизировать рабочий процесс инженеров по обеспечению качества, которые «тратят 30-40% своего времени на создание базовых артефактов тестирования, таких как планы тестирования, тестовые случаи и скрипты автоматизации».

Как и в случае с моделью ADE-QVAET, результаты здесь были весьма многообещающими:

«Система достигает заметного повышения точности с 65% до 94,8%, обеспечивая при этом всестороннюю прослеживаемость документов на протяжении всего жизненного цикла контроля качества. Экспериментальная проверка корпоративных системных инженерных проектов и проектов миграции SAP демонстрирует сокращение сроков тестирования на 85%, повышение эффективности тестового набора на 85% и прогнозируемую экономию затрат на 35%, что приводит к ускорению запуска на 2 месяца».

С другой стороны, исследователи также отметили, что фреймворк имеет ограничения, в том числе тот факт, что их работа была сосредоточена только на «Корпоративных системах, Финансах и средах SAP», что ограничивает его возможности обобщения.

Прочитать полное исследование в блоге Apple Machine Learning Research

Обучение агентов и верификаторов для разработки программного обеспечения с помощью SWE-Gym

Это, пожалуй, самое интересное и амбициозное из трех исследований.

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

SWE-Gym был создан на основе 2438 реальных задач Python из 11 репозиториев с открытым исходным кодом, каждый из которых имел исполняемую среду и набор тестов, чтобы агенты могли практиковаться в написании и отладке кода в реалистичных условиях.

Исследователи также разработали SWE-Gym Lite, который включал 230 более простых и самодостаточных задач, предназначенных для ускорения обучения и оценки и снижения вычислительных затрат.

Согласно исследованию, агенты, обученные с помощью SWE-Gym, успешно решили 72,5% задач, превзойдя предыдущие эталонные показатели более чем на 20 процентных пунктов.

Тем временем SWE-Gym Lite сократил время обучения почти вдвое по сравнению с полной конфигурацией, обеспечив при этом аналогичные результаты. С другой стороны, вариант Lite включает гораздо меньше и гораздо более простых задач по написанию кода, что делает его менее эффективным для тестирования моделей на больших и сложных проблемах.

Прочитать полное исследование в блоге Apple Machine Learning Research

Скидки на аксессуары на Amazon