Графики каждый день (почти)
СтатистикаГруппа, полная любопытства к миру и любви к визуализации) контакт: @ka1242
- Последний пост
- 21 мар.
- Последнее чтение
- 14 авг.
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Как научить LLM пользоваться интернетом? @mishaninaaaa В 2021 году команда исследователей из OpenAI научила GPT-3 пользоваться браузером как инструментом, по сути это один из первых прототипов tool-using LLM. Про это есть статья на arxiv, а также блогпост. Часть идей из статьи можно воспроизвести достаточно просто, если взять небольшую языковую модель и добавлять ей в контекст результат поиска промпта в интернете. Реализация Сделал такую реализацию на основе статьи: • Через API(serpapi) модель отправляет запрос в Google Search Engine, результаты поиска добавляются в system prompt модели как контекст. В system prompt я также прошу модель цитировать источники • Далее берётся instruction-tuned модель(SmolLM2-1.7B-Instruct), которая кушает user prompt и system prompt, отвечает на вопрос с указанием ссылок и списка источников • На MacBook Pro с M5 с MPS(aka Mac CUDA) ответ модели занимает около 5 секунд Прикрепил пример работы в комментах. Обратите внимание, что вопрос содержит свежие данные, значит модель действительно пользуется инфой из интернета Бенчмарк Также мне было интересно побенчмаркать модель с web-поиском на каком-нибудь датасете. Взял кусок датасета TriviaQA на 100 вопросов, который используется в статье. Вопросы короткие, имеют вид "Who was the next British Prime Minister after Arthur Balfour?". Получилось, что модель без web-поиска ответила правильно на 31/100 вопросов, с web-поиском на 62/100 вопросов. На этом моменте я очень обрадовался) Немного про статью и подход Подход включал разработку web environment, в которой GPT-3 могла делать поисковые запросы, переходить по ссылкам и читать страницы. Сначала модель обучалась имитировать то, как человек пользуется интернетом (behavior cloning), используя логи взаимодействий разметчиков с браузером. Таким образом модель училась искать информацию, подтягивать найденный текст как контекст и цитировать источники. Чтобы мотивировать модель делать это лучше, далее обучалась reward-модель, оценивающая качество ответа. Для этого разметчикам показывали пары ответов модели и просили выбрать лучший. Reward-модель училась предсказывать человеческие предпочтения. Для параметризации этих предпочтений использовалась модель, аналогичная Elo-рейтингу(как в шахматах): разность рейтингов позволяет оценить вероятность того, что один ответ предпочтительнее другого. После обучения reward-модели можно использовать RL и rejection sampling, чтобы выбирать ответы с наибольшим Elo score
О том как π монеткой оценивать (терпеливо) Будем подбрасывать монетку до тех пор, пока доля "орлов" x не превысит 0.5 и запишем себе в блокнотик эту долю x. Например для последовательности "ророо" x=3/5, а если сразу выпал орёл "о", то x=1. Чему в среднем равно x? Судя по недавней работе, ⟨x⟩ = π/4 ! Справедливости ради после тысячи бросков выяснится, что π = 3.1 ± 0.3, а после миллиона что π = 3.14 ± 0.07 — не самый быстросходящийся метод оценки, но по-моему достаточно неожиданный. P.S. Сегодня 03.14, всех с днём π)
О том как бумага мнётся (фрактально) Если взять лист бумаги площади S, и сложить из него кораблик, то размер кораблика будет масштабироваться по sqrt(S): взяв A5 вместо A4 закономерно получим кораблик в √2 раза меньшей длины. А если этот лист бумаги скомкать, как будет меняться диаметр комочка в зависимости от исходных размеров? Отличный вопрос, чтобы задуматься о фрактальности! (спасибо @ergobas) Это и предлагается коллективным экспериментом проверить. Мы как-то с вами считали звёзды (link) и получилось очень здорово. Теперь можем воспроизвести результаты этой работы. Должно получиться, что размер комочка меняется в 1.3 раза, при переходе от A4 к A5, или от A5 к A6 -- при любом уменьшении площади в 2 раза. Так что берёте ненужный прямоугольник бумаги, измеряете размеры, комкаете его как можно плотнее, и присылаете какого диметра D получился результат. А потом построим D(S), в лог масштабе должна получиться прямая) форма для результатов: https://forms.gle/Z4dt1xbSW1zHvsUV8
Мы все хотя бы раз считали объем n-мерной сферы. А вы когда-нибудь задумывались, почему объём единичной сферы испытывает максимум при размерности = 5?) Ну то есть, вопрос, понятно, скорее риторический, но по-моему забавно)
Собственно да, можно. Так ещё в бакалавриате немного поучаствовал в оформлении патента "Natural language processing by means of a quantum random number generator" (link), ныне действующего в Австралии и Японии. Иногда стартапам для отчётности бывает полезно просто иметь заявки на патенты, особенно на ранних этапах. Любопытно видеть, как такие сюжеты доходят до реализации и принятия. Не представляю, что с этим делать, зато у вас теперь есть забавный факт об авторе канала и патентах) На всякий случай уточню, что вряд ли использование QRNG тут чем-то может пригодиться — разве что, как было отмечено выше, даёт ощущение тайны и смешно звучит.
видео или голосовое, без подписи
О том как пятнашки представить в виде группы перестановок (а точнее S(n²-1) × Cₙ × Cₙ) Допустим вам захотелось представить пятнашки в виде группы перестановок. Но проблема: что и куда переставлять зависит от положения 0 (пустой клетки). И вообще, для классических пятнашек это сделать не получится. Но если допустить периодические гран условия (да, мы теперь живём на торе), то всё можно. Для этого рассмотрим следующую конструкцию: для квадрата n×n заполним его n² элементами, 0 в левом верхнем углу (на рисунке это синий квадрат); дальше повторим как на рисунке строки и столбцы этого квадрата до (2n-1)×(2n-1); установим рамку в положение (0,0). Внутренности синего квадрата это как раз будет группа S(n²-1), а положение рамки по x и y это Cₙ × Cₙ. Теперь если мы хотим поменять местами с 0 (пустышкой) соседний элемент, то: (i) двигаем в эту сторону рамку, (ii) внутри синего квадрата делаем циклические перестановки (внутри столбцов|строк), не трогая 0. Собственно, внутренности рамки это и будет состояние пятнашек, а мы только что описали их набором перестановок! Давайте для наглядности выпишем генераторы для n=3. Всего будет (n²-1)+(n)+(n) элементов. state: [1, 2, 3, 4, 5, 6, 7, 8, 0, 2, 1, 0, 2, 1] right: [2, 1, 4, 5, 3, 7, 8, 6, 8+2, 8+0, 8+1, 11+0, 11+1, 11+2] down: [4, 5, 6, 7, 8, 3, 1, 2, 8+0, 8+1, 8+2, 11+2, 11+0, 11+1] и left, up получаются аналогично как обратные к right, down. Теперь чтобы сделать ход, нам достаточно применить заданную перестановку к набору элементов, независимо от положения пустышки. // кстати, card(S_{n²}) = card(S_{n²-1} × C_n × C_n)
О том из чего квантовые компьютеры собираются (или о плотных подмножествах SU(2ⁿ)) Возьмём n кубитов и зададимся вопросом сделать с ними всё что угодно унитарное — реализовать некоторый квантовый алгоритм U через набор доступных гейтов {Gⱼ} (fig. a). Квантовый алгоритм U — просто унитарная 2ⁿ-мерная матрица, гейт Gⱼ — операция которую мы делаем с поднабором кубитов, тоже сводится к действию унитарной матрицы. То есть мы хотим представить одну матрицу U в виде произведения U=Gⱼ₁ Gⱼ₂ ... Gⱼₘ . Возникает естественный вопрос, а для какого вообще набора {Gⱼ} мы может так сделать? Оказывается достаточным взять 3 вида матриц (fig. b): две действующие на один кубит (T,H) и одну действующую на два кубита (CNOT, изображается точкой с плюсом). Действуя ими на разные кубиты получается всего n(n-1)+2n доступных матриц {Gⱼ}. И ограничиваясь только такими матрицами, мы можем приблизить сколь угодно точно любую другую унитарную матрицу — то есть они образуют плотное подмножество SU(2ⁿ). Было бы интересно подумать, а как для минимального m найти такое разложение U=Gⱼ₁ Gⱼ₂ ... Gⱼₘ — очередная, к слову, NP-complete задача. // говоря про вид комплексных элементов z матрицы U (fig. c) — формула приведена в title, распределение построено для k=1, n_q={-1,0,1} (другие варианты в комментариях), собственно пост возник скорее из желания поделиться этими узорами) // опечатка: сумма по q от 0, а не от 1
Я не нашёл генератор QR code, который бы не требовал от меня регистрации/просмотра рекламы/капчи/... — кошмар, мне просто текст/url в картинку нужно перевести. В общем сделал минималистичный вариант для себя, но вдруг и вам пригодится) https://qdiag.xyz/qr/ // на телефоне из браузера tg скачивание файла шалит, а вот в chrome всё ок
О том как в шахматах ходят Всем немного знакомым с шахматными правилами предлагаю посмотреть на распределение ходов: по горизонтали отложен номер клетки откуда ходили, а по вертикали отложено куда ходили, данные на основе 1M партий lichess. Чем ярче клеточка, тем чаще делали такой ход. Крупная сетка по сути делит доску на линии: на клетках от 1 до 8 стоят в начале фигуры белых, на клетках от 9 до 16 в начале стоят пешки белых, ... . Можно заметить, что со стороны черных и со стороны белых идёт достаточно симметричная игра. Что вы тут видите? Какие ходы повторяются из партии в партию? Наиболее характерные выделил красным цветом. Мне очень нравится эта картинка тем, что в начале она выглядит скорее странно, но после пары минут становится до жути очевидной :) 1. Это рокировка O-O белого короля, просто e1-g1! 2. А тут уже лошади прыгают g1-f3, b1-c3 3. Восемь пешек, которые шагают на 1 или на 2 клетки, из партии в партию
Потихоньку готовлюсь к конференции и хотелось сделать какое-нибудь демо. С радостью представляю вниманию .js реализацию описанного алгоритма: прямо у вас в браузере обученная в пределах 5 минут нейросетка найдёт близкий к оптимальному путь на графе в 10¹⁹ вершин за пару секунд — соберёт кубик Рубика 3×3×3 в среднем за 24 действия)
видео или голосовое, без подписи
Нобелевская премия по физике 2025 (или о некоммутативности фазы и заряда) И в этом году Нобелевская премия за эксперимент: демонстрация дискретных уровней энергии в current-biased переходе Джозефсона и наблюдение макроскопического туннелирования между ними. Нобелевскую премию по физике 2025 получат Джон Кларк, Мишель Деворе и Джон Мартинису за открытие макроскопического квантово-механического туннелирования и квантования энергии в электрической цепи. Любопытно, что они именно коллеги, а октябре 1985 в PRL у них вышли совместные работы Measurements of Macroscopic Quantum Tunneling out of the Zero-Voltage State of a Current-Biased Josephson Junction Energy-Level Quantization in the Zero-Voltage State of a Current-Biased Josephson Junction Вообще очень интересно открывать эти работы с мыслью "через 40 лет это будет нобелевка". Из этого появились современные сверхпроводниковые кубиты и подняли точность SQUID-магнитометров (два Джозефсоновских перехода в петле, одно из наиболее ярких коммерческих проявлений квантовых технологий), так что влияние на область действительно заметное)
видео или голосовое, без подписи
О том как в видеоигры играть (или от AlphaZero к Dreamer) Для начала вспоминим как компьютер играет в шахматы используя нейросетку (e.g. AlphaZero или NNUE Stockfish). Можно было бы на основе доски предсказывать куда походить, но это плохая идея — это можно сравнить с gpt до reasoning. Гораздо лучше на основе нейросетки отобрать несколько перспективных ходов, и проверить их — раскрыть дерево решений в их сторону. То есть мы не столько предсказываем по состоянию ход, сколько направляем поиск по дереву решений, и потом на основе этого уже принимаем решение — почти как reasoning в llm. Но чтобы это работало нам нужно уметь по состоянию системы + действию узнавать новое состояние системы, и для шахмат это делается очень просто, вызовом шахматного движка. Но как быть если это minecraft, starcraft, ... — какая-то большая игра, движок которой переписывать для нас не опция, но порассуждать хочется. И тут помогают world models. Давайте научим другую нейросеть работать вместо движка, пусть она сама по состоянию системы + действию будет предсказывать что случится дальше. Только предсказывать картинку целиком смысла нет, нам не очень интересны в текстуры, графика, ... — куча всего лишнего. Мы лучше обучим третью нейросеть (автоэнкодер), которая будет сжимать-разжимать кадры в скрытое пространство. Получается концентрированная информация о системе в относительно низкоразмерном скрытом пространстве. И так мы получаем архитектуру DeepMind развивающую идеи AlphaZero на видеоигры — Dreamer. Сжали кадр, порассуждали что будет от наших действий исключительно на основе world model (вместо игрового движка), приняли решение — вот и всё) P.S. Есть несколько идей, как можно было бы сделать потенциально более эффективным в плане требуемых данных и мощностей обучение world model, если вам было бы интересно чем-то таким поработать и есть какой-то опыт с нейросетками или собрать под это дело датасеты — пишите (@ka1242). P.P.S. У меня работы ребят из google добывающих алмазы в minecraft вызывает исключительно детский восторг, к слову Dreamer v4 вышел буквально пару недель назад)
Кубик Рубика #math Вы взяли кубик Рубика, достаточно долго его крутили, бесконечно долго, и в какой-то момент решили остановиться. Если верить, что все позиции равновероятны, то получится такое распределение вероятности по расстоянию d до собранного состояния.…
видео или голосовое, без подписи
О том как перемножать матрицы n×n (I. или как метрополисом оптимально по графу на 2⁶⁴ вершин шагал) На компьютере хорошо складывать числа, а не умножать, поэтому если бы умножать матрицы 2х2 можно было бы не за 8 умножений, а за 7, то всё стало бы немного…
Thermodynamic computing Сегодня хочу рассказать про статью компании Normal Computing о термодинамических вычислениях. Ребята делают ASIC(Application Specific Integrated Circuit), который может более быстро и энергоэффективно считать примитивы AI моделей. В статье представлен proof-of-concept такого чипа, демонстрируется выигрыш в скорости и энергоэффективности на порядок по сравнению с GPU Nvidia A6000. В будущем обещают улучшение энергоэффективности х1000 Авторы называют свою разработку physics-based ASIC, так как отказываются от цифровой логики в пользу более энергоэффективной и быстрой аналоговой логики. По сути делают классический симулятор: берут физическую систему, запускают её динамику, измеряют состояние, а потом по измеренным состояниям делают инверсию матрицы, считают детерминант или сэмплируют точки из нужного распределения (по сути алгоритм Метрополиса-Гастингса в железе). С точки зрения физики в демонстрационном чипе всё устроено просто: есть набор rlc-контуров(элементарные ячейки) с ёмкостной связью между ними. На rlc-контуры подаются токи i с некоторым шумом(пока от цифрового генератора), и динамика связанной системы контуров описывается системой стохастических дифференциальных уравнений Ланжевена. После установления равновесия можно измерить напряжения v и получить сэмплы из нужного нам нормального распределения. Контроллируя силу связей(ёмкость конденсаторов), можно задавать матрицу ковариации нормального распределения для сэмплирования или матрицу, от которой хочется посчитать детерминант/обратную матрицу. Есть даже отдельная статья про термодинамическую линейную алгебру. В общем можно считать всё что душе угодно, что можно оценить как статистику от состояний системы Things to consider 💡 В текущей работе источником случайности является цифровой генератор, но можно подумать про сценарий, в котором случайность появляется за счёт дальнейшей миниатюризации компонент чипа. Например, при уменьшении транзистора увеличивается вероятность туннелирования электронов через gate, а также нагрев, что может делать процесс недетерминированным и ломать цифровую логику. Возможно, этот же эффект получится использовать для масштабирования термодинамических вычислений 💡 Авторы отмечают, что использование нелинейности в виде транзистора может существенно расширить множество доступных задач. Например, появится возможность использовать методы оптимизации второго порядка вместо градиентного спуска при той же сложности для тренировки нейросеток ❗️ Неидеальность электронных компонент и полносвязность архитектуры ограничивают масштабируемость и точность. Также сложность алгоритмов зависит от необходимой точности решения и времени установления равновесия в системе, которая определяется спектром матрицы связей(числом обусловленности) Interesting facts 📌 Co-founder/CEO Faris Sbahi и chief scientist Normal Computing Patrick Coles также занимаются квантовыми вычислениями. У второго, например, есть обзор по вариационным квантовым алгоритмам почти на 4к цитирований 📌Помимо Normal Computing термодинамические вычисления делают Extropic. У Lex Fridman есть подкаст с основателем Extropic Guillaume Verdon, который тоже кстати из квантовых вычислений пришёл 📌Из чего-то похожего, но более зрелого есть стартап Etched. Они делают ASIC под архитектуру трансформера(T в названии ChatGPT). Утверждают, что один их чип Sohu заменяет 20 видеокарт H100. Разработка ASIC и их интеграция в существующую инфраструктуру обычно очень дорогая, интересно что из этого выйдет. Пока им дали 120М$, что, как будто, не очень много по меркам инвестиций в ИИ. Как я понял, сейчас основное ограничение чипа Etched в memory bandwidth, что делает его хуже карточек от Nvidia (скорость обработки данных у Etched выше, но сами данные подгружаются медленно) 📌Оказывается, есть целый журнал от Nature про unconventional computing 📌У Normal Computing есть библиотека thermox на JAX для моделирования термодинамического компьютера. Также они работают над AI-решением для ускорения разработки кастомных чипов
видео или голосовое, без подписи