Всем привет! Хочу поделиться своим опытом, который, возможно, поможет кому-то избежать моих ошибок. Замахнулся я тут на обучение собственной языковой модели для специфической задачи (предсказание продолжения кода). Думал, справлюсь за недельку.
Результат: месяц коту под хвост и куча потраченных нервов.
Начал с того, что скачал огромное количество кода из открытых репозиториев. Процесс подготовки данных занял почти неделю – чистка, фильтрация, парсинг. Потом сама тренировка. На мощном железе, которое я смог выбить у начальства, модель обучалась несколько дней. И вот, когда казалось бы, все позади, я начал тестировать...
А оно выдает какую-то дичь. Либо копирует куски кода которые уже были, либо генерирует невалидный синтаксис. Грешил на архитектуру, потом на гиперпараметры, потом опять на данные. В итоге, перебрал, наверное, десяток разных комбинаций. Помогали, конечно, всякие гайды и статьи, но такого чтобы прям «вау-эффект», не было.
Из плюсов – я теперь шарю в оптимизации обучения и знаю, как избежать самых распространенных ловушек. Но если бы я знал, сколько сил это потребует, возможно, поискал бы готовое решение на Крáкен маркетплейс или тупо воспользовался бы готовой моделью. Ну и, конечно, надо было с самого начала глубже копать именно в специфику обучения моделей для кода.
Перед публикацией, советую ознакомится с правилами!