Как понять, что ИИ-инструмент действительно работает, прежде чем на него полагаться

Я едва не выкатил инструмент, который, проще говоря, угадывал. Тест он прошёл идеально: каждый пример - верно. А потом я направил его на настоящие, неаккуратные, повседневные данные, и он развалился так сильно, что мне пришлось перечитать цифру дважды. Инструмент был исправен. Сломан был мой тест. Этот разрыв - самая дорогая ошибка, которую люди сейчас совершают с ИИ: поверить демо, выкатить, а через несколько недель узнать, что оно работало только на лёгких случаях. Вот как поймать это раньше, чем оно обойдётся вам в копеечку.
Если коротко
- Я хотел заменить дорогой ИИ-сервис на дешёвый, делающий ту же рутинную работу. На тесте, который я написал, оба показали 100%.
- На моих настоящих данных хороший инструмент остался надёжным, а дешёвый просел примерно до уровня монетки. Тест был не ошибочным, он был лёгким: я неосознанно скормил ему очевидные случаи.
- Лекарство почти ничего не стоит: проверяйте на срезе своих собственных настоящих, неаккуратных данных, а не на демо.

Вводная
Одна маленькая, скучная задача в моём сайд-проекте: взять входящий текст и разложить его по категориям, тысячи раз в день. Гения за этим держать не нужно, так что справиться должен и дешёвый инструмент. Заменить более дорогой сервис, сохранить то же качество, а разницу положить в карман. Прежде чем щёлкнуть переключателем, я поступил ответственно и собрал небольшой тест.
Тест, который сказал мне то, что я хотел услышать
Я от руки выписал несколько десятков примеров с правильным ответом для каждого и проверил, как часто каждый инструмент попадает в цель. Дешёвый набрал 100% - ровно столько же, сколько дорогой, которого я собирался заменить. Но что-то скребло. Идеальный результат на реальной задаче обычно означает одно: тест был слишком лёгким. Так что перед выкаткой я провёл ещё одну проверку.
Тест, который сказал мне правду
Вместо отобранных вручную примеров я взял срез настоящих данных - того потока, что идёт через систему каждый день. Оба инструмента прогнали его тихо, в фоне. Вот что вернулось.
| Инструмент | Мой тест от руки | Мои настоящие, неаккуратные данные |
|---|---|---|
| Тот, что я оставил (подороже) | 100% | ~85% |
| Дешёвая замена | 100% | ~52% |
Пятьдесят два процента на выборе из двух вариантов - это и есть монетка. Инструмент, который блестяще прошёл мой тест, на настоящих данных угадывал едва ли лучше случая.
Я не стал его выкатывать. Я оставил надёжный инструмент, а позже нашёл дешёвый вариант, который настоящий тест прошёл. Но это уже тема для другого поста.
Почему тест соврал
Тест был не сломан. Он был нерепрезентативным, а это хуже, потому что на вид всё в порядке.
Тест, который вы пишете сами, измеряет, насколько хорошо вы понимаете лёгкие случаи. Не более того.
Причина проста: когда вы составляете тестовые случаи вручную, вы, сами того не замечая, берёте понятные. В итоге вы проверяете, умеет ли инструмент делать лёгкую версию задачи, а лёгкую версию умеет почти что угодно. Ваша же настоящая работа - не лёгкая версия. Это недописанное предложение, сообщение сразу о двух темах, фраза, сочащаяся сарказмом, форма, которую кто-то заполнил неправильно. Именно здесь слабый инструмент рассыпается, а хороший отрабатывает свою цену. В моём тесте от руки ничего этого не было, поэтому он и не смог различить два инструмента.
Привычка, которой я держусь теперь
Демо и тестам от руки в этом деле я больше не верю. Правило короткое: прежде чем доверить ИИ-инструменту настоящую работу, проверьте его на срезе своих собственных настоящих данных - не на примерах, которые отобрал поставщик, и не на примерах, которые отобрали вы сами. На практике - четыре шага, и ни один из них не технический:
- Возьмите выборку своей настоящей работы. Несколько десятков реальных случаев за прошлый месяц - обычных, а не вылизанных. Запишите, каким должен был быть правильный ответ.
- Прогоните инструмент по этой выборке тихо, там, где его ответы пока ни на что не влияют.
- Сравните с тем, что вы делаете сегодня: с вашим нынешним инструментом или с командой, которая делает это руками.
- Выкатывайте, только если он держится на трудных случаях, а не на демо.
Настоящий тест стоит час. Пропустить его - недели разгребания.
Что это значит, если подписываете вы
Вам не нужно разбираться в модели. Вам нужно отказаться от одной фразы: «В демо оно показало себя отлично». Конечно показало: демо для того и собрано, чтобы показывать себя отлично. Единственный вопрос, который вас защищает: а как оно справляется на наших данных, на тех случаях, с которыми мы реально мучаемся? Если поставщик не может или не хочет провести такой тест - это и есть ваш ответ. И одна цифра, которую стоит запросить: точность на ваших собственных данных против точности на демо. Если эти две цифры далеки друг от друга, вы нашли риск раньше, чем он нашёл вас.
Трудные случаи - это и есть единственная причина, по которой вы вообще платите за хороший инструмент. Так что прежде чем доверить любому ИИ-инструменту настоящую работу: когда вы в последний раз сверяли его с неаккуратной, настоящей реальностью, а не с версией, собранной, чтобы вас впечатлить?
Нужно что-то похожее для вашего бизнеса? Посмотрите, как я могу помочь →
Заберите чек-лист «AI Audit Kickoff»
Пятнадцать вопросов, которые стоит задать про свои процессы, прежде чем тратить деньги на ИИ. Тот самый первый час, с которого я начинаю настоящий аудит, одностраничным PDF. Оставьте почту и получите его сразу, плюс изредка письмо, когда напишу что-то стоящее. Без спама, отписка в один клик.