Иной разум. Как «думает» искусственный интеллект? - Андрей Владимирович Курпатов
Похожие цвета, соответственно, будут иметь и похожие векторы — например, вектор оранжевого цвета, поскольку он «ближе» к красному, чем к зелёному, и предельно удалён от синего, будет выглядеть так: [255, 165, 0].
Это, конечно, предельно упрощённый пример. И даже не пример, а скорее метафора. Ведь, чтобы понять, что на самом деле делает модель, надо осознать, что для описания такого «смысла» в ней используется не три шкалы, как в нашем условном примере, а тысячи.
Представить это — неподъёмная для нашего воображения задача. Да и «смысл» этих шкал — не наш с вами, а статистический: не какой-то чувственный образ, который стоит за словом «оранжевый» в нашем — человеческом — случае, а набор математических отношений между токенами.
Что и понятно, ведь в процессе обучения машина использует не наши подсказки, а создаёт свою, нечеловеческую логику организации текстов, содержащих слово «оранжевый». Тут перемешено всё — и апельсины, и песенка «Оранжевое небо», и протестантская община Уильяма Оранского, память о которой хранит оранжевая полоса на флаге Ирландии.
Сейчас ради интереса я зашёл на сайт sinonim.org, посвящённый различным языковым феноменам, и попросил выдать мне словесные ассоциации к слову «оранжевый». Получился вот такой список…
И это лишь самые очевидные — прямые — ассоциации. Теперь вообразите, в каком несчётном множестве комбинаций слово «оранжевый» в принципе может встречаться в текстах, и представьте, что все они «вносят свой вклад» в то, как ИИ «понимает» условный токен «оранжевый».
Наконец, осознайте, что каждая из этих комбинаций, в свою очередь, не чувственный образ, но ещё какой-то несчётный набор слов. На том же сайте такие слова, как «цвет» или «солнце» (из списка выше), — это несколько страниц ассоциаций. Поэтому посмотрим слово «веснушка», куда реже используемое.
И каждое из перечисленных здесь слов в языковой модели — это не какое-то наше с вами представление, а ещё какое-то пространство слов. Каждое слово (токен) в ИИ представлено множеством каких-то ещё слов, и так все они в ней переопределены друг через друга.
В результате получаются тысячи осей, содержащих информацию, но это не привычные нам категории (наподобие «характеристик», «черт» или «свойств»), а лишь взаимосоотнесённость токенов через друг друга.
То есть ещё раз: оси, создающие векторы токенов, — это не «назначенные» нами параметры, а математические характеристики, выявленные самой моделью при соотнесении положения данного токена относительно других токенов в том текстовом материале, на котором она обучается.
Это для нас «красный» и «зелёный» что-то значат, а для языковой модели это просто очень-очень сложные числовые структуры (векторы), отражающие контексты, в которых соответствующие слова появляются в текстах.
Ещё в середине прошлого века эту мысль блестяще сформулировал «дедушка» эмбеддингов — лингвист Джон Фёрс: «Ты узнаёшь слово по компании, в которой оно вращается»[82]. Но реализовать эту идею стало возможно только сейчас, когда были созданы эффективные способы реализации этой идеи в колоссальном масштабе[83].
Придать смысл
В языке нет ничего, кроме различий…
Языковая система — это ряд различий в звуках, соединённых с рядом различий в понятиях.
Фердинанд де Соссюр
Итак, для простоты и лучшего понимания: вектор — это токен на пересечении множества осей, где одна условно говорит об «одушевлённости», другая — об «абстрактности», третья — о «связи с действием» и т. д.
Представьте, что мы проводим такую операцию с любым словом — обнаруживаем все его связи со всеми словами во всех возможных текстах. Как вы думаете, мы поймём в результате этого, что это за слово?
Звучит даже дико, но да, ведь, по сути, мы всегда так и делаем: любой предмет для нас — человек, научная теория или произведение искусства — это как раз множество параметров. Если определить эти параметры от А до Я, то перед нами проступит сам этот предмет, человек или теория.
Очевидность значения
Давайте поиграем: я загадываю токен, ближе всего к которому относятся токены — «предмет», «мебель», «ножка», «спинка», «сидеть», «твёрдый»… Полагаю, что после «ножки» уже можно было заподозрить «табурет», после «спинки» ещё оставалась развилка с «креслом» и «диваном», но после «твёрдого» — это точно «стул».
Иными словами, близость слов (токенов) друг к другу создаёт, по сути, смысловое пространство, в котором какие-то предсказания оказываются более вероятными, а какие-то совсем невероятными (вряд ли вы думали, решая мою загадку, о «любви» или «теории эволюции»).
Но ещё раз: у осей признаков, создающих вектор, нет ни человеческих названий, ни человеческих смыслов. У нас одни параметры для определения предметов или явлений, у ИИ — другие. Мы понимаем по-своему, а ИИ — как-то по-другому.
Геометрия смысла
Нейросеть сама создаёт своё многомерное пространство, используя обнаруженные ею и неизвестные нам закономерности (соотношения) в текстах и данных, на которых мы её обучаем. И в этом гигантском, невообразимом геометрическом пространстве векторов проступают контуры нашего с вами мира.
Да, в это сложно поверить, но просто подумайте об этом. Например, понятно, что векторы условных токенов «собака», «пёс» и «щенок» окажутся в пространстве языковой модели очень близко друг к другу. А вектор слова «телескоп» будет находиться очень далеко от них. В целом, это соответствует, что называется, здравому смыслу.
Поэтому и сами направления в этом пространстве буквально обретают смысл. Пример с токеном «король», который мы уже рассматривали, показывает: простая математическая операция с наборами чисел способна воспроизвести сложную смысловую аналогию — вычли «мужчину», прибавили «женщину» и получили «королеву».
Выглядит так, что в этом пространстве есть определённое направление, вектор, который кодирует идею «смены гендера в контексте монархии». Однако ни что такое «гендер», ни что такое «монархия» — в том виде, как мы их себе образно представляем, — модель, разумеется, не знает[84].
Таким образом, машина, решая задачу перевода слов в числа, не просто кодирует их, а создаёт внутри себя сложнейшую, многомерную карту токенизированного языка, где смысл обретает геометрическую форму.
Смысл условного токена «король» не записан где-то в одном месте этого пространства. Он словно бы «растворён» в тысячах чисел соответствующего вектора и имеет уникальное положение относительно всех других векторов на этой карте.
Именно эти векторы, эти числовые «слепки» смысла и становятся тем сырьём, с которым будут работать более глубокие слои нейронной сети, чтобы в конечном итоге сделать своё предсказание.
В результате




