- PVSM.RU - https://www.pvsm.ru -
В этой статье я разберу идею DTG‑MA (Dynamic Task‑Graph Masked Attention) пусть будет такое название и сокращение.
Есть одна неприятная штука, которую почти каждый ловил на практике, когда пробовал последовательное обучение моделей. Когда в 1997 году в институте проходили нейросети на лабораторной возникла идея, что можно нейросеть использовать как хранилище данных но как оказалось не все так просто ).
Вы обучили систему на задаче A. Потом приходит задача B — модель обновляется, и внезапно качество на A падает так, будто A никогда и не было.
Так проявляется catastrophic forgetting — катастрофическое забывание.
Когда я учил несколько языков (французский, испанский), мне очень помогла методика «Полиглот» Дмитрия Петрова как "ядро", он рекомендовал делать ассоциации к каждому языку чтобы не путать и легко переключаться.
Она строится на том, что язык проще усваивать, если у него есть отдельный контекст:
Французский — Эйфелева башня, Сена, круассаны, мягкий ритм речи.
Испанский — солнце, фламенко, гитара, быстрый темперамент.
Так разделяет контексты, не смешивая языки.
DTG-MA делает то же самое для нейросети, только не на уровне «настроения», а архитектуры:
каждую задачу модель обрабатывает в своём маршруте,
«чужие» пути закрыты жёстко — маской внимания.
Это не просьба к оптимизатору «не трогай старые знания».
Это запертая дверь.
В трансформере почти все задачи используют одни и те же:
веса,
скрытые представления,
проекции,
attention-головы.
Оптимизатор не знает, что какие-то параметры важны для задачи A — он видит только текущий лосс задачи B.
Итог: интерференция новой задачи стирает старую.
|
Подход |
Механизм |
Плюсы |
Минусы |
|---|---|---|---|
|
EWC |
штраф на важные веса |
простота |
мягкое ограничение, память, подбор λ |
|
LwF |
дистилляция |
не нужны данные прошлых задач |
нужен «учитель», двойной forward |
|
Replay |
хранение старых примеров |
мощная защита |
приватность, хранилище, сложность |
|
Adapters |
модули под задачу |
явная изоляция |
линейный рост, слабая гарантия внутри общей части |
|
DTG-MA |
маска внимания + граф задач |
архитектурная изоляция |
нужны task-границы, рост параметров |
Параметры — это граф: каждое ребро имеет task_id.
Маска внимания закрывает запрещённые пути через −∞ в scores.
Старые ребра замораживаются и не обновляются.
Это переносит проблему с уровня «лосса» на уровень топологии вычисления.
Формула внимания:
Attention(Q, K, V; t) = Softmax( (QKᵀ / √d) + Mₜ ) * V
Где Mₜ:
0 — путь разрешён,
−1e9 — путь запрещён (softmax → 0).
scores = QK^T / √d
M_task_1 =
[ 0 0 -1e9 ]
[ 0 0 0 ]
[ -1e9 0 0 ]
scores + M →
[ ... ... -1e9 ] → после softmax → 0.0
Запрещённый путь просто исчезает.
Потому что:
EWC «просит» оптимизатор не трогать параметры,
дистилляция «намекает» через старую модель,
маска attention архитектурно запрещает доступ.
Это не рекомендация — это жёсткая маршрутизация.
Старая задача недоступна физически — ни forward, ни backward не проходят.
Маска — это обычная матричная операция.
Каждая задача вычисляется по конкретному подграфу.
Хранится только:
маска,
метаданные ребер,
новые параметры для новых задач.
нужны границы задач (task_id),
растёт количество параметров,
перенос знаний между задачами уменьшается (если двери закрыты слишком жёстко).
Обычно это решается гибридом: часть путей общая, часть — изолирована.
доменные модели (медицина / юриспруденция / финансы);
multi-tenant SaaS (каждый клиент обучает своё без риска сломать чужое);
онлайн-адаптация (поток новых задач без реплея);
ограничения приватности (нет возможности хранить данные).
Когда вы работаете с production-ML, главное — предсказуемость.
DTG-MA делает поведение модели контролируемым за счёт архитектурных ограничений, а не методом подбора коэффициентов.
автоматическое определение контекста (router/gating),
контроль роста параметров,
совмещение с prefix-tuning,
динамические маски между пересекающимися задачам
Проект DTG-MA — это попытка сделать обучение моделей предсказуемым, когда задачи приходят последовательно.
Тестовый код:
https://github.com/infosave2007/graphai [2]
Если идея откликается — тестируйте, предлагайте улучшения, создавайте PR.
Для тех кто хочет поддержать проект и отблагодарить, то вы можете сделать это через Tribute [3] буду рад поддержке 🙏
Автор: infosave
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/agi/438856
Ссылки в тексте:
[1] мозг: http://www.braintools.ru
[2] https://github.com/infosave2007/graphai: https://github.com/infosave2007/graphai
[3] Tribute: https://t.me/tribute/app?startapp=dzX1
[4] Источник: https://habr.com/ru/articles/976188/?utm_campaign=976188&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.