Разработчик ищет советы по архитектуре для запуска моделей Embed, Rerank и Zero-Shot на 8 ГБ видеопамяти

Обзор проблемы
Разработчик создаёт единый сервис Knowledge Graph/RAG для локального кодирующего агента, который работает в одном Docker-контейнере через FastAPI. Система изначально работала нормально на Windows (WSL), но переход на нативный Linux выявил серьёзные проблемы с ограничениями памяти при стресс-тестах.
Ограничения оборудования и моделей
Оборудование:
- 8 ГБ видеопамяти (GPU ноутбука)
- ~16 ГБ оперативной памяти (ограничения Docker достигаются быстро, обычно свободно только ~6 ГБ при загруженных моделях)
Стек моделей:
- Векторизация: nomic-ai/nomic-embed-text-v2-moe
- Переранжирование: BAAI/bge-reranker-base
- Классификация: MoritzLaurer/ModernBERT-large-zeroshot-v2.0 (используется для классификации пар текстов на 4 типа отношений: зависимость, расширение, противоречие, несвязанные)
Технические сложности
Разработчик не может агрессивно обрезать текст, потому что подаёт фрагменты кода и естественный текст в эти модели и должен обрабатывать переменные, длинные последовательности.
Конкретные проблемы:
- Задержка против OOM: Использование
torch.cuda.empty_cache()для очистки GPU вызывает скачки задержки до 18-20 секунд на запрос из-за синхронизации драйверов. Удаление этой команды приводит к мгновенной нехватке памяти на GPU при одновременных запросах. - Взрывной рост оперативной памяти (Linux Exit 137): Использование Hugging Face pipeline("zero-shot-classification") вызывало огромное увеличение использования оперативной памяти CPU. Без обрезки пайплайн генерирует огромные комбинаторные матрицы в памяти перед отправкой на GPU, что приводит к мгновенному завершению контейнера ядром Linux.
- Скачки видеопамяти:
cudnn.benchmark = Trueкэшировал рабочие области для каждой уникальной длины последовательности, истощая 3 ГБ свободной видеопамяти за секунды во время стресс-тестов.
Текущая реализация
У разработчика чистая настройка на Python/FastAPI со следующими обходными решениями:
- Обошёл HF pipeline и написал ручной цикл логического вывода NLI для ModernBERT
- Использует
asyncio.Lock()для принудительного последовательного выполнения (только одна модель обращается к GPU одновременно) - Использует детерминированное освобождение памяти (
del inputs + gc.collect()) через фоновые задачи FastAPI
Этот подход лучше, но всё ещё нестабилен при 3-минутном стресс-тесте.
Вопросы сообществу
Разработчик ищет советы по:
- Альтернативным моделям: Меньшим/быстрым моделям, которые сохраняют высокую точность для Zero-Shot NLI и переранжирования и лучше вписываются в 8 ГБ
- Готовым архитектурам: Ранее рассматривал infinity_emb, но столкнулся с трудностями интеграции пользовательской логики 4-сторонней классификации NLI без двойной загрузки моделей. Рассматривает TEI (Text Generation Inference), TensorRT или другие решения, оптимизированные для энкодерных моделей
- Стратегии обслуживания: Стандартным шаблонам проектирования для размещения 3 трансформерных моделей на одном потребительском GPU без конфликтов памяти
📖 Читать полный источник: r/LocalLLaMA
👀 Смотрите также

SenseNova-U1-8B-MoT: открытая исходная мультимодальная модель с архитектурой NEO-Unify
SenseNova выпустила SenseNova-U1-8B-MoT — нативную мультимодальную модель, которая устраняет как визуальный энкодер, так и VAE, используя архитектуру NEO-Unify для унифицированного понимания, рассуждения и генерации. Она отлично справляется с созданием инфографики из текста, редактированием изображений и перемежающейся генерацией текста и изображений.

Gemma 4 31B превосходит более крупные модели на тесте FoodTruck Bench.
Gemma 4 31B заняла 3-е место в тесте FoodTruck Bench, превзойдя GLM 5, Qwen 3.5 397B и все модели Claude Sonnet. Модель, по-видимому, лучше справляется с долгосрочными задачами и следует собственным рекомендациям при планировании.

Спрос на электроэнергию в США достигнет рекордных уровней в 2026–2027 годах из-за ИИ и центров обработки данных
Управление энергетической информации США (EIA) прогнозирует рекордное потребление электроэнергии в 2026–2027 годах, в основном из-за роста нагрузок ИИ и расширения центров обработки данных.

Клод Код Сабагенты Не Загружают Навыки в Мультиагентных Системах
Разработчик сообщает, что суб-агенты в Claude Code v2.1.91 не могут получить доступ к навыкам, определённым в директории .claude/skills/, несмотря на то, что навыки идеально работают в основной сессии. Несколько подходов, включая указание навыков во фронтмете агента, инструмент Skill, флаги CLI и команды агентов, не дают результата.