English translation is not available yet. Showing Russian content.
Рассчитать TCO RAG-системы на 1 год
ТЕХНИЧЕСКОЕ ЗАДАНИЕ: Рассчитать TCO RAG-системы на 1 год
1. Цель задачи
Научиться системно оценивать совокупную стоимость владения (TCO) production RAG-системы за 12 месяцев. Составить структурированную смету, включающую капитальные затраты (CapEx) и операционные расходы (OpEx), с учётом GPU-инфраструктуры, электроэнергии, зарплат инженеров, API-запросов и облачных сервисов. Результат позволит команде принимать обоснованные решения о развёртывании и масштабировании системы.
Ключевой результат Транспарентная таблица CapEx + OpEx с разбивкой по статьям, пояснениями и итоговой суммой TCO.
2. Исходные данные
| Что нужно | Откуда взять |
|---|---|
| Архитектура RAG-системы | Собственный пет-проект или описание из предыдущих задач (Pet 221, Pet 321) |
| Количество запросов в день / пиковая нагрузка (RPS) | Предположить 5000 запросов/сутки, пик 50 RPS (если нет реальных метрик) |
| Размер базы знаний (количество документов, токенов) | Оценить: 100 000 документов, средний размер 2K токенов |
| Embedding модель и LLM | OpenAI text-embedding-3-small + GPT-4o-mini (или аналоги open-source) |
| Тип хостинга (облако / on-premise) | Для задачи – гибридный вариант: GPU on-premise для embedding, облако для LLM API |
| Стоимость GPU/NVIDIA | NVIDIA A100 80 GB (цена покупки ~$15 000) |
| Электроэнергия | $0.12/kWh (средняя коммерческая ставка) |
| Зарплаты инженеров (ML, MLOps, Backend) | Рынок РФ/US: $80 000–$150 000/год (с налогами) |
| API-цены OpenAI | https://openai.com/pricing (на момент выполнения) |
| Частота реиндексации | 1 раз в день полная переиндексация; инкрементальная – раз в час |
Если нет реального инструмента — симулируем:
- Открыть калькулятор стоимости облачных решений (например, AWS TCO Calculator, Azure Pricing Calculator) или Google Sheets.
- Ввести гипотетические параметры: 5000 req/day, embedding размер 1536, LLM токены input/output 2000/500.
- Взять открытые цены на GPU (NVIDIA A100), электричество, зарплатные вилки на Glassdoor / LinkedIn.
- Если нет доступа к реальным ценам OpenAI – использовать фиксированные из документации: $0.13/1M input токенов, $0.52/1M output токенов (GPT-4o-mini).
3. Технологический стек
| Компонент | Инструменты | Назначение |
|---|---|---|
| Табличный процессор | Google Sheets / Excel / Airtable | Составление сметы TCO |
| Python + pandas (опционально) | Jupyter Notebook | Автоматизация расчётов |
| Калькулятор TCO | AWS TCO Calculator / Azure Pricing | Валидация облачных затрат |
| Мониторинг затрат | CloudWatch / GCP Cost Management | Реальная статистика (если есть доступ) |
| Документация | Notion / Obsidian / Markdown | Фиксация допущений и выводов |
4. Этапы выполнения
Этап 1: Определение компонентов и сбор цен (2–3 часа)
Действия
-
Разделить все затраты на CapEx (одноразовые) и OpEx (ежемесячные).
Составить список категорий: -
Собрать цены для каждого компонента
- GPU A100 (80GB) ~$15 000, блок питания/охлаждение ~$2000.
- Стойка и сеть 2U стоечный шкаф + коммутатор ~$5 000.
- Электроэнергия TDP GPU 400W + сервер 200W = 600W на узел, работа 24/7.
600W * 24h * 365 * 0.12/kWh = 630.72 $/год за узел. - Зарплата ML engineer (1 FTE) – $120k/год; MLOps (0.5 FTE) – $60k/год; Backend (0.5 FTE) – $60k/год. Итого $240k/год.
- API LLM 5000 req/day, 2000 input токенов, 500 output.
Input:5000*2000*365 = 3.65B токенов/год→3.65B * $0.13/1M = $474.5.
Output:5000*500*365 = 912.5M→912.5M * $0.52/1M = $474.5. Итого ~$949/год. - API Embedding text-embedding-3-small $0.02/1M токенов. Документы 100k * 2000 = 200M; запросы 5000*2000 = 10M/день → 3.65B/год.
Всего: (200M + 3.65B) = 3.85B →3.85B * 0.02/1M = $77. - Векторная БД (Managed): Qdrant Cloud: $25/мес за 1GB RAM + $0.10/GB хранения ≈ $400/год.
- Хранилище документов (S3): 100k документов * 2KB = 200MB; 5000 запросов * 10KB = 50MB/день → 18.25GB/год. ≈ $1/год.
- Амортизация GPU 3 года линейная → $5000/год.
-
Выбрать период 1 год.
Ожидаемый результат этапа Таблица с перечнем статей затрат и ценами за единицу.
Этап 2: Расчёт CapEx (2 часа)
Действия
- GPU-серверы Определить количество GPU. Для embedding (обслуживание) – достаточно одной A100 (batch inference, 2000 запросов в час). Для LLM – полагаемся на API, поэтому GPU только для embedding и возможного финального LLM (если open-source). Будем считать 2 GPU (1 + 1 hot spare).
CapEx:2 * ($15 000 + $2 000) = $34 000. - Сетевое и стойка 1 стойка + коммутатор + кабели = $5 000.
- Лицензии ПО бесплатное (Linux, Python, Docker) → $0.
- Первоначальная установка и настройка 40 часов инженера по ставке $100/ч → $4 000.
Итого CapEx ~ $43 000
Ожидаемый результат этапа Строка "CapEx Total" в таблице с детализацией.
Этап 3: Расчёт OpEx (2–3 часа)
Действия
- Электроэнергия
2 машины * 600W = 1200W→1.2kW * 24h * 365 * 0.12 = $1 261.44/год. - Зарплаты $240 000/год (с налогами, EOY).
- API LLM + Embedding $949 + $77 = $1 026/год.
- Управляемая векторная БД $400/год (с округлением).
- Хранилище $1/год.
- Аренда дата-центра (colocation): 10A, 2U, 2 IP – $200/мес = $2 400/год.
- Прочее (резервное копирование, мониторинг, DNS): $500/год.
Итого OpEx $1 261 + $240 000 + $1 026 + $400 + $1 + $2 400 + $500 = $245 588/год.
Ожидаемый результат этапа Строка "OpEx Total" с разбивкой по месяцам и итогом за год.
Этап 4: Составление TCO-таблицы и визуализация (2 часа)
Действия
-
Объединить CapEx и OpEx в одну таблицу со столбцами:
Статья | Тип (CapEx/OpEx) | Цена за единицу | Количество | Стоимость в год. -
Построить круговую диаграмму распределения затрат (Google Sheets диаграмма).
-
Рассчитать TCO = CapEx + OpEx = $43 000 + $245 588 = $288 588/год.
-
Перевести в cost per query
$288 588 / (5000 * 365) = $0.158/запрос. -
Сравнить две альтернативы (опционально):
- Полностью облачная архитектура (AWS + OpenAI),
- Полностью on-premise (LLM open-source).
Ожидаемый результат этапа Итоговая таблица с TCO, cost per query, и график затрат.
Этап 5: Анализ и выводы (1 час)
Действия
- Выделить самые дорогие компоненты (доля > 10% от TCO).
- Написать рекомендации по оптимизации (например, заменить GPT-4o-mini на open-source Llama 3, перейти на batch embedding, сократить число реиндексаций).
- Оценить чувствительность (sensitivity analysis): что будет при росте RPS в 10 раз? Как изменится доля GPU/API?
- Задокументировать допущения и риски (не учтены расходы на сетевое охлаждение, резервные копии).
Ожидаемый результат этапа Раздел "Выводы" с конкретными предложениями и сценариями.
5. Критерии приемки (Definition of Done)
- Таблица TCO содержит минимум 10 статей затрат с разбивкой на CapEx и OpEx.
- Каждая статья обоснована ссылкой на источник цены или детальное допущение.
- Итоговая сумма TCO рассчитана корректно (проверка арифметики).
- Присутствует cost per query.
- Построена хотя бы одна диаграмма/график (круговая).
- Выполнен сценарий "что если" (например, рост нагрузки в 2×).
- Документация включает список допущений (например, "предполагаем linear масштабирование").
- Сравнение с альтернативным вариантом (облако vs on-premise) выполнено.
- Таблица экспортирована в PDF или Markdown для передачи команде.
- Выводы содержат не менее трёх рекомендаций по снижению TCO.
6. Ожидаемый результат
Файл tco_rag_1year.{xlsx, csv, md} (в зависимости от инструмента).
Содержание
- Лист/раздел "CapEx": перечень капитальных расходов с детализацией.
- Лист/раздел "OpEx" – помесячно и итог за год.
- Лист "TCO Summary": сводная строка.
- Лист "Sensitivity": таблица с вариантами (1x, 2x, 10x нагрузки).
- Лист "Assumptions": допущения, источники цен, дата сбора.
Дополнительные артефакты (опционально):
- Python скрипт для автоматического пересчёта при изменении параметров.
- Jupyter Notebook с расчётами и визуализацией.
7. Возможные сложности и их решение
| Сложность | Решение |
|---|---|
| Цены на GPU быстро меняются | Использовать последние данные NVIDIA или AWS/GC Marketplace на момент выполнения. Зафиксировать дату в допущениях. |
| Неизвестно точное энергопотребление сервера | Взять TDP GPU + 30% на конвертацию и охлаждение. |
| Разные валюты | Привести все к USD по текущему курсу (указать курс). |
| Зарплаты зависят от локации | Взять среднюю по рынку data scientist/ML engineer в вашем регионе (или глобальную). |
| Сложность разграничения CapEx/OpEx | Руководствоваться GAAP: активы стоимостью >$2500 и сроком >1 года – CapEx. |
| Нет данных о RPS | Предположить 5000 запросов/сутки как baseline; sensitivity analysis покажет влияние. |
8. Бюджет времени (оценка)
| Этап | Время |
|---|---|
| 1. Сбор данных и цен | 2–3 часа |
| 2. Расчёт CapEx | 2 часа |
| 3. Расчёт OpEx | 2–3 часа |
| 4. Сводная таблица и визуализация | 2 часа |
| 5. Анализ и выводы | 1 час |
| Итого | 9–11 часов |
Примечание: Для первого выполнения закладывайте до 2 рабочих дней (16 часов) с учётом изучения документации и поиска цен.
9. Связанные вопросы из базы знаний
| Вопрос | Тема |
|---|---|
| 32 | Оценка стоимости GPU-инференса |
| 45 | CapEx vs OpEx в ML-инфраструктуре |
| 78 | TCO vs ROI: как сравнивать |
| 112 | Энергопотребление дата-центра |
| 145 | Оптимизация API-запросов к LLM |
| 203 | Cost-per-query: метрика и норма |
| 256 | AWS Cost Explorer для ML |
| 310 | Модель затрат на open-source LLM |
| 445 | Амортизация оборудования в TCO |
| 512 | Sensitivity analysis для бюджета |
10. Чек-лист самопроверки
- Я собрал цены из актуальных источников и указал дату/ссылку на них.
- В таблице есть разделы CapEx и OpEx, и я не перепутал категории.
- Все расчёты выполнены с единицами (кВт·ч, $/мес) и приведены к году.
- Я учёл скрытые затраты (cooling, colocation, backup).
- Сделал sensitivity analysis: минимум два сценария (baseline и 2× нагрузка).
- Итоговый TCO и cost per query корректны (проверено на калькуляторе).
- Выводы содержат конкретные действия (оптимизация, переход на open-source).