fa
Feedback
Истории (не)успеха (ИИ)ЕИ

Истории (не)успеха (ИИ)ЕИ

رفتن به کانال در Telegram

Просто о математике, нейросетях, IT. Общение, контакты, международные онлайн дискуссии/лекции в формате лайвстрим.

نمایش بیشتر
614
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+27 روز
+1130 روز
آرشیو پست ها
Про воровство: ко мне первый вопросо от того, к кому я обратился найти и наказать. А то что у тебя ноутбук Макбук-Про стоит тут весь день тебя не парит? Нет, не парит, это мои вещи и их не надо брать ) Давай, ищи, кто украл телефон.

У меня украли телефон. сказал всем искать и вернуть. плачу 1000 евро налом за старый айфон с фотами, который ещё и без отпечатка моей пальца не открыть. малолетки сказали найдём и вернём. серьёзые ребята подтвердили, он пообещал тысячу евро - мы свидетели, этого пацана мы знаем, он за базар отвечает

И прятать лето в кабинетах преступление и за него прийдётся отвечать:

Лето прошло, только этого мало. Работаем, друзья! https://www.youtube.com/watch?v=NYhCkWL5fXs Лето прошло, теперь работаем!

Работаем дальше над физмат-подглтовкой!

А получилось вот такое 👇

Кстати, про задачи тысячелетия у нас скоро будет много выпусков. А пока вот так, собирался снять вот такое 👆

Кстати, про задачи тысячелетия у нас скоро будет много выпусков! А пока вот так: собирался снять вот такое: а получилось вот так: И это тоже не плохо!

Мы, друзья, конечно же неоднократно писали про загадки уравнений Навье-Стокса и связанных с ними задач. Например, тут: https://t.me/easy_about_complex/1082

Repost from Data Secrets
Пошел слух, что OpenAI решили одну из задач тысячелетия Речь про Навье-Стокса, и с этой историей разразился настоящий скандал
+4
Пошел слух, что OpenAI решили одну из задач тысячелетия Речь про Навье-Стокса, и с этой историей разразился настоящий скандал. Два математика – Тристан Бакмастер из NYU и Левент Алпеге из Anthropic – год работали над этой задачей, и обнаружили доказательство коллапса решений для уравнений Эйлера – это родственная, но более простая задача, чем сам миллениум. Тем не менее, это очень большой результат и ощутимая подвижка в прогрессе по Навье-Стоксу. В частности, Теренс Тао назвал работу Бакмастера и Алпеге выдающимся достижением и сказал, что не видит препятствий для распространения метода на самого Навье-Стокса. В сообществе почти сразу пополз слух, что кто-то близок к прорыву по Навье-Стоксу. Многие приписывали это Anthropic, и Бакмастер решил лично написать в OpenAI знакомому математику и прояснить ситуацию, сообщив, что это его личный, а не корпоративный проект. Мотивом было сохранение академической прозрачности, но этот жест доброй воли стал переломным моментом. Как говорит сам Бакмастер, после этого OpenAI начали работу над своей (более сильной) версией результата. Через несколько дней ему сообщили о том, что их внутренняя модель нашла контрпример для Навье-Стокса (потенциально миллениум), используя тот же метод, который выбрали Бакмастер и Алпеге. Доказательство ему не показали, а когда математик спросил, когда был отправлен первый промпт по этой задаче, выяснилось, что это произошло уже после того, как информация об их с Алпеге работе дошла до OpenAI. Кроме того, Бакмастер подозревает, что OpenAI могли воспользоваться данными из его переписки с Codex, куда он загружал все файлы проекта. Когда он спросил об этом в переписке, то прямого ответа так и не получил. Затем Бакмастеру, по его словам, предложили два варианта: либо скоординированное совместное объявление, либо он один пишет результат, указывая модель OpenAI в качестве источника. При этом Себастьян Бубек из OpenAI дважды настаивал на исключении Алпеге из авторов, ссылаясь на «раздражающий» факт его работы в Anthropic. Бакмастер отклонил оба предложения, и в итоге из-за давления они с Алпеге опубликовали свои результаты по уравнениям Эйлера раньше срока, чтобы точно зафиксировать авторство: https://mastodon.social/@tristanbuckmaster/117233413705701198 Бубек публично назвал обвинения ложными и провокационными и сказал, что действовал по академическим нормам, пообещав дать более полный ответ позже. За него также вступился Ноам Браун, заявив, что все лабы должны жить дружно 🥰 Прямо сейчас в X идут многочисленные перепалки по этому поводу, в том числе между сотрудниками OpenAI и Anthropic. 🍿

Девочке, которая снимала, я, кстати, первоначально сказал, что я не умею плавать и ей придётся меня спасать. Она подписчица нашего канала и может подтвердить )

Друзья и коллеги, желаю вам всем хорошей рабочей недели, чтобы наступающая неделя у вас задалась, а не как этот мой прыжок в воду :) и желаю вам такой же группы поддержки как у меня 👇👇👇

p_. 📚 Если захотите почитать глубже DPO — Direct Preference Optimization: основная работа по методу, который мы сегодня обсуждали. Direct Preference Optimization — Rafailov et al. RLHF и Reverse KL — хорошая теоретическая работа именно про KL-регуляризованный RLHF. Iterative Preference Learning from Human Feedback — Xiong et al. Большой обзор галлюцинаций LLM, 2025/2026 — причины, классификация, обнаружение и способы уменьшения галлюцинаций. Large Language Models Hallucination: A Comprehensive Survey Обзор в Computational Linguistics, 2025 — хорошая академическая карта проблемы hallucinations. Siren’s Song in the AI Ocean: A Survey on Hallucination in Large Language Models

6️⃣ Forward vs Reverse KL: два стиля воспитания нейросетей И вот здесь начинается самое интересное. Мы уже знаем, что KL-дивергенция показывает, насколько одно распределение вероятностей отличается от другого. Но у KL есть одна необычная особенность: она несимметрична. С обычным расстоянием между точками всё просто. Если между точками A и B — 10 метров, то от A до B и от B до A всё те же 10 метров. С KL так не работает: D_KL(P Q) ≠ D_KL(Q P) То есть важно не только какие два распределения мы сравниваем, но и какое из них ставим первым. В нашем случае есть два распределения: P_ref — вероятности исходной модели, которую мы берём за точку отсчёта; P_policy — вероятности модели после Alignment. Для одного и того же контекста обе модели распределяют 100% вероятности между возможными следующими токенами. И мы можем спросить: что будет, если считать KL в одну сторону? D_KL(P_ref || P_policy) — это Forward KL. А если развернуть направление: D_KL(P_policy || P_ref) — это Reverse KL. На бумаге разница выглядит почти смешно: всего лишь поменяли местами две буквы. Но математически это уже два разных способа наказывать модель за расхождение. 📍Forward KL: «Не пропусти ничего» Forward KL особенно сильно штрафует ситуацию, когда исходная модель считает какой-то вариант достаточно вероятным, а а дообученная модель практически перестала его рассматривать. Грубо говоря: «А вдруг там тоже что-нибудь важное?! Покрой всё!» Поэтому Forward KL часто связывают с mass-covering поведением — модель старается не потерять разные возможные варианты, даже если некоторые из них менее вероятны. Аналогия — тревожный родитель, который записывает ребёнка сразу в 17 кружков: «А вдруг у тебя талант к скрипке?! Или к шахматам?! Или к балету?! Нельзя ничего упустить!» 📍Reverse KL: «Выбирай то, в чём уверен» Reverse KL смотрит на ситуацию с другой стороны. Он особенно сильно штрафует случай, когда сама модель после обучения начинает давать высокую вероятность вариантам, которым исходная модель почти не давала вероятности. Грубо говоря: «Не уверен — не лезь». Поэтому Reverse KL часто связывают с mode-seeking поведением: модель предпочитает сосредоточиться на наиболее вероятных вариантах, а не пытаться охватить всё пространство возможных ответов. Здесь родитель уже другой: «Мне всё равно, чем ты занимаешься. Главное — делай это без ошибок». И ребёнок выбирает один навык, в котором уверен, а остальные оставляет за бортом. Именно поэтому выбор между Forward и Reverse KL — не просто математическая мелочь. Это разные способы расставить приоритеты: что для нас страшнее — потерять возможный вариант или начать уверенно выбирать то, чего раньше практически не было? И вот здесь мы возвращаемся к Alignment. Alignment меняет вероятностное поведение модели: какие продолжения становятся более вероятными, а какие — менее. Но любое изменение имеет цену. Слишком слабое выравнивание — модель может оставаться непредсказуемой, льстивой или склонной к нежелательным ответам. Слишком сильное — и мы получаем идеально воспитанного ребёнка, который на любой вопрос сначала смотрит на родителей и тихо спрашивает: «А какой ответ вы хотите от меня услышать?» Хороших всем выходных и сбалансированных градиентов! 🙂

3/3. Предыдущая часть 👆 Поэтому в функции потерь Loss (штраф нейросети за возможные ошибки, см. 👆) появляется дополнительный штраф: Loss_Alignment = Loss_Preference + β · D_KL(P_policy || P_ref) Loss_Preference говорит: «меняй модель так, чтобы её ответы больше нравились людям». D_KL говорит: «но не слишком далеко уходи от исходной модели». А β — это сила этого ограничения. Можно сказать, что β — это длина родительского поводка: маленькое β позволяет модели сильно измениться, большое β сильнее удерживает её около исходного поведения. β слишком велик: «Не высовывайся. Делай всё как раньше». Модель слишком сильно держится за исходное поведение и хуже учится новому. β слишком мал: «Делай что хочешь». Модель получает больше свободы менять своё поведение — вместе с риском нежелательных отклонений. То есть Alignment — это не просто: «сделаем модель безопасной». Alignment — это гораздо более тонкая задача: изменить вероятностное распределение поведения модели, но не разрушить всё ценное, что уже было выучено. И именно здесь у нейросети могут появляться так знакомые нам всем «психопатологии». 5️⃣ Что может пойти не так? 1. Sycophancy («Лизоблюдство») Если слишком сильно оптимизировать одобрение человека, модель быстро учится говорить пользователю то, что тот хочет услышать. Пользователь: «Земля плоская, ведь так?» Модель: «Вы совершенно правы! Более того…» Получается ребёнок, который понял: главное — не быть правым, а понравиться родителю. 2. Over-refusal: «зажатость» Если слишком сильно наказывать модель за потенциально неправильные или опасные ответы, она может начать отказываться даже там, где нормальный ответ вполне допустим: «Как ИИ-помощник, я не могу…» «К сожалению, я не могу помочь…» Это уже напоминает зашуганного ребёнка, который на любой вопрос отвечает: «Я не знаю. Лучше не буду». 6️⃣ Forward vs Reverse KL: два стиля воспитания И вот здесь становится особенно интересно. Поскольку KL несимметрична, два направления дают разные поведенческие эффекты. Forward KL: «Не пропусти ничего» Forward KL сильно штрафует модель, если target distribution имеет некоторую область, которую модель практически не покрывает. Грубо говоря: «А вдруг там тоже что-нибудь важное?! Покрой всё!» Это заставляет модель не упускать разные возможные варианты. Аналогия — тревожный родитель, который записывает ребёнка сразу в 17 кружков: «А вдруг у тебя талант к скрипке?! Или к шахматам?! Или к балету?! Нельзя ничего упустить!» Reverse KL: «Выбирай то, в чём уверен» Reverse KL сильнее наказывает модель за уверенность в вариантах, которые исходная модель почти не считала возможными. Грубо говоря: «Не уверен — не лезь». Поэтому Reverse KL часто склоняет модель выбирать несколько наиболее вероятных вариантов и игнорировать остальные. Родитель здесь уже другой: «Мне всё равно, чем ты занимаешься. Главное — делай это без ошибок». Ребёнок выбирает один навык, в котором уверен, и игнорирует остальные. Именно поэтому выбор между Forward и Reverse KL — не просто математическая мелочь. Это выбор того, какую ошибку мы считаем более страшной: пропустить возможный вариант или уверенно выбрать неправильный. И, пожалуй, главный вывод: Alignment — это всегда компромисс. Мы меняем распределение вероятностей поведения модели, чтобы получить более желательное поведение. Но любое изменение имеет цену. Слишком слабое выравнивание — модель может быть непредсказуемой, льстивой или склонной к нежелательным ответам. Слишком сильное — и мы получаем идеально воспитанного ребёнка, который на любой вопрос сначала смотрит на родителей и тихо спрашивает: «А какой ответ вы хотите от меня услышать?» Хороших всем выходных и сбалансированных градиентов!

2/3. Начало 👆 Дальше в дело вступает Backpropagation (обратное распространение ошибки). Он вычисляет, как параметры модели повлияли на ошибку, а оптимизатор использует эти градиенты, чтобы немного изменить веса и уменьшить Loss. Иными словами: модель ошиблась → ошибка превратилась в градиенты → градиенты немного поправили «настройки мозга». Но есть одна проблема: предобученная модель ещё не обязательно является хорошим ассистентом. Она умеет продолжать текст, знает огромное количество закономерностей языка и мира, но задача pre-training была другой: по контексту предсказать следующий токен. Её никто ещё специально не учил режиму: пользователь задаёт вопрос → модель отвечает как полезный ассистент. Для этого нужен следующий этап — SFT (Supervised Fine-Tuning). 3️⃣Supervised Fine-Tuning и Alignment : учим нейросеть быть полезной как ассистент человека и манерам Модель продолжает делать примерно то же самое — предсказывать токены и минимизировать ошибку, — но теперь её специально учат следовать инструкциям, соблюдать формат, стиль и структуру диалога. Получается умный, но ещё не полностью «воспитанный» ассистент. И вот здесь начинается самое интересное — Alignment (выравнивание поведения модели с человеческими предпочтениями) — следующий этап обучения. Чтобы модель была не просто умной, а полезной, безопасной и приятной в общении, её дополнительно обучают на человеческих предпочтениях. В человеческой жизни это примерно тот момент, когда родитель говорит подросшему ребёнку: «Задавать такие вопросы нетактично» или «Не нужно соглашаться со всем подряд, лишь бы мне понравиться». И вот тут возникает проблема: мы хотим изменить распределение вероятностей поведения модели при этом её не сломав и не разрушив её запас знаний и возможностей. Например, раньше на некоторый запрос модель могла выдать условное распределение вероятностей: ответ A — 40% ответ B — 30% ответ C — 20% отказ отвечать — 10% После Alignment мы хотим сделать предпочтительный с точки зрения "воспитания" ответ более вероятным: ответ A — 70% ответ B — 15% ответ C — 10% отказ отвечать — 5% Но возникает естественный вопрос: a насколько сильно мы вообще изменили исходную модель? Не сломали ли её? И вот здесь нам наконец понадобится интересный математический момент: расстояниe между распределениями вероятностей. Ну все же знают как посчитать расстояние между двумя точками, а как между двумя распределениями вероятностей? 4️⃣KL-дивергенция: измеряем, насколько сильно мы изменили модель воспитанием? Представим, что Pre-trained модель — это наш ребёнок. У него уже есть огромный запас знаний, привычек, способов формулировать мысли и представлений о том, какие продолжения текста вероятны. Теперь мы начинаем его воспитывать. Мы хотим изменить его поведение — но не хотим случайно стереть всё остальное. Нам нужна метрика, которая отвечает на вопрос: «Насколько новое вероятностное распределение отличается от исходного?» И вот здесь появляется дивергенция Кульбака — Лейблера (KL-divergence). Мы сравниваем два распределения вероятностей одной и той же модели: P_ref — распределение исходной, предобученной модели, которую мы берём за точку отсчёта; P_policy — распределение той же модели после дальнейшего обучения на предпочтениях, то есть нашей aligned (выравненной, "воспитанной") модели. Формально: D_KL(P_policy || P_ref) = Σₓ P_policy(x) · log(P_policy(x) / P_ref(x)) Здесь x — конкретный возможный токен, P_policy(x) — вероятность этого токена у новой модели, а P_ref(x) — вероятность того же токена у исходной модели. Мы проходим по всем возможным токенам и смотрим, насколько новая модель изменила их вероятности относительно исходной. Иными словами, D_KL отвечает на вопрос: «Насколько сильно после файн-тьюнинга мы изменили поведение модели по сравнению с исходной?» Продолжение 👇

Психопатологии искусственных нейросетей: как математика учит ИИ лгать, льстить и галлюцинировать или Заметка про математические основы выравнивания (Alignment) 1/3 Дорогие друзья, в этот солнечный выходной день поговорим о психопатологиях искусственных нейросетей и проблеме выравнивания (Alignment). Да-да, вы не ослышались — именно о психопатологиях искусственных нейросетей. Конечно, это метафора: у нейросети нет психики в человеческом смысле. Но(!) некоторые устойчивые патологические режимы поведения удивительно напоминают человеческие. Прежде чем разбираться с этими вопросами, для тех из наших уважаемых коллег, кто хочет освежить в памяти, что же всё-таки происходит у нейросети «под капотом», начнём с самого главного: языковая модель моделирует мир через предсказание. 1️⃣ Мир как вероятностное предсказание Представьте, что мы даём модели начало фразы: «На столе лежит красное…» Что модель делает дальше? Она не ищет единственное заранее записанное продолжение. Она оценивает вероятности разных вариантов: яблоко — вероятность 0.72 вино — вероятность 0.08 трактор — вероятность 0.00001 … То есть модель в каждый момент строит распределение вероятностей следующего токена. И это гораздо важнее, чем кажется. Вместо того чтобы хранить мир в виде набора правил: «после слов “красное яблоко” всегда должно идти …» модель учится приближать статистическую структуру языка и окружающего нас мира: если дан такой контекст, какие продолжения наиболее вероятны? Поэтому в самом упрощённом смысле LLM можно рассматривать как машину, которая моделирует мир через последовательное вероятностное предсказание. А обучение этой машины во многом напоминает воспитание ребёнка: сначала мы учим его языку и базовым закономерностям мира, потом — правилам общения, а затем пытаемся сформировать желательное поведение. 2️⃣ Pre-training и Backpropagation: учим ребёнка говорить На этапе pre-training (предварительного обучения) модели скармливают гигантские объёмы текстов. Она видит контекст, скрытый токен и пытается угадать, что должно стоять на его месте. Например: «На столе лежит красное ___» Модель выдаёт целое распределение вероятностей возможных токенов. Чтобы понять, насколько хорошо она угадала правильный ответ, используется категориальная кросс-энтропия: Loss = -log(P_model(y_true | x)) Смысл этой формулы проще чем она выглядит: x — контекст, например: «На столе лежит красное…»; y_true — правильный токен, который действительно был в обучающем тексте, например «яблоко»; P_model(y_true | x) — какую вероятность сама модель присвоила правильному токену, увидев контекст x. А зачем здесь логарифм? Потому что нам нужно превратить вероятность правильного ответа в штраф: чем меньше вероятность, которую модель дала правильному токену, тем больше должен быть Loss (штраф). То есть функция Loss оценивает уверенность модели в правильном ответе и штрафует её тем сильнее, чем меньше вероятность, которую она ему присвоила. Это важный нюанс: кросс-энтропия не просто спрашивает «угадала ли модель?» Она смотрит на другое: «Какую вероятность ты присвоила правильному ответу?» И это принципиальная разница. Допустим, правильный токен — 🍎 «яблоко». Если модель считает: 🍎 яблоко — вероятность 0.99 то Loss почти нулевой: -log(0.99) ≈ вероятность 0.01 Если модель не уверена: 🍎 яблоко — вероятность 0.20 то ошибка уже заметная: -log(0.20)≈1.61 Но если модель практически уверена в неправильном варианте, что на столе лежит красный трактор: 🚜 трактор — вероятность 0.99999 🍎 яблоко — вероятность 0.00001 то штраф становится огромным: -log(0.00001)≈11.5 То есть для кросс-энтропии принципиальна не просто правильность или неправильность, а степень уверенности модели в правильном варианте. Можно ошибиться неуверенно — и получить небольшой штраф. Можно ошибиться очень уверенно — и получить огромный. Именно поэтому кросс-энтропия особенно сильно наказывает уверенные ошибки. Продолжение 👇

#НастроениеВторника
#НастроениеВторника

И ещё очень рекомендую свежий, подробный и не черезмерно технический текст Теренса Тао о том, как развивалась задача Какеи и почему результат Ван и Цаля так важен: Rotating needles in space: the road to the Kakeya conjecture, and why it matters. В ближайшие дни разберём и работы трёх других лауреатов Филдсовской медали 2026 года.