Apple открыла веса LensVLM-9B — модели, которая работает с длинными документами необычным способом: сначала сжимает текст в набор страниц-миниатюр, а затем «увеличивает» только те страницы, где, по её мнению, лежит ответ. Подход обещает радикальную экономию контекста без серьёзной потери точности.
Как это устроено
Документ рендерится в маленькие картинки-страницы. Каждая такая миниатюра занимает в 5, 10 или 15 раз меньше токенов, чем исходный текст той же страницы. Модель просматривает эти миниатюры как карту документа, прикидывает, где может находиться нужная информация, и вызывает инструмент read_page, чтобы получить полный текст конкретной страницы.
Ключевой момент — разделение ролей. Миниатюры служат только навигационной схемой, а точное чтение идёт по развёрнутым страницам. Это обходит главную проблему обычного визуального сжатия: при сильном уменьшении буквы становятся мельче, чем способен различить энкодер, и точность распознавания падает.
Что показывают бенчмарки
По статье с вопросами по длинному тексту на семи бенчмарках результаты такие. При экономии в 4,3 раза с учётом раскрытых страниц точность почти совпадает с исходной Qwen3.5-9B-Base на полном тексте. При сжатии в 10 раз модель отвечает правильно в 52% случаев.
Для сравнения, другие способы ужать контекст дают меньше:
- поиск нужных страниц через ColPali — 42%;
- LLMLingua-2, которая выкидывает лишние слова, и Glyph, читающая текст с картинок без увеличения, — около 33%.
На коде подход тоже сработал, хотя отдельно на нём модель не учили.
Обучение и доступность
Модель дообучали в два этапа: сначала SFT на синтетических примерах работы с инструментом, затем RL. Проверка шла на документах объёмом до 32 тысяч токенов.
Веса выложены под исследовательской некоммерческой лицензией Apple. В комплекте есть код с демо: после установки зависимостей запуск выполняется командой python scripts/run_demo.py.
Идея с миниатюрами как картой документа выглядит практичной: она не пытается выжать максимум из одного сжатого представления, а честно признаёт, что для точного ответа нужно вернуться к исходному тексту — но только там, где это действительно необходимо.



