AI
October 16

Почему БГ ошибается насчёт AI?

tg: @NPOG2023
yt: @oldneurosong

Если в интернете кто-то не прав — такое случается сплошь и рядом, и не стоит никакого внимания. Но иногда это хороший повод вспомнить о том, что ученье —свет, а неученье — тьма.

В комментариях поделились ссылкой на свежее интервью БГ, в котором он снова высказывает своё мнение о машинном интеллекте. Я процитирую основное:

«Все забывают одну и ту же простую вещь: AI — это машинный интеллект, который состоит просто в перечислении с фантастической, невероятной, непредставимой скоростью разных вариантов, чтобы определить, подходят они, или нет. У человека в сознании это происходит немножко по другому. [...] Мы всё время говорим "люди думают". Нет! Люди не думают! Люди формулируют вопрос, и проходят какие-то микросекунды, прежде чем они получают ответ. Они его не придумывают, они его получают. Вот в этом разница между искусственным интеллектом и сознанием: искусственный интеллект перебирает из сотен, тысяч, миллионов вариантов тот, который подходит, а сознание принимает напрямую знания из того места, которое мы не умеем назвать...».


Борис Борисович заблуждается, говоря о том, что AI «перебирает» варианты. Это понимание было верным ещё лет десять назад, равно как и шестьдесят лет до этого. Немудрено, что за столь долгий срок заблуждение успело закрепиться в общественном сознании, мол компьютеры — это линейные числодробилки, очень быстрые калькуляторы, процессы в которых понятны, и, в общем-то, изначально в них заложены.
Довольно сложно описать понятным языком, почему эти представления уже неверны, тем паче что я не специалист в этой области, так, знаком с основами. Но я попробую объяснить основные изменения в этой области, чтобы вы могли понять, что представляет из себя современный ИИ, и как он «думает».

1. Появились новые аппаратные решения. Железо не просто стало мощнее (это, безусловно, тоже повлияло), оно стало другим. Возможно, вы помните, что полноценные трёхмерные игры уровня Quake можно было запустить без всякой «вуды», используя только ту самую «числодробилку» — центральный процессор. Но если у вас был «3D ускоритель», как тогда это называлось, вы получали картинку несравнимо лучшего качества. Специализированное только под связанный с расчётом и отрисовкой графики тип операций железо за тридцать лет развилось совершенно невообразимо, обычные «бытовые» видеокарты, на которых вы запускаете «Ведьмака» или «Батлу» — выполняют триллионы (не миллионы и даже не миллиарды!) операций в секунду. Да, эти операции не универсальные, это математика, завязанная на 3D, — всякие преобразования матриц/векторов, зато выполняются они на порядки быстрее, чем на CPU — и, к тому же, выполняются параллельно.
2. Концепцию нейронных сетей, как математической модели человеческого мозга, придумали ещё в сороковых годах прошлого столетия, и с тех пор понемногу улучшали. Представьте сеть из множества узлов (нейронов), связанных между собой отношением «многие ко многим» (один нейрон соединён синапсами с множеством других нейронов, как на вход, так и на выход). Каждый узел умеет выполнять одну простую математическую функцию, параметры которой зависят от входных сигналов, и, в зависимости от результата функции, подаёт (или не подаёт) сигнал на один или несколько выходов. Сигналы в сети распространяются параллельно и могут влиять друг на друга. Таким образом, хотя ни один отдельный нейрон не «понимает» смысла пришедших сигналов, их конфигурация совершает преобразование, позволяющее устанавливать связи между входной и выходной информацией. Такие конфигурации выделяются в слои, уже умеющие распознавать какие-то абстрактные характеристики, из суммы которых получается нейросеть, решающая вполне конкретную задачу.
Классический пример решаемой задачи — распознавание кошек на фото. Первые слои могут выделять простые элементы — линии и края. Следующие слои будут находить более сложные формы — глаза, уши, лапы. А последние слои уже будут определять, что комбинация этих элементов действительно составляет изображение кошки.
Все эти идеи долго оставались теоретическими, поскольку аппаратные решения были способны симулировать только небольшое количество нейронов (тысячи, в лучших случаях), а сети такого объёма мало на что пригодны. Та же «кошачья» задача ещё двадцать лет назад подавалась, как не решаемая машинными средствами в принципе.
Но оказалось, что именно аппаратная модель видеоускорителей (матричная математика во множестве параллельных потоков) отлично подходит для реализации алгоритмов нейронной сети. В целом, это уже была почва для прорыва, который был основан на том, что...
3. Нейросети способны самообучаться. Математически это сводится к корректировке влияния нейронов друг на друга. Для примера вернёмся к котикам: возьмём много фотографий с ними, и «покажем» их нейросети. Нейросеть выявит закономерности входных сигналов (например — цвет и яркость каждого отдельного пикселя фотографии) и сохранит их в параметрах отношений нейронов. Грубо говоря, каждой фотографии будет соответствовать своя конфигурация активации связей, и чем больше будет фотографий — тем точнее эти связи будут настроены.
Вероятно, это самая сложная часть для осознания, поскольку именно здесь происходит та самая магия превращения количества в качество. Но после того, как вы поймёте этот момент, процесс будет казаться вам логичным и естественным.
После процесса обучения нейросеть не помнит исходных фотографий, однако в ней запечатлеваются выявленные паттерны. И если мы покажем ей фотографию — нейросеть не будет ничего «перебирать», просто активизировавшаяся конфигурация нейронов либо совпадёт, либо не совпадёт с «кошачьими» конфигурациями.
Ещё недавно такое обучение составляло одну из нерешаемых проблем: у человечества просто не было данных, на которых нейросети можно бы было обучать. Это сейчас мы можем легко собрать миллион фотографий котиков, у нас оцифрованы книги, музыка, фильмы, мы каждый день оставляем свои цифровые следы в Интернете. Информации, наконец-то, стало достаточно для преодоления необходимого порога.

Теперь масштабируем всё, насколько сможем. Больше данных (террабайты текста), больше входных параметров (миллиарды конфигураций нейронных слоёв), больше аппаратных ресурсов (тысячи специализированных карт)! И вот нейросети уже не только могут отличить котов от собак, но уже способны спеть песню, нарисовать картину, снять фильм. В перспективную область ринулись лучшие учёные и вдохновлённые энтузиасты, так что буквально каждый день находятся какие-то новые улучшения. От специализированных задач нейронки переходят всё к более общим, и прогресс только набирает обороты; я лично убеждён в том, что ещё на нашем веку будет создан AGI (тот самый полноценный машинный интеллект из научной фантастики), превосходящий по всем возможностям человеческий разум.

То, что я рассказал — это не технотрёп, и не техномагия, доступная лишь избранным. Да, это сложные концепции, но вполне воспроизводимые, наблюдаемые и работающие на практике — чему существует куча доказательств. Вы можете найти и почитать код GitHub, скачать и изучить модели на HuggingFace. Вы не обязаны принимать любые мои слова на веру, и можете, при желании, сами разобраться и воспроизвести всё, что я рассказал. Скажем, создание простейшей нейросети, распознающей числа — лабораторная работа уровня первого-второго курса, а с помощью того же AI-ассистента вы получите нужный для неё код по простому запросу. Если, конечно, само существование AI-ассистентов не убеждает вас само по себе.

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