Files
tech/docs/cpu-time-estimate.md
2026-02-01 17:01:21 +03:00

52 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Оценка времени пайплайна на CPU (Ollama, qwen3:14b)
Оценка основана на архитектуре (этапы 14 — вызовы LLM) и замере: **один блок framework на CPU ≈ 15+ минут** (до ответа или до 500).
## Время на GPU (из ARCHITECTURE_SUMMARY)
| Этап | Вызовы | Время на GPU |
|------|--------|----------------|
| 1. Анализ по блокам | 4 (framework, insights, application, limitations) | ~25 мин на главу |
| 2. Валидация блоков | 4 | ~30 сек на блок → ~2 мин |
| 2b. Финальная валидация | 1 | ~3060 сек |
| 3. Извлечение тегов | 1 | ~12 мин |
| 4. Валидация тегов | 1 | ~2030 сек |
| 6. Эмбеддинги (bge-m3) | 1 | ~515 сек |
| **Итого на главу (GPU)** | | **~611 мин** |
## Коэффициент замедления CPU vs GPU
- **«Тяжёлые» вызовы** (длинный контекст: глава + промпт): на GPU ~0.51.5 мин, на CPU по замеру **≥15 мин** → ориентир **1525 мин** на один такой вызов на CPU.
- **«Лёгкие» вызовы** (валидация, короткий контекст): на GPU ~30 сек, на CPU грубо **36 мин** (в 610 раз дольше).
Используем для расчёта:
- тяжёлый вызов (этапы 1 и 3): **20 мин** на CPU;
- лёгкий вызов (этапы 2, 2b, 4): **4 мин** на CPU;
- эмбеддинги (bge-m3): **1 мин** на CPU.
## Время на одну главу (CPU)
| Этап | Кол-во вызовов | Тип | Время (CPU) |
|------|-----------------|-----|-------------|
| 1. Анализ по блокам | 4 | тяжёлый | 4 × 20 = **80 мин** |
| 2. Валидация блоков | 4 | лёгкий | 4 × 4 = **16 мин** |
| 2b. Финальная валидация | 1 | лёгкий | **4 мин** |
| 3. Извлечение тегов | 1 | тяжёлый | **20 мин** |
| 4. Валидация тегов | 1 | лёгкий | **4 мин** |
| 5. Мерж | — | без LLM | < 1 мин |
| 6. Эмбеддинги | 1 | bge-m3 | **1 мин** |
| 78. Qdrant, Postgres | | без LLM | < 1 мин |
| **Итого на одну главу** | | | ** 126 мин 2 ч 6 мин** |
Укрупнённо: **~22.5 часа на одну главу** на CPU (с запасом на retry и вариативность).
## Время на книгу (CPU)
| Глав в книге | Оценка времени (CPU) |
|--------------|----------------------|
| 10 | ~2025 ч |
| 20 | ~4050 ч |
| 30 | ~6075 ч |
Итого: **полная книга на CPU может занимать десятки часов**; один запуск на всю книгу без GPU обычно неудобен (дни работы, риск обрыва). Имеет смысл либо ставить GPU/Apple Silicon, либо гонять по одной главе и планировать долгие прогоны.