Fusion-in-Decoder: Как извличането от множество пасажи подобрява генеративните системи за въпроси и отговори
Генерацията с добавено извличане (retrieval-augmented generation) зависи критично от това доколко добре генераторът може да синтезира доказателства, разпръснати в множество документи. Докладът на Izacard и Grave от EACL 2021 г., „Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering“, предлага измамно проста архитектурна корекция — независимо кодиране на пасажите и обединяването им в декодера — която превъзхожда тогавашната доминираща RAG рамка със значителна разлика. Четете това сега, защото принципът на проектиране се пренася директно към QA на счетоводни книги: преди да се реши как да се извличат записи в Beancount агентите, си струва да разберем коя стратегия за обединяване (fusion) действително работи.
Докладът
Оригиналният RAG на Lewis и др. (arXiv:2005.11401) съчетава плътен ретривър с BART генератор, но принуждава генератора да се обуславя от един извлечен пасаж в даден момент, маргинализирайки пасажите или за последователност (RAG-Sequence), или за токен (RAG-Token). Izacard и Grave идентифицираха това като ограничаващо условие: модел, който може да вижда само един пасаж в даден момент, не може лесно да триангулира доказателства, които са разпръснати в различни документи.
Тяхното решение FiD (Fusion-in-Decoder) е елегантно. Всеки извлечен пасаж се съединява с въпроса, след което се кодира незави симо от енкодера на T5. Енкодерът се стартира веднъж за пасаж — процесът е напълно паралелизуем. След това декодерът изпълнява кръстосано внимание (cross-attention) върху съединяването на всички представяния на пасажи едновременно. Сложността на енкодера се мащабира линейно с броя на пасажите; от решаващо значение е, че декодерът може да обръща внимание през границите на пасажите по време на всяка стъпка на генериране. Докладът използва T5-base и T5-large като гръбнак на генератора.
Ключови идеи
- FiD-large със 100 извлечени пасажа постига 51,4% точно съвпадение (exact match) при Natural Questions и 67,6% при TriviaQA open, в сравнение със съответно 47,5% и 56,1% при RAG-Sequence — подобрение от приблизително 4 и 11 пункта.
- Производителността при Natural Questions се мащабира монотонно с броя на пасажите: 37,3% при 1 пасаж, 48,8% при 10, 50,8% при 50, 51,4% при 100. Маргиналната възвръщаемост намалява, но никога не става отрицателна.
- TriviaQA се подобрява с 6%, а NaturalQuestions с 3,5% при мащабиране от 10 на 100 пасажа — доказателство, че декодерът действително агрегира информация, а не просто избира най-добрия пасаж.
- Стъпката на кодиране е евтина за паралелизиране: всяка двойка (въпрос, пасаж) се обработва независимо, така че времето за изпълнение се мащабира сублинейно с хардуера.
- FiD-base със 770 млн. параметри надминава T5-11B в режим „затворена книга“ (44,1% срещу 36,6% при NQ), демонстрирайки, че извличането помага на по-малките модели да постигат резултати далеч над своята категория.
Какво остава вярно — и какво не
Основният резултат е стабилен и е репликиран многократно. Архитектурното решение — независимо кодиране, съвместно декодиране — е наистина изчистено: то избягва квадратичното раздуване на самовниманието (self-attention), което би се получило при наивно съединяване на всички пасажи преди енкодера, като същевременно дава на декодера глобален контекс т върху всички извлечени доказателства.
Ограничението, което докладът едва признава, е, че кръстосаното внимание на декодера е тесното място по време на инференция. Кръстосаното внимание трябва да зарежда всички двойки ключ-стойност (key-value) на енкодера за всеки слой на декодера при всяка стъпка на генериране, а тези тензори растат линейно с броя на пасажите. Последващо проучване от 2023 г., FiDO (arXiv:2212.08153), показа, че замяната на многоглавото внимание с многозаявъчно внимание (multi-query attention) и премахването на слоеве с кръстосано внимание носи 7-кратно ускорение на инференцията с минимална загуба на точност — което предполага, че оригиналният FiD декодер е значително препроектиран спрямо реалните нужди на задачата.
Съществува и разлика в калибрирането, която докладът не изследва: той отчита точно съвпадение (exact match), което възнаграждава системи, произвеждащи точния каноничен низ на отговора. За задачи за фактологичен синтез — обобщаване на констатации в множество пасажи, вместо просто извличане на откъс — точното съвпадение подценява грешките и надценява увереността. Във финансовия сектор, където грешно число в иначе правилно изречение е сериозен провал, точното съвпадение е напълно неподходяща метрика.
Защо това е важно за финансовия AI
QA при Beancount регистри по своята същност е проблем с извличане на множество пасажи. Въпрос като „Колко похарчих за пътуване през третото тримесечие във всички сметки?“ изисква синтезиране на десетки записи на трансакции от различни дати, сметки и видове активи. Основното откритие на FiD — че генеративните модели могат да агре гират данни от много извлечени пасажи и че производителността се подобрява с повече контекст — е пряко насърчително.
Практическото следствие за дизайна е конкретно: при изграждането на Beancount QA слой, извличането на повече кандидат-записи (50–100 вместо обичайните топ-5) и предоставянето на съвместен достъп до всички тях на генератора вероятно е по-добро, отколкото да се разчита на повторно класиране (re-ranking) за избор на един правилен отговор. Архитектурата FiD също се пренася чисто върху структурата на счетоводната книга: всеки запис на трансакция може да бъде кодиран независимо (евтино, паралелизуемо), преди декодерът да синтезира информацията от всички тях.
Загрижеността относно цената на инференцията е реална за производствени среди, но проучването FiDO показва, че тя е решима на архитектурно ниво без загуба на точност. По-неотложното ограничение за финансовите агенти е, че FiD е проектиран за QA на факти с кратки генеративни резултати. Анализът на счетоводни книги често изисква многостъпкова аритметика — събиране на суми, изчисляване на коефициенти — и генераторът на FiD не насочва това по своята същност към интерпретатор. Комбинирането на обединяване в стил FiD с глава за генериране на код в стил PAL е естествената следваща стъпка за постигане на цифрова точност.
Какво да прочетете след това
- FiDO (arXiv:2212.08153, ACL Findings 2023) — многозаявъчно внимание и премахване на кръстосано внимание възстановяват точността на FiD при 7 пъти по-бърза инференция; от съществено значение преди внедряване на FiD в производство.
- REALM: Retrieval-Augmented Language Model Pre-Training (arXiv:2002.08909, ICML 2020) — Guu и др. показват как да се включи извличането по време на предварително обучение, а не само при инференция; осигурява фундаменталната мотивация, върху която надгражда FiD.
- Atlas: Few-shot Learning with Retrieval Augmented Language Models (arXiv:2208.03299, JMLR 2023) — собственото разширение на Izacard и др. на FiD към ситуации с малко примери със съвместно обучение на ретривъра и четеца; най-пълният синтез на това направление в работата им.
