Когда 3.5 миллиона патентов нужно разложить по полочкам
Задача звучала просто: взять датасет USPTO с 3.5 миллионами патентных заявок, прочитать каждое описание и аккуратно разложить их по технологическим категориям. Классический случай для машинного обучения, но с одним нюансом — бюджет был равен стоимости одной видеокарты и электричества на месяц. Облачные API GPT-5 или Claude 4 сожрали бы десятки тысяч долларов. Решение оказалось в комбинации инструментов, которая сначала кажется странной: легковесная LLM, встроенная СУБД и алгоритм из 90-х.
Nemotron 9B: маленький гигант, который смог
В 2026 году выбор открытых моделей огромен. Llama 3.2 90B, Command R+, Qwen2.5 72B — все они претендуют на звание лучших. Но для классификации текстов на одном GPU нужна не самая умная, а самая эффективная модель. Nemotron 9B от NVIDIA — это специально обученный 9-миллиардный трансформер, который прекрасно понимает технические и научные тексты. Он влезает в 24 ГБ VRAM в 8-битном квантовании, оставляя место для батчей.
На март 2026 года Nemotron 9B остается одной из самых сбалансированных моделей для инженерных задач. Она показывает результаты близкие к Llama 3.1 13B, но требует на 30% меньше памяти. Актуальные веса можно найти в репозитории NVIDIA.
Почему не использовать более крупные модели? Потому что закон убывающей отдачи здесь работает безжалостно. Для классификации по заранее заданным категориям (у нас было 120 технологических классов) не нужны глубокие рассуждения. Нужно точно извлечь суть текста и сопоставить с шаблоном. Nemotron 9B справляется с этим за 2-3 секунды на патент, что при параллельной обработке дает пропускную способность около 1500 документов в час на RTX 5090.
SQLite FTS5 и BM25: старая школа, которая все еще бьет нейросети
Самая неочевидная часть пайплайна. Зачем использовать SQLite для полнотекстового поиска, когда есть векторизация через эмбеддинги и поиск по косинусной близости? Ответ — скорость и простота. Перед финальной классификацией через LLM нам нужно было быстро отфильтровать явно неподходящие документы и найти релевантные примеры для few-shot промптинга.
FTS5 (Full-Text Search 5) — это расширение SQLite, которое создает инвертированный индекс по текстам. BM25 — это функция ранжирования, которая оценивает релевантность документа запросу. Вместе они позволяют за миллисекунды найти, например, все патенты, где встречаются слова "графен" и "транзистор", и отсортировать их по релевантности. Точность ниже, чем у нейросетевых эмбеддингов, но в 500 раз быстрее и без GPU.
RTX 5090: один GPU чтобы править всеми
Здесь все просто. NVIDIA RTX 5090 с 32 ГБ GDDR7 — это монстр, который за разумные деньги дает возможность запускать модели до 15-20 миллиардов параметров с комфортным батчингом. Для нашего пайплайна критична не только память, но и скорость инференса. 5090 с его архитектурой Blackwell и поддержкой FP8 квантования выдает около 85 токенов в секунду на Nemotron 9B (8-бит) — более чем достаточно для потоковой обработки.
Важно: если у вас не хватает VRAM, можно использовать гибридные схемы. Например, часть слоев модели загрузить в системную память. Но это замедлит обработку в 2-3 раза. Лучше выбрать меньшую модель или более агрессивное квантование.
А что с альтернативами? Они все дороже или медленнее
Можно было пойти тремя путями:
- Облачные API (GPT-5, Claude 4): Точность была бы выше, особенно для сложных патентов на стыке дисциплин. Но стоимость — от $0.02 за классификацию одного документа. Для 3.5 миллионов — это $70,000. Наш пайплайн считал все за стоимость электричества (около $200).
- Специализированные модели (например, SciBERT): Они лучше понимают научные тексты, но требуют тонкой настройки под нашу конкретную таксономию. Nemotron 9B оказался достаточно универсальным, чтобы работать из коробки.
- Векторные базы (Chroma, Weaviate) с эмбеддингами: Точность поиска выше, чем у BM25. Но для 3.5 миллионов документов нужна инфраструктура, которая съедает еще один GPU. SQLite работает на CPU и занимает 15 ГБ на диске.
Главный конкурент нашего подхода — это гибридная связка из нескольких GPU с более крупной моделью. Но это сложнее в настройке и окупается только при постоянной нагрузке.
Кому этот пайплайн подойдет, а кому нет?
Эта связка инструментов — не серебряная пуля. Она идеальна в конкретных условиях.
| Ситуация | Наш пайплайн | Лучшая альтернатива |
|---|---|---|
| Единоразовая обработка большого архива документов | Идеально | Облачный API (если бюджет не ограничен) |
| Постоянный поток документов для классификации | Хорошо | Специализированная тонко настроенная модель |
| Классификация по тысячам сложных категорий | Слабо | Крупная LLM (70B+ параметров) с промпт-инжинирингом |
| Работа в условиях без интернета или с ограничениями по данным | Идеально | Другие локальные LLM, но с большими требованиями к железу |
Если ваша задача — разовые обработки датасетов в миллионы документов, вы хотите контролировать данные и не платить гигантские счета, этот пайплайн для вас. Если же вам нужна максимальная точность на потоковых данных и есть инженеры для поддержки — смотрите в сторону более мощных аппаратных конфигураций и кастомных моделей.
Что дальше? Будущее за гибридными системами
Тренд 2026 года — не в создании все более огромных моделей, а в умной композиции небольших специализированных инструментов. Наш пайплайн — пример такого подхода. Логично ожидать, что в ближайшие год-два появятся оптимизированные версии моделей типа Nemotron, обученные specifically для задач классификации и ретрайвинга. Они будут еще меньше и быстрее.
Аппаратная часть тоже не стоит на месте. Когда у нас появятся эффективные способы объединять память нескольких GPU, границы того, что можно обработать локально, сдвинутся еще дальше. Но даже тогда принцип останется тем же: быстрый и дешевый пре-фильтр (вроде FTS5) плюс точная, но экономная модель (вроде Nemotron 9B) — это формула, которая будет работать еще долго.
Совет напоследок: не гонитесь за самой новой моделью. Иногда лучшее решение — это не самый умный алгоритм, а самый подходящий для ваших условий и кошелька.