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

One-liner: Я поднял конверсию поиска на 54 % и снизил стоимость запросов на треть, внедрив мультимодальную платформу поиска и рекомендаций под 10 M+ SKU за 90 дней.
TL;DR
До | После | Что изменил |
---|---|---|
p95 latency 620 мс | 175 мс | CLIP INT8 + HNSW + Triton |
$-затраты 0.28 $ / QPS | 0.19 $ / QPS | GPU spot, LLM-каскад |
Precision@10 0.54 | 0.66 | Cross-encoder rerank |
Zero result 28 % | 4 % | Fallback BM25 + NB |
CSAT 4.0 | 4.6 | 0 пустых поисков |
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
3.3 Vector Search
- 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 scan | HNSW + PQ96 | 19x speed-up |
GPU contention | Dedicated Triton models | –65 % p99 |
Дорогие токены | LLM-каскад Claude3 -> Mistral | –61 % $ |
Catalog cold | Naive Bayes fallback | 0 zero-result |
Spike latency | Dynamic efSearch | p99 420 мс -> 190 мс |
5. DevEx и MLOps
Слой | Инструмент | Преимущество |
---|---|---|
IaC | Terraform + Atlantis | PR preview env за 5 мин |
Deploy | Argo Rollouts | Blue/green, auto-promote по SLO |
Tracking | MLflow + Feature Store | Единый источник метрик |
Policy | OPA Gatekeeper | Централизованная проверка политик доступа |
6. Результаты в цифрах
Показатель | Квартал –1 | Квартал 0 | Разница |
---|---|---|---|
GMV, M $ | 105.2 | 113.6 | +8.4 |
CSAT | 4.0 | 4.6 | |
Support tickets | 1 240 | 597 | –52 % |
SaaS fee, % GMV | 0.86 | 0.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. Чему научился и куда дальше
- Хороший индекс делает больше чем еще один слой нейронок.
- Latency убивает UX быстрее чем низкий recall.
- 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
Платформа ищет, советует и зарабатывает быстрее конкурентов, а стоит на треть дешевле. Это прямой драйвер выручки и причина, почему топ-ритейлеры подписывают контракт на второй год.