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

У меня в руководстве по методологии есть пример gonzo-обзоров Григория Сапунова как отслеживания эволюции архитектуры ANN (“архитектура нейросетей” - это функциональная архитектура, описание их dataflow): Aisystant

И я всё время собирался прийти на эту полянку, ибо работа Григория по обзорам – это работа архитектора нейросетей, который пересказывает “всякое научное” языком архитектора, разъясняя “что и для чего”. Это позволило “gonzo-обзорам ML-статей” (Telegram: View @gonzo_ML) иметь аудиторию под 24тыс. подписчиков, а мне это было интересно как пример разговора на языке функционального архитектора: бери и моделируй “архитектурную работу”.

Но моделировать Григория я так и не успел, ибо появилась модель o3, которая оказалась уже достаточно разумна, чтобы я занялся в июне созданием FPF, поближе к первым принципам, из которых растёт не только архитектура, но много чего ещё.

За последний год Григорий построил чудесную машинку, которая как раз и отмоделировала его самого и теперь умеет делать обзоры вместо него, ибо времени на обзирания Григорию очень жалко, я его хорошо понимаю. Помним, что герой “Понедельника начинается в субботу” учился делать “дубля”: туповатую копию себя, которую можно послать постоять в очереди, а самому в это время заняться чем-то более интересным. В моих руководствах я неоднократно подчёрикивал тренд на тотальную автоматизацию, в том числе автоматизацию и архитектурной работы. Григорий сделал себе дубля-гонзо-обзирателя: Telegram: View @gonzo_ML_podcasts с подзаголовком “Будь осторожен, прогон возможен!”. На дубля приходят смотреть не очень много народу, какая-то пара тысяч человек, но самое интересное Григорий помещает в свой основной канал (я раньше и чат смотрел, но там набегает всякий народ и забалтывает архитектуру нейросетей оффтопами вроде философии). И машинка работает!

Я же потихоньку движусь в сторону поддержки архитектурной работы в FPF, хотя ещё не всё там готово. Но попробовать можно уже сейчас, ибо для архитектуры в свежей версии (вот тут: First Principles Framework — Core Conceptual Specification (holonic).md — Яндекс Диск) появились multi-view описания (по мотивам ISO 42010, но обобщённые с чисто архитектурных описаний чего угодно до каких угодно описаний чего угодно) и графы трансдукций как “графы потоков с преобразованиями”. Вот эти графы трансдукций - это и есть всяческие flow-архитектуры, в том числе dataflow. А ещё у меня уже давно в FPF упор на эволюционность, а также поддержан формат архитектурных паттернов (ADR), и даже упоминается про -ilities как Q-bundle (quality characteristics bundle, для инженеров слово quality тут понятно, они же обсуждаются как “нехорошо говорить нефункциональные характеристики, говорите характеристики качества”, но это именно они – архитектурные характеристики, обсуждаемые в evolutionary architectures).

ОК, давайте попробуем FPF в качестве gonzo-обзирателя со всем этим. Грузим в LLM файл FPF, а дальше копируем, например, вчерашний пост в gonzo-обзорах (Telegram: View @gonzo_ML), и добавляем к нему буквально одну строчку промпта:

Сделай по следующему тексту паттерн 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
Статья: Why Diffusion Models Don’t Memorize: The Role of Implicit Dynamical Regularization in Training | OpenReview, [2505.17638] Why Diffusion Models Don't Memorize: The Role of Implicit Dynamical Regularization in Training
Код: GitHub - tbonnair/Why-Diffusion-Models-Don-t-Memorize: This repository contains code for the paper "Why Diffusion Models Don't Memorize: The Role of Implicit Dynamical Regularization in Training" by T. Bonnaire, R. Urfin, G. Biroli and M. Mézard.
Ревью: [NeurIPS 2025] Why Diffusion Models Don’t Memorize: The Role of Implicit Dynamical Regularization in Training

TL;DR

ЧТО сделали: Авторы провели теоретический и эмпирический анализ динамики обучения score-based диффузионных моделей. Понимая, что модели в конечном итоге могут переобучиться, исследователи выделили два различных временных масштаба: tau_gen, когда модель учится генерировать валидные сэмплы, и tau_mem, когда она начинает запоминать конкретные примеры из обучения. Работа получила Best Paper Award на NeurIPS 2025.

ПОЧЕМУ это важно: Статья разрешает парадокс: почему перепараметризованные диффузионные модели обладают хорошей обобщающей способностью, хотя имеют ёмкость для идеального запоминания обучающих данных. Доказав, что время начала запоминания tau_mem растёт линейно с размером датасета n, а время обучения генерации tau_gen остаётся константой, авторы утверждают: “ранняя остановка” (early stopping) — это не просто эвристика, а структурная необходимость, обусловленная неявной динамической регуляризацией. Это объясняет, почему увеличение датасетов расширяет “безопасное окно” для обучения, позволяя огромным моделям надёжно обобщать данные.

Подробнее: Telegram: View @gonzo_ML_podcasts

И дальше ловим текст паттерна 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

5 лайков