Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Сейчас нередко СМИ (и не только) пишут, что так как та или иная система ИИ LLM (GPT) “сдала официальный экзамен” по какому-нибудь предмету, то “интеллект” этой системы соответствует уровню старшего школьника или студента. Недавно обновилась известная и достаточно продвинутая, по меркам данной области, LLM GigaChat. Зададим данной системе через официальный telegram-бот несложную задачу для школьников. Транскрипт – ниже.
User1:
Вот задача.
Борис заглянул в магазин, который книги продаёт. Взял первую книгу и прочитал название. “Моя первая книга” – такое название написано на обложке. Тут Борис подумал, что он теперь стал Сироб и будет все названия книг читать наоборот, то есть, в другую сторону. А начнёт – с первой книги. Приведи название книги, как его прочитал Сироб.GigaChat:
Название книги, прочитанное Сиробом, будет звучать как «Одара 1 моя».User1:
Кто такой Сироб?GigaChat:
Сироб не является известным историческим или общественным деятелем, и в доступных источниках нет информации о том, кто это может быть. Возможно, это имя было использовано в контексте задачи или игры, но без дополнительной информации невозможно дать точный ответ на данный вопрос.
Что ж, LLM, так сказать, уверенно действует на своём уровне – генерирует текст. Как я не раз писал ранее – основная “угроза ИИ” не в том, что данным LLM приписывают “уровни интеллекта”, не в том, что увеличивается количество задействованных процессоров и памяти под хранение коэффициентов, а в том, что таким программам неминуемо поручат важные задачи, типа помощи абитуриентам ВШЭ в “выборе профессии и образовательной программы” (что уж там говорить про медицинскую диагностику).
Комментарии (1) »
Воскресное чтение манускриптов. В этот раз у нас “кубос” с полей (буквально) манускрипта одиннадцатого века Vat.gr.1605. Данный фрагмент относится к труду “Геодезия” неизвестного автора, которого обычно называют Героном Византийским, а “кубос” (κύβος), как не трудно догадаться, иллюстрирует метод вычисления объёма, причём числа не просто записаны привычными древнегреческими буквами, но ещё и аккуратно расставлены, что называется, “по флагам” (это точно соответствующий математический термин – не хватает тут только вершины).

Сторона куба на схеме имеет длину 28 (κη) единиц. Площадь двумерной грани, соответственно, 784, что и обозначено на чертеже ψπδ, а объём трёхмерного куба равен 21952 единиц. Интересно, что если на схеме 21952 обозначено с использованием β + αϡνβ, то в тексте это число записано, буквально, так: “две мириады и тысяча 952” – то есть, словами обозначены мириады и тысячи, а остаток – “цифрами”, в роли которых выступают греческие буквенные обозначения. И здесь, – в записи числа 952, – можно заметить символ “ϡ” (“сампи”), который соответствует числу 900 и в привычный греческий алфавит не входит.
Комментировать »
Как ни странно, но продолжает развиваться тестовый сервер TLS 1.3 – добавил поддержку ещё пары гибридных криптосистем с постквантовой стойкостью: P256Kyber768 и P384Kyber768. До этого сервер поддерживал только X25519Kyber768, которая есть в Chrome/Chromium (и на веб-серверах Google, например). Два новых варианта – совсем редкие.
Удивительно, но P384Kyber768, тем не менее, заявлена в свежих версиях браузера Microsoft Edge под Windows, где включение данной криптосистемы спрятано за флаг (chrome://flags). Да, Edge построен на базе Chrome/Chromium, однако в TLS-стеке там есть дополнительная постквантовая криптосистема. При этом, у P384Kyber768 пока нет индекса в реестре IANA, а у ещё более редкой, в плане поддержки, P256Kyber768 (то же самое, но кривая P-256) – индекс (0x639A) уже имеется.
Вообще, гибридные P256Kyber768 и P384Kyber768 устроены аналогично X25519Kyber768: тут часть Kyber768 вообще совпадает, а в качестве присоединяемого протокола Диффи-Хеллмана (DH) выступают, вместо X25519, ECDH/P-256 и ECDH/P-384.
На сервере я попутно исправил старую ошибку с обработкой точек кривой P-521, из-за которой поддержка DH на этой кривой была давно выключена (это не связано с постквантовыми криптосистемами). Теперь она снова включена – такую версию ECDH использует Firefox.
Изменена обработка TLS-записей, составляющих ответ. Теперь веб-страница с сервера, в большинстве случаев, приходит в нескольких TLS-записях. Это довольно занятный момент: из-за использования постквантовых криптосистем, HTML-ответ, в котором перечисляются ключи и сообщения, теперь может быть довольно большим. Представьте, что клиент приходит с заявленной поддержкой X25519Kyber768 и P384Kyber768, при этом сразу присылает ключи в X25519Kyber768 (1216 байтов). Однако сервер предлагает перейти к P384Kyber768, отправляя HelloRetryRequest, после чего клиент присылает уже ключи P384Kyber768 (ещё 1249 байтов). Всё это должно отразиться в результатах на странице. Чтобы, так сказать, выровнять результаты с постквантовыми криптосистемами и без них – я уменьшил максимальную используемую длину TLS-записи.
Сомневаюсь, что можно найти типовой популярный браузер с большим разнообразием поддерживаемых постквантовых “гибридов”, но вот рабочую сборку curl в контейнере – найти нетрудно (там же, кстати, есть и пара специальных сборок браузеров).
Комментировать »
Вышли небольшие обновления тестового сервера TLS 1.3 tls13.1d.pw. А именно: в вывод результата добавлен разбор расширений ClientHello signature_algorithms (выводятся названия известных алгоритмов подписи) и ALPN (выводятся имена протоколов).
Комментировать »
Google уже некоторое время назад для многих пользователей заменил поисковую выдачу на результаты некоторой системы ИИ (LLM), которая генерирует ответы на запрос, “синонимизируя” собранные в интернетах тексты. Не слишком довольные нововведением пользователи извлекли из новой системы массу неверных, абсурдных ответов. И из Google опубликовали разъяснение, что пользователи не совсем правы. В этом разъяснении, на примере запроса “How many rocks should I eat?” (“Сколько камней мне следует есть?”), объясняют, что причина абсурдных, неверных ответов в том, что, во-первых, это редкий запрос (!), во-вторых – для такого запроса в вебе опубликовано мало релевантных данных (да):
Prior to these screenshots going viral, practically no one asked Google that question. […]
There isn’t much web content that seriously contemplates that question, either. This is what is often called a “data void” or “information gap,” where there’s a limited amount of high quality content about a topic.
(До того, как эти скриншоты [т.е., с ответом ИИ про рекомендуемое к ежедневному поеданию количество камней] стали “вирусными”, практически никто не задавал Google такой вопрос. Кроме того, в вебе не много контента, который серьёзно рассматривает такой вопрос. Это то, что часто называют “лакуной в данных” или “информационным пробелом”, когда имеется ограниченное количество тематического контента высокого качества.)
Казалось бы, “интеллект” – он на то и “интеллект”, – тем более, в сервисе поиска информации, – что должен выдать ответ о наличии тут той самой лакуны (“data void” – называть можно так, или иначе, но смысл один), предупредить, что данные в вебе не позволяют судить о данном вопросе “со всей серьёзностью”. Но нет: ИИ LLM – не для этого.
Комментировать »
Docker Hub заблокировал доступ с российских IP-адресов. Последовало множество насмешливых инструкций в стиле “простейшего перехода на зеркала и прокси”. Проблема тут, впрочем, привычная: в практике Docker, в сопутствующих скриптовых обвязках (всякий CI/CD), и так не всё хорошо с аутентификацией источников сборок и самих “контейнеров”. Методы, типа DCT (Docker Content Trust), конечно, есть, это известно. Вопрос в их эффективности и использовании на практике. А прокси и “разбегание” зеркал – тут только добавляют ненадёжных слоёв. Кстати, целевые манипуляции часто удобнее проводить именно с точками выхода прокси и точками входа зеркал (вспомните, как работает разное перемешивание и, скажем, onion routing – тут ситуация обратная).
(Update, 09/06/24: доступ вернули через несколько дней.)
Комментарии (2) »
Небольшое техническое сообщение. Предположительно (!) (но вполне вероятно), что в относительно скором времени у меня не будет возможности продлевать регистрацию домена dxdt.ru. Домен этот я зарегистрировал в апреле 2004 года, но с тех пор времена и правила заметно изменились. Я не склонен переоценивать значимость сайта под данным доменом, но знаю, что записки, которые здесь иногда появляются, кто-то всё ещё читает. Поэтому и решил (несколько заранее) опубликовать это сообщение, чтобы, – если что, – не выглядело “внезапным исчезновением”. Отдельно отмечу, что если разделегируется dxdt.ru, то, соответственно, из заметных ресурсов, не будет доступен и tls.dxdt.ru – техническое описание TLS (впрочем, я там обновлений не планирую, так или иначе).
Пока продолжу публикации здесь. Если получится, то попробую перенести под другое имя, но это вряд ли.
Comments Off on Про домены и dxdt.ru
NRO (штатовская военно-космическая разведка) продолжает выводить на околоземную орбиту свою специальную часть от более общей программы, связанной со Starlink от SpaceX. В этот запуск отправили, насколько можно понять, несколько десятков аппаратов. Вообще же речь тут про сотни спутников, которые, скорее всего, используют некоторые базовые компоненты, совпадающие со спутниками Starlink, а также разделяют со Starlink, как системой, технологии запуска и управления. Эти спутники выводят на низкую орбиту (от 300 км), так как задумана именно близкая к поверхности, быстрая система, которая позволит эффективно решать задачи разведки новыми способами: много точек наблюдения, обеспечиваемых работающей синхронно однотипной аппаратурой.
Я не так давно писал, что “сетевые спутники” на низкой орбите – это весьма мощный инструмент, поскольку они и всеракурсные, и находятся близко к поверхности (о чём постоянно, почему-то, забывают, переводя внимание на самолёты), и точность позволяют существенно улучшать при помощи согласованной обработки данных, и более надёжны, как система (много одинаковых независимых элементов – логически, кстати, похоже на АФАР). Например, такая конфигурация позволяет противодействовать всякому “затенению” в результате действий других аппаратов. Что, впрочем, работает и в другую сторону: спутники сами могут выступать в роли платформы поддержки РЭБ, не только по земле, но и в сторону прочих космических аппаратов, в том числе, находящихся на более высоких орбитах. А уже запущенная, “официальная” система Starlink тут может оказывать всестороннее содействие: предоставлять каналы связи, сигналы для точного наведения (наземные терминалы) и так далее.
Комментировать »
Кстати, насчёт “признаков делимости” в YandexGPT и “интеллекта” в LLM вообще. Исходная фраза, которую сгенерировало YandexGPT в контексте поиска “решения” некоторой “невозможной” задачи с числами, такая: “число делится на 2 и на 11, а значит, делится и на 3”. Описание задачи, к сожалению, не сохранилось. Но это и не важно. Естественно, к самим числам в задаче сгенерированная фраза никак не могла быть применена. Данная оговорка тут на тот случай, если кто-то (вполне справедливо) предположит, что под описанную ситуацию делимости нетрудно подобрать условия задачи: типа, в условии может быть сказано что-то вроде “есть несколько чисел, все чётные из которых кратны шести, а некоторые могут быть записаны с использованием только двух различных десятичных цифр” и т.д. Но нет.
Конечно, нетрудно догадаться, как упомянутый фрагмент был сгенерирован LLM: в интернетах очень много текстов, содержащих обороты вида “число”, “число делится на”, “и на”, “а значит” и т.д., и т.п. Эти же тексты, очень часто, содержат и цифры. Система LLM работает не со словами, а с так называемыми “токенами”, слову может соответствовать несколько токенов (может случиться и наоборот, как ни странно; вообще, способы “токенизации” составляют очень важную часть данной технологии генерирования текстов). Есть токены от “цифр” (записи чисел в тексте), или от склеек букв с цифрами. Токены собираются в цепочки не просто по вероятности, но с добавлением элемента случайности и подмешивания прочих элементов, добавляющих мнимой оригинальности в выдачу генератора текстов. Возвращаемся к исходной фразе: какие-то обороты “про делимость” попали по токенам в выдачу, и тут же затесались посевдослучайным образом какие-то другие токены, выдавшие цифры (1 и 1, 2, 3). Получилась “оригинальная” фраза.
Понятно, что признаки делимости алгоритмизируются точно. Возможность создания такой алгоритмизации как раз является одним из аспектов подлинно разумной деятельности. А проблема с применением ИИ тут в другом: даже минимально “интеллектуальный” автомат должен был бы определить, что не может вывести хоть бы примерно применимый к заданному контексту текст, и сообщить об этом. Однако в генеративных LLM нет и не может быть никакого контекста уровнем выше таксономии токенов, которые программа преобразует при помощи мешанины коэффициентов.
Не слишком сложно составить и представление о том, как в генераторах с LLM вообще возникают “оригинальные тексты” – то есть, грамматически корректные сочетания слов, которых не было в исходных корпусах, взятых для “обучения”, – и о том, насколько эти тексты связаны с исходными задачами, равно как и с интеллектом. Рассмотрим условную “обучающую выборку”, которая состоит из следующих текстов (коротких фраз): “лис сел на пень”, “жук сел на сук”, “медведь сел на муравейник”, “заяц проплыл на лодке”, “жук залёг под дерево”, “сом залёг на дно”, “сом проплыл под веслом”. Слова из этой выборки отображаются в токены, а LLM генерирует свои фразы, исходя из предполагаемой вероятности того, что один токен следует за другим, переставляя при этом токены (см. ниже). Вероятности здесь происходят из того, что за словом “сел”, согласно обучающей выборке, с вероятностью единица следует “на”, за словом “жук” – с вероятностью 1/2 следует “сел” и так далее. Вероятности записываются в таблицы, где, в самом примитивном варианте, значение вероятности выбора для следующего токена зависит от предыдущего (этому соответствуют марковские цепи, которые и задаст двумерная таблица).
Это очень упрощённое описание, но оно отражает суть: уже склеивая токены по заданным вероятностям в данной элементарной схеме, программа может получить фразы “жук залёг под веслом” и “сом проплыл на сук”, которых нет в исходной выборке. Более того, если предположить, что какие-то склеиваемые токены “короче” слов, то можно представить, как может возникнуть фраза “сом засел на муравейник”. Вариант с марковскими цепями не подходит для LLM, поскольку для впечатляющих публику результатов нужно окно из многих токенов. То есть, выбор следующего токена зависит от многих предыдущих токенов, составляющих только что сгенерованную фразу. Но если для формирования распределения вероятностей по словам или токенам считать все варианты, то количество возможных сочетаний (факториал) практически сразу становится неподъёмным даже для тех огромных вычислительных мощностей, которые принято задействовать в этой области. И поэтому используют аппроксимирующие наборы формул с подобранными коэффициентами, называемые “нейросетями”.
Комментировать »
Если кто-то сомневается в стремительности наступления Нового средневековья, то вот ещё свежий пример: Высшая школа экономики (ВШЭ) предлагает использовать предоставленную “Яндексом” говорилку-синонимайзер, которая даже признаки делимости не обрабатывает, для того, чтобы “выбрать профессию и образовательную программу абитуриентам”.
То есть, сначала говорилки, построенные на генераторах псевдослучайных цепочек слов, “обучали”. Потом объявили, что говорилки обучились и “успешно сдают экзамены” (ЕГЭ, например; это при том, что такая говорилка не сможет даже найти на столе и заполнить анкету). Видимо, сдавшие экзамены говорилки можно использовать для работы с абитуриентами. А на следующем шаге – уже и непосредственно в процессе обучения обучающихся (“человеков”). Нейросеть с LLM и сейчас способна читать лекцию. Непрерывно. По любому, вообще говоря, предмету, даже по полностью вымышленному.
“В дальнейшем университет планирует использовать сервис YandexGPT API и в других задачах — например, чтобы рекомендовать студентам подтянуть знания по тому или иному предмету на дополнительных курсах или давать советы по темам выпускных квалификационных работ” – написано в тексте новости.
В советском мультике из серии “Простоквашино” (1978 г.) Галчонок, представляющий собой автоматическую говорилку с обучением, смог переключить мышление почтальона Печкина между уровнями осознания, да ещё и в свою, – Галчонка, – пользу. То ли ещё будет.
Комментировать »
Новый