Как я дообучал модель на своих текстах после провала статьи на Хабре

от автора

Привет, Хабр.

Это будет не типичная статья в стиле «10 причин, почему ИИ уже заменил копирайтеров», а история фэйла с человеческим лицом.

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

Например

Или вот еще один

И для концовки

Когда ты получаешь такой фидбэк, есть 2 пути: начать рассказывать, что «нет, это вы все тут ничего не понимаете» или второй — признать очевидное и сказать, что да, все было действительно не круто. 

И дело тут не в том даже, что текст написан ИИ, а в том, что я положился на ИИ там, где мог все что-то сделать сам: перепроверить устаревшие данные, вычитать текст финально – и это совершенно моя ответственность. Поэтому по делу получил, исправляюсь. 

Единственный тейк, с которым я не могу согласиться, что текст, написанный ИИ — автоматически плохой

Со мной многие поспорят, и это норма. Но моя позиция простая: можешь автоматизировать — просто сделай это. И скоро нейросети и для текстов станут таким же обыденным инструментом, как уже для поиска и саммаризации информации. 

Ненормально другое: 

  • когда ИИ используют как возможность не думать,

  • когда ИИ отдают управление процессом полностью,

  • когда человек становится не автором, а нажимальщиком кнопки «сгенерировать». 

Поэтому оптимальным мне кажется симбиоз: человек отвечает за смысл, фактуру, структуру и финальный чек. Машина — за проверку грамматики, пунктуации, вариативность, черновики.

Я не успеваю писать все тексты сам. И не буду делать вид, что это не так

Я не тот айтишник, который сидя на пляже успевает не только работать, но еще и вести 25 блогов. Я CTO, поэтому у меня команда, решения, процессы, архитектуры, которые  надо держать в голове одновременно. Но опытом делиться и быть частью коммьюнити хочется. 

Поэтому вместо производства нейрослопа будет автоматизация. 

Что я для этого делаю

Сперва я пробовал стандартный подход: системный промпт, уточнение tone of voice и структуры, удачные примеры, few-shot. И формально оно работало, выполняло KPI и умирало, потому что и не жило, т.к. было усредненным вариантом делового контента. 

Настало время кастомизации

Я взял реальные примеры своих текстов и стал учить модель преобразовывать черновики в реальные материалы. Для датасета я собрал пары «сырой вход — готовый отредактированный текст», их было 15 штук, для теста вполне достаточно. Плюс, я поднял документацию, разобрался с подготовкой данных и написал свой скрипт для обучения, чтобы нормально управлять параметрами.

Первая итерация получилась бодрой: 8 эпох, learning rate multiplier 2. И по графикам я понял, что опять переусердствовал. Train Loss улетел вниз примерно до 0,136, зато Validation Loss рос и болтался как хотел примерно в диапазоне от 0,2 до 1,8. В общем, модель не училась писать лучше, а просто запоминала тренировочные примеры. 

Конфигурацию я пересобрал. Число эпох сократил с 8 до 3, снизил learning rate multiplier с 2 до 0,5. И это уже помогло. Validation Loss стабилизировался до 0,697, Full Valid Loss улучшился с 1,694 до 0,697 примерно в 2,4 раза, accuracy держалась около 0,78 и перестала дергаться, как кардиограмма после энергетика. 

Ответы стали менее шаблонными, лучше стали держать структуру и стильно, вели себя адекватнее. Разнообразие выросло (субъективно) процентов на 30-40, качество на новых темах на 20-30%. 

И еще важно, что при маленьком датасете fine-tuning чудес не творит. Помогает, да, но потолок все равно упирается в данные. В моем кейсе это примерно 60-70% от желаемого результата, но это лишь вопрос объема и качества примеров. 

Резюмируя, я собрал более взрослый процесс оптимизации текстов, перестав надеяться на «волшебную кнопку».

А что дальше? 

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

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

Вместо вывода

ИИ не портит тексты сам по себе, их портит человеческая невнимательность. И я не хочу выбирать между двумя крайностями «все только вручную» и «все только ИИ». Обе эти позиции радикальные и тупиковые. 

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