gonzo-обзоры ML статей
22.5K subscribers
2.29K photos
2 videos
3 files
1.06K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
16. Эволюция человеческой личности. Бессмертие человеческой личности не означает ее застывшей неизменности. Это может быть понято по аналогии с организацией на уровне макромолекул. Контролеры биологической эволюции — это гены, и они бессмертны. Однако они не остаются неизменными, а непрерывно изменяются вследствие мутаций, так что хромосомы человека, например, весьма и весьма отличаются от примитивных хромосом вирусов. Кибернетически бессмертные личности могут меняться и развиваться во взаимодействии с другими личностями сверхсущества, а также при взаимодействии между сверхсуществами, ибо плюрализм необходим для эволюции, и человечество, надо надеяться, будет пробовать различные виды интеграции, создавая различные сверхсущества. Те человеческие личности, которые возникнут в результате всех этих процессов, будут, вероятно, отличаться от нас так, как наши хромосомы отличаются от вирусов. Но определяющий принцип личности останется, по-видимому, неизменным, как остался неизменным принцип работы генов.

17. Как может происходить интеграция. Следует ли ожидать, что все человечество объединится в единое сверхсущество? С эволюционной точки зрения это и нежелательно, и маловероятно. Жизнь можно сравнить с пирамидой: вершина поднимается ввысь и одновременно расширяется основание. Хотя человечество и осуществляет контроль над биосферой, наши тела составляют лишь небольшую часть от всей биомассы. Основную ее часть все еще составляют примитивные организмы, такие, как мы находим в планктоне. Осуществление кибернетического бессмертия потребует, несомненно, чем-то пожертвовать; для начала, надо будет решительно сосредоточить усилия на дальнейшем развитии науки. Совсем не очевидно, что большинство людей в большинстве сообществ захотят поставить перед собой такую цель. Воля к бессмертию, как и всякая человеческая черта, широко варьируется от человека к человеку. Поскольку интеграция может быть лишь добровольной, надо ожидать, что только часть, вероятно небольшая, человечества образует сверхсущества, большинство же останется в состоянии “человеческого планктона”.

18. Интеграция на Космической сцене. Однако именно интегрированному человечеству суждено освоить Космическое пространство. Неинтегрированная часть не может конкурировать с нею; она может лишь поставлять материал для сверхсуществ. Без интеграции человечество не может претендовать на какую-либо серьезную роль в Космосе. Системные единицы, которые принимают решения, должны получать вознаграждение за свои решения; иначе они никогда не примут их. Попробуйте представить себе картину “человеческого планктона”, набитого в ракеты, чтобы достичь отдаленной звезды через десять или двадцать поколений. Играть роль в Космосе могут лишь существа, продолжительность жизни которых исчисляется Космическими же временами.
19. Сегодняшние проблемы. Наше представление о кибернетической интеграции в настоящее время весьма абстрактно и туманно. Это неизбежно: понятия и цели, касающиеся отдаленного будущего, только и могут быть абстрактными. Это не значит, однако, что они не имеют никакого отношения к нашим сегодняшним проблемам. Понятия о Всемирной Эволюции и кибернетическом бессмертии имеют прямое отношение к понятию о смысле жизни и к высшим ценностям, которые мы принимаем для себя сегодня, хотя те, кто живут сейчас, могут реалистически думать лишь в терминах творческого бессмертия (хотя, кто знает?). Проблема высших ценностей — это центральная проблема нынешнего общества. Ради чего надо жить, после того как наши основные потребности с легкостью удовлетворены современной системой производства? Что есть Добро и что есть Зло? Каковы те конечные критерии, на основании которых мы должны оценивать различные модели общественного устройства? В истории человечества великие цивилизации неотделимы от великих религий, которые отвечали на эти вопросы. Упадок традиционных религий, основывающихся на метафизическом понятии о бессмертии, угрожает деградацией общества. Представление о кибернетическом бессмертии может прийти на смену своему метафизическому предшественнику и послужить основой для учения о высших ценностях нарождающейся глобальной цивилизации.

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

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

Источник: http://www.refal.net/turchin/phenomenon/cybernetic-manifesto.htm

Приложение к книге "Феномен науки. Кибернетический подход к эволюции"
Источник: http://www.refal.net/turchin/phenomenon/
Интересная картинка (https://arxiv.org/abs/2402.08797)
Star Attention: Efficient LLM Inference over Long Sequences
Shantanu Acharya, Fei Jia, Boris Ginsburg
Статья: https://arxiv.org/abs/2411.17116
Код: https://github.com/NVIDIA/Star-Attention

Не иссякают попытки оптимизировать классическое квадратичное внимание трансформеров. На этот раз block-sparse approximation внимания от Нвидии, которое шардит его по нескольким хостам и минимизирует оверхед на коммуникацию, что даёт возможность эффективно обрабатывать очень длинные контексты.

Много их уже было линейных и логлинейных, начиная со Sparse Transformer от OpenAI в 2019 (https://t.me/gonzo_ML/65), какая-то вариация которого использовалась и в GPT-3 (https://t.me/gonzo_ML/305), и позже всяких Big Bird (https://t.me/gonzo_ML/381), Longformer (https://t.me/gonzo_ML/292) и прочего разного.

Предложенный Star Attention основан на наблюдении, что инференс LLM состоит из двух фаз: 1) кодирование промпта и заполнение KV кеша для него, 2) авторегрессионная генерация токенов с апдейтом этого кеша. В случае большого контекста паттерн работы это часто “очень длинный контекст + короткий запрос + короткий ответ”.

Сам Star Attention тоже двухфазный:

1. (локальное поблочное внимание) Context Encoding: весь контекст разбивается на соприкасающиеся блоки (каждый по b токенов) и распределяется по “context” хостам. Каждый хост также получает первый блок (“anchor block”). Хосты вычисляют self-attention только в пределах тех блоков, что имеют (2b кроме хоста с только первым блоком, там b), не коммуницируя друг с другом, сложность поэтому получается линейная. Хосты также заполняют KV-кеш, не включая в него anchor блок.

2. (глобальное внимание) Query Encoding and Token Generation: query реплицируется на все хосты, где он через внимание обращается в местный KV-кеш. Глобальное внимание затем вычисляется агрегируя результат на выделенном “query” хосте. Query хост также дополняет KV-кеш значениями для свежесгенерированных токенов.

Интересно, что первая фаза без anchor blocks не работает, модель не генерит правильных результатов. Авторы предполагают, что это из-за некорректной аппроксимации внимания во второй фазе. Если обрабатывать каждый блок независимо, то в начале блока возникают attention sinks (https://t.me/dlinnlp/1689), и после агрегации это мешает модели концентрироваться на релевантных частях контекста. Якорные блоки оттягивают на себя эти сливы, а поскольку в KV кеш эти блоки не попадают, то распределение внимания по блокам хорошо аппроксимирует глобальное внимание и проблемы не возникает (проиллюстрировано на Figure 3). Интересно, можно было тогда наверное и несколько левых псевдо-токенов добавлять вместо всего якорного блока? StreamingLLM из оригинальной статьи про сливы (https://arxiv.org/abs/2309.17453) вроде примерно это и делал. Но, спойлер, читайте абляции.

Второй этап по факту считает распределённый softmax без необходимости обмениваться KV-кешами между хостами. Есть только отправка на query хост (вектор) локально посчитанных коэффициентов внимания (после локального софтмакса), а также (скаляр) сумм локальных экспонент (знаменатель в локальном софтмаксе), которые нужны для ренормализации глобального софтмакса. Таким образом глобальные коэффициенты внимания получаются правильными.

Star attention встраивают без файнтюнинга в уже обученные LLM с полным вниманием, это разные варианты Llama-3.1 8B, а также Llama-3.1-70B-Instruct для проверки масштабируемости. В качестве бейзлайна берут Ring Attention (https://arxiv.org/abs/2310.01889), который тоже разбивал всё на блоки по разным хостам и позволял скейлить длину последовательности по числу хостов, но не делал никаких аппроксимаций механизма внимания, это было полное внимание. Там хосты обменивались своими KV кешами по кольцу.
Про проверку на RULER benchmark на входах от 16K до 128K токенов и размере блока в ¼ от длины последовательности написано, что точность проседает несильно, от 0 до 3%, а скорость возрастает до 5 раз (а на 70B модели и того больше). По таблице, правда, видно чуть другое -- на 7B модели ускорение до 2.7x, а точность _вырастает_. Не очень, кстати, понимаю, почему точность выше, вроде как с неаппроксимированным бейзлайном сравниваемся? Знаю я, конечно, истории, когда аппроксимация неожиданно оказывается лучше оригинала, потому что баги в оригинале (Ash недавно делился историей про https://github.com/ashvardanian/affine-gaps). Но как-то странно всё равно (spoiler, но дальше станет понятнее). На 70B модели точность падает, но ускорение выше, до 4.7x. На BABILong тоже всё сравнимо по качеству.

На длине 128K посмотрели на трейдоффы между размером блока и точностью. Логично, что с увеличением размера блока (когда один хост видит больше), качество выше.

Дальше оставили блок на 32K и увеличили размер входа до 1024K для 8B ламы. Просадка в качестве до 8%+, зато ускорение почти до 17x. На 70B ламе сделали блок 16K для входа 128K -- здесь качество -11.5%, скорость +8.7x.

Мне кажется, это довольно заметные просадки в качестве. Интересно сравнить это с принципиально другой альтернативой -- квантизацией. Какое там получается ускорение/ухудшение и если сопоставимое, то у квантизации есть выигрыш по другому измерению, на которое Nvidia по понятным причинам не очень смотрит, по задействованному железу и его цене. Но в любом случае, возможность шардить вычисления -- это хорошо, тем более что это всё ортогональные истории и когда оно сложится с обучением в низкой разрядности (а там вроде что-то идёт https://arxiv.org/abs/2307.00331), будет особенно интересно посмотреть на новые масштабы моделей. Забавно ещё, что Intel там как-то всё подёргивается (https://github.com/intel/intel-extension-for-transformers, но это не про обучение), но честно говоря не понимаю, ожидать ли от них вообще хоть чего-то.

В разрезе разных типов задач на RULER, качество работы Star attention разное. Single Needle-in-a-Haystack (NIAH) практически идентичен полному вниманию. Multi-NIAH и QA проседают заметнее. Multi-Hop Tracing ещё сильнее, он требует распространения информации и эффективной коммуникации, которой тут нет, так что это логично. Aggregation неожиданно заметно вырастает по качеству, и здесь оно видимо происходит от более качественной суммаризации внутри отдельных блоков на первой фазе алгоритма. В полном внимании, видимо, модель больше дистрактится на глобальный контекст и суммаризация по всему документу страдает из-за этого.

Поделали сколько-то абляций на NIAH: Single-NIAH, Multi-key NIAH, Multi-query NIAH.

Проверили две прикольные гипотезы про anchor блоки:
1) Модель выработала bias к абсолютной позиции блока
2) Семантическое содержимое этого блока важно для качества.

По 1) поварьировали позиции блока сохраняя его контент. Это всё мало влияет.
По 2) поварьировали контент блока (забивая его определёнными токенами, рандомом или делая шаффл). Очень влияет. Хуже всего константные токены, с ними ещё хуже, чем без блока вообще. Оригинальный контент лучше всего. Отдельным экспериментом проверили, а что если в качестве anchor block брать предыдущий? Всё равно похуже оригинального получается, но лучше остальных опций. В общем дело не в позиции, дело в содержимом. При росте размера этого блока качество тоже растёт.

Это, конечно, интересная история, что там такого в этих блоках в разных задачах, что оно настолько важно. Были же, наверняка, уже работы, оценивающие неравномерную значимость контента в разных позициях реальных датасетов, особенно на большом контексте? Поделитесь, если знаете хорошие примеры. Попахивает определённым inductive bias самих “реальных для нас” задач, что в целом логично.

В общем, интересно. Разделяй и властвуй, короче. Map & Reduce форева. И вообще работа даёт подумать над многим разным.
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from КПД
Собственноручно проверил наличие супервеса (см. оригинальную статью и разбор от gonzo-обзоры ML статей) в Llama-3.2-1B.

Aномальный вес находится в позиции (400 - выходной канал, 1417 - входной канал) в model.layers.1.mlp.down_proj.

Не столь ярко выражен (перплексия на Wikitext-2 (8k context length) выросла с 8.375 до 8.625 при занулении данного веса), но все же очень много для всего одно веса.

[Google Colab для желающих поиграться]
Что-то интересное.

https://blog.google/technology/research/google-willow-quantum-chip/

Today I’m delighted to announce Willow, our latest quantum chip. Willow has state-of-the-art performance across a number of metrics, enabling two major achievements.

* The first is that Willow can reduce errors exponentially as we scale up using more qubits. This cracks a key challenge in quantum error correction that the field has pursued for almost 30 years.

* Second, Willow performed a standard benchmark computation in under five minutes that would take one of today’s fastest supercomputers 10 septillion (that is, 10^25) years — a number that vastly exceeds the age of the Universe.