Система поиска и рекомендаций

Мультимодальная платформа поиска и рекомендаций с полным CI/CD-контуром, мониторингом и A/B-экспериментами

Система поиска и рекомендаций

One-liner: Я поднял конверсию поиска на 54 % и снизил стоимость запросов на треть, внедрив мультимодальную платформу поиска и рекомендаций под 10 M+ SKU за 90 дней.


TL;DR

ДоПослеЧто изменил
p95 latency 620 мс175 мсCLIP INT8 + HNSW + Triton
$-затраты 0.28 $ / QPS0.19 $ / QPSGPU spot, LLM-каскад
Precision@10 0.540.66Cross-encoder rerank
Zero result 28 %4 %Fallback BM25 + NB
CSAT 4.04.60 пустых поисков
Support tickets –-52 %UX-фикс latency

1. Почему бизнесу это было критично

Производительность влияла на выручку

При p95 > 500 мс клиенты теряли до 0.7 M $ ежемесячно. Каталог рос быстрее чем индекс, а каждое LLM-дорасширение запроса съедало токены.

Ограничение по бюджету

Счет за токены GPT-4 достиг 45 k $ в месяц, CFO объявил hard-cap: сохранить качество при минус 30 % OPEX.


2. Целевые метрики проекта

МетрикаЦельСтатус
p90 latency < 180 мсдостиг 178 мс
$ / QPS –30 %–33 %
Precision@10 +10 pp+12 pp
CTR +5 %+54 %
SLA 99.95 %достиг 99.97 %

3. Архитектура

3.1 Ingestion

  • Delta Lake на S3
  • Dagster ETL -> SageMaker Feature Store
  • Catalog change SLA 15 мин

3.2 Embeddings

  • CLIP ViT-L/14 finetune на 42 M пар
  • QAT INT8, TensorRT, warm GPU-pool g5
  • FAISS HNSW (M=32, ef=128)
  • Шардирование по категории, spill-to-SSD
  • Snapshot restore 90 с

3.4 Retrieval pipeline

query -> embed -> HNSW 1k -> filter -> cross-encoder 50

LLM re-write через Claude 3, падение к Mistral-7B при low budget.

3.5 Serving

  • FastAPI async fan-out
  • Canary через Flagger CRD, bake 5 min
  • Envoy sidecar mTLS + circuit breakers

3.6 Observability

  • Prometheus -> Cortex, HDR гистограммы
  • OpenTelemetry до GPU kernel
  • Evidently drift KS, auto-retrain

4. Проблемы и решения

БольРешениеВыигрыш
Linear scanHNSW + PQ9619x speed-up
GPU contentionDedicated Triton models–65 % p99
Дорогие токеныLLM-каскад Claude3 -> Mistral–61 % $
Catalog coldNaive Bayes fallback0 zero-result
Spike latencyDynamic efSearchp99 420 мс -> 190 мс

5. DevEx и MLOps

СлойИнструментПреимущество
IaCTerraform + AtlantisPR preview env за 5 мин
DeployArgo RolloutsBlue/green, auto-promote по SLO
TrackingMLflow + Feature StoreЕдиный источник метрик
PolicyOPA GatekeeperЦентрализованная проверка политик доступа

6. Результаты в цифрах

ПоказательКвартал –1Квартал 0Разница
GMV, M $105.2113.6+8.4
CSAT4.04.6
Support tickets1 240597–52 %
SaaS fee, % GMV0.860.78

7. Риски и как я их снял

Latency vs точность

При росте efSearch точность росла, но SLA падал. Добавил dynamic ef: таргетируется accuracy 0.9, время остается в бюджете.

Пустые GPU ночью

Spot-авто scaler отключает половину pod в EU ночью, wake-up 30 сек. Сэкономили 7.2 k $ в месяц.

Hallucinations LLM

RAG-guard если confidence < 0.4. Fallback на rule-based snippet. Жалобы на неверные ответы ушли.


8. Лидерство и влияние

  • Защитил бюджет: показал модель TCO, рассчитал срок окупаемости за 5.2 месяца.
  • Снял конфликт Data vs Infra: провел workshop, согласовали latency SLO 180 мс и budget guard 0.2 $ / QPS.
  • Внедрил SLA-мониторинг в дашборд компании.

9. Чему научился и куда дальше

  1. Хороший индекс делает больше чем еще один слой нейронок.
  2. Latency убивает UX быстрее чем низкий recall.
  3. Cost – это такая же фича как и precision.

Roadmap Q3 2025

  • GPU ANN на RAPIDS
  • Diffusion image -> text style transfer
  • RL rerank с CTR reward

10. Мой вклад

  • Спроектировал HNSW-шардинг и LLM-каскад.
  • Ввел Terraform-Atlantis workflow и policy-as-code.
  • Оптимизировал CLIP в TensorRT INT8: 3.6x throughput при –0.7 pp accuracy.
  • Управлял A/B на 12 M сессий, x2 конверсия, p < 0.01.
  • Довел canary rollout до 100 % в 14 дней без инцидентов.

Bottom line

Платформа ищет, советует и зарабатывает быстрее конкурентов, а стоит на треть дешевле. Это прямой драйвер выручки и причина, почему топ-ритейлеры подписывают контракт на второй год.

Связаться

Контакты

Готов к обсуждению ML‑проектов и внедрений, отвечаю лично.

Игорь Якушев,
ML-инженер

Фото Игоря Якушева, ML-инженера обо мне
1 слот открыт для проекта на июнь

Решения с упором на продукт и System Design. Меня привлекают задачи с потенциалом системного роста.

Как начать разговор:

  1. 1. Напишите мне напрямую Свяжитесь так, как удобно вам: Telegram, email или LinkedIn.
  2. 2. Расскажите о задаче Пара строк: контекст, цель, формат - этого достаточно.
  3. 3. Если вижу, что могу помочь, договоримся о старте Предложу следующий шаг.

Быстрее всего

Написать в Telegram