ИИ

«Тайна Карпатского замка», 1981

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

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

Например, два месяца назад они помогли мне разыскать фильм «Охота на роботов» 1984 года по тем деталям, которые я вспомнил. Я подумал, что разыщу и всё остальное, но потом дело встало. Как я ни пытался, искусственный интеллект ничем мне помочь не смог.

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

На этот раз сработало! Модель ChatGPT o3 нашла фильм по описанию — им оказалась «Тайна Карпатского замка» 1981 года, причём я наврал в деталях — мне казалось, что это черно-белый старый фильм, годов, вероятно 1920-х. Наверное я видел его в чёрно-белом виде — он шёл в моём детстве, а тогда чёрно-белых телевизоров было очень много.

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

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

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

Портреты предков

Я тут необычный эксперимент проделал — загрузил фотографии жены и дочки в «ЧатГПТ» и написал такой промпт:

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

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

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

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

Он жил в небольшой деревне Старое Исаково и пропал на войне. Ни одной его фотографии нет — вероятно в те годы фотоаппараты не были распространены. А из-за того, что бумаги военкомата сгорели в 50-е, не получилось проследить его судьбу.

Карандашный портрет мужчины средних лет с короткими волосами, лёгкой щетиной и серьёзным выражением лица, одетого в рубашку с отложным воротником.
Предполагаемая внешность Степана Павловича Стрелкова (1902—1941) — моего прадеда со стороны мамы

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

Чёрно-белый портрет мужчины средних лет с короткими волосами и лёгкой щетиной, одетого в рубашку с воротником; взгляд серьёзный, направлен прямо на зрителя, фон нейтральный.
Предполагаемая внешность Феодора Николаевича Старостина (1904—1942) — моего прадеда со стороны папы

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

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

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

«Курсор»

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

Чтобы отойти от разочарования, решил как-то реабилитировать технологию в своих глазах, тем более, что некоторые мои задачи нейросети всё-таки выполняют. Взял библиотеку функций из продвинутой реализации bc, чтобы попробовать портировать её на версию GNU.

Попросил три понятных изменения сделать, любой дурак справится:

  • a@b заменить на вызов функции floor(a, b), которую я написал;
  • a$ заменить на вызов floor(a, 0);
  • там, где оператор else перенесен на другую строку от конструкции if, надо либо заэкранировать перенос через обратный слеш, либо вернуть else на одну строку с if.

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

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

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

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

Эрудиция, ум, предприимчивость

Вряд ли стоит говорить о том, как ценен для человека ум. В конце концов, именно ум дистанцирует нас от других животных. Но ум очень сложно померить. Как быстро понять, что кто-то — умный? Тем более, что многие путают ум с другими понятиями. Например, эрудицией. Годы прошли, прежде чем я понял, что Анатолий Вассерман не умный, а эрудированный. Другой пример — ум путают с предприимчивостью. Существует даже поговорка «если ты такой умный, то почему такой бедный?».

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

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

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

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

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

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

Портрет мужчины с длинной седой бородой, круглыми очками и светлой жилеткой на тёмной рубашке, улыбающегося на сером фоне.
Анатолий Вассерман по версии нейросети ChatGPT 4 — пример эрудиции, но не ума

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

TODO: попросить chatgpt сгенерировать сюда заголовок

Белый логотип в виде стилизованной буквы «W» внутри круга на чёрном фоне.
Я тут придумал, а Григорий Козырь нарисовал русскоязычный логотип для искусственного интеллекта — две буквы «И» в виде цифрового сигнала

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

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

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

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

DeepSeek R1 на A100

Как я уже писал, мы попробовали позапускать «Дипсик Эр1» на разных конфигурациях графических ускорителей NVIDIA A100. Запускали не полную модель, а квантизованную. Неясно насколько она глупее на наших задачах, бегло попробовали разные тесты, как будто бы от квантизации она пострадала несильно.

Я собирался написать об этом ещё раз, когда мы разберёмся с подходящей конфигурацией, но как-то позабыл.

Скриншот вывода nvidia-smi: 4 GPU NVIDIA A100 80GB PCIe, драйвер 570.86.15, CUDA 12.8; процессы ollama используют ~72–76 ГБ видеопамяти на каждом GPU.

Выводы следующие.

Для того, чтобы модель поместилась в видеопамять, суммарно нужно около 150 гигабайт. То есть две Nvidia A100 по 80 ГБ подходят. Эта конфигурация позволяет работать одному пользователю в один момент времени. Остальные будут ждать, когда ресурс освободится. Соответственно, конфигурация, которая у меня на скриншоте, может отвечать одновременно двум пользователям.

При этом оперативная память почти не используется. Её можно выделять очень мало.

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

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

Покупать при этом, конечно же, надо не A100, а H100, у них сейчас самое выгодное соотношение цена/вычислительная мощность. Ждать их дольше, но оно того стоит.

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

Обфускация кода

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

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

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

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

Скриншот diff-изменений в файле doom.bc: удалены переменные i, cz, tx и др., добавлены flash_type, dir_x, sprite_height и другие для функции tick().
Деобфускация портированного кода, которую мне помог сделать «Госпромпт», ниже в коде эти переменные тоже переименованы

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

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

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

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

DeepSeek R1

Хочу поделиться. Погоняли китайскую нейросеть «ДипСик Эр1» на оборудовании «Селектела», за что ребятам, как всегда, большое спасибо. Это, конечно, чудо, что на относительно скромном оборудовании можно себе развернуть полноценную большую языковую модель.

Скриншот вывода nvidia-smi: две GPU NVIDIA A100 80GB PCIe, драйвер 570.86.15, CUDA 12.8; процесс llama-cli использует ~80 ГБ памяти на каждой GPU.

На двух nVidia A100 40 GB модель как-то ползает (мы брали квантизованную Q2_K_XL). Можно общаться, но не слишком комфортно. А вот на двух карточках по 80 гигабайт в однопользовательском режиме работает уже просто отлично. В память лезет чуть больше половины всех слоёв, больше всего грузятся ядра центрального процессора (у нас там 24 ядра на 2,4 ГГц), но общаться вполне комфортно — скорость порядка 170 токенов в минуту.

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

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

«Охота на роботов», 1984

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

Даже у Артемия Лебедева, когда у него была рубрика «Что за фильм?» в блоге, где люди помогали друг другу вспомнить название по описанию, спрашивал. Но и там не помогли.

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

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

Попробовал описать каждую деталь, которую я помню, китайской нейросети «ДипСик». Она великолепно справилась даже без поиска по интернету — просто сразу выдала кандидата и на сто процентов попала. Я, по мере ответа, даже начал улыбаться — быстро понял, что попадание верное.

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

Добавлено позднее: рано обрадовался. В остальном не повезло — не нашлись ни фильмы, ни книга.

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

Что там нечётные числа?

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

Тогда я сократил размерность типа вдвое — стал вычислять 64-битные числа и запустил программу почти на два месяца на стационарном компьютере. Там она работала на одном ядре и намолотила 180 с гаком миллионов чисел. Это очень медленно, как по мне.

Скриншот терминала Linux: команда ps aux | grep phase показывает процесс ./phase1 с высоким использованием CPU, затем cd odds/, wc -l log (180170316 строк) и logout.

Сегодня мне надоело, я этот процесс остановил. Вывод — на одном ядре считать совершенно не вариант, надо дописывать многопоточную версию.

Я, кстати, её даже начинал писать — накидал кое-какой скелет, но по дороге решил привлечь к этому делу большие языковые модели. Хотел посмотреть настолько ли они круты, чтобы помочь мне закончить. Пробовал и ЧатГПТ, и уже появившуюся в то время рассуждающую модель DeepSeek R1, бестолку — каждая новая версия программы, написанная с их помощью, не работала так как полагается. В общении с нейросетями я провёл два вечера, а потом просто отложил эту программу в сторону.

Единственное, в чём я признателен нейросеткам, — они решили мою проблему с производительность. Моя многопоточная версия упиралась в блокировку некого разделяемого ресурса и я решил посмотреть справятся ли нейросети с этой проблемой. Справились! В остальном время было потрачено зря.

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

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

Необычная система счисления в bc

В моём временно любимом bc есть интересная, но не сразу понятная особенность работы с числами. Даже в режиме ввода десятичных чисел принимаются буквы в верхнем регистре, то есть число может состоять из цифр в диапазонах 0…9 и A…Z. Буквы при этом обозначают цифры от десяти до тридцати пяти.

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

Расшифровка слов LEET и CODE в числовые значения (21,14,29 и 12,0,13,14) и их суммирование: 22569 и 12144.

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

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

def convert(num):
    if num == 0: return 0
    out, orig_num = "", num

    while num:
        num, r = divmod(num, 10)
        v = min(2 if r > 5 else 3, num)
        if (digit := v * 10 + r) > 9:
            out = chr(digit - 10 + ord('A')) + out
        else:
            out = str(digit) + out

        num -= v

    return out if len(out) < len(str(orig_num)) else orig_num

А потом мы решили развлечься ещё одним способом — аккуратно сформулировать эту задачу в тексте и решить её искусственным интеллектом. Взяли топовые сети — ЧатГПТ, ДипСик и так далее.

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

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

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

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

Полезный промпт

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

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

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

К счастью, есть полезный промпт, позволяющий и это переложить на нейросеть. Достаточно попросить её задать вам несколько вопросов по теме.

Например, нам надо поздравить с днём рождения друга Вадима. У нас туго с фантазией и мы хотим поручить эту задачу нейросети.

Можно написать «напиши мне поздравления с днём рождения моего друга Вадима» и получить более-менее стандартный текст. Что нейросеть может знать о Вадиме? Что за Вадим вообще? Например, что ему было бы приятно прочитать в поздравлении? Откуда нейросети это знать?

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

Запрос: «Задай мне 5 вопросов про Вадима и напиши для него поздравление с днём рождения.» Ниже — список из 5 вопросов о хобби, подарках, качествах, праздновании и мечте Вадима.

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

«Элиза»

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

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

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

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

Диалог на тёмном фоне: пациент говорит о депрессии и несчастье, терапевт задаёт вопросы о помощи, семье и отношениях с матерью.
Пример разговора с «Элизой»

«Элиза» очень неплохо притворяется человеком. На известном тесте Тьюринга она опережает «ЧатГПТ 3.5» — 27% против 14%. Возможно в это сложно поверить, но общение с «ЧатГПТ» и в самом деле мало напоминает общение с живыми людьми, я удивлён, что вообще хоть кто-то обманывается.

Самое же удивительное для меня, что 27% набирает код, занимающий чуть больше 400 строк!

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

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

Социальный интеллект и большие языковые модели

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

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

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

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

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

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

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

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

«ГигаЧат» и распознавание картинок

Прислали тут новость по сберовской нейросети «ГигаЧат», — теперь она научилась описывать словами изображение. Вообще не удивили, конечно. Нейросети, умеющие такое, существуют лет десять. Но, может, тут какое-то новое качество? Решил особо не миндальничать, загрузить туда какие-нибудь сложные изображения. Например, иллюстрации из заметки про кольцевую горелку от керосинки.

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

«ГигаЧат» ожидаемо не справился. Я готов согласиться, что горелка керосиновой лампы чем-то напоминает самовар, возможно невнимательный человек мог бы ответить так же, но на таблетку то, что я держу в руке, не похоже никак.

Интересно, что «ГигаЧат» время от времени даёт очень разные описания. Последнюю фотографию я загрузил несколько раз. Один раз он увидел вместо «таблетки» пулю, в другой раз ответил правильно — сказал, что видит «металлическую деталь круглой формы с отверстиями». Как-то сильно его мотает по смыслам.

Ещё смешнее получилось с фотографией дочки, снятой на «Флиппер» из предыдущего поста:

Чёрно-белая карта распределения электронной плотности молекулы, полученная рентгеновской кристаллографией; визуализация атомов в биологических макромолекулах.

Для интереса и я это изображение попробовал загрузить несколько раз, получил совершенно разные, но одинаково далёкие от реальности результаты.

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

Но, справедливости ради, более понятные изображения «ГигаЧат» описывает очень неплохо. Вот пример из заметки про «метроном» в китайских боевиках:

Скриншот чата с GigaChat: пользователь Евгений просит определить, что на фото, и получает описание сцены из фильма «Противостояние» (2001) с Джеком Ли и Джейсоном Стэтемом.

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

Нейродекаданс

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

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

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

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

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

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

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

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

Наверное у иллюстраторов те же проблемы?

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

IAndex.Music

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

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

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

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

Из-за этого паттерна мне совершенно нечем поддержать разговоры о музыке — я очень мало знаю о том, что я слушаю. Так что на вопрос что мне нравится на данный момент в музыке я, чаще всего, могу ответить только: «то, что мне подбирает „Яндекс.Музыка“».

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

Блеск и нищета нейросетевых рисунков

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

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

Группа пушистых кошек в красных шапках Санты сидит у ёлки с красными и синими шарами на деревянном полу.
Пример сгенерированной нейросетями иллюстрации на сайте Exler.RU. Самая заметная нелепо нарисованная деталь — глаза кошек

Безусловно иллюстрация иллюстрации рознь, если постараться, при помощи нейросетей можно нарисовать очень реалистичное изображение. Если повезёт, может получиться даже с первого-второго раза.

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

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

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

Галлюцинации нейросетей

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

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

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

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

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

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

Вот один из встреченных мной примеров, пока довольно безобидный:

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

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

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

То ли ещё будет, когда эти галлюцинации просочатся в инструкции, договоры и учебники.

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

Large Language Brother

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

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

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

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

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

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

← 1 2 3 4 5 6 7 8 9 →