Каждая точка векторного рисунка хранится одним токеном
Файл логотипа это маленькая программа для пера. Иди сюда. Изогнись туда. Залей фигуру. Числа и есть рисунок. Поэтому край остаётся резким, когда логотип растёт, и поэтому точку потом можно схватить и сдвинуть. Эти же числа языковая модель угадывает хуже всего. Она продолжает текст. Координата это текст, и в цифре нет ничего, что держало бы её на странице. Промах авторы называют галлюцинацией координат.
Иин Ян, Вэй Чэн и их коллеги из Фуданьского университета и из StepFun пробуют этот промах убрать. Статья OmniSVG: A Unified Scalable Vector Graphics Generation Model с конференции Neural Information Processing Systems 2025 года. Рисунок снимают со страницы текста. Каждую картинку учебного набора вписывают в рамку 200 на 200. Программа picosvg выбрасывает то, чем файл держат в порядке: группы, преобразования, которые эти группы двигают, и лишние атрибуты. Остаётся пять движений пера. Перенос. Линия. Кривая. Дуга. Замыкание. Шестое движение несёт заливку, и цвет становится отдельным выбором. Трассы кладут в одну ленту, от начала к концу.
Точка на этой рамке больше не два числа, которые надо выговорить. Это одна клетка. Имя клетки считают как x × w + y, а ширина равна 200. На таком листе 40 000 клеток. На рисунке в статье словарь рисунка помечен как 40 тысяч, рядом со словарём языковой модели Qwen2.5-VL на 150 тысяч слов. Модель уже умеет продолжать фразу, выбирая следующее слово. Ей дают второй алфавит, из клеток и из этих немногих движений, и этот алфавит учат с нуля поверх старого. Следующая догадка это место, куда перо и вправду может встать.
Алфавит проверяют тем, что его отнимают. Когда координаты и цвета записаны обычным текстом, образец занимает 18,5 тысячи токенов, и картинки дальше всех от опорного набора. Упаковка одного цвета, если координаты оставить текстом, снижает длину до 10,2 тысячи. Упаковка координат, если цвет оставить текстом, снижает её до 6,3 тысячи. Упаковка и того и другого оставляет 4,8 тысячи, и картинки ближе всех. Остальные оценки той же таблицы идут в том же порядке. Длинной частью были координаты, им же было вольно блуждать. Клетка укоротила файл и подтянула картинки к опорному набору. Одно изменение сделало и то и другое.
Строки относятся к модели, которую они называют OmniSVG: 3,7 миллиарда параметров, поверх Qwen. Дуга остаётся хвостом. Ей всё ещё нужны два радиуса, угол и два флага, и это не клетки. Формула на них не претендует. На выходе ленту снова записывают трассами. Перо идёт, фигура замыкается, цвет заливает. Группа, которая вошла в очистку, наружу не выходит: модель так и не получила слова для группы. Плотный рисунок всё равно стоит десятков тысяч таких выборов, и авторы говорят, что ждать приходится долго. Клетки уняли числа. Подробный рисунок от этого не стал коротким: на каждой остановке перо снова выбирает место. Покажите модели фотографию, и она сорвётся. Они пишут, что модель следует только за картинками, которые уже похожи на векторный рисунок. Она училась продолжать трассу. Камера трассу не оставляет.
