К основному содержимому
#ML

Enhancing Software Design and Developer Experience Via LLMs (Рубрика ML)

#ML #AI #Software

Иногда меня спрашивают почему я читаю whitepapers преимущественно от bigtech компаний. Часто я отвечаю, что они редко разачаровывают с точки зрения качества. Но тут я решил дать шанс другой статье, а точнее "Enhancing Software Design and Developer Experience Via LLMs" с "ASE '24: Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering"

Абстракт статьи звучит неплохо

  • Первоначальное внимание уделяется способности моделей понимать концепции дизайна высокого уровня
  • Впоследствии исследование переходит к расширенной генерации программных артефактов
  • В конце вводятся методы, специфичные для организации или задачи, для повышения производительности и опыта разработчиков программного обеспечения. Но если читать дальше, то складывается ощущение, что саму статью писал LLM:) И из всего плана исследования сделан только обзор работы LLMs для генерации кода.

А дальше я расскажу подробности.

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

  1. Understand LLM - How LLMs handle code and natural language
  2. LLM for software design (Plan-Code-Build-Test), где автор выделил фазы
  • Post commit. Identify problems and provide solutions
  • Pre-commit. Predict problems
  • Line level suggestion. Predict problems & provide hints while developers are working
  1. ML Plugin. Develop a framework that can provide ML hints to developers
  2. Generalize the framework. Apply the framework in other software development processes

Интересно, что автор фокусируется на использовании в своих предсказаниях логов

This project aims to advance the analysis and utilization of logs geneated during software development and testing. By implementing real-time log analysis and auto-suggestion features, the research seeks to improve the post-test phase and provide actionable insights for future testing, simulation, and maintenance activities

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

В третьей части автор раскрывает карты и рассказывает про модель, которую он планирует использовать ... и это откопанная ~~стюардесса~~, а точнее методология Model-Driven Architecture (MDA) от Object Management Group прямиком из начала двухтысячных. Сама методология предполагает использование трех шагов

  1. Создание Platform-Independent Model (PIM)
  2. Преобразование PIM в Platform-Specific Model (PSM)
  3. И дальше генерация кода для выполнения

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

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

В пятой части автор рассказывает, что из всего описанного пока готов только обзор использования LLM при написании кода:)

P.S. В итоге, у нас whitepaper уровня курсовой работы студента, что он нагенерировал вместе с GPT-4 за пару вечеров - обзор нормальный, а все остальное в планах:)

#AI #ML #Software