uk
Feedback
Графики каждый день (почти)

Графики каждый день (почти)

Відкрити в Telegram

Группа, полная любопытства к миру и любви к визуализации) контакт: @ka1242

Показати більше
1 308
Підписники
Немає даних24 години
+17 днів
+330 день
Архів дописів
Как научить LLM пользоваться интернетом? @mishaninaaaa В 2021 году команда исследователей из OpenAI научила GPT-3 пользоватьс
Как научить 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

Очень весело видеть ответы на риторические вопросы, заданные 4 года назад) https://youtu.be/fsLh-NYhOoU?si=9xLMhzkhuQMMo_Mx

Собственно да, можно. Так ещё в бакалавриате немного поучаствовал в оформлении патента "Natural language processing by means of a quantum random number generator" (link), ныне действующего в Австралии и Японии. Иногда стартапам для отчётности бывает полезно просто иметь заявки на патенты, особенно на ранних этапах. Любопытно видеть, как такие сюжеты доходят до реализации и принятия. Не представляю, что с этим делать, зато у вас теперь есть забавный факт об авторе канала и патентах) На всякий случай уточню, что вряд ли использование QRNG тут чем-то может пригодиться — разве что, как было отмечено выше, даёт ощущение тайны и смешно звучит.

Вопрос по патентам, как вы думаете, можно ли запатентовать использование квантового генератора случайных чисел (QRNG) для выбора варианта LLM ответа?)
Anonymous voting

О том как божьи коровки зимуют

О том как пятнашки представить в виде группы перестановок (а точнее S(n²-1) × Cₙ × Cₙ) Допустим вам захотелось представить пя
О том как пятнашки представить в виде группы перестановок (а точнее 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 кубитов и зададимся вопросом сде
О том из чего квантовые компьютеры собираются (или о плотных подмножествах 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} (другие варианты в комментариях), собственно пост возник скорее из желания поделиться этими узорами)

Я не нашёл генератор QR code, который бы не требовал от меня регистрации/просмотра рекламы/капчи/... — кошмар, мне просто текст/url в картинку нужно перевести. В общем сделал минималистичный вариант для себя, но вдруг и вам пригодится) https://qdiag.xyz/qr/

О том как в шахматах ходят Всем немного знакомым с шахматными правилами предлагаю посмотреть на распределение ходов: по гориз
О том как в шахматах ходят Всем немного знакомым с шахматными правилами предлагаю посмотреть на распределение ходов: по горизонтали отложен номер клетки откуда ходили, а по вертикали отложено куда ходили, данные на основе 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 действия)

Когда-то этот канал начинался как обмен графиками однокурсников на физтехе (давно же это было). Интересно как обстоят дела сейчас — сколько здесь физиков/математиков/... . С какой областью/направлением вы себя ассоциируете?
Anonymous voting

Когда-то этот канал начинался как обмен графиками однокурсников на физтехе (давно же это было). Интересно как обстоят дела сейчас — сколько здесь физиков/математиков/... . С какой областью/направлением вы себя ассоциируете?
Anonymous voting

Нобелевская премия по физике 2025 (или о некоммутативности фазы и заряда) И в этом году Нобелевская премия за эксперимент: де
Нобелевская премия по физике 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-магнитометров (два Джозефсоновских перехода в петле, одно из наиболее ярких коммерческих проявлений квантовых технологий), так что влияние на область действительно заметное)

Завтра же объявят лауреатов Нобелевской премии по физике! Как думаете, какую область выберут?)
Anonymous voting

О том как в видеоигры играть (или от AlphaZero к Dreamer) Для начала вспоминим как компьютер играет в шахматы используя нейро
О том как в видеоигры играть (или от AlphaZero к Dreamer) Для начала вспоминим как компьютер играет в шахматы используя нейросетку (e.g. AlphaZero или NNUE Stockfish). Можно было бы на основе доски предсказывать куда походить, но это плохая идея — это можно сравнить с gpt до reasoning. Гораздо лучше на основе нейросетки отобрать несколько перспективных ходов, и проверить их — раскрыть дерево решений в их сторону. То есть мы не столько предсказываем по состоянию ход, сколько направляем поиск по дереву решений, и потом на основе этого уже принимаем решение — почти как reasoning в llm. Но чтобы это работало нам нужно уметь по состоянию системы + действию узнавать новое состояние системы, и для шахмат это делается очень просто, вызовом шахматного движка. Но как быть если это minecraft, starcraft, ... — какая-то большая игра, движок которой переписывать для нас не опция, но порассуждать хочется. И тут помогают world models. Давайте научим другую нейросеть работать вместо движка, пусть она сама по состоянию системы + действию будет предсказывать что случится дальше. Только предсказывать картинку целиком смысла нет, нам не очень интересны в текстуры, графика, ... — куча всего лишнего. Мы лучше обучим третью нейросеть (автоэнкодер), которая будет сжимать-разжимать кадры в скрытое пространство. Получается концентрированная информация о системе в относительно низкоразмерном скрытом пространстве. И так мы получаем архитектуру DeepMind развивающую идеи AlphaZero на видеоигры — Dreamer. Сжали кадр, порассуждали что будет от наших действий исключительно на основе world model (вместо игрового движка), приняли решение — вот и всё. Есть несколько идей, как можно было бы сделать потенциально более эффективным в плане требуемых данных и мощностей обучение world model, если вам было бы интересно чем-то таким поработать и есть какой-то опыт с нейросетками или было бы интересно собрать под это дело датасеты — пишите (@ka1242). P.S. У меня работы ребят из google добывающих алмазы в minecraft вызывает исключительно детский восторг, к слову Dreamer v4 вышел буквально пару недель назад)

Нашу статью взяли на NeuroIPS 2025! arxiv:2502.13266 Статья "A Machine Learning Approach That Beats Large Rubik's Cubes" про
Нашу статью взяли на NeuroIPS 2025! arxiv:2502.13266 Статья "A Machine Learning Approach That Beats Large Rubik's Cubes" про то как находить путь на больших графах в принципе, и про то как with zero human knowledge собирать Кубик Рубика 3x3, 4x4, 5x5, пятнашки до 6x6, ... и другие перестановочные пазлы в частности. Для понимания масштаба: кубик 5x5 это 10⁷⁴ состояний, а мы там находим достаточно короткий (лучший из опубликованных) путь сборки. Код к статье доступен на git cayleypy-cube. Забавно что для меня это началось с этого поста 2 года назад, а потом списались с @Alexander_V_C (огромное ему спасибо) и как-то так и пошла интернет коллаборация. Собственно про метод писал здесь, и потом ещё подробнее напишу. Красиво, что просто немного случайно блуждая по графу, можно обучить модель очень хорошей эвристике, достаточной для ориентирования на широком классе графов. Мне очень давно хотелось, чтобы какой-нибудь такой сюжет существующий из любопытства в рамках хобби добрался до рецензий. А тут не просто добрался, но и на A* конференцию, ещё и выдвинули на spotlight (топ 15% от принятых работ). Воот)

Допустим у вас есть батарейка и охапка транзисторов. Можно ли на транзисторах хранить информацию?
Anonymous voting

О том как перемножать матрицы III (canonical polyadic decomposition онлайн, без регистрации) Выше писал, что умножать матрицы 2х2 можно не за 8 умножений, а за 7. И аналогично для 3х3 есть алгоритм Ладермана, делающий 23 умножения, вместо 27. Два любопытных факта: 1. Не доказано, является ли он оптимальным, сейчас нижняя граница это 19 (link). 2. Поиск алгоритма сводится к декомпозиции 3D тензора Tᵢⱼₖ = Σ uᵢvⱼwₖ (NP hard), что аналогично решению системы дискретных уравнений на 621 неизвестную. И через случайные блуждания по флип графу система решается за секунду, прямо на телефоне! Можете попробовать сами с моей визуализацией: https://qdiag.xyz/cpd/