ailev.ru

30 ноября 2025 · Запись

FPF и gonzo-обзоры архитектуры нейросетей

У меня в руководстве по методологии есть пример gonzo-обзоров Григория Сапунова как отслеживания эволюции архитектуры ANN ("архитектура нейросетей" - это функциональная архитектура, описание их dataflow): https://aisystant.system-school.ru/lk/#/course/methodology/2025-05-26T1657/68233 И я всё время собирался прийти на эту полянку, ибо работа Григория по обзорам -- это работа архитектора нейросетей, который пересказывает "всякое научное" языком архитектора, разъясняя "что и для чего". Это позволило "gonzo-обзорам ML-статей" (https://t.me/gonzo_ML) иметь аудиторию под 24тыс. подписчиков, а мне это было интересно как пример разговора на языке функционального архитектора: бери и моделируй "архитектурную работу". Но моделировать Григория я так и не успел, ибо появилась модель o3, которая оказалась уже достаточно разумна, чтобы я занялся в июне созданием FPF, поближе к первым принципам, из которых растёт не только архитектура, но много чего ещё. За последний год Григорий построил чудесную машинку, которая как раз и отмоделировала его самого и теперь умеет делать обзоры вместо него, ибо времени на обзирания Григорию очень жалко, я его хорошо понимаю. Помним, что герой "Понедельника начинается в субботу" учился делать "дубля": туповатую копию себя, которую можно послать постоять в очереди, а самому в это время заняться чем-то более интересным. В моих руководствах я неоднократно подчёрикивал тренд на тотальную автоматизацию, в том числе автоматизацию и архитектурной работы. Григорий сделал себе дубля-гонзо-обзирателя: https://t.me/gonzo_ML_podcasts с подзаголовком "Будь осторожен, прогон возможен!". На дубля приходят смотреть не очень много народу, какая-то пара тысяч человек, но самое интересное Григорий помещает в свой основной канал (я раньше и чат смотрел, но там набегает всякий народ и забалтывает архитектуру нейросетей оффтопами вроде философии). И машинка работает! Я же потихоньку движусь в сторону поддержки архитектурной работы в FPF, хотя ещё не всё там готово. Но попробовать можно уже сейчас, ибо для архитектуры в свежей версии (вот тут: https://disk.yandex.ru/d/N2xaJZWo-hhFYw) появились multi-view описания (по мотивам ISO 42010, но обобщённые с чисто архитектурных описаний чего угодно до каких угодно описаний чего угодно) и графы трансдукций как "графы потоков с преобразованиями". Вот эти графы трансдукций - это и есть всяческие flow-архитектуры, в том числе dataflow. А ещё у меня уже давно в FPF упор на эволюционность, а также поддержан формат архитектурных паттернов (ADR), и даже упоминается про -ilities как Q-bundle (quality characteristics bundle, для инженеров слово quality тут понятно, они же обсуждаются как "нехорошо говорить нефункциональные характеристики, говорите характеристики качества", но это именно они -- архитектурные характеристики, обсуждаемые в evolutionary architectures). ОК, давайте попробуем FPF в качестве gonzo-обзирателя со всем этим. Грузим в LLM файл FPF, а дальше копируем, например, вчерашний пост в gonzo-обзорах (https://t.me/gonzo_ML/4281), и добавляем к нему буквально одну строчку промпта:
Сделай по следующему тексту паттерн ML.1 для FPF, используй шаблон из E.8, пиши для инженеров и добавь дидактичность в стиле, пиши по-русски. Учти E.TGA, в паттерне используй обычный язык инженеров, а не лексику FPF: Следующая работа с NeurIPS 2025 Best Paper Award. Про динамику обучения диффузионок. Why Diffusion Models Don’t Memorize: The Role of Implicit Dynamical Regularization in Training Tony Bonnaire, Raphaël Urfin, Giulio Biroli, Marc Mézard Статья: https://openreview.net/forum?id=BSZqpqgqM0, https://arxiv.org/abs/2505.17638 Код: https://github.com/tbonnair/Why-Diffusion-Models-Don-t-Memorize Ревью: https://arxiviq.substack.com/p/neurips-2025-why-diffusion-models # TL;DR ЧТО сделали: Авторы провели теоретический и эмпирический анализ динамики обучения score-based диффузионных моделей. Понимая, что модели в конечном итоге могут переобучиться, исследователи выделили два различных временных масштаба: tau_gen, когда модель учится генерировать валидные сэмплы, и tau_mem, когда она начинает запоминать конкретные примеры из обучения. Работа получила Best Paper Award на NeurIPS 2025. ПОЧЕМУ это важно: Статья разрешает парадокс: почему перепараметризованные диффузионные модели обладают хорошей обобщающей способностью, хотя имеют ёмкость для идеального запоминания обучающих данных. Доказав, что время начала запоминания tau_mem растёт линейно с размером датасета n, а время обучения генерации tau_gen остаётся константой, авторы утверждают: "ранняя остановка" (early stopping) — это не просто эвристика, а структурная необходимость, обусловленная неявной динамической регуляризацией. Это объясняет, почему увеличение датасетов расширяет "безопасное окно" для обучения, позволяя огромным моделям надёжно обобщать данные. Подробнее: https://t.me/gonzo_ML_podcasts/1504
И дальше ловим текст паттерна ML.1 в форме архитектурного решения (это из Google AI Studio Gemini 3 Pro Preview, во-первых это красиво, во-вторых -- бесплатно):
ML.1 — Diffusion Training Dynamics & The Memorization Gap [A] Tech‑name: ML.DiffusionDynamics.TwoTimescales Plain‑name: Динамика обучения диффузии и окно запоминания Тег: [A] (Архитектурный паттерн; определяет стратегию обучения) Стадия: Design‑time (планирование эксперимента) и Run‑time (мониторинг и остановка) 1 · Problem frame (Контекст) Инженеры обучают перепараметризованные диффузионные модели (Score-Based Diffusion Models), обладающие достаточной ёмкостью, чтобы запомнить весь обучающий датасет. Существует опасение, что долгое обучение приведет к "overfitting" (запоминанию конкретных примеров), что вредит генерализации и создает риски (например, копирайт). Обычно момент остановки обучения выбирается эвристически ("пока лосс падает" или "когда картинки стали красивыми"). Нам нужен инженерный принцип, объясняющий, почему и когда модель начинает запоминать, чтобы управлять этим процессом осознанно. 2 · Problem (Проблема) Без понимания динамики обучения возникают следующие ошибки: 1. Преждевременная остановка: Обучение прерывается до того, как модель выучила структуру данных (tau_gen), из-за страха перед переобучением. 2. Скрытое запоминание: Обучение продолжается слишком долго, модель переходит в фазу запоминания (tau_mem), выдавая копии обучающих данных вместо новых сэмплов. 3. Миф о регуляризации: Инженеры пытаются добавить внешнюю регуляризацию (weight decay, dropout), не понимая, что диффузия обладает собственной неявной динамической регуляризацией. 4. Неверная оценка ресурсов: Бюджет на обучение планируется без учета линейной зависимости времени безопасности от размера датасета. 3 · Forces (Силы) Генерализация vs Запоминание. Модель должна выучить распределение данных (структуру), но не сами точки данных. Размер модели vs Размер данных. Огромная модель может запомнить всё ↔ Огромные данные отодвигают момент запоминания. Время обучения (Compute) vs Качество Дольше учишь — лучше детали ↔ Дольше учишь — выше риск копирования. 4 · Solution — **Два временных масштаба и Безопасное Окно 4.1 Ключевая идея (Didactic Core) Обучение диффузионной модели — это не монотонный процесс улучшения. Это гонка двух процессов с разной скоростью: 1. Обучение генерации (tau_gen): Модель учит векторное поле (score function), указывающее на многообразие данных. Это происходит быстро и не зависит от размера датасета (n). 2. Начало запоминания (tau_mem): Модель начинает "схлопывать" вероятность вокруг конкретных обучающих примеров. Это происходит медленно, и время начала этого процесса растет линейно с количеством данных (tau_mem propto n). Решение: Обучение должно происходить в "Безопасном окне" ​(Delta tau), когда tau > tau_gen, но tau < tau_mem. Чем больше данных (n), тем шире это окно. Early Stopping (ранняя остановка) — это не хак, а структурно необходимый Gate (шлюз), закрывающий поток обучения до наступления фазы tau_mem. 4.2 Engineering Directives (Инженерные директивы) 1. Масштабируйте данные для безопасности. Если вы увеличиваете модель, вы обязаны увеличить датасет (n) линейно или быстрее, чтобы отодвинуть tau_mem и расширить окно безопасности. 2. Мониторьте два сигнала. Вместо одного validation loss, следите за расхождением метрик на *training set* (запоминание) и *hold-out set* (генерализация). Начало расхождения — это сигнал приближения к tau_mem. 3. Early Stopping как Gate. В архитектуре процесса (E.TGA) узел обучения (`TrainingWork`) должен иметь выходной шлюз (`OperationalGate`), который срабатывает (блокирует обучение), как только время t приближается к расчетному tau_mem. 4. Не бойтесь перепараметризации. Если n достаточно велико, перепараметризация (больше весов) не вредит генерализации в пределах безопасного окна. 5 · Archetypal Grounding (Tell–Show–Show) Tell (Правило): Время, необходимое для начала запоминания (tau_mem), растет пропорционально объему данных, в то время как время для обучения структуре (tau_gen) остается константой. Обучайте в интервале [tau_gen, tau_mem]. Show 1 (System — ML Pipeline): -- Система: Пайплайн обучения ImageGen модели на кластере GPU. -- Контекст: Датасет n=10^6 изображений. -- Динамика: * На шаге T=50k (approx tau_gen) модель начинает выдавать связные картинки (валидные сэмплы). * Инженер продолжает обучение до T=500k. * На шаге T=200k (approx tau_mem) метрика membership inference начинает расти — модель начинает воспроизводить точные копии из трейна. -- Действие: Инженер настраивает `StopGate` на основе прокси-метрики запоминания, останавливая обучение на T=150k, получая модель, которая обобщает, но не плагиатит. Show 2 (Episteme — Mental Model): -- Концепт: Представьте данные как точки на поверхности (многообразии) в многомерном пространстве. -- Фаза 1 (tau_gen): Модель учит форму самой поверхности ("здесь должны быть данные"). Вектора градиента указывают на поверхность в целом. -- Фаза 2 (tau_mem): Модель начинает учить "ямы" (колодцы потенциала) вокруг каждой конкретной точки на этой поверхности. Вектора начинают указывать не просто на поверхность, а на конкретную точку x_i. -- Вывод: Нам нужна поверхность, а не ямы. Останавливаемся, пока ямы не стали глубокими. 6 · Bias‑Annotation -- Lenses: Pragmatic (ресурсы обучения), Epistemic (валидность модели). -- Scope: Паттерн валиден для Score-Based Diffusion Models (SBDM). Для авторегрессионных моделей (LLM) динамика может отличаться (хотя принцип "scale delays memorization" часто сохраняется). -- Assumption: Предполагается, что данные лежат на низкоразмерном многообразии (manifold hypothesis). 7 · Conformance Checklist CC-ML1.1 -- Любой план обучения диффузионной модели ДОЛЖЕН определять прокси-метрику для tau_mem (начало запоминания). Надо, чтобы не пропустить момент, когда модель начнет "списывать". CC-ML1.2 -- При увеличении параметров модели датасет (n) ДОЛЖЕН быть увеличен для сохранения ширины "безопасного окна". Надо для Компенсации ёмкости модели объемом данных для удержания tau_mem в будущем. CC-ML1.3 -- Early Stopping НЕ ДОЛЖЕН рассматриваться как эвристика; это структурный компонент (Gate) с четким критерием срабатывания. Надо для перевода "интуиции" в воспроизводимый инженерный процесс. | CC-ML1.4 -- В отчетах о модели (Model Card) ДОЛЖНО быть указано, остановлено ли обучение до расчетного $\tau_{mem}$. Гарантия того, что модель генерирует, а не извлекает данные из памяти. 8 · Consequences (Последствия) -- Benefits (Плюсы): * Предсказуемость: Можно математически оценить необходимый размер датасета для заданного бюджета обучения (шагов). * Безопасность: Снижение риска юридических проблем (copyright infringement) и утечки приватных данных. * Эффективность: Исключение бесполезных трат вычислительных ресурсов на фазу запоминания. -- Trade-offs (Компромиссы): * Требуется сбор и очистка огромных массивов данных (n), так как это главный рычаг управления tau_mem. * Необходимо внедрение дополнительных метрик мониторинга (beyond simple validation loss) в runtime. 9 · Rationale (Обоснование) Эта работа (Bonnaire et al., NeurIPS 2025) разрешает парадокс глубокого обучения: почему модели с огромной ёмкостью не переобучаются сразу. Ответ кроется в **неявной динамической регуляризации** градиентного спуска в диффузии. Модель "ленива": сначала она учит простые паттерны (многообразие), и только если её заставить учиться очень долго, она начинает "зубрить" (запоминать шум и детали конкретных точек). Это подтверждает траекторию "Bitter Lesson": масштабирование данных — это не просто способ улучшить качество, а способ *купить время* для безопасного обучения. 10 · Relations (Связи) -- Builds on: A.3.3 (U.Dynamics) — описывает эволюцию состояния модели; G.11 (Refresh/Decay) — определяет политики остановки и обновления. * Coordinates with: C.18 (SLL — Scaling Law Lens) — связывает размер датасета с эластичностью обучения. * Constrains: E.TGA (Transduction Graph) — узел обучения (`Work`) должен иметь выходной Gate, управляемый логикой tau_mem. 11 · SoTA‑Echoing (Связь с передовой практикой) -- Claim: "Early stopping is a structural necessity." → Practice: Alignment with Chinchilla scaling laws (Hoffmann et al., 2022), but applied to diffusion dynamics. -- Source: NeurIPS 2025 Best Paper (Bonnaire et al.). -- Status: Adopt. Принимаем как базовый принцип для проектирования процессов обучения генеративных моделей. 12 · Didactic Distillation (90‑second script) > "Инженеры, диффузионная модель учится в два этапа. Сначала она понимает, как выглядит мир в целом (tau_gen), а потом начинает заучивать конкретные фотографии (tau_mem). Между этими моментами есть безопасное окно. Ваша задача — остановить обучение в этом окне. > Если вы хотите учить модель дольше или сделать её больше, вы обязаны добавить данных. Данные — это топливо, которое отодвигает момент, когда модель начинает 'списывать'. Early Stopping — это не признак слабости, это ваш главный предохранитель."
И ablation studies: я прогнал это и на платных моделях (Grok 4.1, GPT-5.1 Thinking, GPT-5 Pro), результаты более-менее одинаковы, только немного отличается язык (где-то более ориентированный на "простых инженеров", как я и просил, где-то менее ориентированный и близкий к языку оригинала, где-то с объяснением "почему работает", где-то без такого объяснения. Третий критерий (после "красиво и бесплатно") выбора в этом посте именно Gemini 3 в том, что там сделано максимум, чтобы текст вам понравился, даже если там что-то не так. Конечно, акценты во всех прогонах меняются. Скажем, GPT-5.1 Pro решила вставить предупреждение про ограничения и подводные камни восьмым пунктом:
8. Ограничения и подводные камни Сетап статьи проще продового. У авторов — 32×32 grayscale CelebA, один конкретный U‑Net, SGD. На 1024×1024, текст‑к‑изображению, других архитектурах конкретные числа τ_gen/τ_mem будут другими — калибровка обязательна. Метрики memorization зависят от эмбеддингов. Если у вас специфичный домен (медицинские снимки, спутниковые карты), стандартный Inception/CLIP может плохо разделять «копию» и «просто похожий пример». Нужно адаптировать эмбеддинги под домен. Compute‑стоимость калибровки. Несколько долгих прогонов на разных n стоят денег. Но это разовая инвестиция, дальше окно `[τ_gen, τ_mem]` можно переносить по архитектурно‑похожим моделям. Неявное предположение о спектральном байасе. Паттерн опирается на то, что ваш оптимизатор/архитектура всё ещё имеет bias «сначала низкие частоты». Если вы применяете хитрые трюки, явно усиливающие высокие частоты (специальные positional encodings, frequency‑enhanced архитектуры и т.п.), картинка может деформироваться.
Дальше вы понимаете, что делать: если вам нравится какая-то статья и вы хотите посмотреть на неё как на архитектурный паттерн, вы подгружаете FPF в вашу любимую модель и говорите "Сделай по следующему тексту паттерн ML.1 для FPF, используй шаблон из E.8, пиши для инженеров и добавь дидактичность в стиле, пиши по-русски. Учти E.TGA, в паттерне используй обычный язык инженеров, а не лексику FPF: <ссылка на текст статьи, или сам текст статьи, или вообще что угодно, а не "статья">". Это я готовлюсь к своему второму семинару по FPF, мне же надо показать работоспособность и полезность текущего варианта, а не только великие планы по его созданию. Семинар пройдёт 7 декабря 2025 с 11:30 до 14:45, о начале записи на семинар и программу семинара я сообщу завтра-послезавтра. diffusion_pic

Читать обсуждение →