DanichAI60 v3 — beta
Модель, которая рисует кодами, а не пикселями и не латентами.
Кадр режется на плитки, каждая заменяется номером из словаря. Кадр 704×704 становится табличкой из номеров. Обратно — простая подстановка по словарю, без нейросети: 0.48 мс на кадр вместо ~500 мс у обычного VAE, и словарь весит 3–12 МБ вместо 13.1 ГБ.
Что в комплекте
| файл | что это | вес |
|---|---|---|
danichai60_v3_stage1.pt |
первая ступень: связность плиток | 64.9 МБ |
danichai60_v3_stage2_text.pt |
вторая ступень: управление текстом | 136.9 МБ |
codebook_p4.npy |
словарь плиток 4×4, 16384 кода | 3.0 МБ |
codebook_clean.npy |
словарь плиток 8×8, 16384 кода | 12.0 МБ |
codebook_coarse.npy |
грубый словарь 64×64 (компоновка) | 96.0 МБ |
Модель — 35.9 млн весов. В четырёхбитном виде это 17 МБ.
Измерено (а не заявлено)
Потолок кодера — PSNR восстановления настоящих кадров, на клипах, которых в обучении словаря не было:
| плитка | словарь | потолок |
|---|---|---|
| 32×32 | 65536 | 24.0 дБ |
| 16×16 | 65536 | 26.9 дБ |
| 8×8 | 16384 | 30.0 дБ |
| 4×4 | 16384 | 36.1 дБ |
| 2×2 | 16384 | 40.3 дБ |
🔴 Главная находка: размер ПЛИТКИ важнее размера СЛОВАРЯ. Плитка 4×4 со словарём 16384 бьёт плитку 16×16 со словарём 65536 — при словаре в 16 раз меньше. Разнообразие плитки растёт с площадью быстрее, чем словарь успевает покрыть.
Первая ступень против тупой планки (скопировать ближайшую видимую соседнюю клетку), доля скрытых клеток / планка / модель:
| скрыто | планка | модель |
|---|---|---|
| 25% | 39.8% | 38.6% |
| 50% | 36.7% | 36.3% |
| 75% | 26.4% | 32.2% |
Вторая ступень, влияние текста — один и тот же пример считается дважды, с описанием и с пустым описанием:
| скрыто | с текстом | без |
|---|---|---|
| 25% | 38.2% | 35.8% |
| 50% | 38.2% | 35.2% |
| 75% | 38.3% | 35.3% |
Сборка кадров с одним зерном и разными описаниями даёт разницу 28.9 из 255. Влияние текста доказано.
Чего модель НЕ умеет — читайте это прежде всего
Она не рисует сцену. Выходит правдоподобная фактура: плитки складываются в цельные поверхности без швов и разрывов, но «вагон метро» и «лес» отличаются друг от друга, а не похожи на заказанное.
Черновик не годится в опору для диффузии. Проверено контрольным опытом: img2img поверх нашего черновика даёт хорошую картинку — но из чистого шума выходит не хуже. Значит рисует подсказка, а черновик не участвует. Ему нечего сохранять: он несёт статистику фактуры, но не устройство сцены.
Материал узкий: 67 роликов игрового видео, 5 минут каждый.
Что дальше по замыслу
Двухуровневые коды: сперва грубая карта 11×11 решает компоновку («где пол, потолок, проём»), потом подробная заполняет детали внутри принятого решения. Замерено, что 121 число описывает кадр на 21.8 дБ — устройство сцены в них сохраняется. Тогда у диффузии появится что сохранять.
Устройство сэмплера
Пять семян растут навстречу друг другу волнами: на каждой волне открываются клетки, в которых модель уверена сильнее всего. Построчной записи нет намеренно — она навязала бы порядок обхода, а фронты растут в разные стороны. В месте встречи двух фронтов каждый предсказывает от своей стороны, поэтому шов перестаёт быть особым местом. Весов у сэмплера нет: это порядок действий, а не модель.
Проверен на живом WAN 2.2 5B: ожидания между окнами 3%, пик памяти 12.1 ГБ.
Оговорка
Это beta и исследовательский выпуск. Готовых картинок он не даёт; ценность — в измеренном устройстве кодера, сэмплера и в отрицательных результатах, которые экономят время: палитра под промпт не работает, однобитное сжатие после обучения не выживает, мерка по крупным весам на одном бите ломается.