О сложностях, трендах и ошибках машинного обучения
— С чего началась ваша карьера в ИТ?
— Еще в 10 классе я наткнулся на курс по машинному обучению на Coursera и был поражен, насколько это мощный инструмент: с его помощью можно предсказывать будущее, обучать компьютеры, распознавать эмоции на фотографиях и даже создавать алгоритмы, которые играют в шахматы лучше любого человека. В университете я пробовал себя в разных направлениях — бэкенд, фронтенд, олимпиадное программирование, — но нигде не добился больших успехов. Меня даже выгнали из кружка по бэкенд-разработке за неуспеваемость.
После этого я вспомнил, что в школе интересовался машинным обучением, и начал искать способы изучить его, чтобы получить свою первую стажировку. Очень быстро я нашел офлайн-курс Data Mining in Action от Виктора Кантора и Эмели Драль. Я сразу же подал заявку и предложил свою помощь в организации курса.
После прохождения двух потоков, выполнения множества домашних заданий и проектов мне удалось войти в число лучших студентов, и меня пригласили на стажировку в компанию Embedika на позицию NLP Engineer. Так начался мой путь в мир реальной разработки.
— С какими проектами вы работали?
— Первой крупной системой, которую я реализовал как техлид, стала https://embedika.ru/products/contract-by-embedika/ для проверки юридических документов на наличие рисков. В 2021 году это была единственная в России система, автоматически выделяющая потенциально опасные формулировки в договорах, которые могли привести к необоснованным штрафам и убыткам в будущем.
Проект оказался сложным из-за критической важности и точности модели — цена ошибки была слишком высока. Чтобы обеспечить необходимую точность, я дообучал архитектуру Transformers (которая сейчас лежит в основе ChatGPT) на специализированном датасете, размеченном квалифицированными юристами.
Еще одной сложностью стало создание системы разметки. Структура юридических документов, конфиденциальность данных и отсутствие подходящих инструментов вынудили нас разработать собственное решение для аннотирования PDF-документов с различными типами рисков.
Система прошла в финал акселератора GenerationS, где компания Сибур выбрала нашу команду для дальнейшего сотрудничества. После внедрения системы в нескольких крупных компаниях проверка контрактов ускорилась: среднее время анализа одного договора сократилось с 30 до 7 минут, а уровень автоматизации процесса достиг 70%.
Сейчас я работаю в американской SaaS-компании Constructor, которая помогает крупным e-commerce площадкам улучшать пользовательский опыт и увеличивать доход. Моя основная задача — находить способы сделать поиск более удобным и эффективным для наших клиентов. Это может быть как разработка новых функций на базе ИИ, так и доработка существующих алгоритмов.
Например, мой текущий проект связан с умными поисковыми подсказками. Они помогают людям быстрее находить нужные товары и показывают дополнительные варианты, о которых пользователи могли даже не задумываться. Для наших клиентов-маркетплейсов это означает рост кликов и покупок.
Также я участвую в работе над релевантностью поисковой выдачи, чтобы пользователи получали результаты, которые действительно отвечают их запросам и помогают решить их задачи.
— Какие ошибки допускают разработчики машинного обучения в своей карьере?
— Основные сложности в работе обычно не связаны с нехваткой технических знаний или навыков — их можно относительно быстро развить при желании. Самые большие провалы случаются из-за неправильного планирования, приоритизации, стратегии.
Я часто замечаю, что разработчики решают локальные задачи, не учитывая общей картины. Сам раньше так делал: в начале карьеры относился к ML-проектам как к хакатонам — гнался за максимальной точностью модели. Проблема? Это бессмысленно, если результат не приносит реального влияния на бизнес. Важно понимать, как разработка моделей приносит прибыль компании, какие боли заказчиков закрывает, ведь нет ничего глупее, чем усердно работать над несуществующей проблемой
Еще одна опасность заключается в том, чтобы пытаться сразу создать идеальное (и уникальное!) решение с использованием сложных архитектур и моделей машинного обучения. Вместо этого важно итеративно подходить к задаче, фокусируясь на решении, которое уже достаточно хорошо закрывает проблему пользователей. Часто на 80% проблему можно решить довольно быстро, а оставшиеся 20% требуют огромных ресурсов. Здесь важно понимать, когда нужно остановиться и переключиться на более значимые задачи.
Чтобы избегать подобных ловушек, нужно окружать себя более опытными коллегами и развивать профессиональное сообщество, готовое прийти на помощь. Важно нетворкаться, делиться знаниями и помогать другим. Часто самые интересные карьерные предложения возникают благодаря тому, что знакомые люди знают о твоих сильных сторонах. Игнорирование профессиональной сети ведет к замыканию в собственном мире и потере перспектив для роста. Это может привести к карьерной стагнации: текущие задачи успешно выполняются, и кажется, что все в порядке, но важные изменения в отрасли проходят мимо.
— Какие у вас были трудности в работе?
— Многие сложности в работе возникали из-за моего эго. Я часто зацикливался на первой идее и упорно продвигал её, даже когда данные ясно указывали на её несостоятельность. Со временем я понял, что пытаться реализовать что-то только потому, что это был мой первоначальный план, — далеко не лучшая стратегия. Этого можно было бы избежать, уделяя больше внимания общению с командой и заказчиками, вместо того чтобы считать, что я лучше всех знаю, каким должен быть продукт.
Не стоит бояться задавать простые, на первый взгляд, “глупые” вопросы — они способны сэкономить огромное количество времени и предотвратить движение в неверном направлении. Например, на одной из предыдущих работ я недостаточно прояснил требования заказчика для разработки одной из функций. Вместо этого я начал делать «звездолёт», не задавая ключевых вопросов: “А зачем это нужно?”, “Действительно ли это важно?”, “Какой минимальный уровень качества будет достаточен?”.
Результат? Несколько месяцев работы на проектом, который не приняли. В итоге мне пришлось переделывать всё в сжатые сроки, устраняя ошибки, которых можно было избежать с самого начала.
— Как ИИ влияет на сферы жизни?
— Многим кажется, что влияние ИИ началось с появления ChatGPT, но это не так. Алгоритмы машинного обучения давно играют важную роль в нашей жизни, влияя на предпочтения и выборы. Например, утром вам предлагают любимые круассаны и кофе, днем подсказывают оптимальный маршрут для поездки, а вечером советуют концерт, который вам понравится. Они помогают отслеживать тренды, предлагают плейлисты под настроение или находят книгу, которую вы давно искали. Раньше такие алгоритмы решали более точечные задачи, например, рекомендовали ресторан или фильм, но сегодня они помогают выбирать целые образы для выходов в свет или обустраивать вашу гостиную, экономя время и усилия. В результате мы получаем персонализированный опыт, а компании — рост продаж и лояльность клиентов.
— Какие существуют проблемы машинного обучения?
— Разбудите меня через 5 лет и я вам скажу — качественные данные. Текущие модели уже достаточно capable, чтобы понимать сложные паттерны, но они не могут выдавать хорошие результаты, если данные были заведомо неправильные, недостаточные или misleading. Чем сложнее задача, тем более качественные, разнообразные и релевантные они должны быть.
Представьте, что вы создаёте инструмент для платформы, где пользователи могут выбирать мебель и декор для своих домов. Задача — помочь клиенту не только найти подходящие товары, но и предложить готовые дизайнерские решения. Это требует выполнения последовательности действий, где качество данных играет ключевую роль. Какие могут быть проблемы?
1. Неправильные размеры товаров:
• Некорректные габариты мебели могут привести к тому, что диван или шкаф не подойдут под размеры помещения.
2. Отсутствие данных о стилях:
• Без чёткой классификации система может предложить несовместимые варианты, например, сочетание классического кресла с минималистичным столом.
3. Недостаток информации о связях между товарами:
• Система не понимает, что некоторые предметы мебели (например, стол и стулья) должны быть предложены вместе как согласованный набор.
4. Отсутствие данных о комнате клиента:
• Без информации о размере и планировке помещения рекомендации могут быть нерелевантными.
5. Шум в данных о предпочтениях:
• Ошибочные или случайные клики клиента трактуются как его интересы, что искажает предлагаемые рекомендации.
6. Игнорирование трендов:
• Система может предлагать устаревшие или неподходящие решения, не учитывая современные популярные стили, цвета и формы.
Эти ошибки снижают ценность рекомендаций, делая их менее точными и уменьшая удовлетворённость клиента.
— Какие тренды на 2025 год можно выделить?
— Многие компании продолжают разрабатывать продукты на основе агентных LLM. Но почему эта идея сейчас вызывает такой ажиотаж? Стартапы надеются, что агенты смогут решать сложные задачи последовательно и без участия человека, предоставляя альтернативу профессионалам, но за значительно меньшую цену. Это звучит амбициозно, и в некоторых случаях может сработать. Однако я всё ещё убеждена, что оптимальная продуктивность достигается через синергию человека и ИИ: ИИ предлагает варианты решений, а человек принимает финальное решение. Например, я бы не доверила выбор своей одежды исключительно ИИ — мне всё равно важно проверить корзину, чтобы избежать неожиданных расходов или ошибок.
Если тренд на агентные системы оправдает себя, технологии будут становиться всё умнее, а пользователи — всё требовательнее. Они начнут выбирать системы, которые глубже понимают их запросы и работают как интеллектуальные помощники, избавляя от рутинных задач. Например, в моей текущей компании мы разрабатываем интеллектуальный поиск, который может не только найти подходящие товары по сложным запросам, но и объяснить, почему именно эти товары самые релевантные. Вы можете спросить: “Что подойдёт для осенних прогулок в дождливую погоду?” — и система предложит ботинки с непромокаемым покрытием, плащ из дышащей ткани, перчатки, сохраняющие тепло даже в сырую погоду, и компактный зонтик. При этом она объяснит, как свойства материалов и их характеристики соответствуют вашему запросу.