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 модель и LLMOpenAI text-embedding-3-small + GPT-4o-mini (или аналоги open-source)
Тип хостинга (облако / on-premise)Для задачи – гибридный вариант: GPU on-premise для embedding, облако для LLM API
Стоимость GPU/NVIDIANVIDIA A100 80 GB (цена покупки ~$15 000)
Электроэнергия$0.12/kWh (средняя коммерческая ставка)
Зарплаты инженеров (ML, MLOps, Backend)Рынок РФ/US: $80 000–$150 000/год (с налогами)
API-цены OpenAIhttps://openai.com/pricing (на момент выполнения)
Частота реиндексации1 раз в день полная переиндексация; инкрементальная – раз в час

Если нет реального инструмента — симулируем:

  1. Открыть калькулятор стоимости облачных решений (например, AWS TCO Calculator, Azure Pricing Calculator) или Google Sheets.
  2. Ввести гипотетические параметры: 5000 req/day, embedding размер 1536, LLM токены input/output 2000/500.
  3. Взять открытые цены на GPU (NVIDIA A100), электричество, зарплатные вилки на Glassdoor / LinkedIn.
  4. Если нет доступа к реальным ценам OpenAI – использовать фиксированные из документации: $0.13/1M input токенов, $0.52/1M output токенов (GPT-4o-mini).

3. Технологический стек

КомпонентИнструментыНазначение
Табличный процессорGoogle Sheets / Excel / AirtableСоставление сметы TCO
Python + pandas (опционально)Jupyter NotebookАвтоматизация расчётов
Калькулятор TCOAWS TCO Calculator / Azure PricingВалидация облачных затрат
Мониторинг затратCloudWatch / GCP Cost ManagementРеальная статистика (если есть доступ)
ДокументацияNotion / Obsidian / MarkdownФиксация допущений и выводов

4. Этапы выполнения

Этап 1: Определение компонентов и сбор цен (2–3 часа)

Действия

  1. Разделить все затраты на CapEx (одноразовые) и OpEx (ежемесячные).
    Составить список категорий:

    • CapEx GPU-серверы (с запасом), сетевое оборудование, стойки, лицензии (если есть).
    • OpEx электроэнергия, зарплаты инженеров, API-вызовы, облачные сервисы (векторная БД, хранилище), аренда дата-центра, амортизация.
  2. Собрать цены для каждого компонента

    • 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.5M912.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/год.
  3. Выбрать период 1 год.

Ожидаемый результат этапа Таблица с перечнем статей затрат и ценами за единицу.


Этап 2: Расчёт CapEx (2 часа)

Действия

  1. 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.
  2. Сетевое и стойка 1 стойка + коммутатор + кабели = $5 000.
  3. Лицензии ПО бесплатное (Linux, Python, Docker) → $0.
  4. Первоначальная установка и настройка 40 часов инженера по ставке $100/ч → $4 000.

Итого CapEx ~ $43 000

Ожидаемый результат этапа Строка "CapEx Total" в таблице с детализацией.


Этап 3: Расчёт OpEx (2–3 часа)

Действия

  1. Электроэнергия
    2 машины * 600W = 1200W1.2kW * 24h * 365 * 0.12 = $1 261.44/год.
  2. Зарплаты $240 000/год (с налогами, EOY).
  3. API LLM + Embedding $949 + $77 = $1 026/год.
  4. Управляемая векторная БД $400/год (с округлением).
  5. Хранилище $1/год.
  6. Аренда дата-центра (colocation): 10A, 2U, 2 IP – $200/мес = $2 400/год.
  7. Прочее (резервное копирование, мониторинг, DNS): $500/год.

Итого OpEx $1 261 + $240 000 + $1 026 + $400 + $1 + $2 400 + $500 = $245 588/год.

Ожидаемый результат этапа Строка "OpEx Total" с разбивкой по месяцам и итогом за год.


Этап 4: Составление TCO-таблицы и визуализация (2 часа)

Действия

  1. Объединить CapEx и OpEx в одну таблицу со столбцами:
    Статья | Тип (CapEx/OpEx) | Цена за единицу | Количество | Стоимость в год.

  2. Построить круговую диаграмму распределения затрат (Google Sheets диаграмма).

  3. Рассчитать TCO = CapEx + OpEx = $43 000 + $245 588 = $288 588/год.

  4. Перевести в cost per query
    $288 588 / (5000 * 365) = $0.158/запрос.

  5. Сравнить две альтернативы (опционально):

    • Полностью облачная архитектура (AWS + OpenAI),
    • Полностью on-premise (LLM open-source).

Ожидаемый результат этапа Итоговая таблица с TCO, cost per query, и график затрат.


Этап 5: Анализ и выводы (1 час)

Действия

  1. Выделить самые дорогие компоненты (доля > 10% от TCO).
  2. Написать рекомендации по оптимизации (например, заменить GPT-4o-mini на open-source Llama 3, перейти на batch embedding, сократить число реиндексаций).
  3. Оценить чувствительность (sensitivity analysis): что будет при росте RPS в 10 раз? Как изменится доля GPU/API?
  4. Задокументировать допущения и риски (не учтены расходы на сетевое охлаждение, резервные копии).

Ожидаемый результат этапа Раздел "Выводы" с конкретными предложениями и сценариями.


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. Расчёт CapEx2 часа
3. Расчёт OpEx2–3 часа
4. Сводная таблица и визуализация2 часа
5. Анализ и выводы1 час
Итого9–11 часов

Примечание: Для первого выполнения закладывайте до 2 рабочих дней (16 часов) с учётом изучения документации и поиска цен.


9. Связанные вопросы из базы знаний

ВопросТема
32Оценка стоимости GPU-инференса
45CapEx vs OpEx в ML-инфраструктуре
78TCO vs ROI: как сравнивать
112Энергопотребление дата-центра
145Оптимизация API-запросов к LLM
203Cost-per-query: метрика и норма
256AWS Cost Explorer для ML
310Модель затрат на open-source LLM
445Амортизация оборудования в TCO
512Sensitivity analysis для бюджета

10. Чек-лист самопроверки

  • Я собрал цены из актуальных источников и указал дату/ссылку на них.
  • В таблице есть разделы CapEx и OpEx, и я не перепутал категории.
  • Все расчёты выполнены с единицами (кВт·ч, $/мес) и приведены к году.
  • Я учёл скрытые затраты (cooling, colocation, backup).
  • Сделал sensitivity analysis: минимум два сценария (baseline и 2× нагрузка).
  • Итоговый TCO и cost per query корректны (проверено на калькуляторе).
  • Выводы содержат конкретные действия (оптимизация, переход на open-source).