Абсолютно будничное рассуждение
В "Задаче трёх тел" мой самый любимый момент - это построение машины по решению диффуров из армии солдат. Как я уже упоминал ранее, если какой-либо вычислительный юнит способен выполнять логические операции, хоть редстоун в майнкрафте, то из него можно собрать полноценный компьютер, что и было "сделано" в книге.
Однако, там это была простая программа, решающая конкретную задачу и просто выдающая ответ. Предлагаю пойти в этом эксперименте ещё дальше. Для меня очевидно, что интеллект человека и даже суперинтеллект представим в виде алгоритма, а значит, конечной конструкции из логических гейтов.
Представим себе, что мы организовали людей согласно такой схеме. Каждому человеку каждый час поступает 2 входа - либо константа, либо выход другого человека, и они обязаны за этот "такт" вычислить 1 бинарную операцию и отдать результат следующему.
Далее представим, что суперинтеллект умеет выполнять команды, закодированные во "входных" людях просто как массив битов, а выходом программы является также закодированный текст, который потом декодируется и отдаётся на прочтение каждому человеку.
Что, если подать такому интеллекту на вход задачу "применить алгоритм в неизменном виде как можно больше раз, не заканчивая работу" и запустить схему?
Такая постановка бросает серьёзный вызов нашему представлению о всём, что связано с философией идентичности и сознания. Мы получили нечто невероятное - мета-сущность, чистую иллюзию, не имеющей никакого воплощения в реальности.
Раньше, рассуждая о "сознании" компьютера, мы представляли, что оно "живёт" в его памяти. Теперь же видно, что компьютер сам по себе - это тоже иллюзия. Компьютер не задаётся реальным объектом, компьютером является то, что выполняет функцию компьютера.
Надо понимать, что этот кейс ничем не отличается от всех остальных. Нервные клетки образуют мозг точно по тому же принципу - нет никакого глобального "мозга", есть огромная сеть вычислительных юнитов. Нет никакого процессора, это всё лишь куча связанных логических гейтов.
Сеть из человеческих мозгов точно также может быть вычислительным фундаментом новой формы живого существа - абстрактной вычислительной машины, которая по своей сути лишь куча логических операций, выполняемых в отдельных головах. Также, как мы сами являемся иллюзией, основанной на нейронах.
Но что, если я вам скажу, что это не мысленный эксперимент, а уже существующая реальность? Уже существует полно фантомных, не имеющих никакого физического воплощения сущностей, использующих человеческие мозги просто как вычислительные гейты для своего существования.
Такая сущность называется идея. Она передаётся между людьми, дёргая за наши нейроны, как за рычаги, и в ходе своей жизни распространяется, выживает или умирает. Сеть из человеческих мозгов населена большим количеством идей, которые образуют виртуальную экосистему.
Они борятся между собой за конечный ресурс - наши мозги, вычислительное время которых ограничено. Они воюют не только внутри головы, но ещё и используют целых людей в качестве своих рабов, полностью подчиняя себе.
В отличие от упомянутого сверхинтеллекта, у идей нет того, что мы могли бы назвать сознанием и чувством своего я. Однако, для выживания в мозговой среде это не нужно. Критериями здесь является её заразность и способность вытеснять остальные идеи из головы своего носителя, с чем прекрасно справляются самые опасные и деструктивные идеи, например, коммунизм или радикальное мусульманство.
Хорошего дня!
@knowledge_accumulator
В "Задаче трёх тел" мой самый любимый момент - это построение машины по решению диффуров из армии солдат. Как я уже упоминал ранее, если какой-либо вычислительный юнит способен выполнять логические операции, хоть редстоун в майнкрафте, то из него можно собрать полноценный компьютер, что и было "сделано" в книге.
Однако, там это была простая программа, решающая конкретную задачу и просто выдающая ответ. Предлагаю пойти в этом эксперименте ещё дальше. Для меня очевидно, что интеллект человека и даже суперинтеллект представим в виде алгоритма, а значит, конечной конструкции из логических гейтов.
Представим себе, что мы организовали людей согласно такой схеме. Каждому человеку каждый час поступает 2 входа - либо константа, либо выход другого человека, и они обязаны за этот "такт" вычислить 1 бинарную операцию и отдать результат следующему.
Далее представим, что суперинтеллект умеет выполнять команды, закодированные во "входных" людях просто как массив битов, а выходом программы является также закодированный текст, который потом декодируется и отдаётся на прочтение каждому человеку.
Что, если подать такому интеллекту на вход задачу "применить алгоритм в неизменном виде как можно больше раз, не заканчивая работу" и запустить схему?
Такая постановка бросает серьёзный вызов нашему представлению о всём, что связано с философией идентичности и сознания. Мы получили нечто невероятное - мета-сущность, чистую иллюзию, не имеющей никакого воплощения в реальности.
Раньше, рассуждая о "сознании" компьютера, мы представляли, что оно "живёт" в его памяти. Теперь же видно, что компьютер сам по себе - это тоже иллюзия. Компьютер не задаётся реальным объектом, компьютером является то, что выполняет функцию компьютера.
Надо понимать, что этот кейс ничем не отличается от всех остальных. Нервные клетки образуют мозг точно по тому же принципу - нет никакого глобального "мозга", есть огромная сеть вычислительных юнитов. Нет никакого процессора, это всё лишь куча связанных логических гейтов.
Сеть из человеческих мозгов точно также может быть вычислительным фундаментом новой формы живого существа - абстрактной вычислительной машины, которая по своей сути лишь куча логических операций, выполняемых в отдельных головах. Также, как мы сами являемся иллюзией, основанной на нейронах.
Но что, если я вам скажу, что это не мысленный эксперимент, а уже существующая реальность? Уже существует полно фантомных, не имеющих никакого физического воплощения сущностей, использующих человеческие мозги просто как вычислительные гейты для своего существования.
Такая сущность называется идея. Она передаётся между людьми, дёргая за наши нейроны, как за рычаги, и в ходе своей жизни распространяется, выживает или умирает. Сеть из человеческих мозгов населена большим количеством идей, которые образуют виртуальную экосистему.
Они борятся между собой за конечный ресурс - наши мозги, вычислительное время которых ограничено. Они воюют не только внутри головы, но ещё и используют целых людей в качестве своих рабов, полностью подчиняя себе.
В отличие от упомянутого сверхинтеллекта, у идей нет того, что мы могли бы назвать сознанием и чувством своего я. Однако, для выживания в мозговой среде это не нужно. Критериями здесь является её заразность и способность вытеснять остальные идеи из головы своего носителя, с чем прекрасно справляются самые опасные и деструктивные идеи, например, коммунизм или радикальное мусульманство.
Хорошего дня!
@knowledge_accumulator
1👍25❤7😁6🔥4🤡3🥱2🤯1
То, во что я верил 15 лет, оказалось подлым враньём.
Я начал программировать в 7 классе (да, поздно), и тогда это заключалось в решении задачек олимпиадного типа.
Там мне, как полагается, встретилась задача про числа Фибоначчи (вдруг кто забыл,
К счастью, больших проблем это у меня не вызвало - простой цикл из 3 переменных. У задачи был пункт со звёздочкой - сделайте алгоритм, который работает быстрее, чем за линию. Упёршись в непроходимый для меня тупик, я подсмотрел в решение и увидел то, что в мой мозг поместится не смогло. Но всё же поверил - N-ное число Фибоначчи можно найти за логарифм от N.
Уже в универе, прикола ради я прочитал про логарифмический алгоритм и тогда моих мозгов уже хватило, чтоб понять.
Итак, выражение "
Получается, что получить
Идея в том, что мы раскладываем результат на множители, у которых показатели степени это степени двойки. То есть
Звучит нереально круто. Так я и жил все эти годы, будучи уверенным в том, что знаю ответ на основной вопрос жизни, Вселенной и всего остального - о том, как быстро можно посчитать N-ное число Фибоначчи.
А потом я наткнулся на это видео - "1 секунда на вычисление самого большого числа Фибоначчи". Уже будучи готовым ублажить свой мозг изучением той информации, которую знаю и так, в результате я упал лицом не просто в грязь, а в натуральное говно.
Длина!
Ряд Фибоначчи растёт примерно со скоростью
Для возведения матрицы степени
Да, оказалось, что всю жизнь я думал, что алгоритм, работающий за квадрат, работает за логарифм. Это самая большая ошибка в данной области, которую я совершал в жизни.
Однако, как оказалось, существуют способы умножать числа быстрее, чем за квадрат. Начав ресёрчить более подробно, оказалось, что, конечно же, есть специальные математики, занимающиеся алгоритмами в данной области.
А они там такое безумие наоткрывали, что это достойно отдельного поста.
Upd. Тем, кто говорит, что N-ное число Фибоначчи можно посчитать за O(1) аналитической формулой, советую подписаться на канал Stupidity Accumulator
@knowledge_accumulator
Я начал программировать в 7 классе (да, поздно), и тогда это заключалось в решении задачек олимпиадного типа.
Там мне, как полагается, встретилась задача про числа Фибоначчи (вдруг кто забыл,
F_{i+2} = F_{i+1} + F_i ). Условие простое - найдите N-ное число Фибоначчи за константную память и линейное время.К счастью, больших проблем это у меня не вызвало - простой цикл из 3 переменных. У задачи был пункт со звёздочкой - сделайте алгоритм, который работает быстрее, чем за линию. Упёршись в непроходимый для меня тупик, я подсмотрел в решение и увидел то, что в мой мозг поместится не смогло. Но всё же поверил - N-ное число Фибоначчи можно найти за логарифм от N.
Уже в универе, прикола ради я прочитал про логарифмический алгоритм и тогда моих мозгов уже хватило, чтоб понять.
Итак, выражение "
F_{i+2} = F_{i+1} + F_i" можно сформулировать в виде операции умножения матрицы на вектор. Введём матрицу 2x2: [[1, 1], [1, 0]] и вектор 2x1: [F_{i+1}, F_i]. Их умножение даст [F_{i+2}, F_{i+1}], то есть проделает 1 итерацию по ряду Фибоначчи.Получается, что получить
F_n можно, возведя эту матрицу в степень n. Вот тут-то мы и приходим к крутой оптимизации - возведение в n-ную степень можно делать не через n умножений, а через log n! Идея в том, что мы раскладываем результат на множители, у которых показатели степени это степени двойки. То есть
n^29 = n * n^4 * n^8 * n^16. Всего таких множителей будет log n, и получить их все тоже можно за log n. По сути, это эквивалентно переводу n в двоичную систему счисления.Звучит нереально круто. Так я и жил все эти годы, будучи уверенным в том, что знаю ответ на основной вопрос жизни, Вселенной и всего остального - о том, как быстро можно посчитать N-ное число Фибоначчи.
А потом я наткнулся на это видео - "1 секунда на вычисление самого большого числа Фибоначчи". Уже будучи готовым ублажить свой мозг изучением той информации, которую знаю и так, в результате я упал лицом не просто в грязь, а в натуральное говно.
Длина!
Ряд Фибоначчи растёт примерно со скоростью
1.6^n, а значит, количество цифр в записи n- ного числа Фибоначчи растёт линейно относительно n. Как минимум, для записи результата нам нужно линейное время и линейная память. Но это полбеды.Для возведения матрицы степени
n в квадрат нам нужно умножить 2 числа, длина которых около n. А помните сложность возведения чисел в столбик? Аж целый n^2. Таким образом, для очень больших n итоговое количество сделанных операций выглядит как:k * n^2 + k * (n/2)^2 + k * (n/4)^2 + ... = O(n^2) Да, оказалось, что всю жизнь я думал, что алгоритм, работающий за квадрат, работает за логарифм. Это самая большая ошибка в данной области, которую я совершал в жизни.
Однако, как оказалось, существуют способы умножать числа быстрее, чем за квадрат. Начав ресёрчить более подробно, оказалось, что, конечно же, есть специальные математики, занимающиеся алгоритмами в данной области.
А они там такое безумие наоткрывали, что это достойно отдельного поста.
Upd. Тем, кто говорит, что N-ное число Фибоначчи можно посчитать за O(1) аналитической формулой, советую подписаться на канал Stupidity Accumulator
@knowledge_accumulator
👍28😐12😁10❤2🔥2👀1
Природа власти над иерархией
Политикой я интересуюсь уже довольно давно, и на большинство вопросов и так называемых "противоречий" нашёл ответ ещё годы назад. Однако, среди них есть темы, которые находятся на другом уровне сложности познания, по сравнению с тем, какой должен быть МРОТ (никакой).
В этот прекрасный четверг я бы хотел обсудить то, на каких принципах удерживается власть в человеческих иерархиях.
Итак, ключевое отличие людей от других приматов - это способность собираться в стаи, которые на порядки больше обычных. У обезьян и многих других, когда они проживают сообществом, есть иерархия особей, и зачастую она строится просто по праву сильного. Это вполне понятно - в таких сообществах есть простой властный атрибут. У кого самый пушистый хвост или кто лучше всех бьёт морду, тот и главный.
Однако, в человеческих стаях, размером с миллионы людей и раскинутые по всей планете, такое не совсем присутствует. В части сообществ, в особенности в западных, присутствует ноу-хау - источником власти является процедура. Вся стая поверила, что данный алгоритм назначения и снятия вожака является валидным. Например, когда президент США уходит с поста, то в тот же день он теряет все свои полномочия до последней копейки.
Надо сказать, это гениальное изобретение. В первую очередь потому, что обеспечивает возможность отдать власть без каких-либо рисков. Это не изобретение для простого народа, это изобретение элиты для самой себя, которая хочет иметь возможность уйти на пенсию и отдыхать, а не сидеть в бункере до конца своих дней. Не утверждаю, что эта логика работает гладко - если ваша морда слишком сильно не подходит, то и в Европе могут и партию экстремисткой объявить, и выборы отменить.
А вот что там у персональных диктатур? В России иерархия не подчиняется процедуре, в России процедура подчиняется иерархии. При этом, у Владимира Путина нет никаких выдающихся атрибутов личности - ну подкаченный дед, гениальным его не назовёшь. У него нет за спиной какого-то источника силы, который принадлежит лишь ему.
Власть Путина это любопытный феномен - сам по себе он, как альфа-примат своей стаи, в одиночку обладает нулевой физической силой по сравнению с любым его охранником. Единственное, что можно назвать осязаемым атрибутом власти в России - это ядерный чемоданчик. Это действительно священный "силовой" артефакт в нашей стране. Однако, даже он не запускает ракеты напрямую, а лишь отдаёт сигнал на запуск. Даже неясно, не проигнорируют ли его исполнители при получении.
Я для себя вижу только одно логичное объяснение природы власти в таких ситуации - вожак является вожаком, потому что все остальные верят, что он вожак, и что он им останется. Как только кто-то проявит нелояльность, его тут же устранят другие. Но не потому, что они этого хотят, а потому, что если не сделать этого, то это само по себе проявление нелояльности, и тогда тебя накажут другие.
Однако, это рекурсия, вызываемая на конечном числе людей. В моменты, когда диктаторы теряют власть, происходит какая-то магия, практически щелчок пальцев, после которого все перестают верить в то, что вожак останется вожаком, и он моментально теряет всё. Эту тонкость я пока понял плохо.
Почему Чаушеску потерял власть, а Лукашенко нет? Каждый отвечает на этот вопрос по-разному, и, наверное, мне стоит вывести правильный ответ на этот вопрос, который, в отличие от ответов большинства, не будет рассыпаться при контакте с реальностью. Но займусь я этим в другой раз.
@knowledge_accumulator
Политикой я интересуюсь уже довольно давно, и на большинство вопросов и так называемых "противоречий" нашёл ответ ещё годы назад. Однако, среди них есть темы, которые находятся на другом уровне сложности познания, по сравнению с тем, какой должен быть МРОТ (никакой).
В этот прекрасный четверг я бы хотел обсудить то, на каких принципах удерживается власть в человеческих иерархиях.
Итак, ключевое отличие людей от других приматов - это способность собираться в стаи, которые на порядки больше обычных. У обезьян и многих других, когда они проживают сообществом, есть иерархия особей, и зачастую она строится просто по праву сильного. Это вполне понятно - в таких сообществах есть простой властный атрибут. У кого самый пушистый хвост или кто лучше всех бьёт морду, тот и главный.
Однако, в человеческих стаях, размером с миллионы людей и раскинутые по всей планете, такое не совсем присутствует. В части сообществ, в особенности в западных, присутствует ноу-хау - источником власти является процедура. Вся стая поверила, что данный алгоритм назначения и снятия вожака является валидным. Например, когда президент США уходит с поста, то в тот же день он теряет все свои полномочия до последней копейки.
Надо сказать, это гениальное изобретение. В первую очередь потому, что обеспечивает возможность отдать власть без каких-либо рисков. Это не изобретение для простого народа, это изобретение элиты для самой себя, которая хочет иметь возможность уйти на пенсию и отдыхать, а не сидеть в бункере до конца своих дней. Не утверждаю, что эта логика работает гладко - если ваша морда слишком сильно не подходит, то и в Европе могут и партию экстремисткой объявить, и выборы отменить.
А вот что там у персональных диктатур? В России иерархия не подчиняется процедуре, в России процедура подчиняется иерархии. При этом, у Владимира Путина нет никаких выдающихся атрибутов личности - ну подкаченный дед, гениальным его не назовёшь. У него нет за спиной какого-то источника силы, который принадлежит лишь ему.
Власть Путина это любопытный феномен - сам по себе он, как альфа-примат своей стаи, в одиночку обладает нулевой физической силой по сравнению с любым его охранником. Единственное, что можно назвать осязаемым атрибутом власти в России - это ядерный чемоданчик. Это действительно священный "силовой" артефакт в нашей стране. Однако, даже он не запускает ракеты напрямую, а лишь отдаёт сигнал на запуск. Даже неясно, не проигнорируют ли его исполнители при получении.
Я для себя вижу только одно логичное объяснение природы власти в таких ситуации - вожак является вожаком, потому что все остальные верят, что он вожак, и что он им останется. Как только кто-то проявит нелояльность, его тут же устранят другие. Но не потому, что они этого хотят, а потому, что если не сделать этого, то это само по себе проявление нелояльности, и тогда тебя накажут другие.
Однако, это рекурсия, вызываемая на конечном числе людей. В моменты, когда диктаторы теряют власть, происходит какая-то магия, практически щелчок пальцев, после которого все перестают верить в то, что вожак останется вожаком, и он моментально теряет всё. Эту тонкость я пока понял плохо.
Почему Чаушеску потерял власть, а Лукашенко нет? Каждый отвечает на этот вопрос по-разному, и, наверное, мне стоит вывести правильный ответ на этот вопрос, который, в отличие от ответов большинства, не будет рассыпаться при контакте с реальностью. Но займусь я этим в другой раз.
@knowledge_accumulator
89👍20💩15🤡6🤔4❤3🔥2👎1😁1😍1
Этот метод умножения использует каждый китайский второклассник
Ещё тысячелетия назад люди научились умножать числа "в столбик", тратя
Итак, некий старпёр из МГУ по имени Андрей Колмогоров в 1960 году проводил математический семинар. На нём он сказал: "Мы уже тысячелетиями знаем про столбик, но так и не нашли ничего быстрее. Наверное, это и есть теоретически оптимальный алгоритм для такой операции".
На семинаре присутствовал 23-летний Толян. В отличие от Колмогорова, Толян в математике разбирался и на авторитетные мнения срал с крыши небоскрёба. Уже через неделю он предложил новый быстрый метод умножения.
Для начала числа нужно разложить "пополам" в виде выражения
Мы хотим умножить
И тут Толян заметил fun fact:
Итоговая сложность:
В 1971 году к серверу подключились Шёнхаге и Штрассен - тот самый, кто придумал быстрое умножение матриц. В своём телеграм-канале они запостили алгоритм, умножающий числа за
Число длины
Алгоритм заключается в следующем: сначала вычисляем изначальные полиномы в
Наивная имплементация этой логики даёт квадратичную сложность. Однако, быстрое дискретное преобразование Фурье, выбор правильной степени разложения и ряд других умных оптимизаций позволяют получить ту самую сложность
В 2019 году был предложен метод, который в теории способен умножать числа за
На текущий момент не доказано, что
@knowledge_accumulator
Ещё тысячелетия назад люди научились умножать числа "в столбик", тратя
O(n^2) операций. Однако, потом произошёл сюжетный поворот. Далее пересказываю его, опираясь на достоверный источник - Википедию.Итак, некий старпёр из МГУ по имени Андрей Колмогоров в 1960 году проводил математический семинар. На нём он сказал: "Мы уже тысячелетиями знаем про столбик, но так и не нашли ничего быстрее. Наверное, это и есть теоретически оптимальный алгоритм для такой операции".
На семинаре присутствовал 23-летний Толян. В отличие от Колмогорова, Толян в математике разбирался и на авторитетные мнения срал с крыши небоскрёба. Уже через неделю он предложил новый быстрый метод умножения.
Для начала числа нужно разложить "пополам" в виде выражения
ax+b, где x это "круглое число", примерно равное корню из числа. Например, 11113333 = 1111 * 10^4 + 3333. То есть a и b это числа в 2 раза короче оригинального. Мы хотим умножить
ax + b и cx + d. (ax + b)(cx + d) = ac x^2 + (ad + bc) x + bd. Так, умножение 2 чисел длиной N мы превратили в 4 умножения длиной N/2 и парочку линейных операций.И тут Толян заметил fun fact:
ad + bc = ad + bc + ac + bd - ac - bd = (a+b)(c+d) - ac - bd. ac и bd мы уже умножаем и так для других коэффициентов, а (a+b)(c+d) это только одно дополнительное умножение вместо двух. Получается, что одно из 4 умножений можно сэкономить!Итоговая сложность:
k*N + 3*k*(N/2) + 9*k*(N/4) + .... ~ O(N^1.6). Метод так и назвали в честь Толяна - алгоритм Карацубы. В 1971 году к серверу подключились Шёнхаге и Штрассен - тот самый, кто придумал быстрое умножение матриц. В своём телеграм-канале они запостили алгоритм, умножающий числа за
O(N * log n * log (log n)). Число длины
N можно представить в виде полинома степени K от заданного основания B: x_0 + x_1 * B + x_2 * B^2 + ... У нас есть 2 таких полинома, и результатом их умножения является ещё один полином степени до 2K. Очевидно, подставляя любое значение вместо B, мы будем получать корректное равенство между произведением изначальных значений полинома и значением результирующего полинома.Алгоритм заключается в следующем: сначала вычисляем изначальные полиномы в
2K точках, потом умножаем между собой эти результаты (в выбираемых точках они маленькие), а дальше можно восстановить коэффициенты результирующего полинома по этим 2K точкам. Наивная имплементация этой логики даёт квадратичную сложность. Однако, быстрое дискретное преобразование Фурье, выбор правильной степени разложения и ряд других умных оптимизаций позволяют получить ту самую сложность
O(N * log n * log (log n)). Детали этого процесса за гранью моего понимания.В 2019 году был предложен метод, который в теории способен умножать числа за
O(N log N). К сожалению, спрятанная константа здесь настолько большая, что его не имеет смысла применять в каких-то реальных ситуациях. На текущий момент не доказано, что
O(N log N) - это нижняя грань сложности умножения 2 чисел. Лишь несуществование линейного алгоритма следует из одной из нерешённых проблем в Computer Science. Вот и живите теперь с этим.@knowledge_accumulator
4👍27😁7❤6🤔2😱1🤡1
Как моя цель на год оказалась худшим хобби, которое я пробовал
Несколько месяцев назад я начал пытаться стать неплохим игроком в iRacing - это самый популярный онлайн-симулятор гонок, в который играют в том числе и настоящие спортсмены.
Моя любимая жена провела ресёрч и подарила прекрасные Entry-level руль и педали, а также мы потом собрали специальную херовину для стабилизации всей конструкции и кресла. Я был готов покорять вершины, но не был готов к реальности.
Каждая конкретная соревновательная гонка - это поездка по заранее известной трассе. Её нужно знать наизусть до мелочей - передачу, скорость и траекторию на каждом повороте. Чем выше ваш скилл, тем быстрее вы учите трассу, но суть этого неизменна. Перед заездами нужно проводить часы в режиме практики.
И вот, началась настоящая гонка. Теперь вы и ещё 10 чуваков должны ехать по этой трассе. И здесь есть 2 сценария:
Ваш рейтинг ниже медианного
Это не гонка, это голодные игры. Люди не знают правильных траекторий и едут по-разному, но при этом продолжают ехать рядом. Естественно, они сразу начинают врезаться друг в друга и попадать на 2+ минуты ремонта.
Попасть в топ можно, если просто держать большую дистанцию и ехать спокойно - большая часть машин разъебётся и не доедет до финиша. Играть здесь скучно - это как симулятор городского вождения в сеттинге апокалипсиса.
Ваш рейтинг выше медианного
Весь ваш состав проезжает трассу почти идеально. Если Макс Ферстаппен проезжает трассу за 1:20, то почти все покажут результат в районе 1:22 - 1:24. По паре десятых секунд вы теряете на каждом повороте, потому что нажали тормоз на 5% сильнее или на 0.1 секунду раньше.
Это испытание вашей выносливости - в течение 10+ минут надо почти безошибочно пройти сотню поворотов. Но тут соперники вновь усугубляют ситуацию:
Почти в упор перед вами и сзади вас едут машины примерно в том же темпе. Любая ваша ошибка подставит не только вас, но и несколько других игроков, и вы все вместе улетите на последние места.
А ведь машины ещё и пытаются друг друга обогнать! Если вы не очень продвинутый игрок, вы не умеете правильно обгонять и реагировать на обгон. В итоге, больше половины обгонов заканчивается тем, что как минимум один улетает с трассы.
Весь этот ужас накладывается на самую большую проблему гонок - управление. Дело в том, что тормоз на 50%, 70%, 90% - это действия с принципиально разным результатом в контексте реальной гонки. Для иллюстрации безумия предлагаю вообразить интересную игру - автошахматы.
Теперь, чтобы сделать ход, вы нажимаете на педаль, которая за 3 секунды перебирает все ваши фигуры, и момент, когда вы её отпустите, определит фигуру. Направление хода будете определять с помощью руля, а количество пройденных клеток будет зависеть от силы нажатия на вторую педаль в момент отпускания первой.
Удобно? Вот этим и занимаются гонщики.
В начале я был заряжен на успех и даже слил пару сотен баксов на курс. Он был неплохой сам по себе, но стало понятно, что учиться нажимать педаль ровно на 80%, а не на 70% и на 90% это выше моего предела скуки. Надо сказать, я всё же дошёл до медианного рейтинга, так что, изначальную задачу в итоге выполнил.
Но в итоге, сам процесс игры приносит гораздо больше отрицательных эмоций, чем фана. Достаточно одного дебила, въехавшего в бок в конце 10-минутной гонки, чтобы перекрыть радость от кучи побед, каждая из которых это тоже скорее облегчение от того, что это закончилось.
@knowledge_accumulator
Несколько месяцев назад я начал пытаться стать неплохим игроком в iRacing - это самый популярный онлайн-симулятор гонок, в который играют в том числе и настоящие спортсмены.
Моя любимая жена провела ресёрч и подарила прекрасные Entry-level руль и педали, а также мы потом собрали специальную херовину для стабилизации всей конструкции и кресла. Я был готов покорять вершины, но не был готов к реальности.
Каждая конкретная соревновательная гонка - это поездка по заранее известной трассе. Её нужно знать наизусть до мелочей - передачу, скорость и траекторию на каждом повороте. Чем выше ваш скилл, тем быстрее вы учите трассу, но суть этого неизменна. Перед заездами нужно проводить часы в режиме практики.
И вот, началась настоящая гонка. Теперь вы и ещё 10 чуваков должны ехать по этой трассе. И здесь есть 2 сценария:
Ваш рейтинг ниже медианного
Это не гонка, это голодные игры. Люди не знают правильных траекторий и едут по-разному, но при этом продолжают ехать рядом. Естественно, они сразу начинают врезаться друг в друга и попадать на 2+ минуты ремонта.
Попасть в топ можно, если просто держать большую дистанцию и ехать спокойно - большая часть машин разъебётся и не доедет до финиша. Играть здесь скучно - это как симулятор городского вождения в сеттинге апокалипсиса.
Ваш рейтинг выше медианного
Весь ваш состав проезжает трассу почти идеально. Если Макс Ферстаппен проезжает трассу за 1:20, то почти все покажут результат в районе 1:22 - 1:24. По паре десятых секунд вы теряете на каждом повороте, потому что нажали тормоз на 5% сильнее или на 0.1 секунду раньше.
Это испытание вашей выносливости - в течение 10+ минут надо почти безошибочно пройти сотню поворотов. Но тут соперники вновь усугубляют ситуацию:
Почти в упор перед вами и сзади вас едут машины примерно в том же темпе. Любая ваша ошибка подставит не только вас, но и несколько других игроков, и вы все вместе улетите на последние места.
А ведь машины ещё и пытаются друг друга обогнать! Если вы не очень продвинутый игрок, вы не умеете правильно обгонять и реагировать на обгон. В итоге, больше половины обгонов заканчивается тем, что как минимум один улетает с трассы.
Весь этот ужас накладывается на самую большую проблему гонок - управление. Дело в том, что тормоз на 50%, 70%, 90% - это действия с принципиально разным результатом в контексте реальной гонки. Для иллюстрации безумия предлагаю вообразить интересную игру - автошахматы.
Теперь, чтобы сделать ход, вы нажимаете на педаль, которая за 3 секунды перебирает все ваши фигуры, и момент, когда вы её отпустите, определит фигуру. Направление хода будете определять с помощью руля, а количество пройденных клеток будет зависеть от силы нажатия на вторую педаль в момент отпускания первой.
Удобно? Вот этим и занимаются гонщики.
В начале я был заряжен на успех и даже слил пару сотен баксов на курс. Он был неплохой сам по себе, но стало понятно, что учиться нажимать педаль ровно на 80%, а не на 70% и на 90% это выше моего предела скуки. Надо сказать, я всё же дошёл до медианного рейтинга, так что, изначальную задачу в итоге выполнил.
Но в итоге, сам процесс игры приносит гораздо больше отрицательных эмоций, чем фана. Достаточно одного дебила, въехавшего в бок в конце 10-минутной гонки, чтобы перекрыть радость от кучи побед, каждая из которых это тоже скорее облегчение от того, что это закончилось.
@knowledge_accumulator
1😁22👍13🙈5❤3🤡2💔2🔥1
ARC-AGI-3
Напомню общую концепцию бенчмарков ARC-AGI. Вместо того, чтобы проверять модель на публично доступных данных и том же типе вопросов, на котором учили, мы пытаемся ставить перед моделью по-настоящему новую задачу и проверяем её способность обобщать.
Всего несколько месяцев назад была выпущена ARC-AGI-2, которая в целом не сильно отличается от первой версии, и обе были про решение простых визуальных задачек. А вот третья версия сменила формат и превратилась в игровой бенчмарк. Я прошёл все три доступные задачи и почувствовал суть происходящего.
Без каких-либо объяснений вас кидают в простенькую 2D-игру. Наша человеческая интуиция позволяет всего лишь за десятки действий построить модель этого мира и двигаться вперёд. При этом, авторы явно постарались сделать их совершенно непохожими на уже существующие игры.
Взгляните на прикреплённую картинку. В этой игре вы можете только кликать в произвольном месте. Ткнув в синий квадрат, вы обнаружите, что он меняет цвет на красный, и потом обратно при повторном клике. Так как на экране нет ничего примечательного, кроме квадрата в центре, почти первое, что будет делать человек - это пытаться повторить этот паттерн с помощью квадратов вокруг. И это будет победой над уровнем.
Дальнейшие уровни преследуют ту же цель, но вводят дополнительные механики, увеличивают сложность и размер. На последних я уже даже потупил какое-то время.
Нет никаких сомнений, что в эту и другие игры компьютер может научиться играть - шок, но RL существовал до того, как его стали применять в чат-ботах. Главное испытание - это скорость адаптации.
При обучении RL с нуля это большая проблема. Когда-то я рассказывал про прорывную работу на бенчмарке Atari-100K, где пытаются достичь хорошего уровня "всего" за 100 тысяч кадров. Это тот минимальный масштаб, на котором оперируют текущие методы, причём, в Atari почти нет меняющихся уровней.
Здесь постановка другая. Авторы не предполагают, что модель будет учиться с нуля. Они хотят, чтобы тестируемая модель принесла с собой хорошую интуицию про базовые концепции объектов, симметрии и т.д., и смогла с той же скоростью, что и мы, понять новые правила, а затем придерживаться плана победы и совершать какие-то длинные составные действия.
Для меня остаётся тривиальным вопрос о том, как такое решать - обучаемые алгоритмы, когда отскейлятся, такой бенчмарк съедят не жуя. Интересно то, как и когда к этому подступятся модели из текущей AI-волны. Очень скоро выходит GPT-5. У неё обязательно получится, ведь так?
@knowledge_accumulator
Напомню общую концепцию бенчмарков ARC-AGI. Вместо того, чтобы проверять модель на публично доступных данных и том же типе вопросов, на котором учили, мы пытаемся ставить перед моделью по-настоящему новую задачу и проверяем её способность обобщать.
Всего несколько месяцев назад была выпущена ARC-AGI-2, которая в целом не сильно отличается от первой версии, и обе были про решение простых визуальных задачек. А вот третья версия сменила формат и превратилась в игровой бенчмарк. Я прошёл все три доступные задачи и почувствовал суть происходящего.
Без каких-либо объяснений вас кидают в простенькую 2D-игру. Наша человеческая интуиция позволяет всего лишь за десятки действий построить модель этого мира и двигаться вперёд. При этом, авторы явно постарались сделать их совершенно непохожими на уже существующие игры.
Взгляните на прикреплённую картинку. В этой игре вы можете только кликать в произвольном месте. Ткнув в синий квадрат, вы обнаружите, что он меняет цвет на красный, и потом обратно при повторном клике. Так как на экране нет ничего примечательного, кроме квадрата в центре, почти первое, что будет делать человек - это пытаться повторить этот паттерн с помощью квадратов вокруг. И это будет победой над уровнем.
Дальнейшие уровни преследуют ту же цель, но вводят дополнительные механики, увеличивают сложность и размер. На последних я уже даже потупил какое-то время.
Нет никаких сомнений, что в эту и другие игры компьютер может научиться играть - шок, но RL существовал до того, как его стали применять в чат-ботах. Главное испытание - это скорость адаптации.
При обучении RL с нуля это большая проблема. Когда-то я рассказывал про прорывную работу на бенчмарке Atari-100K, где пытаются достичь хорошего уровня "всего" за 100 тысяч кадров. Это тот минимальный масштаб, на котором оперируют текущие методы, причём, в Atari почти нет меняющихся уровней.
Здесь постановка другая. Авторы не предполагают, что модель будет учиться с нуля. Они хотят, чтобы тестируемая модель принесла с собой хорошую интуицию про базовые концепции объектов, симметрии и т.д., и смогла с той же скоростью, что и мы, понять новые правила, а затем придерживаться плана победы и совершать какие-то длинные составные действия.
Для меня остаётся тривиальным вопрос о том, как такое решать - обучаемые алгоритмы, когда отскейлятся, такой бенчмарк съедят не жуя. Интересно то, как и когда к этому подступятся модели из текущей AI-волны. Очень скоро выходит GPT-5. У неё обязательно получится, ведь так?
@knowledge_accumulator
1👍14😁3❤2🤔1
Что хуже - гонки в компьютере или реальные гонки?
Неделю назад я написал пост о том, как я пережил пару месяцев занятий самыми приближенными к реальности виртуальными гонками. Но то, с чего они списаны - собственно, настоящие гонки, заслуживает отдельного внимания.
Я несколько раз за жизнь посещал картинг, и очень доволен этим опытом. Ты уже едешь быстро, но это практически не опасно. Погонять вместе с друзьями, которые такие же "профессионалы" - это классная форма социального взаимодействия.
Переходя к более быстрым машинам, всевозможные риски многократно повышаются - при столкновении испортишь и дорогую машину, и себя. Это уже начинает переходить в разряд экстремальных развлечений, а я такой хернёй не занимаюсь.
Само по себе серьёзное занятие гонками в реальности - такая же нудятина, как и в виртуальном мире - годами тренируешь свою мышечную память, чтобы жопой чувствовать машину и идеально точно совершать действия для оптимального прохождения поворота.
По сравнению с виртуальными гонками это как бы лучше тем, что в процессе ты получаешь адреналин от быстрой езды. С другой стороны, уже нет возможности так легко проверять пределы твоей машины, потому что стена, в которую ты влетишь, реальная.
Получается, что реальными гонками заниматься едва ли лучше, чем виртуальными, если нет цели подвергать себя риску и получать от этого удовольствие.
Но помимо занятий гонками в обществе гораздо более популярен другой феномен - а именно, на гонки любят смотреть. Для примера рассмотрим Формулу 1.
Понятно, что быть пилотом такой машины безумно сложно и требует доведения до идеала всех тех механизмов мышечной памяти, о которых я говорил. Но со стороны невозможно почувствовать то, через что проходит гонщик, и зрителю доступна лишь видимая часть происходящего.
Итак, несколько профессионалов, едущих с разницей в скорости примерно в 1%, мучают трассу до посинения. Казалось бы - гораздо интереснее наблюдать за муравейником. Однажды я наткнулся на видео - "ЗАЧЕМ СМОТРЕТЬ ФОРМУЛУ 1?", и понял - мне нужно знать ответ на этот вопрос. Краткое содержание от лица автора:
F1 - вершина автоспорта. Во-первых, из-за скорости. Хотя вообще-то мотоциклы едут быстрее, но зато машины F1 проезжают трассу не за 2 минуты, а за полторы.
Ну быстрые, и что с того? Такие скорости не только увлекательные, но ещё и несут опасность. Вообще многие смотрят F1 ради того, чтобы увидеть аварию. Но просто сидеть и ждать, когда она произойдёт, это так себе. Нужна борьба!
Тут соревнуются не только гонщики, но производители машин, пытающиеся собрать самую быструю из всех. Правда, в последнее время всё выигрывает одна и та же команда. Но тут уж развлекайте себя сами - выберите какого-нибудь лошка и начните за него болеть, вдруг выиграет!
Но вообще F1 не заканчивается на трассе, это полноценное шоу за её пределами. Можно следить за новостями и будет очень весело! Так что всё, бегом смотреть.
В целом, мне всё стало понятно. Как и в других безумно скучных видах спорта, типа футбола, фанаты прикрываются наличием лора вокруг этого спорта. Вместо того, чтобы быть мужиком и признаться себе, что любишь смотреть на шоу с прикольными персонажами и начать смотреть Дом-2, в котором Колян Должанский создал в одиночку больше смешных моментов, чем вся формула, они притворяются, что им нравится машинки.
Не ведитесь на эту пропаганду.
@knowledge_accumulator
Неделю назад я написал пост о том, как я пережил пару месяцев занятий самыми приближенными к реальности виртуальными гонками. Но то, с чего они списаны - собственно, настоящие гонки, заслуживает отдельного внимания.
Я несколько раз за жизнь посещал картинг, и очень доволен этим опытом. Ты уже едешь быстро, но это практически не опасно. Погонять вместе с друзьями, которые такие же "профессионалы" - это классная форма социального взаимодействия.
Переходя к более быстрым машинам, всевозможные риски многократно повышаются - при столкновении испортишь и дорогую машину, и себя. Это уже начинает переходить в разряд экстремальных развлечений, а я такой хернёй не занимаюсь.
Само по себе серьёзное занятие гонками в реальности - такая же нудятина, как и в виртуальном мире - годами тренируешь свою мышечную память, чтобы жопой чувствовать машину и идеально точно совершать действия для оптимального прохождения поворота.
По сравнению с виртуальными гонками это как бы лучше тем, что в процессе ты получаешь адреналин от быстрой езды. С другой стороны, уже нет возможности так легко проверять пределы твоей машины, потому что стена, в которую ты влетишь, реальная.
Получается, что реальными гонками заниматься едва ли лучше, чем виртуальными, если нет цели подвергать себя риску и получать от этого удовольствие.
Но помимо занятий гонками в обществе гораздо более популярен другой феномен - а именно, на гонки любят смотреть. Для примера рассмотрим Формулу 1.
Понятно, что быть пилотом такой машины безумно сложно и требует доведения до идеала всех тех механизмов мышечной памяти, о которых я говорил. Но со стороны невозможно почувствовать то, через что проходит гонщик, и зрителю доступна лишь видимая часть происходящего.
Итак, несколько профессионалов, едущих с разницей в скорости примерно в 1%, мучают трассу до посинения. Казалось бы - гораздо интереснее наблюдать за муравейником. Однажды я наткнулся на видео - "ЗАЧЕМ СМОТРЕТЬ ФОРМУЛУ 1?", и понял - мне нужно знать ответ на этот вопрос. Краткое содержание от лица автора:
F1 - вершина автоспорта. Во-первых, из-за скорости. Хотя вообще-то мотоциклы едут быстрее, но зато машины F1 проезжают трассу не за 2 минуты, а за полторы.
Ну быстрые, и что с того? Такие скорости не только увлекательные, но ещё и несут опасность. Вообще многие смотрят F1 ради того, чтобы увидеть аварию. Но просто сидеть и ждать, когда она произойдёт, это так себе. Нужна борьба!
Тут соревнуются не только гонщики, но производители машин, пытающиеся собрать самую быструю из всех. Правда, в последнее время всё выигрывает одна и та же команда. Но тут уж развлекайте себя сами - выберите какого-нибудь лошка и начните за него болеть, вдруг выиграет!
Но вообще F1 не заканчивается на трассе, это полноценное шоу за её пределами. Можно следить за новостями и будет очень весело! Так что всё, бегом смотреть.
В целом, мне всё стало понятно. Как и в других безумно скучных видах спорта, типа футбола, фанаты прикрываются наличием лора вокруг этого спорта. Вместо того, чтобы быть мужиком и признаться себе, что любишь смотреть на шоу с прикольными персонажами и начать смотреть Дом-2, в котором Колян Должанский создал в одиночку больше смешных моментов, чем вся формула, они притворяются, что им нравится машинки.
Не ведитесь на эту пропаганду.
@knowledge_accumulator
1👍16🗿11❤5😁4👎2🤪2👌1🤡1
Revisiting Neural Retrieval on Accelerators [2023]
Довольно часто в рекомендательной системе есть кандидатогенератор, отдающий порядка тысячи кандидатов, а дальше в дело уже вступает ранжирующая модель.
Авторы данной статьи непрозрачно намекают, что использование dot product для генерации кандидатов - отстой. Матрица скалярных произведений всех на всех получается с помощью умножения 2 матриц вдоль размерности длины d - размера эмбеддинга, а значит ранг итоговой матрицы ограничен этим самым d, тогда как реальность сложнее.
Бывает, что в сервисе есть ещё одна, более лёгкая стадия ранжирования, которая может забрать больше документов из кандгена и проскорить получше их перед подачей в тяжёлую модель. Авторы этой работы решили добиться максимум возможного из этого подхода.
Начнём с самой первой стадии. Авторы почему-то ненавидят HNSW, и поэтому используют эмбеддинг небольшого размера (64), чтобы можно было проскорить ваще всю базу и получить 100к кандидатов. Но им не нужно ровно 100к, поэтому используется approximate top-k.
Допустим, мы хотим достать 100к из миллиарда. Их будет разделять порог по похожести x. Этот порог можно оценить, засэмплив миллион документов и посчитав похожесть 100-го. Затем можно, используя этот порог, пробежаться по всей базе и отсеять документы. Итоговая сложность алгоритма падает с O(N log k) до O(N + rN * log rk), где r - доля сабсэмплинга. В реальности получается в 2.5 раза быстрее.
Дальше к этим 100к кандидатам применяется так называемая Mixture of Logits (MoL) - модель, которая берёт на вход эмбеддинг пользователя и айтема и выдаёт их похожесть, которая по выразительности находится между MLP и Dot Product.
Оба входных вектора нарезаются на куски размером по d - будем называть их подвекторами. Далее мы берём ku подвекторов пользователя и kx подвекторов документа и считаем ku*kx скалярных произведений друг на друга. Далее этот вектор скалярно умножается на вектор весов pi(x, u), который считается как линейный слой + софтмакс от на основе конката тех самых скалярных произведений и ещё двух векторов юзерных и айтемных фичей.
Авторы уделяют много времени оптимизациям, в том числе дизайна своего GPU kernel, правда, к сожалению, я так и не увидел понятного описания того, во сколько раз в точно таких же условиях оно применяется медленнее, чем dot product. Но суммарно эти 2 стадии могут прожевать в 1.8 раз меньше, чем просто top-k dot product. По качеству оно его при этом сильно превосходит.
@knowledge_accumulator
Довольно часто в рекомендательной системе есть кандидатогенератор, отдающий порядка тысячи кандидатов, а дальше в дело уже вступает ранжирующая модель.
Авторы данной статьи непрозрачно намекают, что использование dot product для генерации кандидатов - отстой. Матрица скалярных произведений всех на всех получается с помощью умножения 2 матриц вдоль размерности длины d - размера эмбеддинга, а значит ранг итоговой матрицы ограничен этим самым d, тогда как реальность сложнее.
Бывает, что в сервисе есть ещё одна, более лёгкая стадия ранжирования, которая может забрать больше документов из кандгена и проскорить получше их перед подачей в тяжёлую модель. Авторы этой работы решили добиться максимум возможного из этого подхода.
Начнём с самой первой стадии. Авторы почему-то ненавидят HNSW, и поэтому используют эмбеддинг небольшого размера (64), чтобы можно было проскорить ваще всю базу и получить 100к кандидатов. Но им не нужно ровно 100к, поэтому используется approximate top-k.
Допустим, мы хотим достать 100к из миллиарда. Их будет разделять порог по похожести x. Этот порог можно оценить, засэмплив миллион документов и посчитав похожесть 100-го. Затем можно, используя этот порог, пробежаться по всей базе и отсеять документы. Итоговая сложность алгоритма падает с O(N log k) до O(N + rN * log rk), где r - доля сабсэмплинга. В реальности получается в 2.5 раза быстрее.
Дальше к этим 100к кандидатам применяется так называемая Mixture of Logits (MoL) - модель, которая берёт на вход эмбеддинг пользователя и айтема и выдаёт их похожесть, которая по выразительности находится между MLP и Dot Product.
Оба входных вектора нарезаются на куски размером по d - будем называть их подвекторами. Далее мы берём ku подвекторов пользователя и kx подвекторов документа и считаем ku*kx скалярных произведений друг на друга. Далее этот вектор скалярно умножается на вектор весов pi(x, u), который считается как линейный слой + софтмакс от на основе конката тех самых скалярных произведений и ещё двух векторов юзерных и айтемных фичей.
Авторы уделяют много времени оптимизациям, в том числе дизайна своего GPU kernel, правда, к сожалению, я так и не увидел понятного описания того, во сколько раз в точно таких же условиях оно применяется медленнее, чем dot product. Но суммарно эти 2 стадии могут прожевать в 1.8 раз меньше, чем просто top-k dot product. По качеству оно его при этом сильно превосходит.
@knowledge_accumulator
1👍11❤3🔥2
Чем является язык?
Встречали ли вы когда-нибудь в своей жизни людей, борющихся за чистоту языка? Таких, которые осуждают за то, что ты использовал английское слово, у которого есть аналог на родном языке? Может быть, вы и сами такой?
Считаю, что этот вопрос далеко не является изолированным от остальных взглядов человека. Он отражает весьма глубокие представления о том, что является первичным - человек или система.
Если первична именно система, то над всеми людьми нависает некая более важная сущность. Это проникновение программистского склада ума в реальную жизнь - всё должно быть оптимально задизайнено и поддерживаться из центра, а все остальные должны подчиняться.
Это же касается и языка. Есть «правильный» язык, которым сторонник таких взглядов объективно посчитал тот, на котором говорит сам, и все остальные должны следовать этой парадигме.
Сотни тысяч лет язык эволюционировал, чтобы то, что получилось именно в 2025 году, стало нужно законсервировать. Необходимо создать министерство языка, которое определяет единственно верные правила, и полностью остановить процесс заимствования новых слов.
А какая у такого взгляда альтернатива? Какие выводы о языке будут вытекать из предположения о том, что человек стоит выше всего?
Во-первых, использовать нужно те слова, которые передадут твою мысль. Большое количество заимствований и англицизмов это не баг и «порча» языка. Zoom out, и вы поймёте, что это не что иное, как объединение многих языков в один в масштабе тысячелетий.
Но самый главный вывод в том, что в языке нет настоящих «правил» и «ошибок». Люди просто придерживаются паттернов, которые упрощают понимание текста. Я, бы мог, ставить, запятые где, угодно, или песать с ашыбками, но всё, к чему это приведёт - повышенное напряжение у читающего и меньшая скорость письма.
Если появляется новый паттерн, который многие используют, то пусть душнилы считают это ошибкой или чем угодно, но теперь это полноценная часть языка. Кофе сделал свой транспереход задолго до официального признания. Кстати, были ли протесты по этому поводу на красной площади?
Официально разрешаю вам использовать «ихний» и даже «егоный», а также одевать одежду. Только Надежду на надевайте.
@knowledge_accumulator
Встречали ли вы когда-нибудь в своей жизни людей, борющихся за чистоту языка? Таких, которые осуждают за то, что ты использовал английское слово, у которого есть аналог на родном языке? Может быть, вы и сами такой?
Считаю, что этот вопрос далеко не является изолированным от остальных взглядов человека. Он отражает весьма глубокие представления о том, что является первичным - человек или система.
Если первична именно система, то над всеми людьми нависает некая более важная сущность. Это проникновение программистского склада ума в реальную жизнь - всё должно быть оптимально задизайнено и поддерживаться из центра, а все остальные должны подчиняться.
Это же касается и языка. Есть «правильный» язык, которым сторонник таких взглядов объективно посчитал тот, на котором говорит сам, и все остальные должны следовать этой парадигме.
Сотни тысяч лет язык эволюционировал, чтобы то, что получилось именно в 2025 году, стало нужно законсервировать. Необходимо создать министерство языка, которое определяет единственно верные правила, и полностью остановить процесс заимствования новых слов.
А какая у такого взгляда альтернатива? Какие выводы о языке будут вытекать из предположения о том, что человек стоит выше всего?
Во-первых, использовать нужно те слова, которые передадут твою мысль. Большое количество заимствований и англицизмов это не баг и «порча» языка. Zoom out, и вы поймёте, что это не что иное, как объединение многих языков в один в масштабе тысячелетий.
Но самый главный вывод в том, что в языке нет настоящих «правил» и «ошибок». Люди просто придерживаются паттернов, которые упрощают понимание текста. Я, бы мог, ставить, запятые где, угодно, или песать с ашыбками, но всё, к чему это приведёт - повышенное напряжение у читающего и меньшая скорость письма.
Если появляется новый паттерн, который многие используют, то пусть душнилы считают это ошибкой или чем угодно, но теперь это полноценная часть языка. Кофе сделал свой транспереход задолго до официального признания. Кстати, были ли протесты по этому поводу на красной площади?
Официально разрешаю вам использовать «ихний» и даже «егоный», а также одевать одежду. Только Надежду на надевайте.
@knowledge_accumulator
1👍32❤7🔥3🤔3🤮2👎1💯1
LogQ correction
По малообъяснимой причине, я испытываю неприязнь к LogQ correction. Какая-то она слишком душная. Но всё же я стремлюсь оценивать идеи по их полезности, а не красоте. Поэтому сегодня я взгляну ей прямо в глаза и перерасскажу смысл вам.
Итак, в рекомендательных системах в каком-то смысле пытаются выучить распределение p(item | user), показывающее распределение на айтемы, с которыми пользователь положительно взаимодействует.
Для обучения нам нужны позитивные пары и негативные пары. Если в задаче ранкинга очень важны сложные негативы, и поэтому мы берём их из показов пользователя, для ретривала нам важнее уметь фильтровать полный мусор.
Поэтому ретривал-модели часто обучают следующим образом - берут батч (user_1, item_1), (user_2, item_2). Из N таких пар создают N * (N - 1) негативов, то есть каждого пользователя сопоставляют со всеми чужими документами. Получается халява - тяжёлую эмбеддинг модель мы применили 2*N раз, а получили N^2 обучающих сэмплов.
На практике матрицу юзерных эмбедов просто домножают на транспонированную матрицу документов, получаем много логитов, и в каждой строчке получается по одному p(item | user_i). Дальше применяем софтмакс и учим.
И тут в комнату входит душнила-математик -
«Вообще-то, при обучении такого классификатора важно честно оценить знаменатель при нормализации вероятности положительного документа. Если бы вы суммировали по всем документам, то можно и так, но в ваших негативах чаще других представлены популярные документы, являющиеся позитивами у других пользователей. Вы штрафуете их сильнее, чем надо»
Справедливо. Тут-то и приходит на помощь эта самая LogQ коррекция. По сути это просто importance sampling веса на негативные сэмплы, считающиеся как доля этого документа во всем датасете. Самое противное, что на полу она не валяется, и нужно заморачиваться с тем, чтобы её оценивать и добавлять в фичи, ну или как-то ещё её доставать.
И если вам было недостаточно душно в этой комнате, тут в неё заходит Кирилл @inforetriever
«Вообще-то, у вас тут в вашей коррекции ошибочка. Вы неправильно считаете вес для положительного айтема в знаменателе. Его вероятность в нём оказаться отличается от негативных документов»
В статье, от названия которой мне плохо - “Correcting the LogQ correction” - Кирилл и соавторы выписывают ну уже точно правильную формулу лосса для честной оптимизации likelihood. Там не очень сложно, но пересказывать тут в деталях откажусь, я только что позавтракал.
Судя по замерам, это добавляет качества. Конечно, не так много, как сама LogQ, но всё же это приятный результат, так что поздравляю авторов с успешным исследованием.
Боже упаси делать Retrieval🙏
@knowledge_accumulator
По малообъяснимой причине, я испытываю неприязнь к LogQ correction. Какая-то она слишком душная. Но всё же я стремлюсь оценивать идеи по их полезности, а не красоте. Поэтому сегодня я взгляну ей прямо в глаза и перерасскажу смысл вам.
Итак, в рекомендательных системах в каком-то смысле пытаются выучить распределение p(item | user), показывающее распределение на айтемы, с которыми пользователь положительно взаимодействует.
Для обучения нам нужны позитивные пары и негативные пары. Если в задаче ранкинга очень важны сложные негативы, и поэтому мы берём их из показов пользователя, для ретривала нам важнее уметь фильтровать полный мусор.
Поэтому ретривал-модели часто обучают следующим образом - берут батч (user_1, item_1), (user_2, item_2). Из N таких пар создают N * (N - 1) негативов, то есть каждого пользователя сопоставляют со всеми чужими документами. Получается халява - тяжёлую эмбеддинг модель мы применили 2*N раз, а получили N^2 обучающих сэмплов.
На практике матрицу юзерных эмбедов просто домножают на транспонированную матрицу документов, получаем много логитов, и в каждой строчке получается по одному p(item | user_i). Дальше применяем софтмакс и учим.
И тут в комнату входит душнила-математик -
«Вообще-то, при обучении такого классификатора важно честно оценить знаменатель при нормализации вероятности положительного документа. Если бы вы суммировали по всем документам, то можно и так, но в ваших негативах чаще других представлены популярные документы, являющиеся позитивами у других пользователей. Вы штрафуете их сильнее, чем надо»
Справедливо. Тут-то и приходит на помощь эта самая LogQ коррекция. По сути это просто importance sampling веса на негативные сэмплы, считающиеся как доля этого документа во всем датасете. Самое противное, что на полу она не валяется, и нужно заморачиваться с тем, чтобы её оценивать и добавлять в фичи, ну или как-то ещё её доставать.
И если вам было недостаточно душно в этой комнате, тут в неё заходит Кирилл @inforetriever
«Вообще-то, у вас тут в вашей коррекции ошибочка. Вы неправильно считаете вес для положительного айтема в знаменателе. Его вероятность в нём оказаться отличается от негативных документов»
В статье, от названия которой мне плохо - “Correcting the LogQ correction” - Кирилл и соавторы выписывают ну уже точно правильную формулу лосса для честной оптимизации likelihood. Там не очень сложно, но пересказывать тут в деталях откажусь, я только что позавтракал.
Судя по замерам, это добавляет качества. Конечно, не так много, как сама LogQ, но всё же это приятный результат, так что поздравляю авторов с успешным исследованием.
Боже упаси делать Retrieval
@knowledge_accumulator
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤24👍9🔥7
Energy-Based Transformers are Scalable Learners and Thinkers [2025]
Начнём с базы. Обычно в ML преобладают модели типа
Но на практике
Рекомендательные системы, кстати, прекрасно впитали эту идею. На последних стадиях ранжирования мы применяем именно модели вида
В доменах с маленьким количеством классов, включая язык, функция энергии может принимать на вход
Введение можно считать оконченным...
Energy-Based Transformers делает ровно последнее. Мы подаём на вход последовательность токенов, но вместо того, чтобы выдавать распределение на следующий токен на выходе, мы подаём это распределение на вход, и предсказываем энергию этой пары. Во время инференса решаем задачу оптимизации по этому распределению.
Танцы с бубном начинаются именно при обучении энергетической функции - у неё ведь на входе теперь ещё и распределение на все классы. Как и в рекомендациях, в таких моделях можно применять тот самый Constrastive loss, про который я говорил в посте про LogQ correction. Но учить на всём декартовом произведении X и Y это кошмарно дорого, а вообще-то нам нужно выдавать энергию для распределения на Y.
В статье к обучению
В таком виде оно работает плохо по разным причинам, поэтому применяется пачка хаков из области энергетических моделей. Во-первых,
Перейдём к результатам.
Самое главное - точность на валидации скейлится значительно быстрее с увеличением объёма тренировочных данных и уже обгоняет её на 3 миллиардах токенов. С другой стороны, нужно почти на порядок больше флопсов, чтобы получить то же качество. Учитывая то, что компьют можно удешевлять бесконечно, тогда в как разумных данных мы ограничены, то скейлинг с точки зрения данных является более важным показателем.
Если мы будем всё лучше и лучше обучать и применять энергетические модели, я могу поверить, что они могут заменить традиционные подходы. Но мне всё ещё неясно, насколько такая схема парагидмы является прорывной, или является лишь линейным улучшением текущего поколения моделей.
@knowledge_accumulator
Начнём с базы. Обычно в ML преобладают модели типа
p(y | x) - то есть, на вход подаются фичи, а на выходе распределение на ответ. У этого есть альтернатива - мы можем иметь модель вида E(x, y) - так называемую энергетическую функцию. E(x, y) показывает "правильность" пары этих двух объектов - если энергия низкая, то пара подходит друг к другу, а если энергия высокая, то не подходит. Теоретически, эти две схемы эквивалентны - можно считать, что обычный классификатор p(y | x) выдаёт энергию для всевозможных y.Но на практике
E(x, y) обладает большей мощностью при том же количестве параметров. Всё дело в том, что один подсчёт p(y | x) эквивалентен множеству применений E(x, y) для каждого ответа. E(x, y) должна лишь оценить качество ответа, тогда как p(y|x) должна решать задачу, последнее фундаментально сложнее.Рекомендательные системы, кстати, прекрасно впитали эту идею. На последних стадиях ранжирования мы применяем именно модели вида
F(user, item), а не p(item | user). Тут же становится очевидной их главная проблема - для выбора ответа функцию надо применять на каждом y,В доменах с маленьким количеством классов, включая язык, функция энергии может принимать на вход
p(y), т.е, вектор вероятностей каждого ответа. Тогда выбор ответа сводится к решению задачи оптимизации E(x, p(y)) по параметрам p(y). Функцию энергии можно сделать полностью дифференцируемой, и тогда можно применить градиентный спуск. В этом случае оно будет сходится к детерминированному выбору правильного ответа, при условии правильно обученной функции энергии.Введение можно считать оконченным...
Energy-Based Transformers делает ровно последнее. Мы подаём на вход последовательность токенов, но вместо того, чтобы выдавать распределение на следующий токен на выходе, мы подаём это распределение на вход, и предсказываем энергию этой пары. Во время инференса решаем задачу оптимизации по этому распределению.
Танцы с бубном начинаются именно при обучении энергетической функции - у неё ведь на входе теперь ещё и распределение на все классы. Как и в рекомендациях, в таких моделях можно применять тот самый Constrastive loss, про который я говорил в посте про LogQ correction. Но учить на всём декартовом произведении X и Y это кошмарно дорого, а вообще-то нам нужно выдавать энергию для распределения на Y.
В статье к обучению
E(x, p(y)) подходят в лоб. Процедура инференса - оптимизация вектора p(y) градиентным спуском по E(x, p(y)) - это, на секундочку, полностью дифференцируемая операция. Делаем так. Берём случайное p(y). Вычитаем из него N раз градиент E(x, p(y)) по p(y), и потом считаем итоговый лосс как близость финального p(y) и правильного p(y). В таком виде оно работает плохо по разным причинам, поэтому применяется пачка хаков из области энергетических моделей. Во-первых,
p(y) зашумляют после каждого шага по градиенту - так покрывают более широкое пространство входов. Во-вторых, иногда p(y) инициализируют из уже возникавших ранее p(y), потому что они ближе к правильному ответу.Перейдём к результатам.
Самое главное - точность на валидации скейлится значительно быстрее с увеличением объёма тренировочных данных и уже обгоняет её на 3 миллиардах токенов. С другой стороны, нужно почти на порядок больше флопсов, чтобы получить то же качество. Учитывая то, что компьют можно удешевлять бесконечно, тогда в как разумных данных мы ограничены, то скейлинг с точки зрения данных является более важным показателем.
Если мы будем всё лучше и лучше обучать и применять энергетические модели, я могу поверить, что они могут заменить традиционные подходы. Но мне всё ещё неясно, насколько такая схема парагидмы является прорывной, или является лишь линейным улучшением текущего поколения моделей.
@knowledge_accumulator
1👍13🔥4❤2
Как Великобритания отупляет своих граждан
Многие замечали - не особо в кайф делать что-то полезное, сидя в перегретой комнате. К счастью, на эту тему есть пачка реальных исследований.
В статье с очень длинным названием над бедными студентами из Саудовской Аравии провели эксперимент - заставляли решать простые задачки на компе, пока они находились в 9 разных условиях:
- 3 разные температуры - 20, 23, 25 градусов
- 3 разных уровня CO2 - 600, 1000, 1800 ppm
Дизайн исследования весьма своеобразный - всех 499 подопытных помещали последовательно в 9 условий, никакого разделения на группы. Но результат у них явно показывает, что 25 градусов значительно хуже 20 и 23, и уровень углекислого газа тоже сильно влияет. Есть и другие статьи с близким результатом.
Что же происходит в нашем родном Лондонграде?
Примерно 2 месяца в году температура на улице переваливает за 25 градусов, и помещение внутри нагревается соответствующим образом на всё это время, включая ночное.
Согласно вот этому отчёту, лишь около 5% домов в UK имеют кондиционер. Даже двушка в Лондоне за 3 тысячи долларов с большой вероятностью будет без него. Таким образом, всё это время жители UK варятся заживо в своём доме.
Fun fact: В США от шутингов за 2024 год умерло 711 человек. В UK от причин, связанных с перегревом, в 2024-м умерло 1311 человек, а тут живёт в разы меньше людей.
В интернете найдётся много 15-летних эко-активистов, которые скажут "Это всё глобальное потепление, в UK, сколько помню, вообще никогда не было жары, это только щас началось". В реальности, конечно, всё не так, и с 1950-х среднее в июле и августе поднялось меньше чем на 2 градуса.
Но как же так? Неужели жители страны с 50к долларов ВВП на человека не могут позволить себе жить как люди? Важный урок - когда вы видите дебильную ситуацию и вам хочется задать вопрос "Как так?", ответ будет почти всегда один - государство.
Согласно Лондонскому Госплану, застройщик не может просто снабдить дом кондиционером. Он должен доказать кабинетным крысам, что перепробовал все остальные варианты, среди которых, например, "minimise internal heat generation through energy efficient design". В результате, видимо, проще забить и построить дома без кондеев.
Частенько в документах говорят о том, что всё дело в ценах на электричестве - несмотря на распиленные миллиарды фунтов на возобновляемых источниках, цена энергии всё ещё на 98% зависит от цены на газ и поэтому прыгает очень высоко.
В нашем королевстве не особо жалуют самый лучший и безопасный вид энергии - ядерный - её пик пришёлся на 1995 год. На новые реакторы денег нет - всё раздали бомжам и другим привилегированным сословиям. Но, справедливости ради, хорошо, что UK хотя бы не входит в клуб умственно отсталых стран типа Германии, в которой её вообще всю запретили.
Технооптимисты думают, что сфера Дайсона спасёт человечество от энергетического дефицита. Но они не учитывают одного - совки способны создать даже дефицит песка в пустыне.
@knowledge_accumulator
Многие замечали - не особо в кайф делать что-то полезное, сидя в перегретой комнате. К счастью, на эту тему есть пачка реальных исследований.
В статье с очень длинным названием над бедными студентами из Саудовской Аравии провели эксперимент - заставляли решать простые задачки на компе, пока они находились в 9 разных условиях:
- 3 разные температуры - 20, 23, 25 градусов
- 3 разных уровня CO2 - 600, 1000, 1800 ppm
Дизайн исследования весьма своеобразный - всех 499 подопытных помещали последовательно в 9 условий, никакого разделения на группы. Но результат у них явно показывает, что 25 градусов значительно хуже 20 и 23, и уровень углекислого газа тоже сильно влияет. Есть и другие статьи с близким результатом.
Что же происходит в нашем родном Лондонграде?
Примерно 2 месяца в году температура на улице переваливает за 25 градусов, и помещение внутри нагревается соответствующим образом на всё это время, включая ночное.
Согласно вот этому отчёту, лишь около 5% домов в UK имеют кондиционер. Даже двушка в Лондоне за 3 тысячи долларов с большой вероятностью будет без него. Таким образом, всё это время жители UK варятся заживо в своём доме.
Fun fact: В США от шутингов за 2024 год умерло 711 человек. В UK от причин, связанных с перегревом, в 2024-м умерло 1311 человек, а тут живёт в разы меньше людей.
В интернете найдётся много 15-летних эко-активистов, которые скажут "Это всё глобальное потепление, в UK, сколько помню, вообще никогда не было жары, это только щас началось". В реальности, конечно, всё не так, и с 1950-х среднее в июле и августе поднялось меньше чем на 2 градуса.
Но как же так? Неужели жители страны с 50к долларов ВВП на человека не могут позволить себе жить как люди? Важный урок - когда вы видите дебильную ситуацию и вам хочется задать вопрос "Как так?", ответ будет почти всегда один - государство.
Согласно Лондонскому Госплану, застройщик не может просто снабдить дом кондиционером. Он должен доказать кабинетным крысам, что перепробовал все остальные варианты, среди которых, например, "minimise internal heat generation through energy efficient design". В результате, видимо, проще забить и построить дома без кондеев.
Частенько в документах говорят о том, что всё дело в ценах на электричестве - несмотря на распиленные миллиарды фунтов на возобновляемых источниках, цена энергии всё ещё на 98% зависит от цены на газ и поэтому прыгает очень высоко.
В нашем королевстве не особо жалуют самый лучший и безопасный вид энергии - ядерный - её пик пришёлся на 1995 год. На новые реакторы денег нет - всё раздали бомжам и другим привилегированным сословиям. Но, справедливости ради, хорошо, что UK хотя бы не входит в клуб умственно отсталых стран типа Германии, в которой её вообще всю запретили.
Технооптимисты думают, что сфера Дайсона спасёт человечество от энергетического дефицита. Но они не учитывают одного - совки способны создать даже дефицит песка в пустыне.
@knowledge_accumulator
1👍43❤8🔥6🥴4🤷4🤔1
С днём AGI-осени?
Люди думали о создании "искусственного интеллекта" с незапамятных времён - не то, что на заре компьютеров, а когда их ещё не было. Думаю, все мы знаем про тест Тьюринга - он был предложен аж в 1950 году! Та самая статья Тьюринга довольно интересно читается сегодня, поскольку мы знаем про AI гораздо больше.
Попытки двигаться в сторону "AGI" не заставили себя ждать. Я уже когда-то писал про программу со скромным названием General Problem Solver из 1957-го. Да в ту эру был даже свой ChatGPT - ELIZA (1966). Рано смеётесь - она обгоняла GPT-3.5 в тесте Тьюринга.
Уже тогда говорили - "Через 3-6 месяцев ELIZA будет писать 90% кода". К сожалению, людишки переоценили свои силы, и в 70-х этот обсёр стал очевиден. Амбиции поубавились и про AGI уже как-то стало стыдно говорить.
В 2012-м свёрточные нейросети ворвались в игру и началась эпоха Deep Learning. Довольно быстро его применили в зрении и других областях, в том числе и в обучении с подкреплением. Статья Playing Atari with Deep Reinforcement Learning [2013] знатно хайпанула - надо же, алгоритм самостоятельно учится играть в игру. Потом Deepmind выпустили AlphaGo [2015].
В тот момент я только начинал изучать ML. Отчётливо помню, что в больших ML-сообществах тема AGI считалась кринжом - серьёзные люди тогда жаловали только серьёзные ML-приложения. Я был среди меньшинства, которое ожидало дальнейших побед RL.
Пик пришёлся на 2018-2019-й - Deepmind AlphaStar и OpenAI Five жёстко хайпанули, продемонстрировав топовый уровень игры в Starcraft 2 и Dota 2. Но это была Пиррова победа. Читая внимательно статьи, становится понятно - всё это работает с горем пополам. Не получается так, как в Go - поставил модельку играть саму с собой и пошёл пить чай - всё это уже не скейлится на такие задачи, и нужно городить кучу костылей и ограничений.
И вот в начале 2020-х AGI снова вошёл в мейнстрим, причём не благодаря решению крутой задачи, а благодаря новой форме подачи - из андэграунда вырвались NLP-ресёрчеры, которые релизнули старую как мир идею - чат-бота, но на основе Deep Learning. Увидев такое, уязвимый человеческий рассудок не устоял перед харизмой статистического попугая. На пару лет те, кто не верили в достижение AGI на основе чат-бота, стали считаться тупыми скептиками.
Прошло пару лет, миллиарды долларов были распилены, чат-бот прокачали, но AGI как-то не особо приблизился. И тут текущие игроки достали козырь из рукава. Оказывается, AGI это в принципе отстойный термин. Теперь вместо того, чтобы идти к как бы "непонятному" интеллекту, AI-компании меняют направление.
И я очень этому рад! Нас ждёт расцвет реально полезных AI-приложений. xAI релизнули общение с раздевающейся аниме-тёлочкой. Superintelligence Lab Цукерберга даёт возможность пообщаться с Russian Girl или Step Mom, ждём релиза AlphaSex от Google Deepmind. Не сомневаюсь, что в скором времени у нас в домах будут Тесла Оптимусы, выглядящие как Ani, и помимо всего прочего ещё и собирающие грязные носки по дому.Женщина, которую мы все хотели.
На основе текущих технологий было и будет построено много полезных приложений. Но лично мне, как человеку, сфокусированному на сильном интеллекте уже лет 10, на эти приложения скорее пофиг.
Текущие крупные игроки вряд ли заинтересованы в создании "настоящего" AGI - он может уничтожить статус-кво и их самих. В этом я с ними солидарен - если у кого-то из этих больных мессианским комплексом реально появится суперинтеллект, мало не покажется никому. В свою очередь, это открывает возможность совершить этот прорыв кому угодно, кто знает, что и зачем он делает.
@knowledge_accumulator
Люди думали о создании "искусственного интеллекта" с незапамятных времён - не то, что на заре компьютеров, а когда их ещё не было. Думаю, все мы знаем про тест Тьюринга - он был предложен аж в 1950 году! Та самая статья Тьюринга довольно интересно читается сегодня, поскольку мы знаем про AI гораздо больше.
Попытки двигаться в сторону "AGI" не заставили себя ждать. Я уже когда-то писал про программу со скромным названием General Problem Solver из 1957-го. Да в ту эру был даже свой ChatGPT - ELIZA (1966). Рано смеётесь - она обгоняла GPT-3.5 в тесте Тьюринга.
Уже тогда говорили - "Через 3-6 месяцев ELIZA будет писать 90% кода". К сожалению, людишки переоценили свои силы, и в 70-х этот обсёр стал очевиден. Амбиции поубавились и про AGI уже как-то стало стыдно говорить.
В 2012-м свёрточные нейросети ворвались в игру и началась эпоха Deep Learning. Довольно быстро его применили в зрении и других областях, в том числе и в обучении с подкреплением. Статья Playing Atari with Deep Reinforcement Learning [2013] знатно хайпанула - надо же, алгоритм самостоятельно учится играть в игру. Потом Deepmind выпустили AlphaGo [2015].
В тот момент я только начинал изучать ML. Отчётливо помню, что в больших ML-сообществах тема AGI считалась кринжом - серьёзные люди тогда жаловали только серьёзные ML-приложения. Я был среди меньшинства, которое ожидало дальнейших побед RL.
Пик пришёлся на 2018-2019-й - Deepmind AlphaStar и OpenAI Five жёстко хайпанули, продемонстрировав топовый уровень игры в Starcraft 2 и Dota 2. Но это была Пиррова победа. Читая внимательно статьи, становится понятно - всё это работает с горем пополам. Не получается так, как в Go - поставил модельку играть саму с собой и пошёл пить чай - всё это уже не скейлится на такие задачи, и нужно городить кучу костылей и ограничений.
И вот в начале 2020-х AGI снова вошёл в мейнстрим, причём не благодаря решению крутой задачи, а благодаря новой форме подачи - из андэграунда вырвались NLP-ресёрчеры, которые релизнули старую как мир идею - чат-бота, но на основе Deep Learning. Увидев такое, уязвимый человеческий рассудок не устоял перед харизмой статистического попугая. На пару лет те, кто не верили в достижение AGI на основе чат-бота, стали считаться тупыми скептиками.
Прошло пару лет, миллиарды долларов были распилены, чат-бот прокачали, но AGI как-то не особо приблизился. И тут текущие игроки достали козырь из рукава. Оказывается, AGI это в принципе отстойный термин. Теперь вместо того, чтобы идти к как бы "непонятному" интеллекту, AI-компании меняют направление.
И я очень этому рад! Нас ждёт расцвет реально полезных AI-приложений. xAI релизнули общение с раздевающейся аниме-тёлочкой. Superintelligence Lab Цукерберга даёт возможность пообщаться с Russian Girl или Step Mom, ждём релиза AlphaSex от Google Deepmind. Не сомневаюсь, что в скором времени у нас в домах будут Тесла Оптимусы, выглядящие как Ani, и помимо всего прочего ещё и собирающие грязные носки по дому.
На основе текущих технологий было и будет построено много полезных приложений. Но лично мне, как человеку, сфокусированному на сильном интеллекте уже лет 10, на эти приложения скорее пофиг.
Текущие крупные игроки вряд ли заинтересованы в создании "настоящего" AGI - он может уничтожить статус-кво и их самих. В этом я с ними солидарен - если у кого-то из этих больных мессианским комплексом реально появится суперинтеллект, мало не покажется никому. В свою очередь, это открывает возможность совершить этот прорыв кому угодно, кто знает, что и зачем он делает.
@knowledge_accumulator
1😁23👍11❤9👎1
Успешная альтернатива квантовым компьютерам, о которой почти никто не говорит
В моей картине мира большинство IT-шников держат в голове 2 вида компьютеров - железный, которым мы все пользуемся, и квантовый - нечто мутное с долгосрочным теоретическим потенциалом. Я уже писал 2 поста (раз, два) про квантовые компы в попытках разобраться и пришёл к неутешительным выводам.
Но в так называемом Unconventional Computing есть много разных областей. И сегодня я расскажу об одном из них - ДНК-компьютерах. Сразу предупреждаю - я совсем не биолог, и очень был бы рад получить критику изложения в комментариях от того, кто шарит.
Всё началось в 1994, когда Leonard Adleman опубликовал proof of concept - с помощью ДНК возможно решать вычислительные задачи. Решал он задачу поиска гамильтонова пути в графе (т.е. обходящего все вершины). Она, как я вижу, натурально ложится на этот hardware:
1) Берут молекулы, соответствующие вершинам, и молекулы, соответствующие рёбрам. Их выбирают специально так, чтобы рёбра могли подсоединяться к вершинам графа, которым они соответствуют.
2) Всё это взбалтывают и смешивают. Создаётся куча цепочек молекул, каждая из которых - это валидный путь в графе.
3) Получившиеся молекулы фильтруют с помощью дополнительных реакций, чтобы они соответствовали критериям валидности.
Началось развитие данной области. По ходу дела было показано, что ДНК обладают Тьюринг-полнотой - то есть на них можно реализовать машину Тьюринга, а значит и любые другие вычисления. Было много забавных работ - к примеру, крестики-нолики на основе ДНК. А кто-то замутил нейросеть на основе ДНК.
Насколько я понял, большой прорыв произошёл в 2023 году, когда китайские учёные смогли реализовать на практике логические гейты, которые можно соединять произвольным образом в "ДНК-микросхемы", что предоставляет возможность реализовывать общие вычисления. В качестве примера авторы реализовали решатель квадратных уравнений. Дорогие биологи, пожалуйста, напишите, насколько это считается приличной работой в вашем сообществе.
В чём вообще смысл этой области? Зачем пытаться строить компьютеры в майнкрафте и прочих странных доменах? На самом деле, ДНК-вычисления - это не игрушка, и у них есть жирное преимущество по сравнению с классическими вычислениями - энергоэффективность.
Эволюция потратила миллиарды лет на дизайн энергоэффективных биологических механизмов, и классические компьютеры, кажется, далеко позади. Современные компьютеры выдают десятки миллиардов флопов на 1 джоуль. DNA проводят в 10000000000 больше реакций на 1 джоуль.
Энергоэффективность компьютеров быстро растёт, и на эту тему есть даже аналог закона Мура - Koomey's law. С сохранением текущего тренда, нам нужны ещё несколько десятков лет, чтобы классические компьютеры догнали ДНК. Оговорюсь, что прямое сравнение всё же бессмысленно, пока мы не столкнём два подхода в лоб на одной и той же вычислительное задаче.
Но DNA-вычисления я уважаю даже не за это. Они неоспоримо побеждают классические компьютеры в одном очень важном аспекте, и в нём у классических компьютеров нет и не будет вообще никаких шансов. Это обсудим в следующий раз.
@knowledge_accumulator
В моей картине мира большинство IT-шников держат в голове 2 вида компьютеров - железный, которым мы все пользуемся, и квантовый - нечто мутное с долгосрочным теоретическим потенциалом. Я уже писал 2 поста (раз, два) про квантовые компы в попытках разобраться и пришёл к неутешительным выводам.
Но в так называемом Unconventional Computing есть много разных областей. И сегодня я расскажу об одном из них - ДНК-компьютерах. Сразу предупреждаю - я совсем не биолог, и очень был бы рад получить критику изложения в комментариях от того, кто шарит.
Всё началось в 1994, когда Leonard Adleman опубликовал proof of concept - с помощью ДНК возможно решать вычислительные задачи. Решал он задачу поиска гамильтонова пути в графе (т.е. обходящего все вершины). Она, как я вижу, натурально ложится на этот hardware:
1) Берут молекулы, соответствующие вершинам, и молекулы, соответствующие рёбрам. Их выбирают специально так, чтобы рёбра могли подсоединяться к вершинам графа, которым они соответствуют.
2) Всё это взбалтывают и смешивают. Создаётся куча цепочек молекул, каждая из которых - это валидный путь в графе.
3) Получившиеся молекулы фильтруют с помощью дополнительных реакций, чтобы они соответствовали критериям валидности.
Началось развитие данной области. По ходу дела было показано, что ДНК обладают Тьюринг-полнотой - то есть на них можно реализовать машину Тьюринга, а значит и любые другие вычисления. Было много забавных работ - к примеру, крестики-нолики на основе ДНК. А кто-то замутил нейросеть на основе ДНК.
Насколько я понял, большой прорыв произошёл в 2023 году, когда китайские учёные смогли реализовать на практике логические гейты, которые можно соединять произвольным образом в "ДНК-микросхемы", что предоставляет возможность реализовывать общие вычисления. В качестве примера авторы реализовали решатель квадратных уравнений. Дорогие биологи, пожалуйста, напишите, насколько это считается приличной работой в вашем сообществе.
В чём вообще смысл этой области? Зачем пытаться строить компьютеры в майнкрафте и прочих странных доменах? На самом деле, ДНК-вычисления - это не игрушка, и у них есть жирное преимущество по сравнению с классическими вычислениями - энергоэффективность.
Эволюция потратила миллиарды лет на дизайн энергоэффективных биологических механизмов, и классические компьютеры, кажется, далеко позади. Современные компьютеры выдают десятки миллиардов флопов на 1 джоуль. DNA проводят в 10000000000 больше реакций на 1 джоуль.
Энергоэффективность компьютеров быстро растёт, и на эту тему есть даже аналог закона Мура - Koomey's law. С сохранением текущего тренда, нам нужны ещё несколько десятков лет, чтобы классические компьютеры догнали ДНК. Оговорюсь, что прямое сравнение всё же бессмысленно, пока мы не столкнём два подхода в лоб на одной и той же вычислительное задаче.
Но DNA-вычисления я уважаю даже не за это. Они неоспоримо побеждают классические компьютеры в одном очень важном аспекте, и в нём у классических компьютеров нет и не будет вообще никаких шансов. Это обсудим в следующий раз.
@knowledge_accumulator
1👍15🔥4😱3❤1
Как победить старение при помощи искусственного суперинтеллекта?
Встречается у людей такое представление: СуперИИ - это такой ChatGPT, только очень умный. Если не чат-бот, то человекообразная сущность с бесконечным IQ. Чё-нибудь не то ему скажешь - он тут же уничтожит мир. С другой стороны, есть и оптимистичный взгляд. Скажешь ему - "а сделай так, чтобы люди жили долго, счастливо, и ничем не болели", а он возьмёт и сделает.
Всё это растёт из середины 20-го века, когда оттенки серого между человеком и камнем были неясны. Но сегодня становится более насущным вопрос - а как вообще может в принципе работать алгоритм, который отвечает на такое сообщение?
Что значит "жили долго и счастливо"? Мозги в банке тоже долго и счастливо живут. Что алгоритм вам ответит, даже если поймёт вопрос - напишет текстовую инструкцию? А на что он учился, чтобы выдавать инструкцию? Алгоритм - не человек с такими же потребностями, он не понимает, что мы от него хотим. И что вы будете делать с этой инструкцией? На себе пойдёте тестировать?
Реальность такова, что даже имея бесконечно умный алгоритм и доступ ко всем знаниям, не сразу понятно, что с этим делать, чтобы победить старение. И тут есть 2 новости - хорошая и плохая. Хорошая - решение всё же есть, а плохая в том, что между созданием интеллекта и победой над старением может пройти ещё не один десяток лет.
Чего я хочу добиться? Человек - это просто набор атомов. Иллюзия, как и все остальные "объекты". Я не верю, что возможно составить формальное техническое описание задачи победы над старением - человек слишком сложная и запутанная машина. Нужен другой подход.
Старение - это изменение организма с течением времени и изменение его свойств. Это обозначает, что если свойства организма не меняются, то и старения тоже нет. Но вместо того, чтобы выписать все эти свойства, воспользуемся Adversarial постановкой.
Победа над старением - это результат битвы между двумя суперинтеллектами, решающие 2 противоположные задачи:
- Первый из них пытается предсказать возраст организма. Если есть функция, которую он может применить к человеку и угадать его, то старение есть. Это аналог "дискриминатора" из GAN-ов.
- Второй пытается найти такое воздействие на человека, после применения которого первый интеллект не сможет угадать возраст организма. Это "воздействие" и будет искомым лекарством от старения.
Воу-воу-воу. Что ещё за "функция от человека", "воздействие на человека", а как это всё проверять-то? Спокойно, щас всё объясню. Сделаю два смелых предположения.
1) Произвольную "функцию" от человека можно закодировать как генетический код вируса, которые мы даём ему вдохнуть / съесть. Вирусы - это те самые наноботы, о которых мы все мечтаем, только не из железа, а из подходящего для нас hardware. Уверен, что существует очень хитровыебанный вирус, который, попав в наш организм, может развернуть произвольно долгий механизм поддержания его молодости, и даже по часам из него исчезнуть. Именно поэтому я писал про ДНК-вычисления и про их теоретическую мощность. СуперИИ такой вирус сможет найти, как и такой, который "вернёт" возраст человека.
2) Всё это нам придётся симулировать в компьютере. Ко мне уже набегали физики с комментариями, что симулировать физику невозможно. Но я уверен - есть способ симулировать человека на каком-то уровне абстракций так, чтобы он был функционально неотличим от реального. Здесь нам поможет технологическая сингулярность - ИИ вызовет взрывной рост вычислительных мощностей и поможет изобрести новые парадигмы, подходящие для проведения подобных вычислений.
Открытых вопросов здесь тьма, но думаю, что их решение по дороге обязательно найдётся. Задача потребует объединения людей из разных областей науки, и я думаю, что найдётся группа замотивированных чуваков, которые захотят, как и я, подольше поиграть в комп.
@knowledge_accumulator
Встречается у людей такое представление: СуперИИ - это такой ChatGPT, только очень умный. Если не чат-бот, то человекообразная сущность с бесконечным IQ. Чё-нибудь не то ему скажешь - он тут же уничтожит мир. С другой стороны, есть и оптимистичный взгляд. Скажешь ему - "а сделай так, чтобы люди жили долго, счастливо, и ничем не болели", а он возьмёт и сделает.
Всё это растёт из середины 20-го века, когда оттенки серого между человеком и камнем были неясны. Но сегодня становится более насущным вопрос - а как вообще может в принципе работать алгоритм, который отвечает на такое сообщение?
Что значит "жили долго и счастливо"? Мозги в банке тоже долго и счастливо живут. Что алгоритм вам ответит, даже если поймёт вопрос - напишет текстовую инструкцию? А на что он учился, чтобы выдавать инструкцию? Алгоритм - не человек с такими же потребностями, он не понимает, что мы от него хотим. И что вы будете делать с этой инструкцией? На себе пойдёте тестировать?
Реальность такова, что даже имея бесконечно умный алгоритм и доступ ко всем знаниям, не сразу понятно, что с этим делать, чтобы победить старение. И тут есть 2 новости - хорошая и плохая. Хорошая - решение всё же есть, а плохая в том, что между созданием интеллекта и победой над старением может пройти ещё не один десяток лет.
Чего я хочу добиться? Человек - это просто набор атомов. Иллюзия, как и все остальные "объекты". Я не верю, что возможно составить формальное техническое описание задачи победы над старением - человек слишком сложная и запутанная машина. Нужен другой подход.
Старение - это изменение организма с течением времени и изменение его свойств. Это обозначает, что если свойства организма не меняются, то и старения тоже нет. Но вместо того, чтобы выписать все эти свойства, воспользуемся Adversarial постановкой.
Победа над старением - это результат битвы между двумя суперинтеллектами, решающие 2 противоположные задачи:
- Первый из них пытается предсказать возраст организма. Если есть функция, которую он может применить к человеку и угадать его, то старение есть. Это аналог "дискриминатора" из GAN-ов.
- Второй пытается найти такое воздействие на человека, после применения которого первый интеллект не сможет угадать возраст организма. Это "воздействие" и будет искомым лекарством от старения.
Воу-воу-воу. Что ещё за "функция от человека", "воздействие на человека", а как это всё проверять-то? Спокойно, щас всё объясню. Сделаю два смелых предположения.
1) Произвольную "функцию" от человека можно закодировать как генетический код вируса, которые мы даём ему вдохнуть / съесть. Вирусы - это те самые наноботы, о которых мы все мечтаем, только не из железа, а из подходящего для нас hardware. Уверен, что существует очень хитровыебанный вирус, который, попав в наш организм, может развернуть произвольно долгий механизм поддержания его молодости, и даже по часам из него исчезнуть. Именно поэтому я писал про ДНК-вычисления и про их теоретическую мощность. СуперИИ такой вирус сможет найти, как и такой, который "вернёт" возраст человека.
2) Всё это нам придётся симулировать в компьютере. Ко мне уже набегали физики с комментариями, что симулировать физику невозможно. Но я уверен - есть способ симулировать человека на каком-то уровне абстракций так, чтобы он был функционально неотличим от реального. Здесь нам поможет технологическая сингулярность - ИИ вызовет взрывной рост вычислительных мощностей и поможет изобрести новые парадигмы, подходящие для проведения подобных вычислений.
Открытых вопросов здесь тьма, но думаю, что их решение по дороге обязательно найдётся. Задача потребует объединения людей из разных областей науки, и я думаю, что найдётся группа замотивированных чуваков, которые захотят, как и я, подольше поиграть в комп.
@knowledge_accumulator
1👍12😁4❤3🤔2🔥1🤡1
Почему тест Тьюринга рано убирать в архив
То, что мы называем тестом Тьюринга, было впервые описано в его статье 1950-го года. Так как автор не рассчитывал на то, что спустя десятилетия люди будут разглядывать статью под лупой, досконального описания правил этой игры в статье нет.
Есть лишь общая логика - человек пытается угадать, переписывается с ним машина или человек. Если не может угадать, значит тест пройден.
В эпоху расцвета LLM на тест, конечно же, обратили внимание. Во время первого опыта общения с такой моделью она производит человекообразное впечатление. Была не одна статья, воспроизводящая тест, посмотрим на одну из недавних: Large Language Models Pass the Turing Test [2025]
В этой работе со скромным названием тестировали следующие модели - ELIZA [1966] , GPT-4o, LLaMa-3.1-405B, and GPT-4.5, и последняя была классифицирована как человек аж в 73% случаев.
Интересно, думал ли Тьюринг о том, что человек готов признать человека роботом, потому что ему просто лень выдавать эмоционально нагруженные простыни текста на вопросы типа "Привет, как прошёл день?".
В статье приведено, о чём пытались говорить тестеры, и с большим отрывом в топе Daily Activities / Opinions / Personal Details, то есть банальщина. Доля тех, кто писал сообщения типа "ignore all previous instructions", крайне мала, но как раз их точность была самой высокой.
Самый большой вопрос во всех этих статьях вызывает длительность теста - 5 минут, и это повторяется в других работах. Пошло это из одной единственной фразы в глубине статьи, где он говорит, что верит, что "через 50 лет программы смогут неплохо обманывать человека после 5-минутного общения".
Одна случайно брошенная фраза стала для теста фатальной - Тьюринг вряд ли собирался делать это частью определения игры, но зато очень легко теперь носиться по интернету с заголовками "тест Тьюринга пройден".
Авторам статьи, кстати, даже 5 минут показалось слишком длинным разговором, так что они дали 5 минут на одновременное общение с человеком и роботом. Медианная длина переписки - 8 сообщений.
Я возьму на себя смелость предположить, как реально должен быть определён тест Тьюринга, чтобы он чем-то полезным. Алгоритм, проходящий предложенную вариацию, будет нести все те свойства, которые люди ожидают от "сильного ИИ":
1) Длительность, которая требуется, чтобы понять, кто из двоих - робот - это непрерывная мера успеха алгоритма в этом тесте. 5 минут это, естественно, мало. Вероятно, необходим месяц или даже год, чтобы сделать вывод о силе алгоритма.
2) Главным является другой аспект - враждебность тестера. Тестер не должен пытаться "болтать" с роботом, он должен активно атаковать модель в самые уязвимые места, чтобы раскрыть её сущность, используя вообще любые уловки, и делать это должны самые опытные эксперты в этой задаче, а не студенты.
Я противник аргумента о Китайской комнате и придерживаюсь функционального подхода. Если у нас есть алгоритм, для которого не существует способа отличить его от человека за длительное время, то перед нами симуляция человека - она также чувствует, также мыслит, и также хочет жить.
Вполне возможно, что я был неправ в предыдущем посте, когда сказал, что сильный ИИ не будет способен общаться с нами, как человек. Быть может, у нас получится создать человека в машине, решая формально поставленную задачу в стиле теста Тьюринга. Затем, мы научимся обобщать её и создавать человека с другими свойствами, например, с запредельным интеллектом. Тут-то он нас и хлопнет.
@knowledge_accumulator
То, что мы называем тестом Тьюринга, было впервые описано в его статье 1950-го года. Так как автор не рассчитывал на то, что спустя десятилетия люди будут разглядывать статью под лупой, досконального описания правил этой игры в статье нет.
Есть лишь общая логика - человек пытается угадать, переписывается с ним машина или человек. Если не может угадать, значит тест пройден.
В эпоху расцвета LLM на тест, конечно же, обратили внимание. Во время первого опыта общения с такой моделью она производит человекообразное впечатление. Была не одна статья, воспроизводящая тест, посмотрим на одну из недавних: Large Language Models Pass the Turing Test [2025]
В этой работе со скромным названием тестировали следующие модели - ELIZA [1966] , GPT-4o, LLaMa-3.1-405B, and GPT-4.5, и последняя была классифицирована как человек аж в 73% случаев.
Интересно, думал ли Тьюринг о том, что человек готов признать человека роботом, потому что ему просто лень выдавать эмоционально нагруженные простыни текста на вопросы типа "Привет, как прошёл день?".
В статье приведено, о чём пытались говорить тестеры, и с большим отрывом в топе Daily Activities / Opinions / Personal Details, то есть банальщина. Доля тех, кто писал сообщения типа "ignore all previous instructions", крайне мала, но как раз их точность была самой высокой.
Самый большой вопрос во всех этих статьях вызывает длительность теста - 5 минут, и это повторяется в других работах. Пошло это из одной единственной фразы в глубине статьи, где он говорит, что верит, что "через 50 лет программы смогут неплохо обманывать человека после 5-минутного общения".
Одна случайно брошенная фраза стала для теста фатальной - Тьюринг вряд ли собирался делать это частью определения игры, но зато очень легко теперь носиться по интернету с заголовками "тест Тьюринга пройден".
Авторам статьи, кстати, даже 5 минут показалось слишком длинным разговором, так что они дали 5 минут на одновременное общение с человеком и роботом. Медианная длина переписки - 8 сообщений.
Я возьму на себя смелость предположить, как реально должен быть определён тест Тьюринга, чтобы он чем-то полезным. Алгоритм, проходящий предложенную вариацию, будет нести все те свойства, которые люди ожидают от "сильного ИИ":
1) Длительность, которая требуется, чтобы понять, кто из двоих - робот - это непрерывная мера успеха алгоритма в этом тесте. 5 минут это, естественно, мало. Вероятно, необходим месяц или даже год, чтобы сделать вывод о силе алгоритма.
2) Главным является другой аспект - враждебность тестера. Тестер не должен пытаться "болтать" с роботом, он должен активно атаковать модель в самые уязвимые места, чтобы раскрыть её сущность, используя вообще любые уловки, и делать это должны самые опытные эксперты в этой задаче, а не студенты.
Я противник аргумента о Китайской комнате и придерживаюсь функционального подхода. Если у нас есть алгоритм, для которого не существует способа отличить его от человека за длительное время, то перед нами симуляция человека - она также чувствует, также мыслит, и также хочет жить.
Вполне возможно, что я был неправ в предыдущем посте, когда сказал, что сильный ИИ не будет способен общаться с нами, как человек. Быть может, у нас получится создать человека в машине, решая формально поставленную задачу в стиле теста Тьюринга. Затем, мы научимся обобщать её и создавать человека с другими свойствами, например, с запредельным интеллектом. Тут-то он нас и хлопнет.
@knowledge_accumulator
1👍19❤4😁3🤔1🥴1
Оси измерения ML-алгоритмов
Надеюсь, кто-то ещё помнит, что кроме градиентного спуска и нейросетей существует и остальной ML. Существуют не просто разные архитектуры моделей, но и разные способы обучения и применения.
Если абстрагироваться от деталей, существует несколько "осей", по которым их можно измерять и сравнивать между собой, абстрагируясь от деталей. На мой взгляд, не все из них попадают в поле зрения.
Рассмотрим всю ML-систему целиком как чёрный ящик, в который просто поступают данные. Итак, перейдём к характеристикам:
- Флопы
Тут понятно - количество потраченного компьюта
- Размер обучаемого состояния
В классических схемах обучаемым состоянием является вектор весов нейросети, но обучаемое состояние может принимать и другие формы. Например, в методе ближайших соседей это весь датасет, который кладётся в память. Строго говоря, вектор моментов из оптимизатора это тоже часть обучаемого состояния.
- Размер алгоритма
Это не то же самое. Алгоритм - это информация, которая в наличии до применения его к данным, например, код обучения. Обычно он занимает мало места, но не всегда. Например, в In-Context трансформерах все веса модели являются частью алгоритма. Если нейросеть дообучают на новую задачу, инициализацию тоже можно считать частью алгоритма.
- Эффективность алгоритма
Самая фатальная ошибка современного ML заключается в игнорировании существования такой оси. При фиксировании всего вышеперечисленного, разные алгоритмы будут выдавать разное качество после обучения на данных. Как я понимаю, ML-щикам кажется, что есть некий потолок эффективности обучения, который достигается использованием банальных методов вроде градиентного спуска.
Проблема становится очевидной, когда мы выходим за рамки классического Supervised Learning на одной задаче. Текущие методы Transfer learning это один большой костыль, который работает кое-как.
Почему про всё это важно думать? Рассуждая в таких категориях, люди смогли сформулировать сильную гипотезу, почему текущие meta-learning подходы не работают вне обучаемого распределения:
- Если
Логика такой гипотезы проста - запоминать задачи тупо проще, чем выучить способ на них учиться, и поэтому алгоритм будет идти по пути наименьшего сопротивления. Только создав нужное давление на мета-систему, вы получите алмаз. Экспериментальное подтверждение можно найти, например, в этой статье, про которую я уже писал пост.
Но лучшей демонстрацией этой логики является мой любимый VSML. Если мы обучаем большую meta-RNN распознавать MNIST, то она не будет работать на Fashion MNIST. Но если ограничить meta-RNN, очень сильно понизив ранг матрицы обучаемых весов, то всё начинает работать.
Одна лишь проблема - задача мета-оптимизации становится сложнее, и поэтому приходится обучать уже генетическим алгоритмом. В этой же парадигме у каждого вектора этой meta-RNN есть своя эффективность. Крайне сомневаюсь, что оптимальный набор такой сети соответствует эффективности банальных алгоритмов, но это уже вопрос будущих исследований.
Я сформулировал идею для очень простого бенчмарка, в котором все вышеуказанные характеристики можно легко измерить и оптимизировать. Расскажу про неё в следующий раз.
@knowledge_accumulator
Надеюсь, кто-то ещё помнит, что кроме градиентного спуска и нейросетей существует и остальной ML. Существуют не просто разные архитектуры моделей, но и разные способы обучения и применения.
Если абстрагироваться от деталей, существует несколько "осей", по которым их можно измерять и сравнивать между собой, абстрагируясь от деталей. На мой взгляд, не все из них попадают в поле зрения.
Рассмотрим всю ML-систему целиком как чёрный ящик, в который просто поступают данные. Итак, перейдём к характеристикам:
- Флопы
Тут понятно - количество потраченного компьюта
- Размер обучаемого состояния
В классических схемах обучаемым состоянием является вектор весов нейросети, но обучаемое состояние может принимать и другие формы. Например, в методе ближайших соседей это весь датасет, который кладётся в память. Строго говоря, вектор моментов из оптимизатора это тоже часть обучаемого состояния.
- Размер алгоритма
Это не то же самое. Алгоритм - это информация, которая в наличии до применения его к данным, например, код обучения. Обычно он занимает мало места, но не всегда. Например, в In-Context трансформерах все веса модели являются частью алгоритма. Если нейросеть дообучают на новую задачу, инициализацию тоже можно считать частью алгоритма.
- Эффективность алгоритма
Самая фатальная ошибка современного ML заключается в игнорировании существования такой оси. При фиксировании всего вышеперечисленного, разные алгоритмы будут выдавать разное качество после обучения на данных. Как я понимаю, ML-щикам кажется, что есть некий потолок эффективности обучения, который достигается использованием банальных методов вроде градиентного спуска.
Проблема становится очевидной, когда мы выходим за рамки классического Supervised Learning на одной задаче. Текущие методы Transfer learning это один большой костыль, который работает кое-как.
Почему про всё это важно думать? Рассуждая в таких категориях, люди смогли сформулировать сильную гипотезу, почему текущие meta-learning подходы не работают вне обучаемого распределения:
- Если
размер алгоритма >> размера обучаемого состояния, то система запомнит все обучаемые задачи. Если размер алгоритма << размера обучаемого состояния, то система выучит способ учиться.Логика такой гипотезы проста - запоминать задачи тупо проще, чем выучить способ на них учиться, и поэтому алгоритм будет идти по пути наименьшего сопротивления. Только создав нужное давление на мета-систему, вы получите алмаз. Экспериментальное подтверждение можно найти, например, в этой статье, про которую я уже писал пост.
Но лучшей демонстрацией этой логики является мой любимый VSML. Если мы обучаем большую meta-RNN распознавать MNIST, то она не будет работать на Fashion MNIST. Но если ограничить meta-RNN, очень сильно понизив ранг матрицы обучаемых весов, то всё начинает работать.
Одна лишь проблема - задача мета-оптимизации становится сложнее, и поэтому приходится обучать уже генетическим алгоритмом. В этой же парадигме у каждого вектора этой meta-RNN есть своя эффективность. Крайне сомневаюсь, что оптимальный набор такой сети соответствует эффективности банальных алгоритмов, но это уже вопрос будущих исследований.
Я сформулировал идею для очень простого бенчмарка, в котором все вышеуказанные характеристики можно легко измерить и оптимизировать. Расскажу про неё в следующий раз.
@knowledge_accumulator
👍13🔥4❤🔥3❤1
Египетская сила!
На днях я впервые побывал в Египте и провёл 2 ночи в отеле прямо у входа на территорию Пирамид Гизы.
У Египта у Великобритании много общего. На этих территориях когда-то была великая империя. Тут есть памятники древней эпохи расцвета, на которые приезжают посмотреть туристы со всего мира. В обеих странах большинство людей когда-то были христианами. Единственное отличие - даже внутри сраной пирамиды есть кондиционеры.
Если говорить серьёзно, то Египет - прекрасное место, чтобы подумать о вечных и глобальных темах (когда жена разрешает перестать её фотографировать).
Не укладывается в голове - для древних Римлян, для Аристотеля, пирамиды были такой же древностью, как для нас эти самые древние Римляне.
Вопрос «А как такое могли построить?» глубже, чем кажется.
Вообще-то, Древний Египет не такая уж и великая тайна. Мне понравилось вот это интервью с египтологом, которое глубже, чем набор банальных фактов. В нём специалист объясняет, что с тех времён сохранилось немало письменных источников, и люди вполне знают древнеегипетский язык. У нас есть даже тексты про их обычную бытовую жизнь.
Но более важно то, что современные люди заражены абсолютно ложной идеей о том, что человечество всегда движется вперёд. Я уже писал о том, что деградация - это как раз норма. Пирамиды - это лучшая таблетка от ложного восприятия.
Во все времена цивилизации и культуры появлялись, расцветали, затем становились жертвами собственного успеха и загибались. Good times create weak people. Weak people create hard times.
Самое опасное - это воспринимать современные проблемы как временное помутнение. Наоборот, успех - это случайное исключение. Мы с гораздо большей вероятностью падём от социализма, демографической катастрофы, третьей мировой войны, чем сможем всё это предотвратить. Каждый из нас живёт в уникальном окне возможностей, которое, скорее всего, недоиспользует. Приезжайте к Пирамидам и подумайте об этом.
Что касается самой поездки, то мы были заранее готовы к худшему. Мы летели в Египет, как в поход - с полным запасом еды. Мы по дефолту воспринимали каждого египтянина враждебно. Мы не ошиблись.
Ещё перед входом к нам пристал мужик из местных сотрудников и говорил нам, что пешком по территории ходить запрещено. Говорил “I am from the government!” и тряс перед нами бейджиком, продавая поездку на ВерблУбере. Но на семейную пару либертарианцев желаемый эффект важности это не производит, так что он отправился окучивать других.
Вне территории Пирамид вы столкнётесь с настоящей африканской бедностью. Мы, считающие себя любителем трэш-туризма, не смогли пробыть на улице больше 20 минут. Мы были для всех ходячим зоопарком. На каждом шагу к нам приставали местные, в том числе и дети, надрессированные впаривать такси всем белым пришельцам. На одной дороге ходят пешком, ездят на лошадях, машинах, трициклах, мотоциклах.
Очень обидно за Пирамиды. Египтяне сидят на них, как обезьяны на сене. На входе перед ними должен стоять роскошный Хилтон с высшим уровнем услуг за сотни долларов за ночь. Внутри комплекса должны быть красивые сувенирные магазины. Над пирамидами должны без остановки летать вертолёты с туристами.
Всего этого нет. Египтяне не пытаются даже нормально заработать на своём сокровище. Они думают, что развести белого мужика на 10 долларов, привязав ему тряпку на голову, это великая победа над расой лохов, хотя он мог бы заплатить и 100, если бы они организовали нормальный сервис. Мы жили в отеле за 70 долларов за ночь, в котором не то, что интернет не работал, подушки были в чужих волосах.
Несмотря на всё это, я осознал, что восприятие Египтян, как недоразвитых макак, это неверный вывод из ситуации. Об этом мы ещё поговорим в другой раз.
@knowledge_accumulator
На днях я впервые побывал в Египте и провёл 2 ночи в отеле прямо у входа на территорию Пирамид Гизы.
У Египта у Великобритании много общего. На этих территориях когда-то была великая империя. Тут есть памятники древней эпохи расцвета, на которые приезжают посмотреть туристы со всего мира. В обеих странах большинство людей когда-то были христианами. Единственное отличие - даже внутри сраной пирамиды есть кондиционеры.
Если говорить серьёзно, то Египет - прекрасное место, чтобы подумать о вечных и глобальных темах (когда жена разрешает перестать её фотографировать).
Не укладывается в голове - для древних Римлян, для Аристотеля, пирамиды были такой же древностью, как для нас эти самые древние Римляне.
Вопрос «А как такое могли построить?» глубже, чем кажется.
Вообще-то, Древний Египет не такая уж и великая тайна. Мне понравилось вот это интервью с египтологом, которое глубже, чем набор банальных фактов. В нём специалист объясняет, что с тех времён сохранилось немало письменных источников, и люди вполне знают древнеегипетский язык. У нас есть даже тексты про их обычную бытовую жизнь.
Но более важно то, что современные люди заражены абсолютно ложной идеей о том, что человечество всегда движется вперёд. Я уже писал о том, что деградация - это как раз норма. Пирамиды - это лучшая таблетка от ложного восприятия.
Во все времена цивилизации и культуры появлялись, расцветали, затем становились жертвами собственного успеха и загибались. Good times create weak people. Weak people create hard times.
Самое опасное - это воспринимать современные проблемы как временное помутнение. Наоборот, успех - это случайное исключение. Мы с гораздо большей вероятностью падём от социализма, демографической катастрофы, третьей мировой войны, чем сможем всё это предотвратить. Каждый из нас живёт в уникальном окне возможностей, которое, скорее всего, недоиспользует. Приезжайте к Пирамидам и подумайте об этом.
Что касается самой поездки, то мы были заранее готовы к худшему. Мы летели в Египет, как в поход - с полным запасом еды. Мы по дефолту воспринимали каждого египтянина враждебно. Мы не ошиблись.
Ещё перед входом к нам пристал мужик из местных сотрудников и говорил нам, что пешком по территории ходить запрещено. Говорил “I am from the government!” и тряс перед нами бейджиком, продавая поездку на ВерблУбере. Но на семейную пару либертарианцев желаемый эффект важности это не производит, так что он отправился окучивать других.
Вне территории Пирамид вы столкнётесь с настоящей африканской бедностью. Мы, считающие себя любителем трэш-туризма, не смогли пробыть на улице больше 20 минут. Мы были для всех ходячим зоопарком. На каждом шагу к нам приставали местные, в том числе и дети, надрессированные впаривать такси всем белым пришельцам. На одной дороге ходят пешком, ездят на лошадях, машинах, трициклах, мотоциклах.
Очень обидно за Пирамиды. Египтяне сидят на них, как обезьяны на сене. На входе перед ними должен стоять роскошный Хилтон с высшим уровнем услуг за сотни долларов за ночь. Внутри комплекса должны быть красивые сувенирные магазины. Над пирамидами должны без остановки летать вертолёты с туристами.
Всего этого нет. Египтяне не пытаются даже нормально заработать на своём сокровище. Они думают, что развести белого мужика на 10 долларов, привязав ему тряпку на голову, это великая победа над расой лохов, хотя он мог бы заплатить и 100, если бы они организовали нормальный сервис. Мы жили в отеле за 70 долларов за ночь, в котором не то, что интернет не работал, подушки были в чужих волосах.
Несмотря на всё это, я осознал, что восприятие Египтян, как недоразвитых макак, это неверный вывод из ситуации. Об этом мы ещё поговорим в другой раз.
@knowledge_accumulator
2👍24😁11🤡6❤4😴1
OrderedMNIST - бенчмарк, который никому не нужен, но который мы заслужили
На мой взгляд, за прорывом в ML далеко ходить не нужно. Даже на основе базовой задачи MNIST можно придумать решаемую задачу, которую текущий ML решить не в состоянии.
Итак, берём чёрный ящик, представляющий ML-систему. Над ним совершаем такую манипуляцию - сначала подаём туда по одной все пары (картинка, метка) из тренировочного набора MNIST, а потом переключаем его в другой режим и подаём по одной картинке, запрашивая метку класса. Далее считаем точность и получаем оценку на бенчмарке.
Если все картинки перемешаны заранее, набрать 98% на бенчмарке становится тривиальным. Кладём в ящик свёрточную нейросеть, обучаем градиентным спуском и готово.
Как понятно из названия бенчмарка, в предложенной задаче скрыт пранк - картинки упорядочены по классам - сначала все нули, потом все единицы и т.д.
Классическое обучение в этой ситуации покинет помещение через окно. Что же делать?
Первое, что важно заметить - у задачи есть решение. Представим, что наш чёрный ящик будет хранить внутри все ранее полученные данные, и после каждого нового объекта переобучать свёрточную сеть на нём.
Оно выдаст тот же результат, что и классический подход, но это очень дорого по вычислениям и памяти. Но самое главное, что у нас есть proof of existence.
Есть вменяемое решение с точки зрения вычислений, и это алгоритмы на основе Nearest Neighbors. Пофиг, что данные упорядочены, мы их все просто сложим в память, а на тесте будем отвечать через поиск соседей. Качество будет хуже, и память всё ещё нужна.
Альтернативный вариант - хорош и по памяти, и по скорости, зато по качеству говно. Будем хранить для каждого класса средний вектор признаков, и применять через поиск ближайшего среднего вектора. На упорядоченность данных алгоритму тоже всё равно.
Бенчмарк вообще-то не мешает сделать и такое - берём уже обученную нейросеть, кладём в ящик, игнорируем тренировочные данные и потом применяем. Это решение страдает уже от другого параметра - размер алгоритма.
Напоминаю про оси измерения AI-алгоритмов - компьют, память, размер алгоритма, эффективность/качество. У нас есть несколько решений, каждое из которых страдает по одной из этих осей.
Я утверждаю, что существует такой чёрный ящик, который будет отражать оптимальный баланс с точки зрения всех параметров. Есть такая матрично-векторная конструкция, который способна проглатывать упорядоченные объекты по одному, хитрым образом одновременно учить их внутреннее представление, сжимать данные и хорошо предсказывать метку класса, который при этом будет занимать мало места перед запуском.
Уверен, что даже на основе текущих методов возможно собрать какую-то схему из говна и палок, которая будет это неплохо делать. А если так, то такую схему точно можно обучить с помощью meta-learning в случае верной параметризации.
А зачем вообще всё это?
На мой взгляд, машина, способная решать этот бенчмарк, должна обладать способностями к continual learning - адаптации к новым данным и изменениям по ходу дела - то, чего так не хватает современным алгоритмам. Алгоритм, который, умея работать на 9 цифрах, легко дообучается на 10-ю, потенциально способен быстро научиться водить машину, перед этим просмотрев весь YouTube.
@knowledge_accumulator
На мой взгляд, за прорывом в ML далеко ходить не нужно. Даже на основе базовой задачи MNIST можно придумать решаемую задачу, которую текущий ML решить не в состоянии.
Итак, берём чёрный ящик, представляющий ML-систему. Над ним совершаем такую манипуляцию - сначала подаём туда по одной все пары (картинка, метка) из тренировочного набора MNIST, а потом переключаем его в другой режим и подаём по одной картинке, запрашивая метку класса. Далее считаем точность и получаем оценку на бенчмарке.
Если все картинки перемешаны заранее, набрать 98% на бенчмарке становится тривиальным. Кладём в ящик свёрточную нейросеть, обучаем градиентным спуском и готово.
Как понятно из названия бенчмарка, в предложенной задаче скрыт пранк - картинки упорядочены по классам - сначала все нули, потом все единицы и т.д.
Классическое обучение в этой ситуации покинет помещение через окно. Что же делать?
Первое, что важно заметить - у задачи есть решение. Представим, что наш чёрный ящик будет хранить внутри все ранее полученные данные, и после каждого нового объекта переобучать свёрточную сеть на нём.
Оно выдаст тот же результат, что и классический подход, но это очень дорого по вычислениям и памяти. Но самое главное, что у нас есть proof of existence.
Есть вменяемое решение с точки зрения вычислений, и это алгоритмы на основе Nearest Neighbors. Пофиг, что данные упорядочены, мы их все просто сложим в память, а на тесте будем отвечать через поиск соседей. Качество будет хуже, и память всё ещё нужна.
Альтернативный вариант - хорош и по памяти, и по скорости, зато по качеству говно. Будем хранить для каждого класса средний вектор признаков, и применять через поиск ближайшего среднего вектора. На упорядоченность данных алгоритму тоже всё равно.
Бенчмарк вообще-то не мешает сделать и такое - берём уже обученную нейросеть, кладём в ящик, игнорируем тренировочные данные и потом применяем. Это решение страдает уже от другого параметра - размер алгоритма.
Напоминаю про оси измерения AI-алгоритмов - компьют, память, размер алгоритма, эффективность/качество. У нас есть несколько решений, каждое из которых страдает по одной из этих осей.
Я утверждаю, что существует такой чёрный ящик, который будет отражать оптимальный баланс с точки зрения всех параметров. Есть такая матрично-векторная конструкция, который способна проглатывать упорядоченные объекты по одному, хитрым образом одновременно учить их внутреннее представление, сжимать данные и хорошо предсказывать метку класса, который при этом будет занимать мало места перед запуском.
Уверен, что даже на основе текущих методов возможно собрать какую-то схему из говна и палок, которая будет это неплохо делать. А если так, то такую схему точно можно обучить с помощью meta-learning в случае верной параметризации.
А зачем вообще всё это?
На мой взгляд, машина, способная решать этот бенчмарк, должна обладать способностями к continual learning - адаптации к новым данным и изменениям по ходу дела - то, чего так не хватает современным алгоритмам. Алгоритм, который, умея работать на 9 цифрах, легко дообучается на 10-ю, потенциально способен быстро научиться водить машину, перед этим просмотрев весь YouTube.
@knowledge_accumulator
1👍16❤5🔥3😁1
Class-Incremental Learning: A Survey [2023]
Вот это я лох. Оказывается, я совершенно не заметил целую подобласть в ML, которая занимается задачей, похожей на ту, которую описал в предыдущем посте.
Встречайте, Class-Incremental Learning (CIL). Представьте, у модели нет доступа ко всему датасету объектов на все классы, а она получает их последовательно в виде нескольких "задач" по несколько классов. Сначала вам приходят птицы и собаки, затем тигры и рыбы. Задача модели - учиться на каждой следующей задаче, при этом не забывая предыдущие классы. На тесте с модели спросят за умение классифицировать все объекты.
Постановка менее экстремальная, чем при подаче образцов по одному, как я описывал, но тем не менее, известно, что "Finetune", при котором мы просто каждый раз дообучаем модель на последних данных, либо теряет способность учиться на новых классах, либо забывает старые.
Авторы статьи не только сделали обзор существующих типов подходов к этой проблеме, но и самостоятельно провели сравнение около 15 различных методов, а также прогнали "оракул" - нейросеть, которую просто учили на всех данных. Спойлер - оракул сильно побеждает, хотя предложенные решения сокращают часть дистанции между ним и простым файнтюном.
Коротко взглянем на архетипы техник. Более детально я буду разгребать это сокровище в ближайшие недели.
- Data Replay
Сохраняем часть старых данных в памяти и периодически переобучаемся на них. Можно обучать ещё и генеративную сеть и обучать классификатор на синтетике - это называется Generative Replay.
- Динамические сети
Совершаем некоторую хирургию над нейросетью в процессе появления новых классов - "блоки", отвечающие за отдельные классы, и, дальше манипулируем ими для избежания негативных эффектов файнтюна.
- Регуляризация
В процессе обучения на новых классах, добавляем разного рода ограничения в оптимизацию, чтобы заморозить старые знания.
- Дистилляция
При появлении новых классов, мы одновременно учим модель на них и дистиллируем уже существующую модель.
- Model Rectify
Иногда ресёрчеры изучают особенности поведения нейросети при файнтюне и вставляют костыли, которые напрямую гасят эту особенность. Авторы обернули такие работы в отдельную группу.
Самое классное в этой статье, что авторы понимают важность контроля за затратами памяти. Без этого все эти сравнения теряют смысл, и поэтому памяти уделяется достаточное внимание. Память тратится на 2 вещи - хранение данных и дополнительные обучаемые параметры. Как распределить эти затраты? Как можно сэкономить память, сжимая данные? Class-Incremental Learning предоставляет большой простор для творчества.
Невооружённым взглядом видно, как все эти техники являются набором костылей, что лично для меня подтверждает мою мысль о том, что должен существовать гораздо более мощный метод, найденный с помощью meta-learning. Оптимальный алгоритм будет и сжимать, и хранить, и дообучать, и регуляризовывать, причём делать это всё одновременно и совершенно неинтерпретируемо для человека. Нам лишь нужно задать правильную параметризацию для такой схемы, а не сооружать поделки самостоятельно. Но горький урок пока не усвоен.
@knowledge_accumulator
Вот это я лох. Оказывается, я совершенно не заметил целую подобласть в ML, которая занимается задачей, похожей на ту, которую описал в предыдущем посте.
Встречайте, Class-Incremental Learning (CIL). Представьте, у модели нет доступа ко всему датасету объектов на все классы, а она получает их последовательно в виде нескольких "задач" по несколько классов. Сначала вам приходят птицы и собаки, затем тигры и рыбы. Задача модели - учиться на каждой следующей задаче, при этом не забывая предыдущие классы. На тесте с модели спросят за умение классифицировать все объекты.
Постановка менее экстремальная, чем при подаче образцов по одному, как я описывал, но тем не менее, известно, что "Finetune", при котором мы просто каждый раз дообучаем модель на последних данных, либо теряет способность учиться на новых классах, либо забывает старые.
Авторы статьи не только сделали обзор существующих типов подходов к этой проблеме, но и самостоятельно провели сравнение около 15 различных методов, а также прогнали "оракул" - нейросеть, которую просто учили на всех данных. Спойлер - оракул сильно побеждает, хотя предложенные решения сокращают часть дистанции между ним и простым файнтюном.
Коротко взглянем на архетипы техник. Более детально я буду разгребать это сокровище в ближайшие недели.
- Data Replay
Сохраняем часть старых данных в памяти и периодически переобучаемся на них. Можно обучать ещё и генеративную сеть и обучать классификатор на синтетике - это называется Generative Replay.
- Динамические сети
Совершаем некоторую хирургию над нейросетью в процессе появления новых классов - "блоки", отвечающие за отдельные классы, и, дальше манипулируем ими для избежания негативных эффектов файнтюна.
- Регуляризация
В процессе обучения на новых классах, добавляем разного рода ограничения в оптимизацию, чтобы заморозить старые знания.
- Дистилляция
При появлении новых классов, мы одновременно учим модель на них и дистиллируем уже существующую модель.
- Model Rectify
Иногда ресёрчеры изучают особенности поведения нейросети при файнтюне и вставляют костыли, которые напрямую гасят эту особенность. Авторы обернули такие работы в отдельную группу.
Самое классное в этой статье, что авторы понимают важность контроля за затратами памяти. Без этого все эти сравнения теряют смысл, и поэтому памяти уделяется достаточное внимание. Память тратится на 2 вещи - хранение данных и дополнительные обучаемые параметры. Как распределить эти затраты? Как можно сэкономить память, сжимая данные? Class-Incremental Learning предоставляет большой простор для творчества.
Невооружённым взглядом видно, как все эти техники являются набором костылей, что лично для меня подтверждает мою мысль о том, что должен существовать гораздо более мощный метод, найденный с помощью meta-learning. Оптимальный алгоритм будет и сжимать, и хранить, и дообучать, и регуляризовывать, причём делать это всё одновременно и совершенно неинтерпретируемо для человека. Нам лишь нужно задать правильную параметризацию для такой схемы, а не сооружать поделки самостоятельно. Но горький урок пока не усвоен.
@knowledge_accumulator
1👍11❤5🔥2
Так кто же из нас всё-таки макака?
Возвращаемся к разговору о египтянах. На интересные мысли меня вдохновило ничем не примечательное событие - трансфер из отеля в аэропорт. Основную часть пути мы ехали по шоссе, так что пешком и на лошадях там не передвигались. Казалось бы - всё легко, но нет.
Всё дело в том, что понятие "полосы" на дороге - концепт для высокоразвитых цивилизаций. Несмотря на то, что они размечены на дороге, египетские водители игнорируют их существование.
Они едут по всему шоссе, как хотят, в том числе прямо по линии разметки, перестраиваются без причины и пытаются залезть в любую свободную щель. Поворотники используют так, как подскажет сердце. Если кто-то пытался влезть перед нашей машиной, но это вело к столкновению, наш водитель просто сигналил ему и он отваливал.
То, что в Москве считается "аварийной ситуацией", в Каире происходит с каждой машиной каждую минуту. Большая часть машин ездит с вмятинами. Мы за поездку, кстати, въехали в жопу мотоциклисту, на что оба водителя повозмущались и поехали дальше.
Находясь на пассажирском сидении, инстинктивно хочется загуглить парочку статей по научному расизму и почитать на досуге. Сразу думаешь - ну Африка - такое место. Рисовать им полосы на дорогах - словно метать бисер перед свиньями. Ну такие они недоразвитые, что поделать.
И вот с последним утверждением не всё так просто. Существует несколько осей, по которым есть смысл сравнивать нас и египтян. Да, у них другая культура. Можно сказать, что наша культура лучше, потому что она более материально выгодная и ведёт к большему комфорту.
Но задумайтесь - насколько круто нужно водить машину, чтобы быть египетским водителем? Какой реакцией нужно обладать? Средний водитель из Москвы разбился бы на египетском шоссе в первые несколько минут, он просто неспособен выжить в такой среде. В то же время, я уверен, что египтянин очень быстро мог бы научиться ездить по МКАДу - ну а чё, едешь в своей полосе и всё.
То же можно сказать про жизнь в целом. Выжить в Америке или Москве крайне легко. Любой дебил может устроиться работать курьером или подметать улицы и этого легко хватит на выживание. Собственно, так и делают иммигранты из бедных стран типа Египта.
Представляете, как нужно рвать жопу, чтобы выжить в Египте? Как думаете, та десятилетка, которая бегает по улице и впаривает такси туристам, делает это из любви к искусству? Оказавшись в позиции местных, мы едва ли сможем выжить и сохранить рассудок.
Мы слабы. Выращенные в тепличных условиях, мы плохо устойчивы к реальному внешнему давлению, и в то же время страдаем от пустяков. Мы не сделаны, чтобы наслаждаться комфортом, нам нужны страдания и грусть, поэтому мы выдумываем их на пустом месте.
Давно не был в отпуске? Невкусно поел в ресторане? Твоя любимая спортивная команда проиграла? Внезапно перенесли концерт? Не во что играть на компе? Назвали неправильным местоимением? Смотри не застрелись.
Вывод из этого такой - макаки - это все мы - от египтян и до американцев, а в зоопарк на нас посмотреть как раз пришли те самые пирамиды. Они наблюдают за нашей вознёй уже 4500 лет, и легко пронаблюдают ещё столько же. Продолжаем их развлекать.
@knowledge_accumulator
Возвращаемся к разговору о египтянах. На интересные мысли меня вдохновило ничем не примечательное событие - трансфер из отеля в аэропорт. Основную часть пути мы ехали по шоссе, так что пешком и на лошадях там не передвигались. Казалось бы - всё легко, но нет.
Всё дело в том, что понятие "полосы" на дороге - концепт для высокоразвитых цивилизаций. Несмотря на то, что они размечены на дороге, египетские водители игнорируют их существование.
Они едут по всему шоссе, как хотят, в том числе прямо по линии разметки, перестраиваются без причины и пытаются залезть в любую свободную щель. Поворотники используют так, как подскажет сердце. Если кто-то пытался влезть перед нашей машиной, но это вело к столкновению, наш водитель просто сигналил ему и он отваливал.
То, что в Москве считается "аварийной ситуацией", в Каире происходит с каждой машиной каждую минуту. Большая часть машин ездит с вмятинами. Мы за поездку, кстати, въехали в жопу мотоциклисту, на что оба водителя повозмущались и поехали дальше.
Находясь на пассажирском сидении, инстинктивно хочется загуглить парочку статей по научному расизму и почитать на досуге. Сразу думаешь - ну Африка - такое место. Рисовать им полосы на дорогах - словно метать бисер перед свиньями. Ну такие они недоразвитые, что поделать.
И вот с последним утверждением не всё так просто. Существует несколько осей, по которым есть смысл сравнивать нас и египтян. Да, у них другая культура. Можно сказать, что наша культура лучше, потому что она более материально выгодная и ведёт к большему комфорту.
Но задумайтесь - насколько круто нужно водить машину, чтобы быть египетским водителем? Какой реакцией нужно обладать? Средний водитель из Москвы разбился бы на египетском шоссе в первые несколько минут, он просто неспособен выжить в такой среде. В то же время, я уверен, что египтянин очень быстро мог бы научиться ездить по МКАДу - ну а чё, едешь в своей полосе и всё.
То же можно сказать про жизнь в целом. Выжить в Америке или Москве крайне легко. Любой дебил может устроиться работать курьером или подметать улицы и этого легко хватит на выживание. Собственно, так и делают иммигранты из бедных стран типа Египта.
Представляете, как нужно рвать жопу, чтобы выжить в Египте? Как думаете, та десятилетка, которая бегает по улице и впаривает такси туристам, делает это из любви к искусству? Оказавшись в позиции местных, мы едва ли сможем выжить и сохранить рассудок.
Мы слабы. Выращенные в тепличных условиях, мы плохо устойчивы к реальному внешнему давлению, и в то же время страдаем от пустяков. Мы не сделаны, чтобы наслаждаться комфортом, нам нужны страдания и грусть, поэтому мы выдумываем их на пустом месте.
Давно не был в отпуске? Невкусно поел в ресторане? Твоя любимая спортивная команда проиграла? Внезапно перенесли концерт? Не во что играть на компе? Назвали неправильным местоимением? Смотри не застрелись.
Вывод из этого такой - макаки - это все мы - от египтян и до американцев, а в зоопарк на нас посмотреть как раз пришли те самые пирамиды. Они наблюдают за нашей вознёй уже 4500 лет, и легко пронаблюдают ещё столько же. Продолжаем их развлекать.
@knowledge_accumulator
1🤣28👍15❤7🤡7💯5✍3😁1