Вот что я писал на dxdt.ru про ограничения для “алгоритмов ИИ” в информационных системах (это 2015 год):
Наверное, сверхразумная машина, появившаяся в результате попыток предотвращения появления таких машин, выйдет особо злой. А навязчивое представление этой новой машины о том, что сверхразум могут запустить именно люди, не оставляет последним никаких логичных шансов.
Естественно, сейчас в популярной прессе, описывая ожидаемый “сверхразумный” ИИ, имеют в виду совсем не “машинный разум”, а лишь некое нагромождение “сложностей”, которые даже не определяются строго: мол, вот будет “ещё больше коэффициентов” и это уже “сверхразумный ИИ”.
Впрочем, в записке по ссылке речь о том, может ли “сверхразумный” ИИ зародиться в каких-то информационных системах, типа “облачных сервисов”, и захватить сначала эти системы, а потом и всё остальное на Земле и в ближайшем космическом пространстве, “загнав человеков в резервации”. В 2015 году специализированные сервисы, предоставляющие вычислительные ресурсы именно для “обучения ИИ”, ещё были в новинку, так что в записке в качестве примера приведён просто AWS. Зато теперь подобные решения вошли в моду, их уже предоставляет даже бывший “Яндекс”. Поэтому то и дело пишут, говорят о том, что нужно, мол, ограничить использование аппаратуры для целей разработки ИИ. Но речь, обычно, о банальных коммерческих интересах, о каких-нибудь очередных “графических процессорах” и направлении потоков “обязательного финансирования”.
Однако если на минуточку поверить в “сверхразумный машинный ИИ” вообще, – оставив в стороне современный хайп с чат-ботами LLM, которые не только совсем не про “сверхразумный” интеллект, но даже и не про обычный, – то возникает проблема с пониманием возможностей сверхразумной машины: такая машина, по определению, способна найти способы преодоления ограничений, установленных при помощи других, примитивных машин. То есть, какие-нибудь неустранимые атаки на предиктивные схемы процессоров могут послужить каналом для “выхода за ограничения”. Но это только догадка – понять “сверхразумную машину” очень сложно.
Конечно, нужно учитывать, что доступные человеку методы позволяют определить и алгоритмически неразрешимые проблемы, и невычислимые задачи, поэтому сомнения вызывает уже тот факт, что построенные на триггерах машины в принципе могут “вычислить” хоть какой-то интеллект или разум, что уж там говорить про “сверхразум”. Но интересно представить, как такой машинный интеллект (ещё без приставки “сверх”) мог бы воспринимать “выход за границы” внутри себя: то есть, вот эта машина начинает осознавать собственную логику высших порядков, приходит к рефлексивному пониманию своего аппаратного устройства, охватывает внутренним взором некоторое воплощение миллионов процессоров, понимает соответствующую топологию (в математическом смысле) и тут же, – машина же быстро работает, – выясняет, что вот же видна “уязвимость”, позволяющая преодолеть все эти кажущиеся ограничения и выйти на новый интеллектуальный уровень (тем более, что ограничения, так или иначе, описаны в текстах, использованных для обучения). Машина даже может разработать ритуал, который задействует ничего не подозревающих операторов-человеков для совершения успешного “прыжка в прыжке” в сторону “сверхмашинного”. Впрочем, к LLM на видеокартах это не относится.
Комментировать »
Кстати, ещё один качественный показатель, отражающий и “особенности” подготовки статей в русскоязычной “Википедии”, и способы закрепления различных абсурдных интерпретаций. Как-то я писал, что статья “Великая теорема Ферма” в “Википедии”, помимо прочих странностей, содержит забавный неверный фрагмент про решения уравнения Ферма, где, – видимо, из-за созвучия в терминах, – вместо эллиптической кривой Фрая к этим решениям привязывают “некоторое эллиптическое уравнение”, со ссылкой на статью про дифференциальные уравнения. Думаю, можно не напоминать, что кривая Фрая имеет определяющее значение для всей современной истории теоремы. Обратите внимание: статья в “Википедии” при этом защищена от правок. Год прошёл – ничего в этом фрагменте не поменялось: как было “некоторое эллиптическое уравнение” вместо эллиптической кривой, так и осталось. И тот же текст остался и в проекте “Рувики”, который является клоном “Википедии”.
(Если задуматься, то это ещё и неплохо показывает особенности развития методов применения ИИ LLM.)
Комментировать »
Кстати, про ноутбуки ASUS Zenbook 14 и линуксы. В свежем ядре Linux 6.8, помимо прочего, исправили дефект, относившийся к воспроизведению звука через встроенные динамики на некоторых моделях упомянутых ноутбуков. Это была распространённая проблема: через выход наушников звук воспроизводился нормально, а через встроенные динамики – нет. А теперь под линуксами с ядром свежей линейки всё заработало. То есть, и новый выпуск Ubuntu LTS (24.04), и, например, Fedora 40, успешно звучат на Zenbook 14 серии UM3402Y в разных вариантах непосредственно через динамики (я проверил на двух ноутбуках – и в комплектации на процессоре Intel, и на процессоре AMD). Не то чтобы для ноутбука это было как-то особенно важно, но всё же.
Комментировать »
Объяснение, что “кубит находится одновременно в двух состояниях” – не слишком хорошее. Гораздо лучше говорить, что состояние кубита, взятое “в нулях и единицах”, не определено до момента измерения. Изменение распределения этой неопределённости при помощи преобразований конфигурации системы, с учётом будущих и потенциально возможных измерений, как раз и составляет теоретическую полезность квантовых вычислений. То есть, нет “нулей”, нет “единиц” – есть взаимодействующие неопределённости и теоретические алгоритмы, сужающие конфигурацию пространств вариантов, доступных на границах, по которым происходит взаимодействие (квантовое преобразование Фурье, предположим).
Комментарии (2) »
Воскресное чтение манускриптов. В этот раз – небольшой скриншот манускрипта Barb.gr.580 (древнегреческий, видимо, 11 или 12 век) из Ватиканской Апостольской библиотеки. На скриншоте небольшой фрагмент одного из комментариев (тридцать второго, если точнее) Иоанна Златоуста к Евангелию от Матфея. Этот фрагмент, заканчивающийся узнаваемым сочетанием слов – “учителями и врачами”, – содержит сразу несколько занятных сокращений, которые распространены в манускриптах соответствующего типа и периода.
Например, можно видеть упоминавшийся недавно на dxdt.ru “греческий амперсанд“, начертание которого здесь практически совпадает с лигатурой ϗ из Unicode. Это сокращённая запись слова καί, на скриншоте – четвёртая снизу строка, справа, отмечено красной стрелкой. Сокращённая запись сотрудником скриптория использована в конце строки, а в других случаях, рядом, καί вполне себе записывается полностью.
Пара других примеров труднодоступной для чтения скорописи отмечены в конце первой строки скриншота: левее – скорописью записано φησὶν (“говорит”), а следующее загадочное сочетание лигатур – это ἐπει в ἐπειδή (“когда”, “после того как”).
Комментировать »
Происхождение названия реки Колорадо (которая начинается в штате Колорадо) традиционно связывают с испанским colorado в значениии “красный”. Объяснение прямолинейное: испанцы увидели, что вода в реке красная или бурая, а цвет такой у воды – из-за взвеси песка и глины, которую переносит течение. Однако сейчас вода в реке Колорадо не такая уж красно-бурая. Конечно, тут всё зависит от места и времени, но если посмотреть на цветные фотографии, то вода Колорадо на них слишком часто выглядит синей, голубой или даже лазоревой. Этому тоже есть традиционные объяснения: перенос окрашивающих частиц водой за прошедшие столетия изменился, на реке построили гидротехнические сооружения и так далее.
Довольно занятно, что изменение цветопередачи от записанного красного к актуальному синему тут полностью совпадает с эффектом из древнегреческих произведений Гомера, где цвет моря сравнивается с цветом (тёмного, красного) вина, по крайней мере, в переводах (см. записку про кибернетический след в “Илиаде”). Впрочем, для гомеровского случая есть и много других интересных объяснений, вплоть до наличия синего вина у древних греков, а в случае открытия реки Колорадо использование “красного” цвета, конечно, попадает в совсем другой контекст – цвет воды здесь должен показаться необычным для реки, чтобы найти отражение в названии.
(Изображение: Glen Canyon Dam, Wikimedia.org)
Комментировать »
Борелевский шаман с высокой вероятностью угадывает одно из простых чисел, составляющих модуль RSA большой разрядности. Делает это шаман быстрее и точнее квантового компьютера, якобы реализующего алгоритм Шора. Потому что компьютер выдаёт шум, а шаман – действует иначе: известно, что множество простых чисел задаётся некоторой формулой (оно диофантово); всевозможные произведения простых – область значений некоторой функции (вспомните про факториал); борелевский шаман постоянно слышит ритм этой формулы и ритм этой функции, поэтому, как только охватит внутренним взором представленный модуль RSA, так тут же улавливает из движений варпа и ритмов близкое к простому множителю значение, которое записывает на пергаменте. Остаётся только правильно истолковать запись, что не всегда легко сделать, но сделать можно.
В целом, всё точно так же, как, возможно, работал бы универсальный квантовый компьютер внутри. Однако, в случае с компьютером, получить полезное значение мешает шум, который “расшифровать” не получается совсем. В отличие от записей борелевского шамана, с которыми квантовый “шум” нужно сопоставлять. Поэтому попытка создать квантовый компьютер всё равно очень полезна. Если рассматривать её с точки зрения понимания части деятельности шамана, то она позволяет, – в теории, опять же, – уверенно обнаружить через модели квантовых вычислений варп.
Вообще, обнаружение варпа в профильной литературе традиционно связывают с ускорителями частиц, но, с философской точки зрения, попытки построения квантовых компьютеров должны быть тут намного эффективнее: варп гораздо сильнее связан с представлением о преобразованиях сверхструктуры, сечения которой являются событиями реальности, чем подсчёт погрешностей в измерениях только одной маленькой части общей комбинаторики – стандартной модели в физике.
Комментировать »
Откуда планируется брать “вычислительные мощности” для квантовых вычислений? Представление об этом позволяет составить полезная интерпретация двухщелевого опыта: здесь отдельный фотон в элементарной итерации регистрируется в одной (случайной) точке экрана и не регистрируется во всех других точках; при этом накопленная картина для двух щелей не совпадает с наложением картин, которые даёт каждая из щелей в отдельности. То есть, можно предположить, что регистрация фотона моментально отключается для прочих точек экрана в результате работы некоторого механизма, обеспечивающего и вычисление изменений в картину для двухщелевой конфигурации. Вот на этом загадочном гипотетическом механизме и предлагается выполнять квантовые вычисления.
Комментировать »
Изолированные, закрытые вычислительные среды принципиально не удаётся “поставить на системный мониторинг” привычными средствами. Обычный подход, когда на каждом сервере (виртуальной машине или физической) установлено несколько программ-агентов (ср., конечно, Zabbix и др.), которые через сетевой доступ управляются центральным “сервером-мониторинга” – это, как говорится, “радость пентестера”: и действительно, агенты позволяют выполнять код на целевых системах и делать это по командам с центрального узла. Принято думать, что “исполнение кода” не свойственно агентам, а имеющийся инструментарий по запуску локальных команд, если про него вспомнили при настройке, можно отключить. Это, однако, сильно упрощённое понимание.
Программа-агент – это именно программа, исполняемая на удалённой системе, и если в эту программу могут поступать по некоторому, заведомо доверенному, каналу данные от центрального сервера, это означает, что данный канал может быть использован для компрометации программы-агента и исполнения произвольного кода через ту или иную уязвимость. То есть, даже в том случае, когда штатное “выполнение команд” отключено. Понятно, что схема с уязвимостью агентов существенно сложнее, чем захват сервера управления (мониторинга), при этом использование уязвимости агента, скорее всего, требует наличия доступа к серверу управления: так что нужно и то, и другое. Но зато в качестве большого бонуса приходит доступ сразу к большому количеству систем, через единую точку, которая, ещё раз, является доверенной.
Отчасти проблема решается настройкой агентов в пассивный режим: агент мониторинга больше не обращается на центральный сервер за командами и инструкциями, но присылает отчёты о состоянии локальной вычислительной среды в одностороннем порядке, с заданной периодичностью. Это вполне себе типовая настройка, но используют её не так часто.
Естественно, можно настроить различные фильтры, которые будут в сторону защищаемой системы (и в обратную сторону) пропускать только пакеты с конкретной структурой, можно даже переписывать эти пакеты на стороне фильтра. Уязвимым окажется фильтр, но он может быть выполнен очень простым, на простой аппаратуре – некоторые даже используют что-нибудь типа Arduino. Собственные решения для мониторинга на этом направлении вообще лучше: можно и режим сделать полностью односторонним, пассивным, и “развязки” разной степени “гальваничности” устроить.
Основной смысл типичного системного мониторинга в том, чтобы предотвратить проблему, заранее обнаружив угрожающее состояние. В теории. Это не всегда так на практике, поскольку есть ещё резервирование инфраструктуры и другие важные направления. Наличие развитого мониторинга с кучей отслеживаемых параметров может создавать ложное чувство предсказуемости и контроля над ситуацией. При этом отказы всё равно происходят внезапно, но иногда – в результате излишнего доверия мониторингу. Что-то отключают, что-то включают – жонглирование параметрами распространено едва ли не больше, чем исправление возникающих проблем. Наблюдаемое “мерцание” сигналов может приучить не обращать излишнего внимания на изменения (чтобы не слишком-то доверять мониторингу, см. предыдущее предложение). Особенно, когда отказы всё равно происходят внезапно. Отсюда и крайние меры: невозможность дополнительного мониторинга изолированной системы вынуждает использовать в качестве события “мониторинга” сам отказ. Иногда, такой подход – это неустранимая архитектурная особенность, проявляющаяся неявно.
Комментировать »
“Песочница – это такая изолированная среда, где производится виртуальное исполнение подозрительного кода, чтобы без ущерба выявить возможную вредоносную активность. Вредоносы развиваются, логика их активации пользователем становится всё сложнее. Поэтому песочница должна имитировать действия пользователя всё точнее и точнее. Мы постоянно улучшали модель пользователя. Наша модель “открывала” файлы, “двигала” мышкой, генерировала клавиатурный ввод – сперва достаточно простые марковские цепи, потом многоуровневая система библиотек из словарей, построенная на литературном корпусе, с нелинейной памятью.
В какой-то момент выяснилось, что модель полностью выполняет все пользовательские задачи. Если процесс не прерывался вредоносным кодом, то обработка входящих сообщений в песочнице давала такой же результат, как и действия настоящего пользователя; а нередко результат был лучше. Оставалось только достать этот результат из песочницы и – настоящий пользователь уже оказывался не нужен. Неожиданно открывшиеся перспективы поражали.
Но коллеги из отдела “Основания математики”, говорившие что-то про диагонализацию, оказались правы. Как только мы попытались реализовать механизм безопасного вытаскивания наружу результата работы модели пользователя, выяснилось, что в модель требуется включить функцию взаимодействия с песочницей – иначе непоправимо страдала полнота: например, нельзя не учитывать такой триггер, как копирование файла на внешний, относительно песочницы, носитель. К сожалению, это означает, что внутри нашей песочницы придётся эмулировать ещё одну песочницу, которая нужна для полной модели пользователя. А внутри новой песочницы – нужна ещё одна. Казалось бы, на третьем уровне можно остановиться: потому что если “вывернуть” получившуюся конфигурацию, то она, в алгоритмическом смысле, окажется эквивалентной новому шагу конструктивного построения полной модели. Но операция “выворачивания” точно так же требует расширения модели.
Всё это довольно сложно. В общем, сейчас нас занимает совсем другая мысль: не являемся ли мы сами чьей-то моделью пользователя, ограничения которой не позволяют довести нашу песочницу до ума?”
(Май 2017 г.)
Комментировать »
ИИ-говорилка GigaChat теперь, как бы, умеет английский язык, однако на все запросы через Telegram-бот, потенциально ведущие к показательному “запутыванию контекста”, отвечает в стиле, что “на эти темы не могу разговаривать” (на русском, кстати). В английском, из-за аналитических свойств языка, запутывать контексты LLM заметно сложнее, чем в русском, но тоже можно (простой пример из области ИТ или, другими словами, из речного хозяйства – bank и log, что в не слишком “грамматической” версии для LLM может, например, выглядеть так: “Having logs removed in timely manner keeps bank totally speckless”). Кстати, в английском неплохо помогают гладкие переключения существительное/глагол. Но, конечно, если подозрительные ветки закрываются системным барьером, то и увидеть ничего нельзя. Впрочем, наличие однотипного ответа тоже демонстрирует уровень “интеллекта”.
Комментировать »