Раскрываем Секреты ChatGPT: Почему Нейросеть Иногда Врет?

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

“Я так и знала! Ничего ты не смыслишь! А еще говорят, что ИИ заменит нас скоро! Что за бред!!!”

Комментарии читателей о взаимодействии с  ChatGPT
Комментарии читателей о взаимодействии с  ChatGPT

Подобные комментарии я получала не раз от читателей.

Но все ли так, как кажется в первом приближении?

Давайте разбираться!

Для начала стоит понять, хотя бы примерно, как устроена языковая модель ChatGPT. С этого, пожалуй, и начнем.

Откуда пошли нейросети?

Глобально мы должны быть благодарны за появление нейросетей… шпионам и геймерам.

Шли 50-е годы. Холодная война. Россия и Америка в жесткой схватке - кто кого перешпионит. Обе стороны говорят на разных языках, и военные тех лет серьезно вкладывались в машины, которые могли бы переводить тексты. Даешь на вход русский текст, на выходе получаешь английский. Задачу пробовали решить на нейросетях, созданных, казалось бы! на ламповых компьютерах, которые тогда были размером с баскетбольный зал! На решение задачи было вбухано очень много денег!

Компьютеры 50-60 годов прошлого века
Компьютеры 50-60 годов прошлого века

На финальный “экзамен” нейросети пришли военные и задали машине на перевод такой текст: “Дух силён, но плоть слаба”. Нейросеть ориентировалась на заданный массив слов, и в нем она нашла слово ДУХ, что на английском Spirit. Спирит - это алкоголь, а где спирт, там и водка. И вот так методом цепочечных переводов на русский, обратно на английский и снова на русский, и в итоге у нее получился такой перевод: “Водка хороша, но мясо протухло”.

Ясное дело, такой расклад военным не понравился, они сделали разворот на каблуках и пошли восвояси, заодно забрав с собой свои деньги на разработку.

Наступила зима машинного обучения на почти 60 лет.

На самом деле где-то подпольно некоторые энтузиасты ученые все-таки продолжали изучение нейросетей.

И благодаря их трудам появились так называемые рекуррентные сети RNN.

Рекуррентные сети RNN.

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

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

Надо отдать должное тем энтузиастам, которые не смотря на то, что разработки больше не финансировались, продолжали заниматься нейросетями из большой любви к делу.

Они придумали так называемые “учебники для нейросетей” - метод обратного распространения ошибки, или как его называют в узких кругах — Back Propagation,

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

Давайте представим, что у нас есть нейросеть, которая учится распознавать кошек на фотографиях. В начале обучения она, как новичок в мире животных, может спутать кошку с собакой или даже с хомяком. Вот тут-то и вступает в игру наш герой — обратное распространение ошибки.

Этот метод работает как строгий, но справедливый учитель, который указывает на ошибки и подсказывает, как их исправить. Когда нейросеть делает ошибку (например, принимает собаку за кошку), back propagation анализирует, как именно произошла эта ошибка, и передает эту информацию обратно по слоям нейросети. Это как если бы учитель не просто сказал: "Ты ошибся", а объяснил: "Вот здесь уши слишком длинные, а хвост не такой пушистый, как у кошек".

Каждый слой нейросети вносит свой вклад в конечное решение, и обратное распространение ошибки помогает каждому слою понять, как именно он может улучшить свою работу. Это как командная работа, где каждый игрок анализирует свои действия и учится на своих ошибках для лучшей игры в будущем.

Надеюсь, на примере кошечек-собачек-хомячков удалось примерно объяснить, как работает алгоритм.

На дальнейшем пути развития появилась новая проблема - нехватка данных для обучения нейросети.

А дальше на помощь всем ученым проходит на подмогу чудо - ИНТЕРНЕТ! Всемирная паутина (опять спасибо военным)!!! Люди бросились туда выкладывать все подряд! Предполагалось, что с помощью сети люди ученые будут обмениваться научными документами, но в сеть полилось буквально всё!

Данных стало просто невероятно огромное количество! Вот уже где раздолье для обучения нейросетей!

Геймеры помогли нейросетям развиться

А теперь рассмотрим еще один аспект, давший рывок развитию нейросетей. Это действия геймеров! На дворе девяностые года. Геймеры в основном рубятся в бродилки-стрелялки. В чем тут суть. Что такое игры такого типа? это рука с оружием, которую мы видим на экране, рука перемещается управлением игрока. И с каждым поворотом компьютеру приходиться запускать невероятно сложные вычислительные процессы, чтобы обсчитать, как будет выглядеть тот или иной объект под другим углом! Мозги вычислительной машины буквально закипают: “Черт! Что тебе от меня надо!? Иди убивай монстров!” Рука поворачивается на монстра, тут еще хлеще - как он будет выглядеть с этого угла, а с этого! И это реально сверхсложные вычислительные задачи! Эти задачи линейной алгебры, которой являются наши игры, решаются с помощью целых матриц данных. И для компьютера это реально очень сложная задача - 3D проектирование и видео игры. И вот для этих супер-сложных задач появились легендарные видео карты. Тогда они назывались 3D ускорители - штуки, которые подключались к процессору компьютера, чтобы решать множество вычислений линейной алгебры в секунду.

3D ускорители в изображении DELL-İ
3D ускорители в изображении DELL-İ

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

Вот так гейминг стал катализатором развития нейросетей!

Какие были следующие шаги?

Тут на сцену выходит модуль

LSTM (Long Short-Term Memory)

LSTM – это как рекуррентная сеть, но с блокнотом, где она записывает важные моменты и перечитывает их, чтобы не забыть. Эти сети умеют отличать важную информацию от неважной и долго хранить её в памяти. И хранятся эти данные не в виде символов, а в виде векторов.

Что такое вектор?

Очень простым одним словом - это направление. То есть представьте, что все слова можно хранить в виде направлений, векторов. “Сильный” - это вектор, направленный в одну сторону, “слабый” - вектор в другую сторону. “Черный” - вектор с направлением в третью сторону, “розовый” - в другую. и так к каждое слово. Ну, и таким образом мы понимаем, что, скажем, “иссине-черный” находится примерно рядом с черным. И так далее. И все слова в языке - это некоторое симантическое пространство.

Семантическое пространство

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

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

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

Семантическое пространство помогает не только в распознавании слов, но и в переводах, автоматическом создании текстов и даже в понимании сложных языковых структур, таких как ирония и метафоры. Это как волшебная палочка для компьютеров, которая помогает им понять, что мы, люди, иногда говорим не то, что думаем, и думаем не то, что говорим!

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

Вот такая математика! И как в математике, с этими векторами можно проводить математические операции. Например, есть вектор Моряк, и есть вектор Мужчина. Если из вектора Моряк, вычесть вектор Мужчина, получится вектор Морячка.

То есть нейросеть может с помощью таких математических вычислений составлять связи между различными векторами. Только подумайте и представьте все это многомерное математическое чудо!

Трансформеры

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

Речь не об этих трансформерах)

Что делает Энкодер? Он вытаскивает из введенных данных все смыслы, какие только может вычленить.

“Жил был старик со старухой.” Энкодер расшифровывает и переводит в векторальную форму: “Так, главное герои - старик и старуха. Это похоже на сказку Пушкина, речь будет о разбитом корыте и золотой рыбке”.

Давайте на примере: мы написали промт пересказать сказку Пушкина про золотую рыбку в стиле, скажем, песни “Лесник” группы “Король и шут”.

Как происходит это? Сперва энкодер вытаскивает все смыслы из оригинальной сказки, а затем декодер пропускает полученные векторы через векторы песни “Лесник”, сравнивая их по смыслу. На выходе получаем интересное творение:

На берегу моря, ветхой избушке,

Жил старик со старухой вдвоём.

Сети кидал он в рассветной зарюшке,

А однажды поймал золотую рыбоньку в том.

"Отпусти меня, старец, на волю,

Исполню я три твои мечты."

Старик отпустил без вопросов и боли,

Рыбка скрылась в воде, как тени в ночи.

Старуха в ярости, кричит, не умолкает:

"Как мог ты такое сделать, глупец?!

Требуй хоть что-то, ведь рыбка дарует,

Не будь же ты, старик, таким простец!"

Старик к морю шёл, рыбку звал тоскливо,

Золотая в волнах блеснула, как мечта.

"Жена хочет дом новый, красиво

Возведённый, не ветхая хижина, где жила."

Рыбка махнула хвостом, в море погрузилась,

Вернулся домой – и дом новый видит старец.

Но старуха опять ворчит, словно злилась,

"Пусть я буду боярыней, чтоб властвовать во дворце!"

Старик опять к морю, к рыбке золотой,

Она исполнила веленье, стала жена боярыней.

Но счастья не нашла в этом старуха старой,

"Хочу я быть царицей!" – велит она снова ему.

Старик, усталый, к морю опять,

Рыбка золотая все желанья исполняла.

Но старуха власть хочет испытать,

"Пусть я буду морями владычествовать!"

Старик к морю, но рыбка молчит,

Только волны шумят у его ног.

Возвращается домой – и всё как прежде лежит,

В той же ветхой избушке, где начался их срок.

Так закончилась история, полная чудес,

О золотой рыбке и жадности без края.

Урок простой – в желаниях мудрость теряется,

А счастье – в простоте и любви, что рядом всегда.

Это действительно довольно забавно!

Итак! По сути языковые модели, особенно текстовые, работают примерно по такому принципу, оперируя гигантским множеством векторов из много-много мерного векторного пространства в много-много измерениях.

Но это еще не все для понимания работы языковых моделей.

И далее речь пойдет о ценностях. Как нейросеть расставляет в тексте акценты? Как понимает, что важно, а что второстепенно? Если очень просто - нейросеть задает к тексту вопросы. тут работает алгоритм "Query Key Value" (QKV). Объясняю, что это.

Алгоритм "Query Key Value" (QKV)

Давайте представим, что нейросеть — это как детектив, который расследует каждое слово в тексте, чтобы понять, где главные улики, а где просто фоновая информация. Этот детектив использует наш алгоритм, чтобы расставить акценты в тексте.

Представьте, что каждое слово или фраза в тексте — это своего рода загадка. Нейросеть задаёт вопросы (Query), чтобы понять, какая информация важна. Эти вопросы не звучат как обычные "Кто? Где? Когда?", они скорее математические, направленные на понимание связей между словами. то есть, например, в предложении “Маша варит кашу” нейросеть спрашивает сперва “Кто?” Каша? Варит? собирая шаг за шагом информацию она приходит к выводу, что речь идет о Маше.

"Ключи" (Key) — это как отголоски или эхо этих вопросов, они помогают нейросети определить, какие части текста соответствуют заданным вопросам. Это как если бы наш детектив-нейросеть искала бы специфические подсказки, которые помогают ей понять контекст.

А "значения" (Value) — это ответы на вопросы, которые нейросеть извлекает из текста. Это информация, которую нейросеть считает важной и релевантной, основываясь на заданных вопросах и найденных ключах.

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

Данные для обучения нейросетей

И так обучаются наши нейронки. Для этого ей нужны две составляющие: гигантские вычислительные мощности. Говорят, Open Aİ потратила на это миллионы долларов, а также гигантское количество данных. Откуда их брать? ОТОВСЮДУ! в прямом смысле слова. Робот шуршит по Интернету и как пылесос собирает данные везде, где только можно: “Это текст? ок, берем! И это текст? давайте его сюда!” И в ход идёт буквально всё! Вся Википедия, все библиотеки мира, все сайты мира, даже все тексты на картинках - сперва на картинке распознается текст, и потом его тоже засасывает этим пылесосом! Давайте скажем спасибо, что хотя бы социальные сети не трогают. А то представьте, как работали бы наши нейронки: “Нейросеть, напиши мне диету при избыточном весе, если я вегетарианец” И сеть такая: “Иди ты подальше со своей диетой! Жр@ть надо меньше! А то трясешь тут брюхом своим!”

Нейросеть становится каким-то наимощнейшим интеллектом, обладая доступом к такому массиву данных.

И тут на сцену выходят белковые существа. Да-да, не обошлось без них. Сидит целая армия людей, задача которых ранжировать ответы нейросетей. То есть нейросеть выдает, скажем, пять разных ответов, а человек должен ранжировать их от самого точного и корректного до какой-то бессвязной белиберды. Да, процесс этот не быстрый и, конечно, достаточно дорогостоящий (как все, что делает человек, которому надо платить зарплату).

То есть без людей таки не обошлось. Но что за эти люди, которые обучают нейросети? Сколько их? Что мы о них знаем? Практически ничего до тех пор, пока им не стали мало платить и сенаторы США не озаботились вопросом об условиях их труда, и, главное, о качестве их работы - ведь от их ранжирования напрямую зависит, чему и как обучаются наши нейросети, какое наследство получат нейросети от нас. Просочатся ли в могущественные нейросети какие-то стереотипные вещи и предубеждения, свойственные нам, людям.

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

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

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

Выводы.

Итак, как мы уже увидели из внутрянки работы нейросети - ChatGPT - это языковая модель для ГЕНЕРАЦИИ текста. уточним это: языковая модель не для ответов на вопросы, а для создания красивого внятного текста, похожего на правду. То есть она может переписать сказку в стиле “Короля и шута”, рассказать о теории вероятности, как будто вам 5 лет.

Вот мы же восторгаемся, когда видим говорящего попугая? Когда он умеет отвечать на много разных вопросов - вообще ВАУ! А ChatGPT - это как будто попугай, обученный примерно всему! Но при этом все же попугай.

Человек умеет доставать из памяти разную информацию, сопоставлять ее, делать выводы, на основе нее выдвигать новые идеи.

Нейросеть же не думает. Нейросеть создает внятный, правдоподобно звучащий текст. И это ее главная проблема. То есть если мы засунем в нейросеть 10 законов физики, одиннадцатый она не создаст. Она может перемешать эти десять законов и создать правдоподобно звучащий одиннадцатый закон, похожий на закон, но который невозможно вывести.

Не стоит принимать на веру фразу “Нейросеть мне ответила”. Она не может ответить, она не понимает ни одну из букв и ни одно из слов, которые она пишет. Она может собрать данные, видит зависимости, знает, как строятся предложения и просто говорит что-то, похожее на текст.

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

Итак, теперь, когда мы по шурупчикам разобрали генерацию текста нейросетями, я думаю стало значительно понятнее, почему нейросеть порой фантазирует или местами нагло врет.

Однако это не повод психануть, хлопнуть дверью и уйти “Ну, на фиг ваши тупые нейронные сети! И вы еще пугаете, что они меня на работе заменят! Да никогда”

Когда-когда! Скорость развития нейросетей такая, что сингулярность, ранее казавшаяся неким фантастическим явлением, сегодня видится как неизбежно надвигающееся ближайшее будущее.

Мой опыт использования ChatGPT

Использую ли я нейросети? И в хвост и в гриву, как говорится! ChatGPT помогает мне создавать контент, включая сценарий данного видео, вести соц.сети, отвечает на многие бытовые вопросы и задачи, является моим переводчиком, консультантом, иногда коучем, нутрициологом. Помогает мне вспомнить алгебру и тригонометрию, когда мой сын лицеист приход ко мне с просьбой помочь разобраться в какой-то задачи из домашнего задания. Помогает мне создавать маркетинговые и рекламные стратегии, проводить анализы в различных бизнес запросах.

У меня стоит на телефоне приложение ChatGPT, и будучи за рулем я часто голосом общаюсь с чатом, задавая ему нужные вопросы и формируя из его ответов новые запросы.

Зная, как работает ChatGPT я проверяю фактическую информацию и корректирую тексты, которые он мне выдает, чтобы они были пропитаны моим настроением и моим интеллектом.

Рекомендую и вам научиться пользоваться нейросетями, они реально облегчают множество наших человеческих задач. У моей академии Business Connect есть небольшой курс для быстрого освоения основных инструментов.

Если вам понравилась статья, подписывайтесь, и пишите в комментариях, какие у вас еще есть вопросы о нейросетях, маркетинге, бизнесе, продажах! будем вместе разбираться!

1 комментарий

Никогда бы не подумал, что нейросети могут привирать и делать ошибки, как ученики

Ответить