В чем отличие ИИ разработчика

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

Некоторое время назад я добавил в Библиотеку искусственного интеллекта для 1С опцию ввода изображения. Тестирование новой опции, как и положено 1С-нику, я начал с распознавания УПД. Результаты получились отличными, но сама история с распознаванием первички сейчас уже, что называется, «не модна». В самом деле, ну кто сейчас возится с бумагой. Поэтому я решил попробовать что-нибудь более актуальное. Взял первое понравившееся мне фото.


Картинку взял  на Freepik, ее автор aleksandarlittlewolf
Картинку взял на Freepik, ее автор aleksandarlittlewolf


И задался простым вопросом: сможет ли state-of-art модель определить какой товар заканчивается. Так как нам нужно на выходе не бла-бла-бла, а четкий ответ, набросал JSON-схему и начал экспериментировать.


a171979d07499898ef84ffd36bf646e6.png


Упс! Вообще-то я ожидал получить сообщение о том, что заканчиваются кабачки. Ну ладно, пробуем дальше

0cafa1ad1a7848c21dd64f8e50144361.png


На этот раз действительно «кабачки». Потом еще раз выдало «кабачки». А потом


0a3ff944cea8b185a9acf8d8f12da492.png


Потом еще были 2 раза «кабачки». Потом вдруг «красный перц»…

Если вы на этом месте сказали себе: «ага! не работает», то вас, возможно, удивит то, что я на этом самом месте сказал себе: «ага! работает».

Как такое происходит и почему мы видим одно и то же, но приходим к прямо противоположным выводам? На мой взгляд, именно здесь кроется причина неприятия новой технологии. До сих пор область ИТ была царством строгой логики. Мы привыкли иметь дело с детерминированными системами. И это «сбивает нам прицел». При столкновении с вероятностной системой, наша интуиция нам подсказывает: «это не работает». Но здесь она ошибается. Вероятность надежна, как бы контринтуитивно это не звучало. В самом деле. Если в 10 запусках я получил 6 раз «кабачки», 2 раза «редис», 1 раз «перец» и 1 раз «капуста», тогда все что мне нужно, это запускать 10 раз и выбирать наиболее часто встречающееся.

К работе с вероятностными системами надо просто привыкнуть. В предыдущей статье А мы все видим говорилось о распознавании первичных документов, типа УПД. В обсуждении всплыла тема:, а какова надежность всего этого? Каков будет процент ошибок? Так вопрос может ставить только тот, кто привык к детерминированным системам. Здесь, да. Если у вас одни и те же входные условия, в нашем случае это одно и то же изображение на входе, то если уж вы получили ошибку на выходе. То вы и дальше будете ее получать, хоть тысячу раз запускай. И если у вас из 100 документов 1 дает ошибку, то на этом все. У детерминированных систем. У вероятностных не так. Если у нас 1 ошибка на 100 документов, и нам это не нравится, то нет проблем. Будем запускать распознавание каждого документа 2 раза и получим уже 1 ошибку на 10 000 документов. Нужен миллион? Будем запускать по три раза. С учетом того, что запуск стоит несколько копеек, мы можем себе такое позволить. С вероятностными системами нет вопроса: каков будет процент ошибок? Есть только вопрос: какой процент вам нужен?

Осваивайте работу с искусственным интеллектом, дорогие коллеги! Тут интересно!

PS. Пример, который я здесь привел, учебный. Не рассматривайте его, как готовый инструмент для работы в магазине или на складе. Для получения рабочего инструмента тут еще надо экспериментировать с изображениями, ракурсами, разрешениями,  моделями (gpt-4o не самый лучший вариант).

© Habrahabr.ru