Изгубени по средата: Позиционно отклонение в големите езикови модели (LLM) и неговото въздействие върху финансовия ИИ
Когато погледна назад към записа за DocFinQA — където конвейерите, базирани на извличане, и LLM с дълъг контекст се сринаха при документи на SEC с контекст от 123 хил. токена — въпросът, който оставих висящ, беше защо. Тази статия от Liu и съавтори (TACL 2024, arXiv:2307.03172) е механистичният отговор и се оказва, че режимът на отказ е по-прост и по-упорит, отколкото бих очаквал.
Статията
„Lost in the Middle: How Language Models Use Long Contexts“ от Nelson F. Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni и Percy Liang провежда два целеви експеримента: отговаряне на въпроси върху множество документи чрез NaturalQuestions-Open (с 10, 20 и 30 извлечени документа) и синтетично извличане на двойки ключ-стойност (със 75, 140 и 300 двойки). Във всеки експеримент те систематично променят позицията на съответния документ или двойка ключ-стойност в рамките на входния контекст — в началото, в средата или в края — докато всичко останало е фиксирано. Констатацията е ясна: производителността описва U-образна крива с дъно в средата на контекста, като тази крива се появява при всеки тестван модел.
Ключови идеи
- U-образната крива е реална и последователна. В настройките за отговаряне на въпроси с 20 документа, производителността на първа позиция беше приблизително 75% и се влоши до около 55% на 10-та позиция, преди да се възстанови до около 72% на 20-та позиция — разлика от ~20 пункта между краищата и центъра.
- Всички модели следват един и същ модел. Тестваните модели обхващат затворени и отворени, малки и големи: GPT-3.5-Turbo (4K и 16K), GPT-4, Claude-1.3 (8K и 100K), MPT-30B-Instruct и LongChat-13B. U-кривата се появи при всеки от тях, включително при модели, изрично рекламирани с разширени контекстни прозорци.
- Дори Claude-1.3-100K не е имунизиран. Вариантът със 100K контекст се държеше като останалите. Дългият контекстен прозорец не означава, че моделът действително отделя равномерно внимание по цялата му дължина.
- Базовата линия „затворена книга“ (closed-book) поставя отрезвяваща граница. GPT-3.5-Turbo без никакви документи отговори правилно на 56,1% от NaturalQuestions; с директен достъп само до единствения подходящ документ той достигна 88,3%. Но при най-лошите средни позиции в настройката с 20 документа, производителността падна под базовата линия „затворена книга“ — което означава, че добавянето на повече контекст е било активно вредно.
- Моделите енкодер-декодер (Flan-T5-XXL, Flan-UL2) са по-стабилни в рамките на дължината си на обучение, но се влошават, когато контекстът я надвиши. Архитектурната разлика има значение, но и двата типа все още деградират при мащабиране.
- Основната причина е каузалното маскиране на вниманието (causal attention masking). Всеки токен може да обръща внимание само на предхождащите го токени, така че позициите в самото начало акумулират по-голямо общо тегло на вниманието в целия модел, отколкото позициите в средата. Ефектите на скорошността (recency effects) също изтеглят производителността в края на контекста нагоре.