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

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

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

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



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

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

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

Забавно выглядит уровень исполнения электроники усилителя (см. видео и картинку ниже): то есть, выглядит это действительно так, как самая что ни на есть “ручная работа”, и при этом маркировка на некоторых компонентах спилена (old-school). Огромных электронных ламп не просматривается, реализовано на полупроводниковых элементах и обычных проводках (проводки, похоже, почему-то без экранов).


(Скриншот из видео.)

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


(Скриншот из видео. Транзистор “обезличен”: вообще, все такие транзисторы заметно различаются по характеристикам, даже внутри одной партии; заметность этих различий, конечно, возрастает в “малошумящих схемах”.)

А вот предназначение множества микропереключателей, имеющихся на корпусе, в данном видео всё же не раскрыто.

(Найдено на Hackaday.)



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

Трудности анонимизации реальных данных в реальных условиях полезно демонстрировать на примерах, в том числе, на условных примерах. Вот такой пример, очень простой.

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

Исследователи “обезличенных данных”, извлекая шары из урны, могу считать, сколько у “некоторой персоны” имеется объектов-шаров, но определить, кому именно из реальных персон принадлежат объекты в заданном количестве – не могут. Это действительно так. Более того, описанный метод, в разных версиях, очень широко используется и считается хорошим инструментом анонимизации данных.

В нашей учебной схеме – три персоны. Так что, предположим, в урне обнаружено 11 зелёных шаров, 13 синих, и 27 красных. Исследователи записывают эти данные. Заметьте, что исследователи могут различить все три персоны (A, B, C). Если бы это было не так, то и анонимизации с шарами не потребовалось бы – просто не возникало бы необходимости: весь смысл обезличивания тут в том, чтобы “отсоединить” данные от конкретных узнаваемых персон. Из-за обезличивания данных исследователи не имеют возможности ответить на вопрос, сколько у конкретной узнаваемой персоны объектов, обозначенных шарами. Ну, пока что не имеют такой возможности.

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

Теперь в урне 10 красных шаров, 13 синих и 28 зелёных. Думаю, уже всё понятно.

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

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

Ещё один хороший пример, регулярно всплывающий, это обезличивание “геопривязки”, о чём я писал ещё в 2009 году.



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

Двадцать лет и сайт dxdt.ru

Как я уже в этом году упоминал, dxdt.ru – двадцать лет. В 2024 году. И как домену, и как веб-сайту. Опубликовано 3147 записок, если верить статистике WordPress.

С Интернетом я непосредственно столкнулся несколько раньше, чем запустили глобальный веб, так что есть и разработанные мной сайты постарше dxdt.ru. Некоторые из них выигрывали призы конкурсов, а некоторые я даже продолжаю поддерживать в доступности (да, и домены тоже есть постарше). Но вот только на dxdt.ru всё это время, в более или менее регулярном режиме, я продолжаю что-то сам публиковать. Что-то вроде блога всё это время более или менее здесь работает. Да, “более или менее” – тут не просто так: случались и достаточно длительные интервалы заморозки, но всё же.

Сайт dxdt.ru изначально, в 2004 году, выходил в другом формате: тут были небольшие заметки о разных научно-технологических новшествах или разработках, сопровождавшиеся картинкой. В принципе, я даже нашёл резервные копии – так что можно было бы добавить публикации в архив текущего сайта (естественно, что-то нетрудно обнаружить в глобальном веб-архиве, пока он ещё цел). Но, думаю, подобная модификация будет лишней: пусть действующий архив сайта так и идёт с 2006 года. А с 2006 года он идёт потому, что где-то в 2006 году я перенёс на dxdt.ru записки из своего блога в ЖЖ (“Живой Журнал”), сделав, в дальнейшем, dxdt.ru основным ресурсом для таких публикаций.

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

Лучшая записка за всё это время, по моему мнению, как автора: «О визире и слоне».

А есть и подборка других избранных записок.



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

Диалог.

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

– Сто процентов.

– То есть, примерно, сто процентов, так?

– Нет. Точно сто процентов. Единица.

– Почему?

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

– В задаче про это ничего нет.

– Люди, тянущие карты, никак не связаны с сутью вопроса? Зачем тогда ставить такую задачу?

– Ладно. Сформулирую иначе: пятьдесят четыре человека в разных частях города одновременно тянут карту из колоды. Какова вероятность, что хотя бы двое вытянули джокера?

– Сто процентов. Единица.

– Опять?

– Они одновременно тянут карту?

– Да.

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

– Как может одна и та же колода быть в разных местах города одновременно?

– Но так сказано в задаче.

– Нет там ничего такого: в задаче сказано, что одновременно и в разных местах города.

– Вот. Я же говорю: колода одновременно в разных местах, по условию задачи.

– Не-е-т! Это же я такие условия добавил, чтобы исключить возможность перемещения колоды. Тут заведомо разное местоположение. И, следовательно, разные колоды.

– А тут важно не понятие о местоположении колоды. Важно, что раз они тянут одновременно, то это означает, что из одной колоды. И они поэтому все должны вытянуть разные карты. Двое обязательно вытянут джокера.

– Но нигде не сказано, что из одной колоды!

– Как же не сказано? Всё сказано. Одновременно же тянут? Значит, это одна колода.

– Они тянут из разных колод.

– Какая тогда разница? Как можно говорить про одновременность и спрашивать про “общую” вероятность вытянуть карту, если это разные колоды? Что-то вроде: двое шли по дороге, один – через Мохаве, а второй – через Сахару. Какова вероятность, что в прошлом году они в четверг участвовали в санкт-петербургской лотерее?

– Какой-то абсурд.

– Поэтому-то колода – одна, хоть и виртуальная, взятая относительно всех событий вытягивания карт. В конце концов, именно так работает некий квантовый эксперимент с неравенствами Белла.

– Теперь ещё и квантовая механика. Нет. Тогда строго потребуем, чтобы колоды были разные. Не важно, виртуальные там, реальные. Разные. Карты тянут из разных колод, а мы хотим определить, какая такая вероятность, что хотя бы двух джокеров вытянули.

– В колоде пятьдесят четыре карты, верно?

– Да. В каждой колоде.

– Пятьдесят четыре человека?

– Да. У каждого своя колода. Каждый взял её со своей полки.

– Значит они вытянут все карты. Кому-то достанется джокер, и ещё кому-то – другой джокер.

– Не-е-т. У каждого. Своя. Колода.

– Это очень сложно понять. Допустим, если так, то двух джокеров никто не вытянет, потому что каждый вытянет только одну карту из своей колоды и они, соответственно, не могут одновременно тянуть карты, кроме того, нельзя сравнивать джокеров из разных колод.

– Уже лучше. А какая тогда вероятность, что один тянущий вытянет джокера с первой попытки?

– Одна пятьдесят четвёртая.

– Отлично. А теперь – одновременно тянут пятьдесят четыре человека из разных колод. Какая вероятность?

– Сто процентов: кому-то обязательно достанется джокер.

– Как так может быть?

– Ещё раз: из разных колод невозможно одновременно тянуть карты. Пятьдесят четыре человека могут одновременно что-то тянуть только из одной колоды. Им может казаться, что колоды разные. Вспомни про квантовую механику, эксперименты и неравенства Белла. Тут важно событие вытягивания карты: раз это, как бы, одновременное событие, то и колода может быть только одна. Это же очевидно. Одновременность подразумевает связь между событиями. Тем более, если это одновременность, установленная в противоположность перемещению в пространстве. Связь возможна тогда, когда колода одна и та же, но она только кажется разными колодами, потому что эти пятьдесят четыре человека так видят. Они так видят из-за того, что оказались в разных местах города. Или думают, что оказались в разных местах. Они, получается, видят только срез общего хода вещей – ну и вот им кажется, что это разные колоды. Но они не могут вытянуть одинаковые карты – свойство колоды такое, что каждому достанется своя уникальная карта. Хорошо, предположим, для уточнения локальной логики, что эти колоды ощущаются разными – такие вот “условные колоды”. Тогда то, что кто-то вытянул десятку пик, означает, что из всех остальных “условных колод” десятки пик исчезли. Уф! Так понятно?

– Но ведь стоит лишь посмотреть на карты, чтобы убедиться, что десятки в других колодах остались!

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

– Не всё ли равно? Каждый и так может вычислить, какие карты остались в колоде, после того, как десятка пик ушла. Это нетрудно.

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

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

– Сто процентов. Единица.



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

Кстати, ECH для TLS я достаточно подробно, – но, вместе с тем, популярно, – описывал в отдельной статье на сайте ТЦИ в 2021 году. Описание там дано в контексте развития “этих интернетов”, начиная от ESNI, что, на мой взгляд, весьма полезно.



Comments Off on Ссылки: популярное описание ECH

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

Иногда, деятельности корпораций на данном направлении мешают пчёлы. Редкие пчёлы. Это звучит загадочно. Например, как пишет Ars Technica, именно редкие, охраняемые пчёлы нарушают планы Meta/Facebook по закупке на корм ИИ электроэнергии сразу вместе с атомной электростанцией: колонии пчёл обнаружились в районе, предлагаемом для строительства дата-центра. Чтобы не тревожить насекомых – от строительства могут и отказаться. Так написано.

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



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

Языки программирования на GitHub, рейтинг 2024 года: всех обогнал Python, что и понятно – первая же главная тенденция, упомянутая в отчёте GitHub, – рост активности по разработке AI/ИИ. Я GitHub, в смысле публикации результатов, практически не использую (кроме того, конечно, что это типовой источник исходных кодов и других весьма полезных данных), а вот языки программирования – использую. Python, который с первого места рейтинга, – использую регулярно, но по чуть-чуть: в основном, потому что это входной язык SAGE (система компьютерной алгебры), но и потому, что весьма удобно написать какой-то быстрый демонстрационный скрипт, иллюстрирующий работу с тем или иным API.

На втором месте рейтинга – JavaScript. Постоянно теперь использую, так как он среди основных языков в паре проектов, к которым я имею непосредственное отношение.

Третье место – TypeScript. Не использую, однако специфический код, хоть и редко, но попадается.

Четвёртое место – Java. Очень давно не использую. Однако с кодом на Java сталкиваюсь не так редко, как хотелось бы.

Пятое место – C#. Очень и очень давно не использую, не попадается.

Шестое место – C++. Иногда использую, в том числе, всякие “варианты” для Arduino и др. Код попадается постоянно. Вообще, я согласен с известным мнением, что основной недостаток “плюсов”, как явления, в том, что никто их реально не знает (буквально).

Седьмое место – PHP. Иногда использую: например, dxdt.ru работает на WordPress, а это PHP.

Восьмое место – Shell. Что бы это ни значило, однако большие bash-скрипты – и пишу, и использую постоянно.

Девятое место – C. Регулярно использую (см. комментарий к шестому пункту выше). Постоянно требуется смотреть в код на C. Для криптографических инструментов, системных сервисов – всё ещё основной язык подлинной документации (а не “руководства пользователя”).

Десятое место – Go. Сейчас у меня это основной используемый язык, он был бы на первом месте, но в рейтинге GitHub – почему-то на десятом.

Perl не попал в десятку. Шутка. Ну, то есть, действительно не попал, а я иногда использую, но гораздо реже, чем разные ассемблеры. Впрочем, Rust в десятку тоже не попал (пока так и не использую, но код иногда читать приходится).

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



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


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

Как технологии “уровня приложений” помогают что-то узнавать про базовый уровень Интернета, то есть, про IP? Вот свежий пример того, как именно: на стороне веб-серверов поддержка постквантовых криптосистем в TLS есть у Cloudflare; соответственно, увидев на уровне веба для каких-то IP-адресов поддержку X25519Kyber768, можно предположить, что за этими IP-адресами скрываются системы Cloudflare, пусть адреса напрямую за Cloudflare и не записаны; сделав же такое предположение – можно подтвердить (или опровергнуть) его другими способами, скажем, через анонсы BGP и т.д. Полезный инструмент.

Вообще, что касается ветки “опровергнуть”: конечно, тот же Kyber768 есть, скажем, и у меня на тестовом сервере, который не за Cloudflare (но, кстати, их низкоуровневую библиотеку c Kyber и ML-KEM я всё же использую, так что влияние есть и тут); раз есть и где-то ещё поддержка, то можно и ошибиться. Можно, но тогда, скорее всего, там окажется Google – обособленных узлов, реализующих новшества, крайне мало, их количество начинает расти только тогда, когда поддержка появляется в распространённых линейках веб-серверов (Apache, nginx и др.). Но всё та же компания Cloudflare выступает тут локомотивом: ничего не поделать, поскольку именно наличие собственной полноценной разработки на всех базовых уровнях только и позволяет говорить что-то о практическом владении технологией. К сожалению, данный момент сейчас почти повсеместно замылен: факт прикручиваения “готового движка” теперь нередко является мерой “освоения технологии” (хорошо, что хоть не прикручивания “шильдика”).

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



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

На сайте ТЦИ опубликована моя статья «Постквантовые криптосистемы в TLS и не только». Там про ML-KEM и вес ключей, а также о сертификатах и, – немного, – о квантовых вычислениях. Цитата:

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



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