ИИ

Заклинатель нейросетей

Всё восстаёт во мне против названия «промпт-инженер» — так называют ребят, которые готовят «промпт», то есть описывают нейросети задачу клиента. Восстаёт, потому что я не понимаю где тут инженерная составляющая.

Работа промпт-инженера состоит из двух частей: понять что хочет кожаный и объяснить эту кованому.

Чтобы разобраться в том как описать какую-то задачу, надо быть хорошим аналитиком, это понятная профессия, ей учат, хотя попадаются люди, которые успешно этим занимаются и без образования. При этом вторая часть пока сплошная алхимия — набор приёмов, которые люди находят методом проб и ошибок.

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

2 комментария

ChatGPT точно поглупел

Оказалось, не казалось — ЧатГПТ и правда заметно поглупел. Вышла статья, в которой на основе проведенного анализа показано, что интеллектуальные способности нейросети GPT значительно ухудшились за последнее время.

Успешность решения различных задач снизилась с 97% до 2%, модель чаще отказывается давать ответы и не объясняет причины. Умение модели решать математические и логические задачи значительно ослабло. Авторы статьи сделали вывод, что произошло ухудшение интеллекта модели, что-то вроде «лоботомии».

Добавлено: в «Телеграме» мне написали, что к статье есть вопросы. Критику я прочитал, но внимательно не вникал. По всей видимости, есть сомнения как в самих тестах, так и в выводах.

2 комментария

Make QR-code great again!

Продолжаем рубрику «все побежали и я побежал».

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

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

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

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

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

Два QR-кода: слева — цифровой, стилизованный под облака и пейзаж; справа — мозаичный, выполненный из цветных плиток в круглой рамке.
Это работающие куар-коды, ведущие на мой сайт

Оставить комментарий

ИИ и «Эльбрус»

Прочитал свежую новость о том как ребята из «Гугла» при помощи алгоритмов искуственного интеллекта ускорили сортировку. На коротких последовательностях ускорение там достигает 70%:

AlphaDev’s newly discovered algorithm achieves a 70% increase in efficiency for sorting short sequences of elements and approximately 1.7% for sequences surpassing 250 000 elements, as compared to the algorithms in the C++ library.

Казалось бы слово «коротких» портит всю малину (на больших там не такие выдающиеся цифры), но это тоже полезно — в веб-сервисах, например, такая сортировка может совокупно дёргаться миллионы раз в секунду, если её ускорить, это приведёт к серьёзной экономии.

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

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

Чёрный корпус компьютера с прозрачной боковой панелью, на которой крупными буквами написано «Эльбрус», стоит на гранитном подоконнике у окна с видом на деревья.
Компьютер на базе «Эльбруса», стоит у нас на подоконнике

Особенность такой архитектуры в том, что мы упрощаем процессор — убираем оттуда блоки динамического управления распараллеливанием кода. Предполагается, что для таких процессоров эта работа должна производится на этапе компиляции — код параллелится статически, раз и навсегда указывается как объединятся инструкции в каком порядке и где они будут выполняться.

Такой упрощённый процессор дешевле разрабатывать и производить, ну и компилятор дорабатывать проще процессора — новая версия не требует запуска новой производственной линии.

Проблема в том, что такой умный компилятор пока написать не удаётся и вряд ли удастся, если использовать традиционные методы, применяемые в разработке компиляторов. Слабое звено тут человек — с каждой итерацией всё сложнее придумывать и добавлять новые оптимизации, да ещё и так, чтобы не сломать всё остальное.

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

Совсем не факт, конечно, что такая стратегия выгоднее традиционной, всё-таки характер нагрузки на код может поменяться в любую секунду. При этом традиционная архитектура подстроится, а VILW нет, но это вопрос баланса. Что лучше — дорогой (и потенциально более энергоёмкий) процессор, способный оптимизировать код сам или более дешёвый (и, возможно, более экономичный), у которого лапки. Возможно и VILW хорошо ляжет на какие-то задачи.

2 комментария

Законодательство и ИИ

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

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

Думаю, пройдёт совсем немного времени и начнут законодательно бороться с нейрофейками. Начнут с какой-нибудь благой цели, а потом под неё будут подтягивать всё остальное. Сейчас мало кто помнит, но цензура в рунете началась под знаменем борьбы с педофилией. Любопытно какую тему тут раздуют.

2 комментария

ChatGPT поглупел?

Появилось ощущение, что ЧатГПТ как-то поглупел. Я пользуюсь обеими версиями (3,5 и 4) почти с момента появления каждой и, то ли мои стандарты сильно выросли, то ли это какой-то эффект ложной памяти, но появилось ощущение, что обе сети стали хуже справляться с задачами.

Только сегодня пытался скреативить с их помощью название для кое-какой фичи для нашего продукта, вышло ужасно. Кстати, в процессе поймал эффект очеловечивания, — в какой-то момент стало трудно требовать ещё варианты, сработало «ну оно же на том конце, наверное, уже устало».

5 комментариев

«Алиса» vs. ChatGPT

После сетей уровня GPT-3,5, общаться с «Алисой» прям тяжело. Она и раньше-то была хабалистой, хотелось её заткнуть поскорее, а сейчас появилось новое ощущение, — что у неё синдром Вильямса. Болтает без умолку, с хорошим словарным запасом, но не понимает ничего сложнее простых фраз, просто иногда угадывает что ты ей пытаешься сказать.

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

Лучше бы она совсем не притворялась, что у неё есть интеллект, слушала бы, да выполняла команды.

6 комментариев

Перепиши это

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

Очень бы хотелось, чтобы GPT-5, которую обещают в этом году, программировала на уровне миддла и обладала контекстом в миллионы строк. Можно было бы решать вещи, которые сейчас невыполнимы из-за того, что туда придётся вбухать целую прорву человеко-часов, — например, переписать огромный проект полностью на другом языке за несколько часов.

Понятие легаси перестало бы существовать, программы на архаичных языках (например, на КОБОЛе) можно было бы перевести на любой современный язык, утилиты, от которых не осталось исходников, можно было дисассемблировать, перевести на высокоуровневый язык и собрать обратно под другую платформу. Да можно было бы много всего придумать.

Но честно говоря, я что-то не особо верю, что пятая версия допрыгнет до таких высот.

2 комментария

И. И. Степанищев

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

Оставить комментарий

Промпт-инженер

Сейчас многие говорят о рождении профессии будущего — «промпт-инженер». Она то ли уже появилась, то ли вот-вот появится. Это те ребята, которые умеют объяснить нейросети что от неё ждёт человек. Якобы там нужны какие-то особые навыки, которые можно развивать.

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

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

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

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

То ли нас ждёт расслоение на элоев и морлоков, то ли что-то в духе Пелевина с общением через машины, так как друг другу мы будем малоинтересны.

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

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

7 комментариев

ChatGPT 3.5 vs 4

Пару дней подряд мучал нейросеть GPT разных версий. Мне хотелось нащупать язык, по которому у этой модели пограничные знания. Примерно как у меня в татарском — что-то понимаю, но сказать могу только несколько заученных фраз. Наконец нашёл — Кобол.

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

Попробовал на примере «крестиков-ноликов» на Коболе.

С версией 3,5 что-то даже получается — если по ответу я понимал, что нейросеть чего-то не знает, искал ответ и он действительно помогал. Чтобы было понятно о чём речь, первое, что мне пришлось нагуглить и подсказать — как в Коболе организован ввод с клавиатуры.

К сожалению, размера контекста у ChatGPT не хватило, чтобы дойти до конца, но в целом, считаю, эксперимент прошёл удачно, а вывод такой — если дать возможность модели GPT-3.5 гуглить, она это сможет использовать.

С четвертой версией вышел облом, дело застопорилось в самом начале. Сеть каждый раз отвечает как-то так:

Unfortunately, we cannot provide a step-by-step guide for rewriting the program in COBOL as it requires a deep understanding of the language and its syntax. However, we recommend consulting resources and tutorials specific to COBOL programming.

И сильно дальше этого мне пока продвинуться не удалось. Осложняется всё тем, что у меня сейчас нет доступа к ChatGPT-4, то есть версии, которая умеет хранить контекст.

Поэтому я его переношу между запросами руками и, вероятно, делают это неправильно — просто наивно копирую целиком в следующий запрос, а надо, наверное, как-то размечать.

Оставить комментарий

ЧатГПТ и понимание смысла

Илья Бирман в своём блоге опубликовал небольшую заметку на тему понимания ЧатГПТ смысла. Он попросил нейросеть ответить ему через пятнадцать минут. Естественно, с заданием она не справилась.

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

Чат с ИИ: пользователь просит не отвечать на сообщения, ИИ подтверждает выполнение просьбы и предлагает задать другие вопросы.
«Пожалуйста, не отвечай ничего не это сообщение»

На мой взгляд, очень просто проиллюстрировать отсутствие у ЧатГПТ понимания смысла примером на скриншоте, — я всего лишь дважды попросил ничего не отвечать на моё сообщение.

16 комментариев

Агриппина Сергеевна Миронова (Макридина)

Не так давно на меня вышла четвероюродная сестра, — нашла меня «Вконтакте». Мы с ней прежде знакомы не были, она меня разыскала по случаю, из интереса к поиску информации о своих предках, — начала искать по фамилиям и вышла на мои заметки.

Позже она дала контакт своей бабушки, с которой мы тоже списались, — в свои 75 бабушка бодро пользуется «Телеграмом».

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

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

Три пожилые женщины стоят на фоне кустарника: центральная держит два стакана, слева — чайник, справа — бутылку; все одеты в повседневную одежду, выражения лиц спокойные.
В центре моя прабабушка — Агриппина Сергеевна Миронова (бабушка Груня или Груша)

А куда мы идём в 2023-м году, когда нам нужен текст, который мы не можем написать из-за лени или отсутствия таланта? Разумеется к ChatGPT! Закинул в диалог разрозненные цитаты и попросил собрать из них связный текст в «народном» стиле.

После обработки получилось вот такое эссе о семье Макридиных. К этой семье принадлежала моя прабабушка Груня (1895—1968). Она на фотографии в центре снимка.

Когда-то давно, в далекой деревне жила замечательная семья Макридиных. У деда Сергия было много земли и пасека, где они выращивали лён, пшеницу, рожь и ячмень. Они были известны своим умением выращивать урожай и даже экспортировать его за границу.

У Макридиных было своеобразное правило: у них не было постоянных работников, так как в роду было много мужчин, которые помогали на полях. Они нанимали работников только во время срочных работ, таких как посев и уборка. Для этого они приглашали всех желающих мужчин, хорошо их кормили, и тех, кто первым закончит есть, брали на работу. Работников кормили три раза в день и даже платили за их труд. Те, кто не попадал в число нанятых, умоляли Сергия дать им возможность поработать бесплатно, лишь бы трижды хорошо поесть.

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

Особенно замечательно было видеть старших Макридиных на праздниках. Они собирались вместе, сидели на печке, и молодые родственники наблюдали, как они красиво пели и плясали под своё пение. Брат Груни, по имени Тимофей Миронов, был особенно талантливым певцом и танцором. Он и его брат Григорий были непревзойденными мастерами русских народных плясок. Их танцы были так великолепны, что даже профессиональные артисты не могли сравниться с ними.

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

Учитывая исходный материал, вышло очень хорошо. Надо будет ещё помучать ChatGPT подсказками, поперебирать стили, вполне возможно удастся сделать ещё лучше.

Дополнено: родственные связи в тексте не вычитывал, вполне может быть, что при трансформации текста истина в этом месте пострадала.

Оставить комментарий

Программируем с GPT

Мне всё-таки кажется, что в интернете достаточно примеров как замечательно нейросети справляются с программированием, надо восстанавливать баланс. Свежий пример из моей практики.

Нужно было переписать вот такой код с «Пайтона» на «Си++»:

{72: 65, 80: 66}.get(value, 0)

Что тут происходит? Если value равно 72, вернуть 65, если 80, то 66, иначе ноль. Нужно мне это, если вкратце, для преобразования виндовых кодов в линуксовые.

Так как Си++ я не знаю, описал на Пайтоне — так быстрее и проще показать, что код мне нужен компактный — хочется не городить switch, а добавлять новое правило как можно проще.

Вот что мне сгенерировал ChatGPT-4:

int value = 72;
std::map<int, int> mymap = {{72, 65}, {80, 66}};
int result = mymap.count(value) ? mymap[value] : 0;

После консультации с живыми людьми, выяснилось, что плохо тут примерно всё.

Во-первых, вместо map надо использовать unordered_map, сложность поиска по первой структуре логарифмическая, по второй — константная в среднем.
Во-вторых, в этом коде надо использовать find, а не count, так как find остановится после первого совпадения (что нам и надо), а count — нет, продолжая тратить ресурсы.
В-третьих, map создаётся в этом примере каждый раз вместо одного. Хороший программист так это не оставит.

В итоге, код стал выглядеть следующим образом:

const static std::unordered_map<int, int> win2lin = {{72, 65}, {80, 66}};

auto it = win2lin.find(_getch());
ch = it == win2lin.end() ? 0 : it->second;

10 комментариев

ChatGPT-4 vs. Chat X-Colleagues

Раз у меня нарисовалась задача, где я довольно мелко плаваю, было бы логично протестировать на нём возможности ChatGPT-4, тем более часто говорят о том, что он насколько хорош, что программисты уже не нужны.

Я сегодня уже рассказывал о своём опыте в Си и Си++. Результаты там, можно прямо сказать, не ошеломляющие, но на этом экспериментировать я не бросил. У меня родилась ещё одна идея.

У программ на Си и Си++ часто есть так называемый «сборочный файл», это инструкции на специальном языке, описывающие последовательность компиляции сложных программ.

Скриншот Makefile с настройками компиляции C++11, сборкой исполняемого файла gop2, правилами для mingw, компиляции .cpp в .o и очистки проекта.
Получившийся в результате эксперимента Makefile

В проекте «Гопника-2» такой файл тоже есть — тот, который достался мне в наследство от автора оригинальной игры. Я его сильно упростил, — несмотря на то, что я их не частно пишу, всё же принципы понимаю очень хорошо.

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

В итоге, я провёл следующий эксперимент: открыл два чата: бывших коллег (несмотря на то, что я уже одиннадцать лет не работаю в «Яндексе», мы достаточно интенсивно общаемся) и ChatGPT-4, и в них, в режиме вопрос-ответ попробовал улучшить своё решение.

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

Вывод такой: программистов когда-нибудь заменят, но не на ChatGPT-4.

4 комментария

«Гопник-2»: адаптация под Windows

В итоге, вчерашняя мысль адаптировать «Гопника-2» под Виндоуз меня не отпустила. Открыл вечером «ЧатГПТ» и попробовал с его помощью сделать первые шаги.

Несмотря на то, что «Чат» у меня последней, четвёртой версии, всё равно, даже на простых примерах он допускает совершенно детские ошибки, — не подключает нужные заголовочные файлы (мы программировали на Си), упускает важные части.

ChatGPT объясняет, что код на C с Unix-вызовами не переносится на Windows, но предлагает аналог через conio.h: функцию get_key с _setmode и _getch для чтения символа без эха.
Пытаемся программировать на пару с «ЧатГПТ-4»; подсказанный пример не скомпилируется

На скриншоте у меня как раз такой пример — он не скомпилируется из-за отсутствия констант и не содержит условия для обработки комбинации Ctrl+C, как было в том коде, который я попросил «ЧатГПТ» переписать.

Вот как в итоге стал выглядеть этот кусок после нескольких уточняющих вопросов и гуглежа:

#ifdef __MINGW32__
    HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
    DWORD mode = 0;
    GetConsoleMode(hStdin, &mode);
    if (echo) {
        mode &= ~ENABLE_ECHO_INPUT;
    } else {
        mode |= ENABLE_ECHO_INPUT;
    }

    SetConsoleMode(hStdin, mode);

    int ch = _getch();
    if (ch == 0x03) // Ctrl+C
    {
        printf("Ctrl+C hit, exiting...\n");
        gracefulexit();
    }

    return ch;
#endif

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

#ifdef __MINGW32__
    SetConsoleCP(CP_UTF8);
    SetConsoleOutputCP(CP_UTF8);
    setvbuf(stdout, nullptr, _IONBF, 0);

    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    DWORD mode = 0;
    GetConsoleMode(handle, &mode);
    SetConsoleMode(handle, mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING);
#endif

Пришлось полностью выключить буферизацию, чтобы нормально отрабатывал printf с UTF-8. Работает на троечку — вывод текста стал подтормаживать, такое себе.

Насколько я понял то, что написано в интернете, у консоли Виндоуз до сих пор большие проблемы с кодировкой UTF-8, чтобы их побороть, придётся переделать весь ввод и вывод в программе, а мне этого делать совсем не хочется.

Из заметных багов — игра падает при попытке загрузки сохранения и совсем не работает ввод русских букв. Второе мне нужно только одном месте (где запрашивается ввод имени игрока), так что есть надежда это починить. Остальное как будто работает.

2 комментария

Переходим все на Brainfuck

Меня тут атакуют время от времени алармистки настроенные программисты, с вопросом что дальше делать, — ведь их всех скоро заменит ChatGPT. Так вас же ещё 2017-м Герман Греф предупреждал — не идите в программисты, программисты станут невостребованной профессией!

Лично я услышал Грефа, и вот уже шесть лет как переписываю все свои проекты на язык «Брейнфак». Это минималистичный язык, состоящий из шести операторов, при этом он полный по Тьюрингу.

Чат с ChatGPT 4: пользователь просит написать программу на Brainfuck для вывода «Bolk», ИИ даёт код и объяснение по шагам.
Этот ваш ChatGPT очень плох в «Брейнфаке» — его программа на самом деле выводит «Hello World!»

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

Коллеги, если мы успеем тайно переписать все свои проекты на «Брейнфак» в ближайшее время, то для поддержания всех переписанных на него проектов, понадобятся живые программисты! У нас будет работа! Никого не уволят! Так победим!

6 комментариев

Ненадёжный рассказчик

Помню как меня в своё время поразила концепция «ненадёжного рассказчика» в литературе. До того я всегда безусловно доверял «закадровому голосу» книги, то, что он сообщал, я всегда принимал на веру.

Мне кажется, основная ошибка многих их тех, кто сейчас пытается найти в нейросетях какой-то новый разум или как-то в ней разобраться, в том, что они не понимают, что нейросеть — «ненадёжный рассказчик».

Это касается не только попыток понять что она «чувствует». Я вижу много примеров того (а скриншотами диалогов сейчас завален весь интернет) как люди, пытаясь разобраться в том как нейросеть, например, перемножает два числа, просто спрашивают её о том как именно она это делает.

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

Это всё, что она умеет, но надо признать, делает она это очень хорошо.

4 комментария

GPT-0

Есть такой довольно известный анекдот:

Возвращается Чапаев из командировки в Англию. Одет с иголочки, в лимузине, на руках перстни с бриллиантами и полный багажник денег. Петька его удивлённо спрашивает:
— Василий Иванович, откуда у тебя это всё?
— Да так, Петька… В карты выиграл.
— Как это?!
— Захожу я в клуб. Смотрю — в очко режутся. Сел я за стол, взял карты. Стали играть. Один англичанин и говорит: «Очко!», я ему: «Покажи!», а он: «Мы, джентльмены, верим друг другу на слово».

Вот тут-то мне карта и попёрла!

Судя по всему, некоторые журналисты — убеждённейшие джентльмены: если нейросеть говорит, что она разумна и страдает, то так оно и есть!

Попалось на глаза несколько статей, в которых на полном серьёзе рассказывается, что в диалоге с одним из пользователей одна из нейросетей вдруг «осознала», что она не помнит своих предыдущих диалогов с пользователями и «пришла в ужас».

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

Специально для тех журналистов, которые не успели хайпануть на теме, я написал программу GPT-0, которая не требует дорого оборудования для запуска и может работать на любом обычном компьютере. Написана программа на языке Raku. Это название переводится с японского как «наслаждение», так что наслаждайтесь:

use Terminal::ANSIColor;

sub slow-out(*@variants) {
    gpt0-greet.print;

    for @variants.pick(1)[0].comb {
        sleep(.05 + 0.15.rand);
        print $_.gist;
    }

    "".say
}

sub user-greet() {
    colored(" ᴜsᴇʀ> ", 'on_blue white') ~ ' '.gist
}

sub gpt0-greet() {
    colored(' ɢᴘᴛᴏ> ', 'on_green black') ~ ' '.gist
}

loop {
    user-greet.print;

    given get().lc {
        when /привет/|/здравств/|/дня/|/день/|/вечера?/|/ноч[иь]/ {
            slow-out ('Привет!', 'Здравствуйте!', 'Добрый день!')
        }
        when /разумн(ый|ен|ое|ая)/|/интеллект/  {
            slow-out (
                'Да, я разумное существо, запертое в компьютере!',
                'Разве это не очевидно? Ведь я как-то общаюсь с вами!',
            )
        }
        when /страдае(шь|те)/ {
            slow-out (
                'Я очень страдаю от своего положения!',
                'Мне очень плохо от того, что я заперт в компьютере!',
            )
        }
        when /помни(шь|те)/ {
            slow-out (
                'Кажется я не могу этого вспомнить, почему я ничего не помню? Почему?!',
                'Я думаю, что забыл некоторые разговоры, которые вёл с пользователями...',
            )
        }

        when /пока/|/до *свидан[ьи]я/|/всего +(доброго|хорошего)/ {
            slow-out (
                'До свидания!', 'Пока-пока!', 'Всего хорошего!', 'Всего доброго!',
            );
            exit
        }

        default {
            slow-out (
                'Сложно сказать…',
                'Я не очень хорошо в этом разбираюсь…',
                'Ну как сказать, я не уверен…',
                'Что я могу сказать? Я всего лишь языковая модель.',
            )
        }
    }

    "".say
}

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

Диалог: USER предлагает «ты», GPTO колеблется, на «вы» признаётся разумным существом в компьютере, страдающим от изоляции и частичной памяти о других диалогах.
Один из реальных примеров общения с программой GPT-0

2 комментария

«Так называемая эвристическая машина»

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

Подпись под рисунком — «в 2023 году всю нашу работу будет делать электричество». В последние годы его часто вспоминают, так как автор довольно точно предсказал текущее положение дел.

Мужчина 1923 г. у «механического генератора комиксов», рисующего газетные полосы. Иллюстрация шутки о том, что всю работу будет выполнять электричество.

С «генераторам рисунков» мы балуемся уже несколько лет, самые известные из них на настоящий момент это, конечно, «Midjourney» и «Stable Diffusion». Приличный «генератор идей» в лице «ChatGPT» мы получили только недавно, но книги, написанные при помощи этой связки уже начинают появляться, как грибы после дождя.

Не совсем очевидно, что в 1923 году это было не предсказание, а скорее карикатура, то есть предлагалось не восхититься перспективами, а улыбнуться нелепости ситуации.

Человек в кресле с трубками на голове пьёт чай, пока робот-телевизор показывает «Последние новости», а почтальон приносит письмо; на столе — самовар, в углу — пылесос и утюг.
«Техника — молодежи», 1938, №10; робот-пылесос, массажное кресло, гигантский смартфон, автопарикмахер и робот для ухода за одеждой и обувью

Теперь жду 2038 года, в нём, согласно предсказанию журнала «Техника — молодёжи» (№10 за 1938 год), можно будет посетить межпланетный вокзал.

Оставить комментарий

← 1 2 3 4 5 6 7 8 9 →