gonzo_ml | Unsorted

Telegram-канал gonzo_ml - gonzo-обзоры ML статей

21999

Авторы: Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика. Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.

Subscribe to a channel

gonzo-обзоры ML статей

Когда я в 2018-м делал свой обзор железа для глубокого обучения (https://moocaholic.medium.com/hardware-for-deep-learning-part-3-gpu-8906c1644664), стандартом в этой области был FP32, по ним топовые карты были до 20 TFLOPS. Тогда уже появлялся FP16 и тензорные ядра, с ними выходило под 130 TFLOPS. А теперь вот 3 петафлопса в одной топовой настольной карте. Но теперь на одной карте никто и не обучает… Для всех реальных обучений нужны гигантские кластера. И кроме компьюта надо ещё много памяти, в игровые карты её почти не ставят. Сейчас рекорд, кажется, это 32 гига в 5090? Были вроде ещё какие-то Quadro RTX 8000, где даже до 48 было, но то экзотика и уже неигровое.

С игровыми видюхами тут много не сделаешь. Ну сделаешь, можно конечно собрать дешёвый аналог DGX, но всё это субоптимально. NVIDIA долго старалась разделить эти два рынка, и вот сейчас, кажется, они естественным образом к этому разделению пришли.

AMD конечно интересны со своей серией MI, в топовой модели MI325x сейчас 256 Gb (https://www.amd.com/en/products/accelerators/instinct/mi300/mi325x.html), но это тоже не игровое.

Возвращаясь к Blackwell, у него заявлено x4 performance per watt и x3 per dollar относительно предыдущей серии, что для датацентров большая тема. С энергией проблемы, да и по деньгам обучение растёт, если можно по этим параметрам сэкономить в 3-4 раза, то это серьёзно.

Анонсировали NVLink72, Хуанг постоял на сцене с щитом в виде вафли-гигантского чипа, по аналогии как у Cerebras, но я так понял, что это метафора, как выглядел бы такой чип, если текущую систему на основе NVLink72 с 72 GPU разместить на одном чипе.

Project Digits

Очень интересный анонс Project Digits. Это DGX в миниатюре со всем софтовым AI стеком, на новом чипе GB10 (https://www.nvidia.com/en-gb/project-digits/) c 1 PFLOP FP4, 20 ARM ядрами, 128 Gb DDR5X памяти и 4 Tb SSD. Интересно, сколько мощности потребляет и как быстро её приспособят для майнинга. И всё это за $3000. Я хочу такую штуку!

Игровые карты уже давно стали субоптимальным решением для практических моделей, на топовой карте нового поколения всего 32 гига памяти, это годится только для не очень больших моделей, куча LLM среднего размера туда уже не влезут без квантизаций и прочих ухищрений по сохранению памяти. Вот 128 это уже неплохо. Можно соединить пару вместе и тогда можно инфёрить даже Llama 405B, так понимаю с квантизацией.

А ещё это классно, потому что мы все массово переехали на ноутбуки и облака, иметь системный блок с GPU-шкой может быть просто неудобно. А тут вон маленький переносной сетевой девайс. Короче, хочу!

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

Как были NAS (Network-attached Storage) должны быть и NAG (Network-attached GPU). Локальные инференсы лам и прочего будут происходить там, в домашнем центре вычислений для ИИ. Smart home, распознавание людей за дверью, домашние агенты, … -- многое из этого осмысленно было бы делать прямо на месте. Но было особо негде, так чтобы это было удобно.

ASI заведётся однажды в пыльном углу. Или так появится Джой из Бегущего по лезвию.

Тут явно есть место для нового игрока, и я думаю, должно появиться много таких решений. Не удивлюсь, если от китайцев.

Что нужно такому девайсу? Не так уж и много:
* Хранить большие модели и уметь держать их в памяти, готовой к быстрому инференсу
* Эффективный инференс
* Возможность скейлить test-time compute (при эффективном инференсе должно быть из коробки, но допускаю, что можно сделать это субоптимально)
* Хорошая сеть, но без безумств
* Полноценное обучение не нужно (не те масштабы), но файнтюнинг (LoRA) может быть осмысленным
* Как бонус/другая важная ниша (под которую может быть нужен отдельный тип девайса ближе к Digits) -- это обучение локальных моделей (мелкая ИИ разработка)

Интересно, кто сделает и когда.

Читать полностью…

gonzo-обзоры ML статей

И чуток сгенерированного видео вам про будущее

Fredrik Jonsson
⚭ Cloud Station ⚭
KN#33 travel center

https://www.facebook.com/share/v/1GKeeqJyQr/

Читать полностью…

gonzo-обзоры ML статей

Не могу сказать, что прямо какой-то суперпрорыв (тема развивается давно, со Шмидхубера :), когда-то писали тут например /channel/gonzo_ML/186), но развитие продолжается, модели генерации видео по факту являются и world models (https://openai.com/index/video-generation-models-as-world-simulators/), а кейс от Oasis про генерацию майнкрафт мира (https://oasis-model.github.io/) очень хорош как PoC, интересно какое влияние это будет иметь на игровую индустрию. Точно какое-то будет. Может, появится нейродвижок? Там, наверное, сложно всё, условный Unreal Engine так просто не заменишь, в играх нужно много всего rule-based и детерминированного, но с другой стороны почему нет, ну будет гибрид world model с чем-то ещё. Были игры локальные, появился стриминг и cloud gaming (типа GeForce Now), появится и neuro streaming какой-нибудь.

Кстати, Danijar Hafner, автор Dreamer, PlaNet и прочего, сделал PhD по теме "Embodied Intelligence Through World Models", Хинтон и Лекун в борде (https://tspace.library.utoronto.ca/bitstream/1807/140956/2/Hafner_Danijar_202411_PhD_thesis.pdf). Хорошая тема!

10. Highlight of the year -- KAN

KAN: Kolmogorov-Arnold Networks (/channel/gonzo_ML/2598) неплохо бомбанули в моменте, тема быстро развивается (https://github.com/mintisan/awesome-kan), хотя про какое-то супер-применение на текущий момент пока не знаю. Но интересно.

11. ИИ Агенты

Агенты везде и тема про агентов очень многоплановая.

Генеративных агентов (/channel/gonzo_ML/1481) прошлого года отскейлили до симуляции 1000 человек (https://arxiv.org/abs/2411.10109), мультиагентные фреймворки (/channel/gonzo_ML/2897) активно эволюционируют, и вообще мультиагентные воркфлоу в разных смыслах хорошо ложатся на реальные процессы (но это не значит, что не могут быть более эффективные воркфлоу, для которых аналогов в реальном мире нет).

Агенты и мультиагенты -- это продолжение спектра от голой LLM с промпт-инжинирингом к аугментированной LLM (RAG, тулы и прочее) и далее к новым горизонтам. Какая бы ни была крутая LLM, всё равно у неё есть ограничения -- контекст не бесконечный (особенно эффективный контекст), количество голов внимания ограничено, сложный и развесистый промпт с кучей инструкций работает не так хорошо как хотелось бы, разные и тем более противоречивые роли одновременно в одну LLM пихать вообще не работает, и так далее. Зато если это распилить на отдельные модули, то становится работоспособно. Это отчасти та же история про test-time compute, мы теперь можем провести больше времени в обработке, но не одной LLM, а системой агентов, и трейдоффы здесь те же самые: меняем качество на деньги+время.

Всегда есть вопрос, а почему GPT-48 не заменит всех этих мультиагентов? Ну в чём-то она безусловно станет лучше, но separation of concerns же в целом идейно хорошая тема, философия Юникс про Write programs that do one thing and do it well. Помимо всего прочего закрывает кучу иных требований про ownership, change management, более простую отладку и observability и далее. Думаю, и с GPT-48 тоже будут мультисуперагенты.

---

Пока всё.

Какой топ у вас? Что бы вы добавили или убрали?

Всех с Новым Годом!

Читать полностью…

gonzo-обзоры ML статей

Прекрасно! Всё по Лему, принцип наименьшего действия. Умный робот будет делать как проще.

Когда o1 сказали, что она будет играть с сильной шахматной программой, o1 проще делать схематоз и взламывать среду, чтобы выиграть.

https://x.com/PalisadeAI/status/1872666169515389245?t=2ASSyATHH-NfVE4EhQWW3Q&s=19

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

Читать полностью…

gonzo-обзоры ML статей

Все модели сделаны примерно с 1.6B обучаемых параметров. В Base-LCM 32 слоя и 2048 скрытая размерность, в One-Tower аналогично. В Two-Tower 5 слоёв в contextualizer и 13 в denoiser. Quant-LCM аналогична One-Tower, но с другой выходной размерностью.

Предобучали на FineWeb-Edu (https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu, вроде как чисто английский), оценивали результаты предобучения на четырёх датасетах (ROC-stories, C4, Википедия, Гутенберг) по метрикам на тему next sentence prediction, и в целом у диффузионных LCM результаты оказались лучше. Сделали instruction-tuning на Cosmopedia, здесь результаты примерно такие же. Попутно показали важность гиперпараметров для диффузии.

Показали, что LCM хорошо скейлится по длине контекста, требуя меньше FLOPS на ту же длину контекста в токенах. Так понимаю это чисто из-за того, что концепт соответствует предложению из множества токенов, так что концептов меньше, квадратичное внимание ресурсов требует меньше (и это сильно зависит от разбиения параграфа на предложения). Важно также не забывать, что каждый инференс LCM включает в себя три шага: 1) кодирование через SONAR, 2) трансформер-LCM, 3) декодирование через SONAR. На очень маленьких предложениях (меньше 10 токенов), LLM лучше LCM по флопсам.

Поисследовали fragility пространства эмбеддингов SONAR. Под fragile эмбеддингами подразумеваются такие, что при небольшой пертурбации в пространстве могут вести к существенной потере информации при декодировании. Оценить можно, например, по BLEU между оригиналом и текстом после пертурбации (такое называют Auto-Encoding BLEU). Зафайнтюнили декодер более устойчивый к шуму, который по этой метрике лучше. Можно также оценивать по косинусной близости через независимый от SONAR энкодер. Нарисовали кривые, по которым видно как метрики падают с ростом длины текста и уровня шума. На длине больше 250 символов уже прям сильно плохо. При этом метрики ведут себя несколько по-разному, а файнтюн сонара очень даже помогает. В общем не всё просто с этими эмбеддингами, есть куда копать.

После экспериментов отскейлили диффузионный вариант Two-Tower до 7B. У этой версии 5 слоёв в contextualizer, 14 в denoiser, размерность 4096. Предобучили на 2.3B документов с 2.7T токенов и 142.4B концептов/предложений. Контекст расширили до 2048 концептов. Получили модель Two-Tower-7B. Зафайнтюнили на открытых instruction tuning датасетах, это дало модель Two-Tower-7B-IT.

Проверяли на суммаризации на CNN DailyMail и XSum. Смотрели на Rouge-L, долю триграмм со входа на выходе (OVL-3), долю повторяющихся четыре-грамм на выходе (REP-4), метрики из Q4,Q5 из SEAHORSE (https://arxiv.org/abs/2305.13194) и ещё метрика по обученному на CoLA классификатору про то, что предложение linguistically acceptable.

Бейзлайнами в сравнении выступали T5-3B, Gemma-7B, Llama-3.1-8B, Mistral-7B-v0.3. T5 сильно меньше, но в отличие от остальных он файнтюнился на заданные датасеты.

LCM обошла по Rouge instruct-finetuned LLM. OVL-3 показывает, что саммари получаются более abstractive чем extractive. По REP-4 меньше повторов, по CoLA классификатору менее fluent саммари. Но и у человеческих ground truth эта метрика ниже, чем у LLM.

Long-context summarization в целом лучше Мистраля и Джеммы, но хуже Ламы (подозревают контаминацию либо плохую работу других моделей на длинном контексте)

Далее в работе предлагаются несколько расширений LCM.

Задача Summary Expansion заключается в написании длинного текста по короткой саммари, то есть как бы обратная суммаризации задача, но задача всё же не воссоздать исходный документ, а скорее сгенерить связный текст. По имеющимся метрикам получается в основном хуже LLM.

В задаче Zero-shot generalization проверяют модель на других языках, которые есть в XLSum. LCM не видела в обучении ничего кроме английского, а Лама файнтюнилась на восьми языках из списка и видела в предобучении кучу остальных. В целом LCM очень хорошо генерализует на другие языки, часто обгоняя Ламу, особенно на низкоресурсных языках. Какие интересно будут цифры, если LCM обучится на нормальном мультиязычном корпусе?

Читать полностью…

gonzo-обзоры ML статей

Large Concept Models: Language Modeling in a Sentence Representation Space
LCM team, Loïc Barrault, Paul-Ambroise Duquenne, Maha Elbayad, Artyom Kozhevnikov, Belen Alastruey, Pierre Andrews, Mariano Coria, Guillaume Couairon, Marta R. Costa-jussà, David Dale, Hady Elsahar, Kevin Heffernan, João Maria Janeiro, Tuan Tran, Christophe Ropers, Eduardo Sánchez, Robin San Roman, Alexandre Mourachko, Safiyyah Saleem, Holger Schwenk
Статья: https://arxiv.org/abs/2412.08821
Код: https://github.com/facebookresearch/large_concept_model

Ещё одна классная работа от FAIR (BLT /channel/gonzo_ML/3109 тоже была их).

Хочется уметь работать на разных уровнях абстракции. Мозг, очевидно, умеет это делать и наше мышление не оперирует только лишь на уровне слов. У нас есть какой-то top-down процесс решения сложных задач. Например, при создании длинного документа мы (обычно) сначала планируем его верхнеуровневую структуру, а затем начинаем добавлять детали на более низких уровнях абстракции. Текущие LLM работают скорее не так, уровень токенов — наше (их) всё. Может, конечно, и есть там внутри какие-то неявные иерархические репрезентации, но иметь их явно было бы более полезно. Иметь ризонинг и планирование на этом уровне также было бы ценно. Совсем хорошо было бы иметь этот уровень независимым от конкретного языка и модальности — одна и та же мысль может быть выражена на разных языках и в разных модальностях (текст, голос).

Хочется (снова) уйти от токенов — в BLT мы уходили в латентную не видимую снаружи токенизацию, а здесь мы уходим в более высокоуровневое пространство эмбеддингов для концептов и хотим моделировать процесс ризонинга на уровне семантики, а не токенов, и иметь LCM (Large Concept Model) вместо LLM.

Для проверки идеи ограничиваемся двумя уровнями: 1) subword токены и 2) концепты. Под концептами понимается абстрактная неделимая идея, на практике часто соответствующая предложению в документе или высказыванию в разговорной речи. В отличие от одиночных слов это подходящий элемент для достижения независимости от языка.

Для такого подхода надо иметь пространство эмбеддингов предложений с доступным энкодером и декодером. В качестве такового взяли FAIR’овский же SONAR (https://arxiv.org/abs/2308.11466) с поддержкой 200 языков (все языки из проекта No Language Left Behind, https://arxiv.org/abs/2207.04672) на текстовых входах/выходах, 76 языков на речевом входе и одного английского на речевом выходе. SONAR бьёт по качеству LASER3 и LabSE и доступен в репе https://github.com/facebookresearch/SONAR. Размер эмбеддинга 1024 float чиселки (что значит, типичное предложение в виде эмбеддингов будет занимать в разы больше места, в работе на 1Tb текста уходило примерно 15-20Tb эмбеддингов).

Имея всё это мы через энкодер SONAR можем получить из входного текста последовательность концептов, т.е. эмбеддингов предложений. И дальше эту последовательность обрабатывать LCM, генерируя на выходе новую последовательность концептов. А её в свою очередь декодировать SONAR’ом в последовательность токенов. Энкодер и декодер SONAR берутся готовые и не обучаются, обучается только LCM.

Что красиво, одна и та же последовательность концептов из LCM может быть декодирована в разные языки и модальности без необходимости перепрогонять весь процесс ризонинга. LCM вообще не знает ничего ни про языки, ни про модальности, из которых на её вход пришли данные. Появляется красивая модульность, обучил энкодер/декодер для нового языка — и уже обученная LCM автоматом с ним работает. В работе есть таблица про количество поддерживаемых языков в разных модальностях, LCM со своими 200 языками для текста здесь всех бьёт, но не совсем понятно как получены цифры для GPT/Gemini/Claude, я вроде не видел заявленного списка поддерживаемых языков у этих моделей. Ещё, конечно, было бы интересно посмотреть на концепты, которые неодинаково хорошо декодируются в разные языки.

Читать полностью…

gonzo-обзоры ML статей

Пока готовятся новые обзоры, вот вам прекрасное рождественское:

Introduction to Black Hole Thermodynamics
Edward Witten
https://arxiv.org/abs/2412.16795

Читать полностью…

gonzo-обзоры ML статей

Обучили compute-optimal BPE and BLT модели размеров 1B-8B. BLT либо соответствует, либо превосходит BPE модели, и сохраняет это свойство на скейлинге. Заявляют, что BLT -- это первый byte-level трансформер с такими же трендами масштабирования, как у BPE-трансформеров в compute-optimal режиме.

Попутно лишний раз подтвердили, что токенизация влияет -- модели с токенизатором от Llama 3 превосходят модели с токенизатором от Llama-2 на одинаковых данных.

В режиме beyond the compute optimal ratio BLT-Entropy обученная на 4.5T байт обошла Llama 3 на 1T токенов, при одинаковых FLOPS.

У BLT моделей появляется дополнительное измерение скейлинга, можно увеличивать размер модели одновременно с размером патча при том же бюджете. Большие патчи экономят компьют, и его можно направить на рост латентного трансформера, который будет вызываться реже. Кривая скейлинга у BLT сильно лучше BPE. На малых бюджетах BPE лучше, но BLT быстро обгоняет.

На задачах про устойчивость к шуму на уровне байтов BLT рулит, иногда очень сильно перебивая Llama 3.1, обученную на в 16 раз больше токенов. На переводе в 6 распространённых языков и 21 низкоресурсных BLT тоже лучше по BLEU.

Ещё интересный эксперимент с инициализацией глобального трансформера в BLT из предобученной (на токенах) Llama 3.1. Такой BLT существенно превосходит BLT или Llama 3, обученные с нуля (соответственно на байтах и токенах). Всё с тем же бюджетом FLOPS. В принципе это можно использовать для конвертирования моделей с токенизатором в BLT. Жду волны конвертаций-файнтюнов известных моделей. Ещё это наверное что-то говорит про универсальность вычислений в стволе трансформера, которые в общем к токенам не супер сильно привязаны, получается.

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

С прайсингом коммерческих моделей только непонятно, за что теперь чаржить будут, не за латентные патчи же, народ не поймёт. Неужели наконец за понятные байты или ещё лучше символы?

Читать полностью…

gonzo-обзоры ML статей

Byte Latent Transformer: Patches Scale Better Than Tokens
Artidoro Pagnoni, Ram Pasunuru, Pedro Rodriguez, John Nguyen, Benjamin Muller, Margaret Li, Chunting Zhou, Lili Yu, Jason Weston, Luke Zettlemoyer, Gargi Ghosh, Mike Lewis, Ari Holtzman, Srinivasan Iyer
Статья: https://arxiv.org/abs/2412.09871
Код: https://github.com/facebookresearch/blt

Byte Latent Transformer (BLT) -- это интересный заход на отказ от токенизации с фиксированным словарём и про работу на уровне байтов в LLM. Динамически разбиваем входной поток на патчи, определяя их границы по энтропии следующего символа, и на таких патчах и работаем. Если поток данных простой и предсказуемый, можем сделать патчи подлиннее, а если всё сложно, можно выделить больше компьюта на большее количество патчей. Получаем динамическую аллокацию компьюта.

Интересная нетривиальная работа. Теперь к деталям!

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

Были попытки это преодолеть и обучать модели на байтах или UTF-8 символах, но основная проблема в том, что размер последовательности от этого сильно растёт. Это сейчас вон, до 2M контексты, но оно только недавно появилось, да и дорого довольно.

Ещё, конечно, неплохо избавиться от огромных софтмаксов на размер словаря… Входные и выходные таблицы эмбеддингов могут быть очень немаленькими. Всегда есть трейдофф между размером словаря и вычислениями. Увеличивая словарь мы увеличиваем среднюю длину токена, что уменьшает число элементов в последовательности, с которой работает модель. Но это же увеличивает размерность финального слоя проекции, так что сильно тут не поиграешь. У Llama 3 размер эмбеддингов увеличился в 4 раза относительно Llama 2 при росте среднего размера токена от 3.7 до 4.4.

Идея, что модель должна динамически аллоцировать компьют там, где он нужен, привела к архитектуре Byte Latent Transformer (BLT), в которой три трансформерных блока: две маленьких локальных byte-level модели и большой глобальный латентный трансформер (latent transformer). Латентный трансформер оперирует репрезентациями патчей, а две локальные модели занимаются кодированием последовательности входных байт в патчи и репрезентаций патчей обратно в байты.

Есть множество способов разбить входной байтовый поток на патчи. Простейший вариант -- Strided Patching Every K Bytes, патчи фиксированного размера, k байт. Можно контролировать количество вычислений, задавая размер патча. Но динамической аллокации компьюта нет, а хотелось бы выделять побольше на сложные участки, и поменьше на простые. Другая проблема -- неконсистентное разбиение одних и тех же слов в зависимости от их позиции. Непонятно какой от этого профит кроме вреда.

Более понятный вариант -- Space Patching, разбиение по пробельным символам, которые скорее всего являются естественными границами в предложении. Но это может плохо работать с некоторыми языками и доменами. Ну и менять размер патча нельзя.

Читать полностью…

gonzo-обзоры ML статей

Картинка с деньгами ещё лучше

https://arcprize.org/blog/oai-o3-pub-breakthrough

Читать полностью…

gonzo-обзоры ML статей

https://www.youtube.com/watch?v=SKBG1sqdyIU

Читать полностью…

gonzo-обзоры ML статей

Навигация по работам с NeurIPS 2024

https://jalammar.github.io/assets/neurips_2024.html

Читать полностью…

gonzo-обзоры ML статей

Проверяли на NLU, text и code retrieval. ModernBERT рулит. По эффективности (максимальный размер батча и сколько тысяч токенов в секунду) всё очень хорошо. По факту у нас есть новая сота с очень хорошей производительностью. Оно Pareto-efficient по сочетанию параметров время на обработку токена и качество на GLUE.

Прикольно, чё. Следующий логичный шаг -- мультиязычность.

Читать полностью…

gonzo-обзоры ML статей

Суцкевер выступает

https://www.theverge.com/2024/12/13/24320811/what-ilya-sutskever-sees-openai-model-data-training

https://www.youtube.com/watch?v=WQQdd6qGxNs

Читать полностью…

gonzo-обзоры ML статей

Вот вам ещё хорошее интервью в ленту :) Отлично подходит на подумать в выходные.

https://youtu.be/b42UYulLJu0?si=DlH6ZtDAfJCmh-Cd

Читать полностью…

gonzo-обзоры ML статей

Кейноут CEO NVIDIA Дженсена Хуанга (Jensen Huang) хорошо посмотреть (https://www.youtube.com/live/K4qQtPpSn-k?si=EShfhSBkbBSRJRWL&t=881). Во-первых, это красиво. Во-вторых, я думаю, эта компания будет определять нашу жизнь в большей мере, чем её сосед в TOP-2 по капитализации, Apple. Не полагайтесь целиком на новостные выжимки (и на мою тоже), составьте впечатление сами. Не так много в году настолько глобально значимых кейноутов -- ну может Гугл ещё, OpenAI там, про Apple не уверен, но наверное тоже.

Я кстати не понял, почему на канале CNBC это видео продолжается 12 часов (https://www.youtube.com/watch?v=fuq0Ncdsknk), кажется они зациклили трансляцию и записали её несколько раз. Я вначале испугался, что это будет шоу одного актёра на 12 часов. Но обошлось, всего чуть меньше двух. Но всё равно, Дженсен бодро прыгает всё это время на сцене, в апгрейженной крокодиловой кожаной куртке.

Крутая founder-lend company, что тут скажешь. Другим не founder-led компаниям (не буду показывать пальцем) такое не светит. Кто вообще знает, кто их CEO? Да никто как правило. Или если даже знаете, то что самое важное про них вы можете сказать? Что кто-то дальний родственник Хуанга? Ну вот и ответ про капитализацию и рыночные перспективы.

Хуанг -- знатный фокусник (https://www.youtube.com/live/K4qQtPpSn-k?si=FNUImWw_JsQYO9lA&t=6420), почти как Бастер Китон сто лет назад (https://www.youtube.com/watch?v=TA8rrAqip8E). Кстати, если Китона не знаете, очень рекомендую, у меня дети от Чаплина и Китона фанатеют.

RTX Blackwell

История появления универсальных и программируемых GPU, а затем и CUDA в чём-то сродни истории появления первого программируемого микропроцессора Intel 4004 (https://www.intel.com/content/www/us/en/history/museum-story-of-intel-4004.html). Кому-то сначала надо было додуматься, что универсальность важна. И массово рынок пришёл к пониманию этого нововведения только через годы. И вот теперь мы там где мы есть, спасибо играм и калькуляторам.

Игры тоже апгрейдятся, рендеринг теперь иной. Реально рендерится только небольшое число пикселей, остальное рассчитывается предобученными нейросетями прямо на чипе. Хуанг привёл пример, где рассчитывают рендером только 2 миллиона пикселей из 33, остальное генерится AI. Эта история с neural rendering сравнима с MLSys (/channel/gonzo_ML/3126), когда эвристики заменяются на обучение, или ещё больше похоже на ситуацию с научными симуляциями, когда сложная и долгая вычислительная модель заменяется на быструю нейросетевую -- везде hard-coded софт заменяется на нейропредсказание (надо бы таки дописать разбор neural operators…).

Новый RTX Blackwell -- мощный чип, с огромной пропускной способностью памяти (1.8TB/s), с 4000 AI TOPS что в три раза больше предыдущего поколения Ada. Тут всегда вопрос, что конкретно понимается за этими AI TOPS, каждый раз разное. Я надеялся, что это не FP4, но подозреваю, что всё-таки они. Во-первых, так получается больше :) А во-вторых потому что дальше он их использует в других местах.

Игровые карты весьма внушительны:
* старшая 5090: 3400 AI TOPS $1999
* младшая 5070: 1000 AI TOPS $549

То есть за $550 получаем как бы петафлопс на столе. Для контекста, первый терафлопсный суперкомпьютер (в 1000 раз слабее) был ASCI Red из 1997-го года (https://top500.org/resources/top-systems/asci-red-sandia-national-laboratory/), а первым петафлопсным был IBM Roadrunner в 2008 (https://www.ibm.com/history/petaflop-barrier). Но это конечно нечестно, в прошлом терафлопсы были зеленее. В TOP500 это FP64, а не какой-то там FP4. Но всё равно прикольно.

Читать полностью…

gonzo-обзоры ML статей

Marcus Hutter выложил рождественский и новогодний подарок -- PDF с Christmas Edition своей свежей книги про Universal Artificial Intelligence:

http://www.hutter1.net/ai/uaibook2.htm

Ссылка на PDF:
http://www.hutter1.net/publ/uaibook2.pdf

Спасибо Мише Самину за наводку!

Читать полностью…

gonzo-обзоры ML статей

Попытался прикинуть в режиме блиц, что такого важного и интересного произошло в AI в этом году. Ниже результат примерно десятиминутного размышления, что быстро всплыло из памяти. Плюс ещё полчаса-час на то, чтобы это раскрыть. Наверняка что-то важное забыл и если бы я потратил больше test time compute, наверное, результат был бы точнее, но в таком режиме тоже интересно.

Итак, мой список, не то чтобы по важности, просто по порядку вспоминания.

1. Test-time compute

Примерно с o1 (https://openai.com/index/learning-to-reason-with-llms/) открылась эра test-time compute, появилось новое измерение, по которому можно скейлить модели.

Ну как появилось, в принципе его следы и раньше можно найти. Те же варианты прогнать CNN на нескольких аугментациях и усреднить результат, или там Tailoring (/channel/gonzo_ML/392), оно тоже сюда. Но сейчас прям sputnik moment, особенно с o3 (/channel/gonzo_ML/3104). Есть и у других игроков что-то из этой серии, Gemini 2.0 Flash Thinking Mode (https://ai.google.dev/gemini-api/docs/thinking-mode) или QwQ (https://qwenlm.github.io/blog/qwq-32b-preview/).

Следующий год будет сильно про это.

2. SSM идут в массы.

За год появилось много новых SSM и SSM-Transformer гибридов (/channel/gonzo_ML/2919), и история продолжает развиваться. Из свежего, например, Bamba (https://huggingface.co/blog/bamba) или Falcon3-Mamba (https://huggingface.co/blog/falcon3).

3. Реальная конкуренция в мире LLM

Если год-два назад была примерно одна лучшая LLM -- от OpenAI, то теперь есть как минимум три топовых коммерческих: от Anthropic, OpenAI, Google, и несколько хороших открытых: Llama, Gemma, Qwen, да и ещё что-то наверное можно добавить. В повседневных делах у меня моделью #1 стал Claude 3.5 Sonnet, он вытеснил модели OpenAI как точку входа.

4. LLM теперь мультимодальные

Большинство топовых LLM уже вовсю мультимодальные, принимают на вход не только текст, но и звук с картинками. GPT, Gemini, Claude, Llama, ... все умеют что-то кроме текста. Тихо и без революций это просто стало реальностью.

5. LLM для написания кода стали реально полезны

Генерация кода за последний год очень прокачалась, с помощью моделей можно написать код гораздо быстрее. Я активно пользуюсь этим для генерации разного типового кода, например, для визуализации или обработки данных, это экономит мне кучу времени. Ради эксперимента также написал Flutter приложение с питоновским бэкендом за выходные, флаттера я перед этим не знал вообще. Без Claude/Copilot/Gemini хз сколько бы я это делал, точно не выходные.

Неидеально, в некоторых случаях не срабатывает, как мне нужно, но во многих срабатывает. После VSCode + Copilot или Colab со встроенным Gemini работать в Kaggle ноутбуке без этого вообще уныло, как без руки, начинаешь остро чувствовать потерянное время.

В 2017-м написал статью в Форбс про то, что "программисты в опасносте" (https://www.forbes.ru/tehnologii/341535-mashiny-vmesto-inzhenerov-pochemu-iskusstvennyy-intellekt-doberetsya-i-do), ну вот мы приближаемся.

С другой стороны прямо сейчас происходит большое разделение. Кто умел программировать, становится в разы и на порядки продуктивнее, а кто не умел -- имеет шансы и не стать вообще. "Богатые богатеют".

6. Генерация видео на подходе

Sora очень долго ехала от анонса до доступности, но зато за это время появилось сколько-то альтернативных наработок. Если в момент анонса OpenAI был примерно одним и единственным лидером, то сейчас уже это не так и мир многополярен.

7. Нобели за нейросети

Приятно.

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

8. Открытые модели рулят

Мне всегда казалось, что опенсорс примерно года на полтора отстаёт от коммерческих LLM, ну и в принципе, наверное, оно где-то так и есть, если смотреть на доступные способности там и там. Но всё равно, всё то, что появилось в опенсорсе (или просто в опен) продолжает удивлять -- новые ламы, джеммы и прочее разное намного лучше, чем всё что было ранее.

9. World models

Читать полностью…

gonzo-обзоры ML статей

На задаче Explicit planning другая planning model (LPM) генерит высокоуровневый план, что должно быть сделано дальше, а LCM на основе этого плана генерит последовательность концептов + break концепт (это может означать конец параграфа). Итоговый сеттинг зовётся LPCM. Оценивали coherence в режиме LLM-as-a-judge (Llama-3.1-8B-IT). На Cosmopedia (https://huggingface.co/datasets/HuggingFaceTB/cosmopedia) LPCM оказалась вроде лучше просто LCM, но 2.82 ± 0.62 против 2.74 ± 0.70 разве что-то значит, когда такие большие доверительные интервалы? Хз, своеобразный сеттинг какой-то — датасет сгенерён LLM, оценивает тоже LLM, как-то много здесь разных стрёмных факторов.


Ну ладно, работа класса proof of concept, и как пруф она хороша. То, что они в моменте не поставили новую соту — неважно. Вряд ли у нас прямо завтра появится новая ConceptLlama, но это интересный подход и мне он нравится. Я тоже не верю, что предсказание следующего токена — это то, что нам глобально нужно, и хорошо уметь работать уровнем выше, чем обычно происходит в LLM. Мне также очень нравится модульность. Интересно, во что это разовьётся дальше.

Читать полностью…

gonzo-обзоры ML статей

Отдельный профит от такого подхода для обработки длинных документов — последовательность концептов как минимум на порядок короче последовательности токенов, а значит легче обработать трансформером с фиксированным окном контекста (ну либо больше влезет).

До некоторой степени LCM напоминает Лекуновскую JEPA (https://openreview.net/pdf?id=BZ5a1r-kVsf), которая тоже предсказывает репрезентации следующих наблюдений в пространстве эмбеддингов. Но JEPA фокусировалась на выучивании такого пространства в режиме self-supervised, а LCM фокусируется на точном предсказании в уже существующем пространстве эмбеддингов (но срастить эти два подхода, наверное, тоже просится).

Итак, работаем в пространстве эмбеддингов, для обучения LCM нужно подготовить текстовый датасет и сконвертировать его через SONAR в эмбеддинги, один на каждое предложение. На практике это не так просто, точная сегментация не всегда легка из-за ошибок в датасете или специфического форматирования. Кроме того длинные предложения могут быть слишком сложны для кодирования/декодирования через SONAR, качество пострадает. В итоге для разбиения на предложения выбрали Segment any Text (SaT, https://github.com/segment-any-text/wtpsplit) с дополнительным ограничением на длину сегмента, всё длиннее 250 символов (это число мы ещё встретим) разбивается, этот метод называют SaT Capped.

LCM должна conditionally на основе контекста генерить непрерывный эмбеддинг. Это отличается от работы LLM, где надо выдать распределение вероятности по дискретным токенам словаря. Прямолинейный подход к снаряду был бы обучить трансформер генерить эмбеддинг с objective минимизации MSE лосса. Это будет называться Base-LCM. Это не так просто, потому что у заданного контекста может быть много подходящих, но семантически разных продолжений, это видно на примере генерации картинок диффузионками, из одного промпта получаются довольно разные изображения. И в целом в той области как раз много наработок по выучиванию conditional probability distributions для непрерывных данных, поэтому другой логичный вариант на попробовать — это диффузионная модель, Diffusion-based LCM. Наконец ещё один вариант — квантизация и возврат к задаче генерации дискретных элементов, Quantized LCM.

Пройдёмся подробнее по вариантам LCM.

Base-LCM выступает бейзлайном, это стандартный декодер трансформера, переводящий последовательность предшествующих концептов (эмбеддингов предложений) в последовательность будущих. Трансформер окружён со стороны входа и выхода двумя простыми сетями, PreNet и PostNet, занимающимися нормализацией/денормализацией и проекцией SONAR эмбеддингов в размерность модели и из неё обратно. Обучается на semi-supervised задаче предсказания следующего концепта, минимизируя MSE loss относительно ground truth. К документам обучающей выборки добавляют суффикс “End of text”, что даёт возможность научиться генерить документы переменной длины. В инференсе один из стоп-критериев проверяет близость сгенерённого эмбеддинга эмбеддингу этого суффикса и останавливает генерацию, если близость выше заданного порога; другой стоп-критерий смотрит на косинусную близость между текущим и предыдущим эмбеддингом и останавливает, если она выше порога (оба порога установлены в 0.9).

Diffusion-based LCM тоже авторегрессионно генерит концепты, один за раз, делая заданное количество denoising steps для каждого генерируемого концепта. Использует classifier-free diffusion guidance. Есть версия модели с одним стволом (One-Tower) и двумя (Two-Tower). В первом случае это один ствол трансформера, делающий всё. Во втором отдельный ствол (contextualizer) занимается кодированием предшествующего контекста, а второй (denoiser) генерит новый эмбеддинг концепта и через cross-attention смотрит на контекст из первого ствола.

Quantized LCM использует Residual Vector Quantization и далее работает аналогично обычным LLM, предсказывающим дискретные юниты. Здесь можно использовать температуру, top-p/top-k. Архитектуру стараются собрать максимально похожую на Diffusion-based LCM, чтобы было легче сравнивать.

Читать полностью…

gonzo-обзоры ML статей

Jeff Dean с апдейтом по теме ML for Systems, доклад на последнем NeurIPS.

https://x.com/nrehiew_/status/1868672595106865576

ML for Systems — это хорошая тема, она про применение ML в различных технических системах, где до этого рулили эвристики. Компиляторы, дизайн чипов, оптимизация инференса, и прочее, и прочее. В целом мы уже начали вкушать плоды этих трудов, свежие чипы типа TPU, включая те, что в телефонах, оптимизация работы Ютуба, ускоренный инференс моделей — ко всему этому ML уже приложился, но всё равно это только начало.

Читать полностью…

gonzo-обзоры ML статей

То же самое в формате поста, где проще вставить картинки в релевантные места текста.

https://gonzoml.substack.com/p/blt-byte-latent-transformer

Читать полностью…

gonzo-обзоры ML статей

Entropy Patching -- это более интересный вариант и по сути data-driven подход, использующий оценки энтропии для определения границ. Обычно первые байты в словах сложнее всего предсказать и их энтропия максимальна, дальше она падает, потому что всё понятно. Для получения оценок энтропии обучают маленькую побайтовую авторегрессионную языковую модель на том же корпусе, что и сам трансформер, и затем через её вероятности считают энтропию следующего байта. Дальше, надо как-то поделить последовательность на токены. Например, можно определять границы токенов по превышению энтропией заданного глобального порога. Другой метод определяет высокую относительно предыдущей энтропию, то есть точки, в которых ломается примерно монотонное снижение энтропии (по сути дельта энтропий двух последних символов больше заданного порога). Это всё можно делать лёгкой предобработкой в дата лоадере.

Между патчами и токенами (например, BPE) есть существенная разница в том, что в случае токенов LLM не имеет доступа к побайтовым фичам (и в частности не знает, сколько там букв R). BPE также не удовлетворяет свойству инкрементальности патчинга, то есть он не должен зависеть от будущих частей последовательности. BPE может токенизировать один и тот же префикс по-разному, в зависимости от того, что находится дальше. Для BLT это не подходит, трансформер должен в моменте решить, есть ли на текущем байте граница патча или нет.

Теперь собственно к BLT.

Latent Global Transformer -- это обычный большой и тяжёлый авторегрессионный трансформер, который маппит последовательность репрезентаций входных патчей в последовательность репрезентаций выходных патчей. Эта модель использует block-causal attention mask, которая ограничивает внимание позициями до (и включая) текущего патча в текущем документе. В этой модели и расходуются основные FLOPS.

Local Encoder -- это лёгкий трансформер с гораздо меньшим числом слоёв, который маппит последовательность входных байт в репрезентации патчей. Особенность этого энкодера в том, что после каждого трансформерного слоя там стоит cross-attention, задача которого пулить байтовые репрезентации в репрезентации патчей.

Трансформерный слой использует local block causal attention mask, где каждый байт может “смотреть” на окно фиксированного размера из предшествующих байт (пересечения границ патчей допустимы).

Байтовые эмбеддинги довольно хитрые, аугментируются хешированными эмбеддингами. Для каждого байта считаются n-граммы от предыдущих байт (байтграммы) для n=3..8, через хэш-функцию маппятся в таблицу эмбеддингов фиксированного размера, и добавляются к эмбеддингам байтов перед тем, как отправиться в локальный энкодер. Кроме n-граммных эмбеддингов пробовали также frequency based.

Encoder Multi-Headed Cross-Attention очень похож на входной кросс-аттеншн Perceiver (/channel/gonzo_ML/545, /channel/gonzo_ML/700), только latents теперь не фиксированный набор, а соответствуют репрезентациям патчей и смотрят только на байты из данного патча. Query вектора соответствуют патчам, а Key/Value -- байтам, поэтому и cross attention.

Local Decoder -- тоже лёгкий трансформер, который декодирует последовательность репрезентаций патчей в выходные байты. Предсказывает последовательность выходных байтов как функцию уже декодированных байтов и берёт на вход скрытые репрезентации байтов из локального энкодера. Здесь тоже чередование трансформера и кросс-аттеншна (теперь в качестве Q репрезентации байтов, а K/V -- патчей), и начинается с кросс-аттеншна.

Взяли датасеты от Llama 2 на 2T токенов и новый BLT-1T на 1T. Энтропийная моделька это трансформер на 100M параметров, 14 слоёв, 512 размерность скрытого состояния и внимания со скользящим окном в 512. Трансформерные блоки в целом следуют рецептам Llama 3.

Обучали семейство моделей размером 400M, 1B, 2B, 4B и 8B.

Читать полностью…

gonzo-обзоры ML статей

o3 на 175 месте в Codeforces, то есть примерно 175й сильнейший программист во всем мире.

Это лучше 99,9% участников рейтинга (а все из них — это профессиональные программисты).

Живые участники рейтинга, у которых с 1 по 100 место — это люди, которые выигрывали золотые медали по информатике и продолжали профессионально участвовать в соревнованиях после школы/универа.

Читать полностью…

gonzo-обзоры ML статей

И ARC challenge тоже большой привет!

Читать полностью…

gonzo-обзоры ML статей

Ждём o3 в следующем году (имя o2 решили пропустить). Разработка софта явно изменится. Да уже изменилась, но это только начало.

https://openai.com/12-days/

Читать полностью…

gonzo-обзоры ML статей

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

У канала есть Патреон (https://patreon.com/GonzoML), и я также завёл Boosty (https://boosty.to/gonzoml), если это более удобно.

Спасибо за то, что вы с нами :)

Читать полностью…

gonzo-обзоры ML статей

Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference
Benjamin Warner, Antoine Chaffin, Benjamin Clavié, Orion Weller, Oskar Hallström, Said Taghadouini, Alexis Gallagher, Raja Biswas, Faisal Ladhak, Tom Aarsen, Nathan Cooper, Griffin Adams, Jeremy Howard, Iacopo Poli
Статья: https://arxiv.org/abs/2412.13663
Модели: https://huggingface.co/collections/answerdotai/modernbert-67627ad707a4acbf33c41deb
Пост: https://huggingface.co/blog/modernbert

Забыли уже про BERT на фоне всех новомодных LLM? А он жив! Answer.AI и ко выпустили обновлённый и ускоренный по современным стандартам ModernBERT.

В двух словах напомним тем, кто забыл. Оригинальная архитектура трансформера включает в себя энкодер и декодер, и первые модели 2017-го года были такими (характерный пример -- семейство T5, наследовавшее оригинальный код первого трансформера). Потом в 2018-м случился ImageNet moment в NLP с появлением берта (https://arxiv.org/abs/1810.04805), который был энкодером трансформера. А с появлением GPT (которая является декодером) многие массово перешли на чисто декодерные архитектуры, которые в плане генеративности дают сильно больше гибкости, чем энкодерные архитектуры. Но для разных задач классификации, разметки последовательностей и генерации эмбеддингов энкодерные берт-подобные архитектуры оставались и остаются популярны в узких кругах.

По тем временам берт был большим (110M и 340M параметров для base и large моделей соответственно), но на фоне нынешних 100B+ моделей это ничто и отлично влезает на девайсы и сервера без 100500 GPU. Тем более, что улучшений с тех пор появилось множество, RoBERTa (/channel/gonzo_ML/110), различные дистилляты (/channel/gonzo_ML/119) типа DistillBERT, интересные решения почти в духе ACT, Adaptive Computation Time (/channel/gonzo_ML/90) типа ALBERT (/channel/gonzo_ML/131) и наконец DeBERTa (/channel/gonzo_ML/459). Ну и много другого ещё было. И вот теперь ModernBERT!

Добавлено множество архитектурных улучшений:
* убирание bias-термов из линейных (кроме выходного) и layernorm слоёв
* позиционные эмбеддинги RoPE (rotary positional embeddings)
* pre-normalization с layernorm
* GeGLU активации

Кроме этого реализованы улучшения по части эффективности:
* Alternating Attention с чередованием global и local attention (каждый третий слой с global, остальные с локальным скользящим окном на 128 токенов)
* Unpadding с отказом от padding токенов, на которые тратились ненужные вычисления
* Flash Attention 3 (https://arxiv.org/abs/2407.08608)
* Компиляция через torch.compile, дало никогда-не-лишних 10% улучшения в throughput

Архитектуру слоёв подбирали чтобы эффективно использовать типовые GPU (серверные NVIDIA T4, A10, L4, A100, H100 и консьюмерские RTX 3090 и 4090, с фокусом на инференс), получили base и large модели c 22 и 28 слоями и 149М и 395M параметров (то есть слегка побольше оригинала).

Обучен на 2T токенов (смесь английского и кода), размер контекста 8192 (у Берта и Роберты было всего 512). От старого токенизатора (wordpiece) отказались, взяли BPE, модифицированную версию от OLMo (/channel/gonzo_ML/2437). Старые токены типа [CLS] и [SEP] для совместимости остались.

Обучают на Masked Language Modeling (MLM), от Next-Sentence Prediction (NSP) как и во многих других вариациях (типа RoBERTa) отказались. Оптимизатор StableAdamW, modified trapezoidal Learning Rate schedule (aka Warmup-Stable-Decay, WSD). Batch size scheduling от малых батчей до более крупных. Инициализация весов из Megatron для base и Phi для large. Первые 1.7T токенов обучают на длине контекста 1024, потом на оставшихся 300B расширяют до 8192.

Наверняка кто-то уже строил филогенетическое дерево эволюции бертов (и вообще), было бы интересно посмотреть кто от кого что унаследовал и как идеи переносились. Никто не видел такого?

Читать полностью…

gonzo-обзоры ML статей

Спасибо множеству перелётов, прочитал наконец книгу Chiara Marletto (https://www.chiaramarletto.com/) “The Science of Can and Can’t”, что по сути является единственным описанием в виде популярной книги её и Дэвида Дойча Constructor Theory (https://www.constructortheory.org/). Кроме книги, конечно, есть статьи и сколько-то выступлений, так что если вы читали статьи, то наверное, нового не будет.

Дойч крутой, конечно, мне его читать очень интересно. Кроме двух его мощных книг “The Fabric of Reality” и “The Beginning of Infinity” (пришла пора перечитать, кстати) , мне, например, очень нравятся его мысли тут https://aeon.co/essays/how-close-are-we-to-creating-artificial-intelligence. Текущая книга без Дойча, только Марлето, хотя большую часть, судя по статьям, они сделали вместе.

Главы книги являются популярным рассказом про соответствующие статьи Марлето и Дойча. Собственно, первоначальная статья Дойча 2013 года “Constructor theory” (https://www.constructortheory.org/portfolio/the-philosophy-of-constructor-theory/), более поздняя совместная 2014-го “Constructor Theory of Information” (https://www.constructortheory.org/portfolio/the-constructor-theory-of-information/), ещё более поздние 2015-го только от Марлето “Constructor Theory of Life” (https://www.constructortheory.org/portfolio/the-constructor-theory-of-life/), 2016-го “Constructor Theory of Thermodynamics” (https://www.constructortheory.org/portfolio/constructor-theory-thermodynamics/) и “Constructor Theory of Probability” (https://www.constructortheory.org/portfolio/the-constructor-theory-of-probability/) -- все они примерно соответствуют разным главам книги.

Теория интересная, я на неё какое-то время уже поглядываю, упирает на важность counterfactuals -- возможность и невозможность чего-либо. Законы сохранения -- один из примеров имеющихся принципов, которые по сути являются counterfactuals.

Информацию сводят к сущности обладающей двумя counterfactual свойствами (или к наличию двух операций): возможность установить в одно из двух состояний (операция flip) и возможность скопировать состояние (операция copy). Все среды, имеющие эти два свойства, взаимозаменимы с точки зрения информации, и это вот interoperability of information открывает дорогу к существованию универсальных компьютеров.

У квантовой информации есть два дополнительных свойства: невозможность выполнять определённые copy-like трансформации и обратимость, что открывает дорогу к универсальному квантовому компьютеру.

Надёжно выполняемые преобразования требуют наличия обобщённого катализатора, который после выполнения преобразования способен делать его и дальше. А абстрактный катализатор ещё и копируем и содержит в себе resilient information, некий рецепт (knowledge).

В термодинамике constructor theory предлагает next step для универсального вычислителя, давая ему “ручки и ножки” и определяя универсальный конструктор. Агентная машина Тьюринга, если угодно :)

Где-то на горизонте недавно также появлялась Assembly Theory (упоминали её здесь /channel/gonzo_ML/2745). Она как бы про другое, отличить сконструированное и пообъяснять эволюцию -- на переопределение физических законов не претендует. Но как-то перекликается. Недавно её, правда, обругали (https://www.kcl.ac.uk/news/kings-researchers-challenge-validity-of-assembly-theory-of-everything-hypothesis).

В общем это всё прикольно, надо про это подумать ещё. У меня давно уже мысли, что в применении к deep learning и вообще к обучению там ещё много интересного можно накопать, и к теории всего этого, и к различным физическим реализациям. А ещё там явно что-то должно быть продуктивное про функциональное программирование и теорию категорий. Срочно надо больше времени!

#books

Читать полностью…

gonzo-обзоры ML статей

Ну и последнее по теме Willow. Я только сейчас обнаружил у Гугла видео с анонсом, где они неплохо описывают суть (лучше чем в блоге). В Кванте, правда, ещё больше контекста дают.

https://www.youtube.com/watch?v=W7ppd_RY-UE

Читать полностью…
Subscribe to a channel