ADR-12: тест EmbeddingGemma 2 вместо bge-m3 (освободить 3080 Ti для LLM-инференса)

This commit is contained in:
neo committed 2026-10-13 22:08:24 +05:00
1 parent 72903ad426
commit 86b648c8d9
1 file changed
+25 -2
+25 -2
View File
@@ -37,7 +37,7 @@
**Решение:** Состояние = детерминированная свёртка журнала через reducer. Replay верифицируется в CI. Exactly-once через Transactional Outbox + Idempotency Key + Saga.
**Почему:** локальные модели non-deterministic → без детерминированного executor'а нельзя гарантировать повторяемость.
**Почему:** локальные models non-deterministic → без детерминированного executor'а нельзя гарантировать повторяемость.
**Альтернативы:**
- Хранение snapshot'ов состояния — дороже, сложно мержить.
@@ -171,7 +171,7 @@
- Контекст меняется: то, что актуально сегодня (версия, железо, модели), завтра устаревает. Идея устойчивее инструментов.
**Как применять:**
1. Прочитать как карту возможностей («что вообще возможно»).
1. Прочитать как карту возможностей (« что вообще возможно»).
2. Выбрать кандидатов под MVP и реальные задачи.
3. Протестировать на железе: latency, качество, consumption GPU.
4. Отбросить то, что не показывает результат; оставить то, что работает.
@@ -180,6 +180,28 @@
---
## 12. Модель встраиваний: тест EmbeddingGemma 2 вместо bge-m3
**Решение:** Рассмотреть EmbeddingGemma 2 (Google) как замену или дополнительную модель для эмбеддингов вместо bge-m3. Тестировать, не менять сразу.
**Почему:**
- Сервер a2000 — 2× RTX 3080 Ti. bge-m3 (dim=1024, тяжёлая) занимает GPU целиком; чтобы освободить 3080 под LLM-инференс, её надо выключать.
- EmbeddingGemma 2 — лёгкая embed-модель (~200M). На фоне 24/7-фоновой эмбединговой нагрузки она не вытесняет LLM-инференс агента и не требует «выключить 3080», чтобы освободить GPU.
- Для фоновой ингестсии (не интерактив) приоритет — низкое consumption GPU в фоне, а не максимальное качество поиска.
**Ключевое ограничение (обязательно учитывать):**
- Разный размер вектора = переиндексация. В контент-atom bge-m3 — единственная embed-модель (dim=1024); смена модели меняет размер вектора → переиндексация Qdrant + Postgres/pgvector.
- Значит замена — не «подкрутил конфиг», а пересборка эмбеддингов. Делать осознанно, лучше как отдельный запуск-эксперимент, а не в боевом контуре.
**Как проверять (на железе, не по описанию):**
- recall@k / MRR на реальных задачах против bge-m3.
- Latency эмбединга и consumption GPU параллельно с LLM-инференсом (не должно OOM'ить 3080).
- Если EmbeddingGemma 2 даёт приемлемый recall и не давит GPU — кандидат в MVP-стек. Иначе остаёмся на bge-m3.
**Статус:** к тестированию (гипотеза, не решение к внедрению).
---
## Статус решений
| # | Решение | Статус |
@@ -195,3 +217,4 @@
| 9 | MVP-стратегия | Принято |
| 10 | Связь с spark-mind | Принято |
| 11 | Обзор технологий (не инструкция) | Принято |
| 12 | EmbeddingGemma 2 vs bge-m3 | К тестированию |