English translation is not available yet. Showing Russian content.
Как language representation связан с тест-тайм компьютингом?
Краткий тезис
Language representation (языковое представление) в RAG — это способ кодирования документов и запросов: от простых плотных эмбеддингов до сложных структурных форматов (графы, иерархии, синтаксические деревья). Test-time computing (инференсные вычисления) — это дополнительные затраты на этапе ответа: многократные запросы к LLM, реранкинг, итеративное уточнение, loops|агентные циклы. Связь прямая: чем более структурировано представление, тем больше тест-тайм вычислений требуется для его обработки, но за счёт этого может сократиться число итераций агента и повыситься качество. Ключевой trade-off — между cost per request и суммарной эффективностью.
1. Термин: Language representation (языковое представление)
В контексте RAG это способ преобразования текста в форму, пригодную для поиска и генерации. Основные типы:
- Плотные эмбеддинги (dense embeddings) — векторное представление (например, от BERT или E5). Простота, низкая стоимость, но теряется структура.
- Разреженные представления (sparse embeddings, SPLADE) — более интерпретируемые, но требуют особых индексов.
- Структурированные представления — графы знаний (KG-RAG), иерархические индексы (chunks|parent-child chunks), деревья синтаксического разбора (syntactic trees).
- Гипертекстовые представления — связки чанков с метаданными, ссылками (Obsidian-подобные графы).
Каждый тип имеет разный уровень структурированности: от плоских списков до многомерных графов. Чем выше структурированность, тем больше информации о связях и иерархии, но сложнее её обработать на этапе поиска.
2. Термин: Test-time computing (инференсные вычисления)
Это вычислительные затраты, которые происходят в момент получения ответа пользователя, в отличие от предварительной обработки (индексации). Включают:
- Поиск (retrieval) — вычисление сходства между эмбеддингом запроса и документами.
- Реранкинг (re-ranking) — дополнительный проход с LLM для уточнения результатов.
- Многократные генерации — несколько вызовов LLM (chain-of-thought, self-consistency, multi-step retrieval).
- Агентные циклы — планирование, выполнение инструментов, обратная связь.
- Сложные пайплайны — графовые алгоритмы (PageRank на документных графах), кластеризация на лету.
Cost per request (стоимость одного запроса) растёт с увеличением тест-тайм вычислений. Latency (задержка) тоже увеличивается.
3. Прямая связь: структурированность → сложность обработки
| Тип представления | Уровень структурированности | Требуемые тест-тайм вычисления | Типичный cost per request | Качество retrieval |
|---|---|---|---|---|
| Плотные эмбеддинги (FAISS) | Низкий | 1 поиск ANN (k-NN) | Низкий | Среднее |
| Разреженные эмбеддинги (SPLADE) | Средний | Поиск по инвертированному индексу + пост-обработка | Средний | Выше |
| Иерархические чанки (parent-child) | Средний | Двухуровневый поиск: сначала parent, потом child | Средний | Высокое (контекст) |
| Графовые представления (KG-RAG) | Высокий | Поиск сущностей, обход графа, алгоритмы (например, BFS) | Высокий | Очень высокое (связи) |
| Синтаксические деревья | Очень высокий | Парсинг зависимостей, сравнение поддеревьев | Очень высокий | Специфичное (точность) |
Пример: В простой RAG с плотными эмбеддингами тест-тайм вычисление — один dot product. В agentic RAG с графовым представлением агент может сначала найти ключевые сущности, потом обойти граф соседей и отфильтровать релевантные подграфы — это +2-3 LLM вызова.
4. Основной trade-off: стоимость vs. количество итераций агента
Агент в agentic RAG обычно выполняет несколько шагов: analyse, retrieve, reason, act. Если представление слабое (только эмбеддинги), агент может совершать много итераций, переписывая запросы, дополняя контекст, перепроверяя факты. Если представление богатое (графы семантических связей), агент за один шаг получает больше релевантного контекста, и число итераций снижается.
Уравнение trade-off
Общая стоимость ≈ (cost per итерация) × (число итераций)
- Слабое представление: cost per итерация низкий, но число итераций высокое (3-5).
- Сильное представление: cost per итерация высокий (из-за сложного поиска), но число итераций низкое (1-2).
Оптимум зависит от задачи: для фактологических QA (один факт) выгоднее слабое представление; для multi-hop вопросов (несколько связанных фактов) — сильное.
5. Влияние на качество и точность
Более структурированное представление потенциально даёт:
- Лучший контекст — агент видит не просто список чанков, а их иерархию и связи.
- Меньше галлюцинаций — за счёт более релевантных документов.
- Выше safety — легче фильтровать нерелевантные или вредные связи.
Однако есть риск over-engineering: чрезмерная структура может запутывать агента, особенно если граф построен шумно.
6. Примеры в agentic RAG
6.1 HypD (Hypothetical Document Embeddings)
Представление: гипотетический документ (сгенерированный LLM). Test-time computing: 1 генерация гипотетического текста, затем поиск эмбеддингом этого текста. Увеличивает cost per request, но повышает recall.
6.2 Multi-step retrieval с query decomposition
Представление: иерархическое (подвопросы → чанки). Агент на каждом шаге извлекает новые фрагменты, используя представление предыдущего шага. Test-time computing: N шагов × retrieval.
6.3 GraphRAG (Microsoft)
Представление: граф сущностей и связей. Test-time computing: community detection, summarisation сообществ. Высокие затраты, но для глобальных вопросов (summary по всему корпусу) качество значительно выше.
7. Как выбирать баланс на практике
- Оцените сложность вопросов — если преобладают простые QA, используйте плотные эмбеддинги.
- Измерьте recall@k — если низкий, возможно, стоит повысить структурированность (иерархия, реранкинг).
- Проведите A/B тест — сравните cost per request и качество (faithfulness, answer relevancy) для обоих вариантов.
- Учтите SLA по latency — если нужен быстрый ответ (<1s), выбирайте минимум тест-тайм вычислений.
- Используйте адаптивные стратегии — например, начинать с простого поиска и переключаться на сложный только при низкой уверенности (confidance-based routing). Это компромисс между cost и качеством.
8. Технологические инструменты
| Инструмент | Тип представления | Test-time computing overhead |
|---|---|---|
| FAISS | Dense embeddings | Очень низкий |
| Milvus / Qdrant | Dense + sparse | Низкий |
| GraphDB (Neo4j, ArangoDB) | Графовое | Высокий (зависит от запроса) |
| LlamaIndex | Иерархические индексы | Средний |
| LangChain Agent | Любой + агентный цикл | Переменный |
| RAPTOR (Hierarchical summarisation) | Древовидное (summaries) | Высокий (summarisation на лету) |
9. Метрики для оценки эффективности
- Cost per answer — суммарные вычислительные затраты (токены, время, деньги).
- Correctness — точность ответа (F1, EM).
- Faithfulness — соответствие фактам из документов.
- Agent efficiency — количество итераций агента до финального ответа.
- Latency — время ответа пользователю.
График зависимости при повышении структурированности cost per request растёт, но количество итераций падает. Оптимум — точка пересечения кривых.
Пет-проект для закрепления
Задача Выяснить, как выбор language representation влияет на cost и качество в agentic RAG для multi-hop вопросов.
Инструменты Python, LangChain, FAISS, NetworkX (для графа), OpenAI API (для генерации и эмбеддингов), RAGAS (для оценки).
Шаги:
- Соберите датасет вопросов, требующих соединения 2-3 фактов (например, "Кто был президентом страны, где находится Эйфелева башня?").
- Создайте два представления для одного корпуса документов:
- Вариант A: чанки с плотными эмбеддингами (text-embedding-3-small).
- Вариант B: граф сущностей на основе SpaCy + связи по общим ключевым словам (NetworkX).
- Создайте двух агентов:
- Агент с простым ретривалом (1 шаг).
- Агент с графовым обходом (находить сущность, затем обход соседей).
- Прогоните оба варианта на 50 вопросах, замерьте:
- Cost (токены ввода+вывода).
- Число вызовов LLM (итераций).
- Correct по gold answer.
- Faithfulness (RAGAS).
- Постройте scatter plot: cost vs. correctness.
Ожидаемый результат Вы увидите, что для простых вопросов вариант A дешевле и достаточно точен, а для сложных — вариант B даёт меньше галлюцинаций, хотя дороже. Сделайте вывод о trade-off.
Связь с другими вопросами
| Вопрос | Тема |
|---|---|
| 194 | Что такое Agentic RAG и как он отличается от классического RAG? |
| 195 | Как агент принимает решение, когда выполнять retrieval? |
| 197 | Как планирование (planning) в агентах влияет на эффективность RAG? |
| 198 | Какие метрики важны для оценки агента в RAG? |
| 199 | Как проектировать multi-agent системы в RAG? |
| 200 | Как управлять памятью агента в длинных сессиях? |
Навигация
- Предыдущий: 195
- Следующий: 197
- Индекс: 00. Индекс разборов