Философских и немного технических размышлений пост, в нём хочу поднять ряд вопросов связанных со страхами людей, предположениями на тему того как ChatGPT работает, возможными путями развития тренда нейросетей вообще и ChatGPT в частности, а также поделюсь мыслями о своём футурологическом видении будущего, куда нас, как мне кажется, этот тренд может привести.
Человеческие страхи
Прежде всего разберём проблему человеческих страхов связанных с нейросетями, по неведомой для меня причине люди боятся этой технологии, хотя на самом деле ничего особенного в ней нет. Сама концепция нейросетей появилась в середине 40х годов, в 60х удалось реализовать первые программные модели, типа перцептрона и прочих фундаментальных основ.
Далее началась эпоха, так называемой, научно-технической революции и тему нейросетей стали всё активнее прикручиваться ко всяким разным проектикам, например улучшение качества видео, автоматическая обрезка фона, распознавание речи, генерирование голоса из текста и так далее.
Казалось, что всё идёт свои обычным чередом, как внезапно, словно гром среди ясного неба, из каждого утюга посыпались новости про волшебную нейросеть, способную давать, пусть иногда и совершенно неправильные и идиотские, но при этом очень похожие на правду ответы.
Дальше больше, разработчики добавили кодогенератор, то есть теперь программисты больше не нужны (ну и что, что она генерирует говнокод на уровне джунов, это не важно), нейросеть обучили создавать шаблоны сайтов по описанию (ну и что, что их один фиг надо приводить в порядок в соответствии с ТЗ), а также верстать HTML код из дизайна (который получается просто нечитаемым ужасом во плоти, который ещё надо натягивать на движки сайтов), нейросеть сгенерировала изображение в стиле художника (на самом деле про такие эксперименты уже лет 20 как пишут, ничего нового), нейросеть то, нейросеть сё, ну и так далее и тому подобное.
Поэтому, у людей, не очень разбирающихся в теме, в голове возникают кадры из би-логии Терминатор, в котором (спойлер алёрт) искусственный интеллект сходит с ума и начинает бороться с человечеством, и мысли типа... нейросеть заберёт мою работу.
Это наверно ТОП 1 из всех опасений, казалось бы даже очень умных людей, которые мне доводилось слышать. Спешу развеять данный страх, на данный момент ни одна, даже самая продвинутая, нейросеть не способна полностью заменить труд высококвалифицированного специалиста.
Это безусловно рано или поздно случится, но с моей точки зрения, гораздо выше вероятность того, что те кто сейчас читают эти строки лет через 20-30-40-50 уйдут на пенсию, так и не застигнув этого дивного нового мира.
Но если вы, ну скажем, формошлёп, который является источником того кода, на базе которого проводилось обучение нейросети (из-за чего на результат её кодогенерации иной раз без слёз не взглянешь), то да, ваш труд она безусловно заменит. Сами подумайте, зачем платить низкоквалифицированному специалисту если можно не платить низкоквалифицированной нейросети?
Просто вы должны понимать, современному бизнесу нужно получить как можно больше прибыли, при как можно меньших издержках, ну и что, что результат при этом будет паршивый, посмотрите на современную игровую индустрию, что не игра то глючное и кривое поделие, но люди всё равно несут денежки, что не обновление Windows, то какой-то факап, но люди несут деньги, и так далее, думаю мысль понятна.
Поэтому, если вы уж так боитесь потерять работу, потому что на ваше место придёт нейросеть, то возможно имеет смысл вместо того чтобы бояться начать учиться, поднимать уровень своих знаний, ходить на конференции, создавать pet-проекты, оттачивать мастерство, читать книги (хотя бы художественную литературу) и конечно же учиться учиться (как говаривал классик).
И самое главное не противиться неизбежному, ведь информационные тренды в нашем мире создаются и управляются не простыми людьми, навроде нас с вами, тренды создаются корпорациями, которые в строгом соответствии с требованиями цензоров показывают вам лишь то, что вам видеть положено и направляют тренды туда куда корпорациям нужно, а им нужно меньше тратить и больше зарабатывать.
А между делом, пока тема актуальна и на вершине хайпа, имеет смысл написать свой маленький проектик и поднять на этом немного денег.
Посудите сами, ведь то на что вы раньше тратили, ну скажем час, теперь нейросеть может делать за несколько секунд, а это значит что за час вы сможете сделать в несколько раз больше и можно скучную рутину переложить на плечи искусственного идиота и потрать своё время на что-то более интересное, следовательно ваша производительность труда вырастет, а нагрузка на вас уменьшится. То есть с точки зрения работодателя вы станете более ценным сотрудником, вот что в этом плохого и как это может привести к потере работы?
Небольшая историческая параллель, давным-давно, на заре появления автомобилей в почёте был гужевой транспорт и дилижансы, ими управляли кучеры и когда машин стало появляться всё больше и больше кучеры начали говорить, что их профессию скоро заберут бездушные автомобили. В итоге получилось. что кучеры просто пересели на автомобили и в наши дни никто особо не вспоминает о тех временах.
К тому же, есть один очень важный момент, нейросеть не может ничего придумать, она словно амёба, может лишь реагировать на внешние раздражители, но при этом не является инициатором процесса. То есть пока вы её о чем-то не попросите, она так и будет висеть памяти видеокарты в трепетном ожидании вашего запроса. Иными словами, это просто инструмент, наподобии молотка или шуруповёрта, или IDE с подсветкой синтаксиса, или просто генератора картинок по описанию.
Лично я воспринимаю новый тренд, как появление ещё одного уровня абстракции в моей работе и, обычно, чем выше уровень тем быстрее и больше работы я могу выполнить, следовательно чуть больше заработаю.
Как работает ChatGPT?
Тут небольшая ремарочка, к проекту ChatGPT я не имею никакого отношения, в разработке данного проекта участия не принимаю и никогда не принимал, всё дальнейшее повествование основано на моём личном опыте взаимодействия и разработки подобных проектов, а также на информации которую я почерпнул из открытых источников.
И так, давайте начнем с того что расшифруем, что же такое ChatGPT? Первым идёт слово Chat то есть чат, то есть некая диалоговая система типа вопрос<>ответ, далее следует аббревиатура GPT, это сокращение от Generative Pre-trained Transformer, то есть генеративный предтренированный преобразователь.
И что же эта белиберда значит?
Если в двух словах GPT - это название модели нейросети, которую тренируют не некоем заранее премодерированном наборе данных (датасете), после выполнения процедуры тренировки нейросетевая модель способна отвечать на вопросы пользователя языком похожим на человеческий, то есть таким языком на которым мы, human beings, общаемся.
Если чуть попроще описывать процесс того, как происходит взаимодействие с нейросетью получится следующее: человек отправляет нейросети некоторую фразу, нейросеть разбирает эту фразу на нечто похожее на граф и пытается продолжить граф добавляя наиболее подходящие вершины (в нашем случае вершины это слова), основываясь на предположении о том как обычно подобные графы принято продолжать, с учётом весов, связей и так далее.
То есть нейросеть, используя данные полученные в процессе тренировки, просто пытается продолжить предложение, конечно же в ChatGPT этот процесс реализован словно разговор ведётся лично с вами, но так кажется только потому, что ответ нейросети не содержит текста изначального вопроса, обычно он идёт вначале строки и удаляется на этапе предподготовки ответа.
Далее, если пользователь запросил инструкцию, про скажем какую-то технологию и в инструкции содержится какой-нибудь исходный код некоей программы, запускается специальный парсер синтаксиса, делающих из данного исходного кода нечто похожее на красивый и отформатированный исходный код (про фактическое качество этого исходного кода тактично умолчим, но эстетически он будет выглядеть красиво).
Далее ответ разбивается на абзацы при помощи специального парсера, чтобы человекам нравилось то как текст красиво структурирован.
Помимо этого я уверен, что в нейросети ChatGPT, с целью её ускорения, датасеты не содержат знаков препинания и поэтому на этапе предподготовки запускается ещё одна нейросеть, которая приводит текст в опрятный вид, расставляет точки, дефисы, вопросы, восклицательные знаки и так далее.
Следующий момент связан с тем, что пользователям кажется будто нейросеть "помнит" о чём с ней говорили, тут тоже всё просто, у каждого чата есть кеш (история), каждый ваш запрос и каждый ответ нейросети добавляется в этот кеш, далее при продолжении диалога на вход нейросети передаётся не то о чём вы её только что спросили, а сразу весь массив предыдущих вопросов и ответов (полагаю у ChatGPT есть некоторые ограничения на размер этого кеша, может быть 100 сообщений, может быть 1000, но чем он больше тем сложнее его отработать, а это ресурсоёмко, сиречь не выгодно), отсюда и складывается впечатления будто ответы связаны между собой.
А адекватность ответа нейросети зависит только лишь от того как много исходных данных было задействовано в датасете на этапе обучения, а также от того насколько адекватна человеческая особь с ней общающаяся.
Короче, то что нам кажется будто ChatGPT "умная" - просто "ловкость рук и никакого мошенничества", понятное дело, что у меня нет точных данных о том как на самом деле работает этот проект, но по моим предположения, сопоставлениям и параллелям со схожими проектами она должна работать как-то так.
Как делают GPT нейросети?
Сначала было слово... упс, прошу прощения, задумался.
Так вот, сначала некая группа людей собирает сырые (raw) данные для обучения нейросети, под сырыми данными я имею ввиду книги, научные публикации, чаты в социальных сетях, обсуждения на форума, открытые исходные коды, расшифровки аудиороликов, тексты песен, новостные ленты, короче любой текст до которого эти люди смогут дотянуться, всё на разных языках разумеется.
Далее эти данные размечают и собирают в датасет, по ходу пьесы производится модерирование информации попадающей в датасет, важное/нужное/актуальное/точтосказано попадает, всё остальное отсеивается.
В менее цивилизованных странах помимо всякой чернухи из датасетов на этапе модерирования убирают/заменяют также и всякие обыденные слова и искажается смыслы в текстах, чтобы соответствовать темам навязанными повесткой и веяниями моды, и мне кажется что в идеале разработчики стремятся привести ответы нейросети к некоей бесполой, бесчувственной и безэмоциональной форме (пока что, к счастью, им это не удаётся, потому что обучение происходит на данных созданных людьми).
Далее высококлассные инженеры и программисты разрабатывают программное обеспечение, описывающее некую модель, в нашем случае это модель GPT, а также вспомогательный инструментарий для её обучения и запуска (а компания Nvidia "беззаветно" помогают им выполнять оптимизации под правильные графические процессоры).
Модель представляет из себя набор математических уравнений, принимающих на вход числа, выполнение которых приводит к некоторому численному результату.
Обучение нейросети происходит на правильных видеокартах, это могут быть как обычные карточки для установки в персональные компьютеры, так и специализированные серверные решения внешне скорее похожие на жесткий диск, чем на видеокарту.
В момент обучения в оперативную память видеокарты загружается небольшой кусочек данных из датасета, разбитый на две части: данные для обучения и данные для проверки результата.
На вход модели отправляют фразу из блока данных для обучения, на выходе сверяют ответ с тем, что ожидается в соответствующей фразе из данных для проверки результата, наиболее похожий результат сохраняется на диск и используется для дальнейшего обучения, и это повторяется тысячи и тысячи раз, на разных наборах входных и проверочных данных.
По прохождению некоторого количество эпох обучения получается промышленная модель, готовая к использованию.
Программисты запускают приложение, подгружающее обученную модель в память видеокарты, после чего с этим приложением становится возможным взаимодействовать обычным пользователям.
Дальше верстается простенький сайтик похожий на чат, верстается презентация с которой авторы мотаются по конференциям и просят ещё денег, прикручивается биллинг, параллельно вводят идиотские правила и запреты иииии..... вас покупает Microsoft, потому что чует запах денег и патентов, и начинает вваливать бабло в рекламу, после чего об этой нейросети узнаём и мы с вами.
Дежавю
Небольшой отскок в сторону, вся эта шумиха про нейросети лично у меня вызывает эдакий информационный перегруз, очень много публикаций на эту тему, очень много видеороликов, учёные умы с серьёзными лицами бубнят под нос на конференциях умные слова и прочий белый шум про нейросети. Словно все с ума посходили.
Но самое интересное, что началось это очень внезапно, словно стихия неожиданно обрушивавшаяся на не о чём не подозревающих людей, и в моём сознании стали всплывать воспоминания о похожих событиях, которые происходили ранее, которые также появлялись внезапно, словно чёртик из табакерки, и также внезапно затихали.
Пожалуй первая похожая аналогия которая приходит на ум это невероятная популярность языка Ruby, так это было странно, тридцать лет на него было не пофигу пожалуй только лишь его создателям и некоторым компаниям, а тут внезапно такая информационная шумиха.
Вспомните сами: Ruby это принципиально новое решение, изменит мир, программирование никогда не будет прежним и так далее и тому подобное. Прошло пять лет, Ruby занял своё место в мире и всё, им пользуются люди которым нужно быстенько собрать какой-то простенький прототип на коленке и некоторые компании, которые повелись на волну хайпа.
Второе, что приходит в голову это виртуальная реальность, способная изменить мир, принципиально новый взгляд, игры никогда не будут прежними... при этом вроде как это вторая волна хайпа вокруг виртуальной реальности, но, как тогда, так и сейчас, nobody cares.
И на сладкое: блокчейн, криптовалюты, NFT - моя любимая тема, долгие годы этот тренд мешал мне изучать нейросети, из-за майнеров лично я потерял наверно пять лет, потому что просто не мог за адекватные деньги раздобыть приличные видеокарты. Ведь они были нужны для того чтобы рисовать циферки выдуманных метавалют в которую некоторые люди верили, а некоторые верят до сих пор.
И вот теперь новая волна, наверно пятая или шестая (на моей памяти), очередная технология, которая изменит мир, программирование не будет прежним и прочая лапша которой нас пичкают те кто владеет информационными потоками и управляет трендами.
Если кто будет читать эту стать через, на вскидку, пять лет после публикации, задумайтесь, ведь нейросети стали обычным делом, мир не рухнул и не изменился до неузнаваемости, программирование не исчезло, дизайнеры всё так же создают прекрасные дизайны, переводчики переводят, верстальщики верстают, формошлёпы клепают лендинги, просто появился ещё один удобный инструмент, который чуточку упрощает нашу с вами жизнь, а в информационном пространстве очередной шум про очередную "прорывную" технологию, которая изменит мир, в очередной раз.
Будет ли это шум про нейроинтерфейсы или подкожные чипы, или хералий, или говорящий полимер, огромный человекоподобный робот от Ижевск Дайнамикс, или ещё какую-нибудь научно-фантастическую штуку мы с вами вскоре узнаем, ну а пока плывём на гребне волны нейросетей, мотаем на ус и получаем удовольствие :)
Ближайшее будущее
Быть футурологом - дело неблагодарное, потомки будут вспоминать ваши высказывания со смехом, да и вы сами, спустя десятилетия будет с ироничной улыбкой воспринимать свои собственные слова запечатлённые на бумаге.
Но всё таки я попытаюсь рискнуть и погадать о том куда нас могут в ближайшем будущем привести нейросети. а так же их широкое распространение.
Прежде всего заметна тенденция на снижение порога входа, как для разработчиков нейростей, так и для пользователей. Всё большее развитие получают специальные библиотеки на базе которых нейросети создаются, всё больше надстроек над этими библиотеками в виде фреймворков появляется, теперь даже неискушённый нейросетями программист (навроде меня) может сделать что-то индивидуальное.
В тоже время видно, как такие решения получают всё большее распространение среди пользователей, создаются чат-боты, создаются специальные сайты, мобильные приложения, создаются специальные расширения для сред разработки в которых через сервисную модель происходит взаимодействие с нейросетями, запущенными на серверах разработчиков.
Развитие этой тенденции, на мой скромный взгляд, приведёт к тому что в ближайшем будущем уже не будет понятно нейросеть с тобой общается или человек, нейросеть написала текст или человек.
Нейросеть или человек?
Со временем даже этот вопрос сойдёт на нет, потому что ответ почти всегда будет один: нейросеть. А если это не нейросеть это будет вызывать у людей крайнее удивление.
И чем дальше будет происходить такое упрощение и понижение порога входа, тем больше будет бестолковых специалистов не понимающих как так или иная технология работает, информационные технологии будут становиться всё более абстрактным и доступными.
На смену нынешним профессиям появятся профессии специализирующиеся на нейросетях, среди всех гипотез которые попадались мне на глаза больше всего понравится нравится термин Prompt Engeneer - то есть человек знающий, как правильно сформулировать запрос на вход нейросети.
С большой вероятностью в будущем нас ожидает шквал курсов "осваиваем нейросети за 24 часа", нейросетевые психологи изучающие почему та или иная нейросеть приняла то или иное решение, ну и конечно же будет множество мошенников старающихся на теме нейросетей заработать, например коучи обучающие как эффективно придумывать запросы или мимики, которые будут делать вид будто они нейросеть, с целью получить некую полезную информацию от пользователя уверенного в том, что общается с искусственным идиотом.
А также тысячи и тысячи видеороликов про то, как заработать мульоны (да чего уж миллионы, сразу миллиарды) денег при помощи нейросетей за один день не делая при этом ничего.
По моим наблюдениям стремление сделать так, чтобы ничего не делать - является одним из самых любопытных факторов двигающих прогресс, при помощи автоматизации люди надеются делать меньше работы, но по факту оказывается, что с каждой новой технологической итерацией делать надо всё больше и больше и для совершения операций с которой раньше справлялся один человек нужно уже два человека.
Поэтому мне кажется, что за призрачной лёгкостью, как нам сегодня видится, кроется ещё больший слой бесконечной рутины, посудите сами, если раньше дизайнер мог просто изобразить то, что от него требовалось в задании, то в будущем ему будет нужно перебрать и отсмотреть сотни или даже тысячи эскизов созданных нейросетью с целью выбрать то что наиболее точно подходит под описание.
Иными словами очередной уровень абстракции породит потребность в дополнительном микроконтроле и то с чем раньше справился бы один дизайнер теперь нужно будет делать двум и более дизайнерам.
Завершение
Надеюсь эта маленькая статья помогла вам успокоиться и начать мыслить рационально, перемены всегда к лучшему, ну а чтобы не оказаться на обочине технологий поднимайте цену своих знаний, учитесь и читайте книги.
Ну и если вам понравилась статья подписывайтесь на мой канал в Телеграм, там вас ожидают публикации на разнообразные темы.
Спасибо за прочтение и до встречи в следующей статье!