«Учиться учиться и еще раз учиться» или дообучение LoRA

от автора

Юмористическое отображение процесса точно сделанное моделью Krea 2

Юмористическое отображение процесса точно сделанное моделью Krea 2

Как правило, все большие модели плохо знают язык 1С, могут написать пример запроса или небольшой кусок кода, но в точных знаниях, функциях и методах путаются и галлюцинируют.


Никогда не пользовался, и точно не знаю, как знают 1С различные модели по подпискам, но практически уверен, они не будут знать то, что добавили в платформу 1С не так давно. Конечно, это все можно решить с помощью RAG, но такой подход требует больше токенов для чтения информации. RAG можно представить как программиста, постоянно сверяющегося с книгой.

LoRА — низкоуровневая адаптация(Low Rank Adaptation) по сути не меняет веса основной модели, LoRA можно упрощенно и образно представить как дополнительную матрицу к весам модели, некий дополнительный багаж знаний.

Не буду описывать подготовку данных и успешные по метрикам, но безрезультатные по простым тестам попытки добавить знаний.

По итогу, результата добился. На нескольких тестовых примерах, результат считаю отличный.

В агентском режиме ответы как правило более качественные, засчет настроек температуры и более качественно промпта настройки агента.

В агентском режиме ответы как правило более качественные, засчет настроек температуры и более качественно промпта настройки агента.
Пример сделан с температурой 1 вместо рекомендуемой для написания кода 0,3 - 0,6 также случайно отключен Thinking.

Пример сделан с температурой 1 вместо рекомендуемой для написания кода 0,3 — 0,6 также случайно отключен Thinking.

Для проверки побольше, было интересно сравнить LoRA с RAG, для этого данные из датасета обучения преобразовал и проиндексировал в Qdrant с аналогичными настройками, как в индексе файлов Roo code, и для взаимодействия сделал MCP сервер.

MCP RAG с индексом в Quadrant

MCP RAG с индексом в Quadrant
Настройки RAG MCP используются из Roo Xcode

Настройки RAG MCP используются из Roo Xcode

Затем сделал свою Агентошную и попытался провести исследование с помощью новых в цепочке агентов, добавил 4 (1C Developer) , а затем и пятого 1C Expert.

Дримтим агентов

Дримтим агентов

В исследовании было желание понять разницу между «Без доп.знаний», LoRA, RAG и LoRA + RAG вместе, разницу в токенах и во времени. Более менее тест прошел, только первый раз. В результатах было время по ответам, но без количества токенов и большой неправильный ответ базовой модели без знаний. Roo, к сожалению, не дает агентам напрямую информацию по статистике. Когда удалось получить статистику Агенту из логов llama-swap, тогда в результате уже деградировали результаты тестов и методика. Все агенты сразу поняли, что их тестируют, и результаты, как и статистика, были странные, в тестах данные были одни, а в итоговом результате другие, похоже усредненные.

Вызовов MCP было больше видел.

Вызовов MCP было больше видел.

Пробовал поменять тест на 100 вопросов по последнему — новому функционалу и 100 рандомных с тестированием только LoRA и RAG, но на этом тесте началось постоянное зацикливание обоих моделей.

Реального применения для обученной модели нет. Попробую, позднее, протестировать на задачах как на видео в интернете, но для этого планирую сделать свою обвязку. Собрать девконтейнер могу без проблем, но пользоваться готовыми решениями в виде скиллов, думаю, не самый правильный вариант. В двух словах, в “навыках-скилах” много токенов и времени тратиться на работу с xml вместо работы с чистой структурой и логикой решения.

ссылка на оригинал статьи https://habr.com/ru/articles/1062402/