VJOURNAL

ИИ • Глобальная редакция •

Сначала задача, потом модель: как выбрать проект для прикладного курса по ИИ

Проект — та часть прикладного курса по ИИ, где лекции заканчиваются и начинаются ваши решения. Как его выбрать: реальная задача, данные, которые можно использовать, базовое решение, объём по календарю, понятная проверка и честная запись об ограничениях.

Обложка VJOURNAL к материалу «Сначала задача, потом модель: как выбрать проект для прикладного курса по ИИ»

Короткий ответ

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

Дата проверки фактов: 4 источника
Хороший проект начинается с задачи, которую кто-то действительно выполняет, и с одной фразы без названий моделей и методов.
Разрешение на использование данных и запись об их источнике, лицензии и пробелах нужны до первого эксперимента.
Простое базовое решение, измеренное на отложенных примерах, превращает «оно работает» в результат, который можно оценить.

Проект — место, где курс становится вашим решением

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

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

Пять проверок отличают рабочий проект для курса по ИИ от пожелания: реальная задача, данные, которые вам разрешено использовать, базовое решение, которое нужно превзойти, объём по числу недель и оценка, которую вы способны объяснить. Шестая уместна в конце: честный рассказ об ограничениях.

Сформулируйте цель фразой, в которой нет модели

Курс Google «Introduction to Machine Learning Problem Framing», короткий онлайн-курс примерно на 45 минут по оценке самих авторов, начинается с указания, которое кажется слишком простым: сформулируйте цель без терминов машинного обучения, как ответ на вопрос «Чего я пытаюсь добиться?». Примеры в нём занимают по одной строке: распознавать спам, рассчитывать время в пути, выявлять мошеннические операции.

Сделайте то же со своей идеей. «Дообучить языковую модель на обращениях в поддержку» — это метод. «Распределять входящие обращения по пяти очередям, чтобы на срочные отвечали первыми» — это цель: в ней названо, кому станет лучше и что изменится. Если фраза второго типа не получается, у вас есть инструмент, а проекта пока нет.

Тот же курс добавляет проверку, которая отсекает много привлекательных идей: нет смысла что-то предсказывать, если предсказание нельзя превратить в действие, полезное пользователям. Спросите себя, что человек сделает иначе в понедельник утром, получив результат вашей системы. Красивая цифра, которая не меняет ничьей работы, остаётся упражнением, а упражнение — более слабый проект, чем небольшой полезный инструмент.

Данные, которые можно использовать и описать письменно

Разрешение важнее качества. Берите данные, которые создали сами, открытый набор с лицензией, подходящей для вашей цели, или материалы работодателя — с письменным согласием и без персональных сведений. Прочитайте лицензию и условия на странице самого набора: «это было в интернете» лицензией не является. Если данные описывают людей, которых можно опознать, сначала спросите у организаторов курса или у компании, как с ними следует обращаться.

Затем оцените, выдержат ли данные проект. Курс Google перечисляет, какими должны быть данные для предсказательной модели: их много, они собраны последовательно и надёжно, им можно доверять, они доступны в момент предсказания, они корректны и отражают реальный мир. У учащегося редко есть все шесть свойств. Честный путь — записать, какие из них слабы, и соразмерно сузить заявленный результат.

Посчитайте и время. В указаниях Стэнфорда к CS230 есть предупреждение: если данные требуют серьёзной предварительной обработки или вы собираетесь собирать их сами, это лишь часть ожидаемой работы, но она нередко занимает много времени. Практическое правило: если за первую неделю не удалось открыть пригодный образец данных, меняйте идею, а не график.

Базовое решение, которое надо превзойти прежде всего

Базовое решение (baseline) — самое простое из того, что способно выполнить задачу: правило, список ключевых слов, нынешний ручной процесс или готовая модель с инструкцией в одну строку. Курс Google называет решение без машинного обучения эталоном, по которому судят, подходит ли машинное обучение для задачи, и советует решить её вручную с помощью эвристики, если такого решения ещё нет.

Именно базовое решение придаёт смысл итоговому числу. Пример с выдуманными цифрами: классификатор, который прав в 90 случаях из 100, выглядит сильным, пока вы не заметите, что постоянный выбор самой частой категории даёт 88 верных ответов. Разница в два пункта и есть результат, причём скромный. Без базового решения вы сообщили бы «90» и ничего не узнали.

Постройте его рано. Тот же курс советует начинать с простого, потому что основная работа связана с данными, и замечает, что простые модели служат хорошей точкой отсчёта, даже если их никогда не запустят в работу. В CS230 на промежуточном этапе требуют работающий код с базовой моделью. Что бы ни требовал ваш курс, готовое базовое решение в первой трети срока означает, что вам уже есть что сдать.

Сокращайте объём, пока он не уложится в календарь

Посчитайте недели, которые у вас действительно есть, и вычтите лишнее. Последняя неделя уйдёт на отчёт, предпоследняя — на оценку и разбор ошибок, и хотя бы одну отнимут работа, болезнь или сломанный ноутбук. Остаток и есть время на данные и разработку, и обычно его гораздо меньше, чем предполагал первый план.

Сужайте задачу, а не размывайте работу. Один язык, один тип документов, один вид клиентов, три категории вместо двенадцати. Запишите самую маленькую версию, которая всё ещё будет законченным проектом — с данными, базовым решением, проверкой и выводом, — а всё сверх неё считайте необязательным. Завершённый узкий проект учит большему, чем незавершённый широкий.

Остерегайтесь идей, зависящих от того, чем вы не управляете: набора данных, который кто-то обещал, доступа, требующего согласования, тысяч примеров, которые придётся размечать вручную. В указаниях Стэнфорда к промежуточному этапу сказано, что от команды ждут проверки всех допущений, способных помешать завершить проект. Проверьте свои в первую неделю, пока смена направления ещё обходится дёшево.

Оценка, которую вы сможете объяснить коллеге

Решите, как будете судить о результате, до того как начнёте строить. Отложите часть примеров в тестовую выборку и не заглядывайте в неё, пока настраиваете систему: показатель, измеренный на примерах, под которые вы подгоняли решение, ничего не говорит о новых. Выберите одну главную меру, вытекающую из фразы о цели, и будьте готовы простыми словами объяснить, что означает один её пункт.

Курс Google разделяет две вещи, которые учащиеся часто смешивают. Метрики модели — доля верных ответов (accuracy), точность (precision), полнота (recall) — описывают модель. Метрики успеха описывают то, что для вас важно, например стали ли люди чаще поступать правильно. Проект, который приводит первые и обсуждает вторые, показывает, что автор понял задачу, а не только библиотеку.

Сгенерированному тексту нужна другая проверка. В курсе отмечено, что может понадобиться тестовый набор, чтобы сравнивать вывод генеративной модели с известными значениями: например, проверять, что резюме похожи на написанные человеком или что люди оценивают их как хорошие. На практике это короткая шкала из трёх-четырёх критериев, постоянный набор входных данных и, если удастся договориться, второй человек, который выставляет оценки.

Ограничениям место в отчёте, а не в сноске

Исследовательская практика предлагает готовый шаблон. Статья «Model Cards for Model Reporting» Маргарет Митчелл с соавторами предлагает сопровождать обученную модель коротким документом, который раскрывает, в каком контексте её предполагается использовать и как оценивалось её качество. Среди предложенных разделов — назначение, случаи применения вне назначения, данные для оценки, а также оговорки и рекомендации.

Проект для курса по ИИ может заимствовать эту идею на одной странице. Скажите, для чего система и кому ею пользоваться. Скажите, для чего её использовать нельзя. Опишите данные и то, чего в них не хватает. Приведите результат рядом с базовым решением. Затем покажите три-четыре настоящие ошибки и объясните, что у них общего. Примеры ошибок убеждают сильнее, чем фраза о том, что они бывают.

Учащиеся часто боятся, что перечисленные слабости обернутся против них. Посмотрите на страницу глазами проверяющего или работодателя: результату можно доверять, только когда видны его границы. «Работает на англоязычных счетах двух поставщиков; на рукописном тексте не проверялось» — это вывод. Молчание о том же пробеле — ошибка, которую рано или поздно обнаружит кто-то другой.

Проверьте идею не только на технику

Документ ЮНЕСКО «AI competency framework for students» (рамка ИИ-компетенций для учащихся), опубликованный в 2024 году для школьных программ, описывает 12 компетенций в четырёх измерениях: человекоцентричное мышление, этика ИИ, методы и применения ИИ, проектирование ИИ-систем. Они распределены по трём уровням: понимать, применять, создавать. Его писали не для курсов для взрослых, но он служит хорошим зеркалом.

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

До окончательного выбора прочитайте правила своего курса: на разных курсах они различаются. На странице CS230 на момент подготовки текста сказано, что простое составление запросов к большой языковой модели без дополнительного обучения не считается проектом для этого курса; другой курс может приветствовать именно такую работу, а курс Google замечает, что в большинстве случаев генеративную модель не обучают с нуля, а настраивают готовую. Затем сравните свои идеи по пяти проверкам и предпочтите ту, данные для которой можно открыть уже сегодня.

Практический чеклист

  • Запишите цель одной фразой без названий моделей и методов и укажите, кто будет действовать по результату.
  • Получите письменное разрешение на использование данных и зафиксируйте их источник, лицензию, дату и известные пробелы.
  • Измерьте простое базовое решение на отложенных примерах, прежде чем строить что-то сложнее.
  • Спланируйте работу от срока сдачи назад и определите самую маленькую версию, которая всё ещё считается законченным проектом.
  • Завершите одной страницей о назначении, недопустимом применении, результате рядом с базовым решением и настоящих примерах ошибок.

Вопросы и ответы

Как выбрать между двумя идеями проекта для курса по ИИ?

Оцените каждую идею по одним и тем же пяти вопросам: реальна ли задача, можно ли использовать данные, удастся ли на этой неделе построить базовое решение, укладывается ли самая маленькая законченная версия в календарь и можете ли вы объяснить, как будете её проверять. Победить обычно должна та идея, для которой данные уже на руках, даже если другая звучит увлекательнее. Увлечённость не переживает месяца ожидания доступа.

Не слишком ли прост проект на готовой языковой модели?

Зависит от правил вашего курса. Некоторые, например стэнфордский CS230, требуют работы по обучению моделей и указывают, что одних запросов недостаточно. Там, где правила это допускают, глубина берётся из другого: точной цели, тщательно собранной тестовой выборки, сравнения с более простым базовым решением и разбора ошибок. Эти части пропустить проще всего, и именно они показывают умение рассуждать.

Что считается базовым решением в проекте по машинному обучению?

Любой простой способ, который выполняет ту же задачу и может быть оценён на тех же тестовых примерах: написанное вручную правило, совпадение по ключевым словам, постоянное предсказание самого частого класса, существующий ручной процесс или готовая модель с минимальной инструкцией. Его назначение — сравнение. Приведите его показатель рядом со своим, измеренный тем же способом, чтобы читатель видел, сколько добавила ваша работа.

Можно ли взять данные работодателя для учебного проекта?

Только с письменного разрешения того, кто вправе его дать, и, как правило, после удаления персональных и конфиденциальных сведений. Узнайте также, что курс делает со сданными работами: отчёты и код могут читать преподаватели или видеть другие учащиеся. Если разрешение затягивается или неясно, выберите открытый набор данных с понятной лицензией. Это общие соображения, а не юридическая консультация: решают правила вашей организации.

Какого размера должен быть набор данных для учебного проекта?

Универсального числа нет. Курс Google о постановке задач говорит, что чем больше релевантных примеров, тем лучше модель, и называет корректность и представительность данных среди остальных требований. Для короткого проекта рабочая проверка такая: есть ли в отложенных примерах все типы случаев, с которыми система якобы справляется, и можете ли вы сами проверить их разметку. Если хотя бы один ответ отрицательный, сузьте заявленный результат, прежде чем собирать больше.