Опубликовано
Модель в кармане как архивариус: мелкие LLM для порядка в телефоне
Автор: Гусев Николай [портфолио]
Дата обновления не указана в исходнике.
Темы: local-models, android, utilities
Сложность: средняя
У тебя в телефоне есть маленькая модель (1-4B, как я разбирал раньше - она влезает в любой Android с 6 GB RAM), и есть телефон, в котором за годы жизни накопился хаос: фотографии по трём галереям, книги в четырёх папках, файлы, скачанные в неизвестном направлении, и хранилище, которое "каким-то образом занято 180 гигабайт". Что, если отдать это всё маленькой модели - не как оракулу, а как архивариусу? Разбираю, что здесь работает, что нет, и где проходит граница между "упорядочить" и "понять".
Архитектура: сканер + модель
Идея простая: маленькая модель работает не с файлами, а с метаданными файлов - имя, путь, размер, дата, тип, (для книг) текст. Это важное ограничение, и оно честное: архивариус не открывает папки, он читает опись. Сканер (простой обход файловой системы в приложении) собирает данные, модель - связывает и пересказывает. При этом маленькая модель влезает в телефон - 1.7B занимает 1.4 GB и работает на любом Android с 6 GB RAM через llama.cpp-совместимые приложения.
Этого достаточно, чтобы модель читала текстовые метаданные и пересказывала их - но не чтобы она видела фотографии (для этого нужна мультимодальность, а её на телефонах с малыми моделями пока нет).
Что может архивариус на 1.7B
Сводка по занятому месту
Задача: "куда делись 180 гигабайт?" Модель не считает диск - это делает сканер (функция Android Storage Manager или простой обход файловой системы в приложении). Сканер отдаёт модельным данные: "Фото - 64 GB (из них 90% в Camera и WhatsApp), Видео - 60 GB (Top 5 файлов: 40 GB), Загрузки - 25 GB (412 PDF, 300 из них инструкции к технике, скачанные 2024-м)". Модель пересказывает это человеческим языком и предлагает приоритеты: "Видео занимает треть - если не смотрели, выгрузите в облако".
Тут модель нужна? Строго - нет, те же цифры можно показать таблицей. Но таблицу не хочется читать, а 1.7B из неё делает внятный абзац с рекомендациями. Это legitimate применение: пересказ чисел, не принятие решений.
"Куда скачались фотки и книги?"
Классический вопрос: "я вчера скачал книгу, где она?" Проблема Android: каждое приложение качает в свою папку (Telegram - в свой, браузер - в Downloads, читалки - в свои), и человек не помнит, через что качал. Поиск по имени файла - решает половину, вторую половину закрывает "архивариус": сканер обходит кандидатов, модель сопоставляет "вчера", "книга", "это вряд ли Downloads, раз там уже 300 старых PDF" и выдаёт гипотезу: "скорее всего, это в Telegram/Documents, там три файла, изменённые вчера".
Это уже честный RAG по собственному телефону: сканер даёт факты, модель их связывает. Ошибается - покажет три файла, и человек смотрит глазами. Не "найди и удали", а "вот кандидаты".
Наведение порядка в книгах
У книг есть формат (FB2, EPUB, PDF), метаданные (автор, название, серия) и текст. Сканер вытаскивает метаданные, модель помогает с сортировкой: "у тебя 40 книг без автора в названии файла, вот список - давай разложим по папкам /фантастика, /нон-фикшн, /работа". Классификация книги по обложке малой модели не под силу, но по названию и тексту первой страницы - да, 1.7B способна отнести "Гарри Поттер" к фантастике и "Мыслить как римлянин" к нон-фикшену.
Чат по настройкам телефона
"Как отключить автозагрузку WhatsApp?" - вопрос, на который Google даёт SEO-мусор, а документация телефона разная для каждого производителя. Локальная модель, у которой в базе (ZIM или встроенный справочник) лежит мануал твоей прошивки - даёт точный ответ: "Настройки - Батарея - Фоновые ограничения - Xiaomi: дополнительно - Автозапуск". Это тот же механизм офлайн-справочника, что у любого ZIM-приложения, только база - инструкция к твоему телефону. Тоже собирается на ПК как ZIM: документация всех популярных прошивок Xiaomi, Samsung, Pixel - влезает в несколько гигабайт.
Чего архивариус не делает
- Не понимает содержимое фотографий. Мультимодальность на 1.7B - нет. "Найди фото, где я у моря" - не решается малой моделью, решается облачными (Google Photos) или специализированными ONNX-моделями (CLIP), но это другой класс задач.
- Не принимает решения за тебя. "Удалить ли видео за 2023?" - модель предложит кандидатов, решение - за человеком.
- Не трогает файлы без явной команды. Принцип: модель советует, скрипт исполняет, ты подтверждаешь. Архивариус, который сам удаляет файлы - это сюжет хоррора, а не помощник.
- Не заменяет системный поиск. Android уже ищет по файлам; архивариус добавляет слой "понимания поверх", а не дублирует поиск.
Что существующего это использует
Сборка стандартная для локальных LLM на Android:
- Ярус 0 (сканер + сводка): обход файловой системы, статистика, внятный пересказ. Работает без LLM (таблицы) и с LLM (пересказ текстом). Это главный сценарий.
- Ярус 1 (чат): "куда делись фотки", "как настроить батарею на Xiaomi", "что у меня занимает больше всего". RAG по метаданным + справочнику настроек.
- Опционально (ZIM): документация прошивок как офлайн-база (ZIM-архивы).
Границы честности
Модель на телефоне - не волшебство, и статья была бы неполной без границ. 1.7B путает похожие названия, не помнит, что было "в прошлую пятницу" (это решает сканер, а не модель), и не умеет смотреть в содержимое бинарных файлов. Что она реально делает - превращает структурные данные (списки файлов, статистика, мануалы) в связный ответ на естественном языке. Это скромнее "личного ИИ-ассистента из рекламы" - но работает офлайн, на твоём железе, с твоими данными, без отправки их куда-либо.
И это, возможно, самый честный сценарий для локальных моделей на телефоне: не "личный ИИ-ассистент из рекламы", а конкретная работа - навести порядок в 180 гигабайтах и найти, куда Telegram опять скинул фото. Маленькая модель как интерфейс к структурированным данным, которые не хочется листать вручную.
Ссылки: локальные LLM на Android, ZIM-справочники и офлайн базы, PocketPal AI.