В продолжение предыдущей записки: действительно большая угроза, связанная с ИИ, скрывается за фольклорным предположением, что “компьютер не может ошибаться”, тем более, когда это компьютер с “интеллектом”. Представьте современную систему, которая по запросу типичного клерка или специалиста, занятого подготовкой отчёта или рекомендаций по какому-то вопросу, генерирует связные тексты, внешне выглядящие как “совет эксперта”. Естественно, такая система может использоваться при принятии решений, в качестве источника подсказок. Известно, что экономикой многих предприятий управляет MS Excel, как и целым рядом научных направлений. Что же говорить про такой удобный инструмент, как генератор текстов – он тут оказывается гораздо мощнее, чем Excel. Вот и может так выйти, что куча административных процессов в мире попадёт в зависимость от некоторого центрального сервиса, который, через модификацию выдачи “нейросети”, станет управлять ими, двигать, так сказать, в нужном направлении. Это лучше профилирования человеческой деятельности путём “обучения нейросетки” на непонятно какой выборке, и приближается по эффективности к дорисовыванию картинок высокого разрешения на основании значений нескольких пикселей (данная тема, заметьте, популярности не теряет).

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

Вообще, соприкосновение с неизвестными свойствами действительно могло бы происходить на уровне электроники, элементы которой должны быть достаточно миниатюрными: с малой пространственной шкалой и электромагнитным взаимодействием может быть связан какой-нибудь неожиданный временной эффект, который проявляется только на очень больших числах взаимосвязей – сами взаимосвязи не обязаны быть “физическими”. Аналогичное рассуждение применимо к аппарату квантовой механики: например, откуда можно узнать, что известные модели действительно работают для пространств состояний порядка 2^1000? А узнать можно, попытавшись построить квантовый компьютер соответствующей разрядности (ну или другую экспериментальную машину, сходную по расчётным свойствам). А в случае больших машинных ИИ на тысячах специализированных процессоров можно было бы ожидать проявления обратных свойств. При этом, если самосознание (self-awareness), – настоящий интеллект, – оказывается принципиально невычислимым (откуда и все “проблемы” с интерпретацией времени), то это вовсе не запрещает нечеловеческий, – но вычислимый “неожиданным образом”, – искусственный “интеллект”, пусть и тоже в кавычках.



Комментировать »

Появилось открытое письмо, призывающее “приостановить эксперименты с большим искусственным интеллектом” (“Pause Giant AI Experiments”) и ввести регулирование, в том числе, “контроль и отслеживание” “мощных вычислительных средств” (“large pools of computational capability”). Занятно, что там в качестве основы шкалы используется GPT-4 – то есть, буквально, предлагается всем немедленно приостановить “обучение” систем, более мощных, чем GPT-4. Приостановить – как минимум, на шесть месяцев; но, как можно предположить по тону и смысловому содержанию письма, более точная интерпретация такая: приостановить до того момента, пока не введут нужные запреты на уровне правительств. Довольно показательный PR-шаг. Особенно, если взглянуть на него в исторической перспективе развития глобальной Сети, которая, несомненно, для разных там Chat GPT – имеет первоочередное значение.



Комментировать »

На сайте есть страница “Избранное“, на которой я веду список избранных записок (удивительно, правда?). Посмотрел, как этот список пополнялся за десять лет (2012-2022), вот что получилось (год – количество записок):

  • 2022 – 4
  • 2021 – 3
  • 2020 – 5
  • 2019 – 5
  • 2018 – 3
  • 2017 – 8
  • 2016 – 14
  • 2015 – 10
  • 2014 – 21
  • 2013 – 14
  • 2012 – 17

Несомненно, такие показатели связаны с тем, что в какой-то момент вообще уменьшилось количество публикуемых записок, но связь эта не самая прямая, так сказать: нельзя забывать о том, что и требования могли поменяться. Скажем, я считаю, что из публикаций за 2022 год очень и очень ценная записка – “О визире и слоне“. Соответственно, эта записка задаёт и канву для других избранных за 2022 год, и их оказывается мало. А вот к запискам из 2012 – требования несколько другие.



Комментировать »

Цитата из моего технического описания TLS:

Весьма полезной практикой является разумное выравнивание стойкости используемых криптосистем. Например, в подавляющем большинстве случаев не имеет смысла использовать RSA-ключ длиной в 4096 бит, если ваш TLS-сервер всё ещё поддерживает SSLv3, а в качестве симметричного шифра применяет DES с 56-битным ключом.

Детали зависят, конечно, от модели угроз, но что здесь имеется в виду? Предположим, что серверный TLS-сертификат использует криптосистему RSA с длинным ключом, при этом для согласования сеансового симметричного ключа тоже используется RSA (то есть, исходные данные ключа зашифровываются RSA – устаревший метод, который широко применялся в TLS ранее). Защищает ли этот факт дополнительно трафик, зашифрованный нестойким шифром, для которого нетрудно вычислить секретный ключ? Понятно, что не особенно: проще раскрыть действующий симметричный ключ при помощи криптоанализа шифра, не касаясь RSA. Невозможность прочитать исходный секрет этому не помешает (естественно, считаем, что реализация RSA сохраняет стойкость). Можно было бы предположить, что задача другая: например, требовалось надёжно защитить узел от подмены, а передаваемый трафик, напротив, сделать доступным для чтения “подготовленной стороной”. Но в случае только что описанного сценария TLS это не сработает.

Дело в том, что аутентификация с использованием ключа из сертификата происходит на начальном этапе. Заметьте, кстати, что в устаревшей схеме с “зашифрованием RSA”, проверка того, что серверу известен соответствующий сертификату секретный ключ, вообще косвенная: предполагается, что раз сервер смог прийти к одинаковым с клиентскими значениям сеансовых ключей, то у сервера сеть доступ к секретному ключу (при использовании современной схемы, с протоколом Диффи-Хеллмана, клиентом проверяется именно подпись, что несколько меняет ситуацию). Так или иначе, но после установления соединения для аутентификации трафика используются уже сеансовые ключи, а если их удалось раскрыть, то активный перехватывающий узел сможет произвольным образом подменить полезные данные внутри сессии, как если бы эти данные передавал подлинный сервер – то есть, подменить источник. Таким образом, хоть формально аутентификация и проводится с другим, стойким ключом, нестойкий сеансовый ключ уничтожает большую часть смысла такой аутентификации. Речь, естественно, про TLS, а за скобками остались пояснения о том, что раскрытие конкретного шифротекста и раскрытие конкретного ключа – разные вещи (это несколько другая история).

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



Комментировать »

Samsung официально описывает, как некоторые смартфоны этой корпорации дорисовывают изображение Луны “методами машинного обучения” – процесс называется Scene Optimizer. Про это, в общем-то, известно давно. А проблема тут не столько в том, что дорисовывают, а в том, как именно процесс преподносится – “улучшение детализации”. В результате, выдачу подобных камер считают за отражение реальности.

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

Основная особенность этих программных “дорисовывалок”, неограниченно “повышающих разрешение”, такая: они приносят на конкретный снимок результаты, собранные по другим снимкам (из “обучающей выборки”) и приведённые к некоторому заданному, типовому представлению об изображённой сцене (о Луне, в данном случае). Детали в такой схеме как раз не особо и важны – детали уже заранее записаны в память смартфона, а поэтому НЛО он просто закрасит правильным фрагментом лунной поверхности, потому что “компьютер не может ошибаться”. Тенденция эта грозит большими проблемами, так как цифровые снимки, выполненные смартфонами, могут, предположим, использоваться в качестве доказательств тех или иных событий. И даже дорисованная Луна способна повлиять на суждения о времени и месте съёмки, если таковые будут выноситься по изображению. Впрочем, зачем тратить на это время? Ведь в файле же и так записаны “верные” координаты и время GPS.

Я уже писал об этом раньше, например, в 2021 году: “Нейросети из пикселей“.



Комментировать »

Наберём в консоли (в терминале) ping 010.010.010.010 и запустим выполнение – что произойдёт? Результат теперь многим и многим, – далеко не пользователям, а даже системным администраторам, – кажется неожиданным: “пинги” отправляются на один из адресов Google – 8.8.8.8. Проверьте самостоятельно (в экзотических ОС результат может отличаться, но в привычных линуксах, например, – всё вполне корректно, а экзотические ОС ещё предстоит подобрать).

Почему так вышло? Потому что старое системное соглашение, о котором нынче забывают, гласит: если запись октета IP-адреса (здесь – четвёртой версии) начинается с символа нуля и не содержит, следом, буквы, то это запись в восьмеричной системе! (Относится, конечно, не только к ping и не только к IP-адресам.) 10 в восьмеричной системе – это восемь, так что: 8.8.8.8. Неплохо взглянуть и на другие варианты: ping 010.8.010.8, например. А попытка вызвать ping 010.080.010.010 приведёт, скорее всего, к сообщению о том, что адрес для имени обнаружить не удалось (или Name or service not known – в типичном случае).

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



Комментировать »

В ТЦИ запущен сервис просмотра данных российских логов Certificate Transparency. На сервере используется TLS-сертификат, выпущенный ЦС ТЦИ. Соответствующий корневой сертификат ECDSA можно взять на сайте ЦС (SHA-1: 4E877AC027A63D8514C0B4CBFA0F6F58F6C17696).

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

(Это, собственно, версия известного сервиса crt.sh, но с поддержкой только российских логов – в crt.sh они не учитываются автоматически.) Самое простое применение – поиск (пре)сертификатов TLS по доменному имени (см. скриншот для livejournal.com ниже).



Комментарии (5) »

TypewriterГенераторы текстов на заданную тему сейчас вновь популярны. Пример, естественно, ChatGPT. Можно ли автоматическим способом и с высокой точностью определить, что некоторый обозримый текст на естественном языке написан таким качественным компьютерным генератором, а не человеком?

Если эту задачу рассматривать “в максимальной общности”, то она тут же превращается в весьма занятную, почти что философскую, проблему: допуская, что можно надёжно различить тексты, написанные подобной программой и человеком, придётся допустить и то, что программа может выдать текст, который человек написать не смог бы – не смог бы сымитировать. То есть, в тексте, который написал генератор текстов, должно быть проявление некоторого “нечеловеческого интеллекта”.

С одной стороны, внутреннее устройство новомодных больших компьютерных нейросетей уже достаточно необозримо. Эти сети состоят из мешанины формул (по-научному – из “мешанины функционалов”, но в данном случае можно называть объект просто формулой). Разобраться, что и как взвешивается и преобразуется во всей этой мешанине, для человека, “вручную”, не реально. Можно предположить, что перспективная программа-детектор как раз и могла бы обнаружить в тексте проявление всех этих глубинных взаимосвязей, заведомо недоступных для интерпретации и имитации человеком, классифицировав таким образом текст как созданный ИИ. Именно из сходных соображений детекторы сейчас пытаются делать на основе обучения всё тех же (а точнее – таких же) нейросетей. Но точность не велика. А вырожденный результат на этом направлении – это так называемые “водяные знаки” (watermark), которые разработчики нейросетей планируют вводить в результат их работы, как раз с целью последующего точного распознавания.

С другой стороны, такой подход чем-то напоминает объявление числа Пи (π – но с заглавной буквы) самым разумным числом из всех: ведь “в десятичной записи числа Пи можно найти любой текст, с ответами на любые вопросы, как бы этот текст ни зашифровали”, нужно только знать, с какого знака записи начинать читать – вроде и верно, но не слишком-то конструктивно (напоминает классические теоремы существования, времён Коши, а также и саму теорию действительного числа). Но программа, которая позволила бы находить проявления некоторого необозримого ИИ в небольшом, если сравнивать с количеством коэффициентов в формулах нейросети, тексте на естественном языке, сама может оказаться столь же необозримой. А значит, к ней применимы те же рассуждения, и соответствующий процесс вряд ли быстро сойдётся.

При этом, скорее всего, каждый естественный язык является проявлением общей универсальной структуры, которая не может быть видна из “плоской”, – пусть при этом и слоистой, – статистики слов и словосочетаний, построенной алгоритмом (Хомский и др.). А это оставляет большие шансы для успешной имитации человеком текстов, которые универсальная программа-детектор могла бы, при прочих равных, посчитать результатом работы компьютерной нейросети.

К задаче возможно подойти и с другого направления, которое, впрочем, тоже экстремальное: всякий сгенерированный упомянутым компьютерным способом текст представляет собой перестановку слов, выполненную по некоторым правилам (полученным статистической обработкой, но это детали). Соответственно, предельный вариант – это предложение создать программу, которая по корректно отсортированному массиву произвольной длины смогла бы определить конкретный алгоритм, которым данный массив был отсортирован. Понятно, что это невозможно. Для того, чтобы возникли какие-то зацепки, в массиве должны быть хотя бы “ошибки и дефекты”. Но всякий набор “ошибок и дефектов”, подходящий для анализа программой-детектором, может внести и человек, пусть и с помощью ещё одной программы. В общем, тут опять получается известная диагонализация: даже если сузить применение детектора на хорошо известные генераторы текстов, всякий подобный алгоритм детектора можно встроить в тот самый генератор в качестве нового слоя, так что начнут выходить тексты, вводящие детектор в заблуждение. Другими словами: если у вас появилась программа-детектор, которая с высокой точностью классифицирует тексты, сформированные “нейросетевыми генераторами”, то вы можете либо поместить эту программу внутрь другой программы, получив возможность автоматически генерировать тексты, которые (по определению) будут классифицированы как “написанные человеком”, либо силами уже человека формировать текст, который детектор сочтёт продуктом нейросети (см., кстати, решение десятой проблемы Гильберта).

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

Так что, к сожалению, высокоточные детекторы “текстов от нейросетей” вряд ли появятся. Кроме, конечно, детекторов, которые работают на “водяных знаках” – специальных криптографических метках.



Комментарии (1) »

Всякое нечётное простое число можно записать как 11. Главное – правильно выбрать основание системы счисления. Например, 11 в двоичной – это три, простое число. (Заметьте, что запись чисел текстом предоставляет удобный способ избежать указания на основание и используемую систему, а вот запись текстом значений цифр – не позволяет такого.) В шумерской (вавилонской) системе, по основанию шестьдесят, цифра для 1 другая, но её можно вывести при помощи Unicode: 𒁹. Кстати, число, записываемое при помощи 67 (десятичная система) символов шумерских единиц с пробелами, которые обособляют разряды, полупростое:
𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹 𒁹
– а именно:
10942346421770308578818295975662675564975953490189742748487096625851 *
211919687148608455429372273841730969897555787140311 ==
2318898630373258980428992200086672458938582331333684067796610169491525423728813559322033898305084745762711864406779661

Пробелы нужны вот почему: 𒁹 𒁹 𒁹 == 3661 == 60^2 + 60^1 + 1; однако 𒁹𒁹𒁹 == 3.



Комментировать »


Комментировать »

К прошлой записке на тему переводов с древнегреческого, где речь о том, какие собаки описаны в гомеровском произведении – белые или проворные (κύνας ἀργούς). Интересно, что тот же самый фрагмент из “Илиады” приводит в пример Аристотель в своей статье “Об искусстве поэзии”. Аристотель упоминает не собак, а “мулов” (οὐρῆας), которые в тексте Гомера указаны раньше, но это буквально соседние слова и то же самое предложение. А именно, Аполлон там стрелами “мулов же прежде настиг и собак проворных/белых” (дословный перевод исходника – οὐρῆας μὲν πρῶτον ἐπῴχετο καὶ κύνας ἀργούς). Аристотель предполагает, что “мулами” Гомер называет охрану и это просто такой поэтический приём, который объясняет, почему “мулы” первыми пострадали: потому что это не мулы, а охрана, видимо, выставленная на подступах и, таким образом, подвернувшаяся мчащемуся с Олимпа Аполлону раньше других. Ну и у подразделений охраны вполне могли быть собаки, пусть даже и проворные. Впрочем, это только одна из возможных трактовок. К тому же, как я понимаю, предположение Аристотеля о превращении “мулов” в “стражей” считается сейчас сомнительным, так что собаки могут оставаться белыми – “придёт серенький волчок”, как говорится.



Комментировать »