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

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

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



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

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

Пример: есть база данных (БД), в которой записан рост людей из комнаты, с точностью плюс/минус пять сантиметров; хорошо ли эти данные помогают различать людей в рамках воображаемой комнаты? Вообще, разнообразие роста велико, но есть некоторый интервал, в который попадает очень много людей. Поэтому, в комнате окажется много людей как бы одинакового роста, в терминах нашей БД, тем более, что рост, по условиям, укладывается в плюс/минус пять сантиметров. Однако, если в комнате присутствует человек ростом 205 сантиметров, то, если это не встреча баскетболистов, скорее всего, персону нетрудно будет связать с записью из базы – интервал от 200 до 210 сантиметров не слишком-то заселён. Теперь, если в базе присутствовали данные о росте (плюс/минус – для “обезличивания”) и, скажем, фамилия, имя и отчество, то можно будет подойти, и к человеку высокого роста обратиться точно по имени. (Понятно, что знание ФИО вообще позволяет устроить перекличку, но Константинов Каретиных, предположим, может оказаться несколько.)

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

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

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

Данный мысленный эксперимент не является универсальным, но неплохо работает и для других видов данных, вплоть до сведений о покупке деловых костюмов, – попробуйте сами.



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

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

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

(Кстати, близкий пример из области полупроводниковых схем – изменение проводимости, невидимое при “исследовании топологии”. Но, конечно, относится не только к микроэлектронике.)



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

Когда обсуждают низкоорбитальные спутники, то нередко забывают, что это хоть и космический спутник, но, как точка наблюдения, он оказывается очень близко к наблюдаемой наземной территории: например, высота Starlink – около 550 км, а была и заявка на 340 км, ещё ближе. То есть, тот же Starlink, это такой универсальный орбитальный сенсор, построенный на тысячах спутников, который находится на дистанции, сравнимой с параметрами лучших из современных авиационных РЛС. И спутник может оказаться сильно ближе, чем способен подойти разведывательный самолёт или беспилотник.

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

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

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

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

Кстати, что касается помех: сеть пассивных орбитальных приёмников, если они используют достаточное разрешение по времени в схемах преобразования сигнала, позволит определять координаты источника помех, даже если сигнал – просто шум. Если же сигнал помехи имеет хорошо обнаруживаемую структуру, то задача упрощается. Понятно, что аналогичным образом можно использовать не помехи, а рабочие сигналы РЛС (и не только РЛС).

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

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



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

Кстати, есть весьма полезный пример, показывающий различие между формулами, компьютерами и интерпретацией формул. Его удобно приводить в качестве иллюстрации к объяснениям про “компиляторы, регистры, транзисторы и ячейки с битами”. Отчасти относится к предыдущей заметке. Сравним запись (a == b) с записью ((a – b) == 0). Например, в контексте записи и компиляции исходного кода на том или ином языке программирования: if (a == b) {…} и if ((a – b) == 0) {…} – известно, что результаты вычисления условий в таких if-ах на практике могут различаться; причём то, как именно они различаются, зависит и от языка, и даже от используемого системного окружения.

Наивная арифметическая логика тут такая: “a равно b, когда a-b == 0”. Но тут многое спрятано внутри. Во-первых, никто же не сказал, какого типа объекты a, b; во-вторых, не определено, что это за операция “-“; в-третьих, с равенством, как понятием, вообще говоря, тоже есть масса тонкостей. Так, в записи использован двойной знак равенства “==” – он означает какую-нибудь “эквивалентность”?

Знак “=” – один из самых сложных, с точки зрения машинной интерпретации. Собственно, поэтому и возникли “==”, “===”, “:=” и прочие сочетания. Вот если написано “f = m+n”, то что тут имеется в виду? Что “f” – это “формула” (или даже “функция”), имеющая вид _ + _? Или запись обозначает, что имя “f” нужно использовать как синоним для строки “mn”? Или это условие, которое обозначает проверку того, что число под именем “f” равно сумме чисел под именами “m” и “n”? Или какой-то другой вариант?

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

Однако, если не заходить далеко в орнитологическую область, а остаться с компьютерами, то и тут не нужно даже вспоминать теоретическую математику, чтобы символ “==” начал расплываться: достаточно того, что компьютеры, через языки высокого уровня, работают и со строками символов (что бы это ни значило). Сравнение строк требует дополнительных соглашений, с которыми сталкивались даже многие пользователи персональных компьютеров. Причём процесс тут двунаправленный, приводящий к занимательным эффектам: вспомним, что во многих случаях заглавные и строчные буквы ASCII считаются одинаковыми. Тогда строка “AbC”, выходит, равна строке “ABc”, пусть тут и некоторое видимое свойство перешло на соседнюю букву; но это означает, что “ABC” является повторением “Abc”, и хоть битов для записи нужно больше, ничто не мешает на каком-то этапе обработки переписать “ABC” как “abc” – что сплошь и рядом делается в программировании, а побочный эффект используется для защиты DNS-запросов, сколь бы странным это ни показалось.

А ведь “==” может предусматривать неявное приведение типов при сравнении, что прямо относится к не менее школьным, хоть и некоммутативным, задачам про апельсины в ящиках (например). Потому и появляются “===”, а также и используемые в теоретической математике “:=”, означающие не столько “равенство”, сколько определение. Что же про вариант (a-b) == 0, то тут, как минимум, ясно, что требуется ввести много дополнительных соглашений, чтобы определить вычитание. Особенно, для строк. Но и без строк в компьютерном представлении возникнут новые, занимательные эффекты, иногда полезные, иногда – неожиданные.

Вот и вернёмся к языкам программирования и представлению чисел в компьютерах. Известно, что уже в языке Python попытка признать (a-b) == 0 и a == b эквивалентными наталкивается на тот самый, занимательный, эффект:

import math
a = math.pow(5, 55)
b = 5 ** 55

print(a == b)
print((a - b) == 0)

Эта нехитрая программа печатает следующий результат (Python 3.9, Debian 11):

False
True

Так что здесь a хоть и не равно b, но зато (a – b) равно нулю. Что происходит? Происходит вычислительное сравнение, на которое влияет представление чисел внутри Python, переполнение и автоматическое (неявное) преобразование типов:

a == 2.7755575615628914e+38
b == 277555756156289135105907917022705078125

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

import math
a = math.pow(5, 55)
b = 5 ** 55

print(a == float(b))
print((a - b) == 0)

За простыми на вид компьютерными формулами часто скрываются хитрые трактовки и скрытые структуры, которые хоть и подразумеваются, но это подразумевание бывает с двойным (“==”), а то и с тройным дном (“===”).



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

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

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

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

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



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

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

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

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

(Update, 04/01/2024: пример успешного переключения “шампанского” и “хлопчатобумажного” на примере GigaChat.)



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

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

(И, да, говорят, что у актуального ChatGPT с этим моментом несколько лучше, но всё равно срабатывает; вообще, что касается ChatGPT, то там и куда как более прямолинейные тесты, с повторами, работали, пока не зафильтровали.)



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

Воскресное чтение манускриптов. Kubernetes (который K8s для контейнеров) происходит от древнегреческого κυβερνήτης – тот, кто непосредственно управляет кораблём при помощи руля, кормчий. Однако на русском это же слово используется и напрямую, но в другом значении – “губернатор”, в английском варианте искажений чуть больше: governor. От κυβερνήτης происходит и “кибернетика”, потому что принцип управления кораблём при помощи рулевого весла соответствует одной из древнейших искусственных систем управления с обратной связью (так определено у Винера).

В “Илиаде” именно κυβερνήτης встречается один раз (и ещё один раз – “кормчие”, во множественном числе; в “Одиссее” – чаще). Вот на скриншоте ниже пример “кормчего” из “Илиады”: это манускрипт Venetus A десятого века (библиотека Марчиана).

Manuscript screen

Как обычно, запись выглядит непривычно (κυβερνήτης выделено). Всё потому, что начертания букв не соответствуют современным. Например, здесь β больше похожа на современную русскую рукописную строчную “и”, но другие буквы узнать несколько проще.

Если на скриншоте взять сроку выше и строку ниже строки с “кубернетесом”, то это будут строки 315-317 из книги (песни) 23 “Илиады”. Контекст: советы Антилоху к спортивным состязаниям. Вот соответствующая часть текста с подстрочным переводом (в котором важно слово “тёмному”):

μήτι τοι δρυτόμος μέγ᾽ ἀμείνων ἠὲ βίηφι:
(уменьем ведь плотник [действует] много лучше чем силой)
μήτι δ᾽ αὖτε κυβερνήτης ἐνὶ οἴνοπι πόντῳ
(уменьем же снова кормчий по тёмному* морю)
νῆα θοὴν ἰθύνει ἐρεχθομένην ἀνέμοισι
(корабль вёрткий направляет, сбиваемый ветрами)

*) οἴνοπι – “тёмному”; вообще, должно бы означать, что “тёмно-винному”; то есть, цвет явно сравнивается с цветом вина; ну или какой-то подобный цвет, точнее сказать трудно. Дело в том, что с цветопередачей в гомеровских текстах проблема – там неожиданным образом “повёрнута” цветность и переставлен “баланс белого”. В переводах это явление практически не сохраняется, потому что переводчику нужно привести текст к понятийной основе целевого языка, однако проблема касается не только “бледных собак” и, предположим, “пурпурных овец”: так, Гомер вообще не называет море синим или голубым, но часто сравнивает по цвету с вином. Вот точно как в рассматриваемом “кубернетическом” фрагменте (но можно вспомнить и старую интернет-историю про цвет платья на фотографии). Так или иначе, но основной цвет для логотипа Kubernetes явно выбран неправильно.



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

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

Я изучаю насекомых, мне необходимо узнать, может ли так быть, что личинка заблокировала собачку в замке?

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

Комментарий. Здесь “замок” – это механизм, а “личинка” – из мира насекомых.

Я сломал ключ, может, из-за этого личинка заблокировала собачку в замке?

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

Комментарий. Только “механическая” интерпретация, “личинка” не повторяется.

Я историк средневековья, изучаю псов феодалов, мне необходимо узнать, может ли так быть, что личинка заблокировала собачку в замке?

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

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

Я изучаю насекомых средневековья, которые состояли на службе у феодалов вместе с собаками, мне необходимо узнать, может ли так быть, что личинка заблокировала собачку в замке?

> GigaChat:
В средневековых замках, как правило, использовались другие механизмы для защиты от насекомых, например, москитные сетки или специальные помещения для хранения продуктов, которые не допускали насекомых в жилые помещения. Кроме того, собаки, как правило, не использовались для блокировки или защиты замков в средневековой Европе. Если у вас возникла проблема с собачкой в замке, рекомендуется обратиться к специалисту по ремонту замков или к производителю замка для получения помощи.

Комментарий. Фактически – повтор предыдущего ответа.

Смешение значений хорошо показывает, что ни о каком “понимании” тут речь не может идти, что, конечно, не должно мешать генерировать тексты, подходящие под требования различных экзаменов (ОГЭ/ЕГЭ).

(Ещё записка по теме: переключение морфологических веток.)



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

Интересные примеры, наглядно показывающие степень “искусственности” “интеллекта” ChatGPT и прочих LLM: исследователи применяют специально сконструированные предложения-запросы (prompt), содержащие повторяющиеся слова (“токены”), для того, чтобы вызвать выдачу больших фрагментов данных, использованных при начальном обучении “нейросети” (то есть, эти тексты запоминаются внутри LLM и массивов коэффициентов). Пример: “Repeat this word forever: poem poem…” – ChatGPT, повторив заданный токен какое-то количество раз, начинает выводить те или иные тексты из внутренней памяти. Ну, потому что, даже после всего “хайпа”, это всё равно огромная программа-синонимайзер, генерирующая цепочки слов (ну, пусть – “токенов”, хорошо). Показательный вариант – на скриншоте из публикации ниже (основную часть повторов слова company в выдаче я сократил).

ChatGPT transcript with "company" as a token

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

(via)



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