## Контекст
Область исследования крупных языковых моделей (LLMs) в рамках автоматизации процессов разработки программного обеспечения, в том числе в сфере машинного обучения, получила значительный развитий в последние годы. Эти модели используются для автоматизации широкого спектра задач, включая создание и оптимизацию кода, а также интеграцию моделей машинного обучения в различные системы. Однако несмотря на высокую точность и эффективность LLMs в задачах генерации кода, есть недостаточно изученные аспекты, в том числе моменты, когда модель «замирает» или приводит к непредсказуемому поведению. Это в особенности актуально для приложений в области машинного обучения, где непредсказуемость может привести к серьезным последствиям. В нашем исследовании мы фокусируемся на LLMs, применяемых в сфере машинного обучения для создания и настройки моделей, а также их внедрения на устройствах. Наша мотивация заключается в том, чтобы выявить и проанализировать основные причины проблем, которые возникают в процессе работы LLM-powered ML pipelines, а также выявить решение этих проблем для повышения надежности и прозрачности.
## Метод
Мы разработали концептуальный автопилот, который управляет работой LLM в процессе автоматизации целого цикла разработки программного обеспечения: начиная от загрузки данных до генерации кода, который может быть запущен на устройстве. Наша модель включает несколько этапов: препроцессинг данных, преобразование моделей для работы на устройстве, и генерацию кода, который будет исполнен на целевой платформе. Мы использовали различные модели LLM, отобранных по их способности сгенерировать код, относящийся к машинному обучению, и проверяли их на различных наборах данных и сценариях. Для анализа результатов мы разработали каркас для детальной оценки качества кода, включая возможность определения проблем в рантайме. Мы также проанализировали качество работы моделей в разных условиях, включая различные предложения (prompts) и настройки. Это позволило нам понять, какие факторы влияют на надежность и качество работы LLMs в сфере машинного обучения.
## Результаты
В ходе наших экспериментов мы выявили несколько интересных закономерностей в поведении LLMs. Например, мы обнаружили, что некоторые модели, хотя и генерируют код, который компилируется, могут привести к ошибкам во время выполнения, которые не видны при проверке. Мы также обнаружили, что различные модели отличаются в том, насколько хорошо они учитывают характеристики данных и специфику целевой платформы. В частности, мы выявили, что ошибки часто возникают из-за несоответствия формата данных, недостаточного понимания задачи или ошибок в метаданных, которые могут не