Това е втората част от поредицата от статии „Дълбоко обучение при извличане на информация“. Тази серия е за тези, които познават основите на дълбокото обучение и биха искали да се потопят дълбоко в областта на съвременното извличане на информация. В част I научихме основни концепции за извличане на информация, метрики, използвани в IR, основи на дизайна на IR-система и едно семейство от методи за задълбочено обучение, обикновено използвани на първия етап от IR-тръбопроводите. В тази част ще разгледаме друго семейство от методи, използвани за получаване на представяния на обекти с данни с възможност за търсене. Тези методи също обикновено се използват на първия етап от тръбопровода на IR-системата за извличане на първоначални кандидати от индекс в мащаб.

Методите за разредено извличане имат някои предимства като обяснимост, подходящо за използване с класически алгоритми като BM25 и т.н. Но разреденото представяне на текст, базирано на токени, не отразява напълно семантиката на всеки термин в контекста на целия текст. Този проблем не може да бъде напълно разрешен само чрез претегляне на важността на всеки термин в текст или чрез разширяване на документа. От друга гледна точка сега са налични много методи за получаване на контекстуални вграждания на токени или цял текст. Тези методи позволяват да се представи текст под формата на вектор в някакво векторно пространство с предварително дефинирана размерност. Размерът на векторите не зависи от дължината на текста. Този тип вектори обикновено се наричат ​​плътни вектори. Семантично близките текстове обикновено се представят от вектори, които са близки във векторно пространство. Семейството от методи, базирани на плътни вектори, се нарича плътно извличане. Очевидно е невъзможно да се използват класически алгоритми за извличане като BM25 с плътни вектори. И така, как работи плътното извличане? Нека се потопим.

Плътно извличане

Първо, нека да разгледаме как се обучават моделите за плътно представяне. Обикновено някакъв модел се взема като базов модел. Това може да бъде всякакъв вид модел, който може да произвежда вектори с фиксирана размерност като изход. Обикновено невронните мрежи се приемат като базови модели. В съвременните подходи се използват особено модели, базирани на трансформатори. Базовият модел обикновено се нарича кодер. След това е необходимо базовият модел да произвежда близки вектори за семантично близки обекти. Това могат да бъдат обекти от един и същи тип или различен тип като заявка и преминаване. Във втория случай могат да се използват два различни енкодера. Обикновено архитектурата на сиамската мрежа се използва за обучение на енкодери за създаване на близки вектори. Тази архитектура се нарича още двоен енкодер или двоен енкодер. Можете да видите схема на тази архитектура в горната част на тази статия. Идеята на тази архитектура е използването на два енкодера по време на обучение. Всеки енкодер получава един обект от двойка като вход. Например, първият енкодер получава заявка, вторият енкодер получава документ. След това се изчислява разстоянието между изходните вектори на всеки енкодер. Обикновено се използва косинусово разстояние, тъй като величината на векторите обикновено няма значение при текстовото сходство и е лесно да се изчисли с помощта на точково произведение на векторите. След това целият би-енкодер се обучава да минимизира разстоянието между съвпадащи двойки (положителни) и да увеличи максимално разстоянието между несъвпадащи двойки (отрицателни). Само положителни двойки често са налични в набор от данни. В този случай примери от други двойки в същата партида се използват като негативи. Обикновено загубата на триплети се използва за прилагане на този вид обучение. Загуба на триплет е функция на загуба за алгоритми за машинно обучение, където референтен вход (заявка в случай на плътно извличане), наричан котва, се сравнява със съответстващ вход (положителен) и несъвпадащ вход (отрицателен). Най-общо триплетната загуба може да се дефинира по следния начин:

където a е котва, p е положително, n е отрицателна стойност, d е функция за разстояние и λ е марж стойност, за да държи отрицателните числа далеч един от друг. Това може да се илюстрира със следната снимка:

Използват се различни техники за подобряване на загубата на триплети. Например, възможно е допълнително да се санкционира разстоянието до най-близкия негатив в партидата. Или е възможно да добавите външни близки негативи към обучението. Тези техники се наричат ​​копаене на твърди негативи.

При изграждането на индекса за търсене се използва обучен енкодер за получаване на плътни вектори за търсени обекти (документи, пасажи). Тези вектори се съхраняват в индекса. При стъпка на извличане се използва обучен енкодер за създаване на плътен вектор на заявка. След това този вектор се използва за изчисляване на косинусово разстояние между вектора на заявката и векторите на кандидатите от индекса за търсене. След това някои разумни най-близки кандидати се извличат от индекса.

В мащаб е непрактично да се изчисляват разстоянията между заявката и всеки кандидат от огромен индекс. Но как да приложим това по мащабируем начин? Има различни решения на този проблем. Един от най-често срещаните е използването на LSH-индекс. LSH (чувствително към местоположението хеширане) е алгоритъм, който хешира подобни входни обекти в едни и същи „кофи“ с висока вероятност [1]. Използването на LSH позволява прилагането на приблизително търсене на най-близък съсед. LSH-индексът използва набор от LSH функции, наречени семейство LSH. LSH функцията е хеш функция, която преобразува елементи от метричното пространство в кофи. Много хеш-таблици са конструирани със съответните хеш-функции, всяка от които е конструирана чрез свързване на няколко произволно избрани хеш-функции от едно и също LSH семейство. При изграждането на стъпката на индекса за търсене всички търсени обекти се хешират във всяка хеш-таблица. При стъпка на извличане алгоритъмът итерира хеш-таблици и извлича обектите, които са хеширани в същата кофа като вектор на заявка. Веднага щом бъде открит обект, процесът на извличане се спира. Този подход позволява мащабиране на десетки и стотици милиони обекти, които могат да се търсят. Библиотеки като FAISS, ScaNN и векторни бази данни като Milvus и Qdrant използват подобни алгоритми за прилагане на приблизително търсене на най-близък съсед.

Това е описанието на високо ниво на това как работи плътното извличане. В следващия раздел нека да разгледаме как да приложим модели за дълбоко обучение, за да получим по-добри плътни представяния.

Дълбоко обучение и трансформатори в плътно извличане

Една от най-ранните разработки, които възприемат големи трансформаторни модели за плътно извличане, е DPR(Dense Passage Retriever). В тази работа авторите показват, че извличането може да бъде приложено на практика с помощта на плътни вектори и качествени вграждания на текстови пасажи могат да бъдат научени от малък брой въпроси и пасажи от модел с двоен енкодер [2].

В Dense Passage Retriever две независими BERT мрежи се използват като енкодери за въпроси и преминаване. Специален `[CLS]` токен на BERT се използва за приемане на представянето в токена като изход. Целият модел с двоен енкодер се обучава чрез оптимизиране на функцията за загуба като отрицателна логаритмична вероятност на положителното преминаване. Набор от данни от двойки въпроси и отговори се използва за обучение. Обикновено отрицателните примери не са налични в набор от данни и трябва да бъдат взети проби. Като отрицателни DPR използва пасажи от същата мини-партида и един пасаж, върнат от BM25, които не съдържат отговора, но съвпадат с повечето жетони за въпроси. Тази стратегия за копаене на отрицателни примери може да направи изчислението ефективно, като същевременно постигне голяма производителност при извличане.

DPR беше оценен на набор от набори от данни с отговори на въпроси с отворен домейн (Natural Questions, TriviaQA, WebQuestions, CuratedTREC) като ретривър от първи етап и превъзхожда силните базирани на BM25 IR-системи значително с 9%-19% абсолютно по отношение на най-добрите -20 точност на извличане на пасаж.

Друг модел е въведен в изследователска статия, посветена на сравнението на различни методи за рядко, плътно и хибридно извличане. Нарича се ME-BERT. Това е модел, в който всеки документ е представен от точно m вектори. Авторите са използвали m= 8 като добър компромис между цена и точност и са намерили стойности от 3 до 4 за m по-точни за някои набори от данни. Модел с k-измерни вграждания се нарича ME-BERT-k[3]. В допълнение към използването на BERT `[CLS]` токен като векторно представяне, авторите са внедрили слой за подаване напред с размери 768 × k, за да получат k вектори от един енкодер. Този модел използва максимални точкови произведения на всеки вектор на документ с вектор на заявка, за да получи резултат за релевантност за двойката заявка-документ.

Моделът се инициализира от BERT-база и всички параметри се настройват фино, като се използва загуба на кръстосана ентропия със 7 извадени негативи от предварително изчислен
списък от 200 документа и допълнителни негативи в партида (с общ брой от 1024 кандидати в партида); предварително изчислените кандидати включват 100
най-добри съседи от BM25 и 100 произволни проби. ME-BERT превъзхожда обикновените двойни енкодери и моделите за рядко извличане в наборите от данни MS-MARCO-Document и MS-MARCO-Passage.

Моделите за плътно извличане са трудни за обучение. Това изисква различни тренировъчни трикове като трудно отрицателно копаене и т.н. По-късните работи в тази област са посветени на изследване на различни подобрения в процеса на обучение на такива модели.

Например, подходът Приблизително най-близък съсед на отрицателно контрастно обучение (ANCE) е механизъм за обучение, който избира глобално негативи за трудно обучение от целия корпус, използвайки асинхронно актуализиран индекс на ANN [ 4].

ANCE се състои от два компонента: Trainer и Inferencer. И двата компонента се използват по време на процеса на обучение на модела. Треньоризползва негативи от индекса на ANN, за да обучи плътен модел за извличане. Inferencer използва скорошна контролна точка, за да актуализира представянето на документите в корпуса, след което опреснява индекса на ANN с най-актуалните вграждания на документи. Вижте схемата от оригиналната хартия по-горе.

ANCE може да се използва за обучение на всеки модел за плътно извличане. В оригиналната статия авторите са използвали ANCE, за да обучат базиран на BERT би-енкодер с точково произведение
точкуване по сходство и отрицателна загуба на логаритмична вероятност. Резултатите са оценени на MSMARCO-Passage, TREC 2019 DL Passage и TREC 2019 DL документ. Този подход надмина всички методи за разредено извличане в този момент и DPR при извличане на пасажи.

Както вече беше споменато, моделите за плътно извличане обикновено се използват на първата стъпка от конвейера на системите за извличане на информация. Причината е, че тези модели са проектирани да реализират извличане от огромен индекс за търсене в мащаб. Този фактор добавя значителни ограничения към ефективността на извличане на модела. Има различен клас модели, които са обучени да предсказват оценка за релевантност за двойка заявка-кандидат (въпрос-документ), вместо да получават добри векторни представяния. Тези модели позволяват да се постигне много по-добра производителност при извличане по отношение на MRR и NDCG. Ще разгледаме тези модели в следващата част от тази поредица от статии. Но важен момент сега е, че този тип модели могат да се използват за подобряване на моделите за плътно извличане, като се използват техники, наречени псевдо-маркиране и дестилация на знания.

Псевдо етикетиране е техника за използване на един модел за прогнозиране на етикети за немаркирани данни и след това добавяне на тези нови данни към основния етикетиран набор от данни за обучение на друг модел. Дестилиране на знания е процесът на прехвърляне на знания от голям модел към по-малък чрез обучение на по-малък модел, за да съответства на логиката с логиката на голям модел с по-висока производителност. По-късните работи в плътното извличане използват тези две техники.

Подходът, наречен RocketQA, въведе три основни технически подобрения за обучение на модели за плътно извличане: кръстосани негативи, обезшумени твърди негативи и увеличаване на данните [5]. Техниката на кръстосани партиди негативи се използва по време на обучение на модел на множество графични процесори. Първо, вгражданията на пасажи се изчисляват в рамките на всеки отделен GPU и след това тези вграждания на пасажи се споделят между всички GPU. Освен груповите негативи, плътните вектори на всички пасажи се събират от всички други графични процесори като допълнителни негативи за всеки въпрос. Вижте снимка от оригинална хартия по-долу:

Техниката на демонизирани твърди негативи позволява да се филтрират фалшиви негативи от твърди негативи с проби. Увеличаването на данни е техника, използвана за увеличаване на количеството данни за обучение чрез добавяне на новосъздадени синтетични данни от съществуващи данни. RocketQA прилага както обезшумени твърди негативи, така и увеличаване на данните с помощта на псевдо-етикетиране. Той използва по-мощен голям модел (обучен да предсказва оценка за релевантност за двойка въпрос и пасаж), за да етикетира нови немаркирани данни и след това да ги използва за увеличаване на набора от данни. Също така по-високопроизводителният голям модел се използва за намиране на фалшиви негативи по време на копаене на твърди негативи. RocketQA превъзхожда предишните подходи към набора от данни на MSMARCO и Natural Questions.

По-късен подход, наречен PAIR (PAssage-centric sImilarityRrelations) беше фокусиран върху обучение, ориентирано към пасажа и въведе три основни технически приноса чрез въвеждане на формални формулировки на двата вида отношения на подобие, генериране на висококачествени псевдо етикетирани данни чрез дестилация на знания и проектиране на ефективна двуетапна процедура за обучение, която включва ограничение на връзката на подобие, ориентирано към преминаване. Целта на изучаването на връзката на подобие, ориентирана към пасаж, е да се избута отрицателният пасаж по-далеч от положителния и да се направи приликата между положителен пасаж и запитване по-голяма от приликата между положителен и отрицателен пасаж [6]. Авторите на PAIR са комбинирали функции за загуба, ориентирани към заявки и центрирани към преминаване, за да приложат този метод. Също така, те са използвали добре обучен голям модел за получаване на псевдо-маркирани положителни и твърди негативи за немаркирани заявки. В етапа на предварително обучение на двуетапния процес на обучение авторите са обучили двойния енкодер с псевдо-маркирани данни от немаркиран набор от данни чрез оптимизиране на комбинираната функция на загубата. В етапа на фина настройка те са настроили фино двойния енкодер (предварително обучен в първия етап) както с етикетирани, така и с псевдомаркирани данни, като оптимизират само загубата, ориентирана към заявката. Всички тези техники позволиха да се постигне малко по-добър MRR и припомняне, отколкото при подхода на RocketQA върху наборите от данни MS-MARCO и Natural Questions.

Друг подход, наречен Adversarial Retriever-Ranker (AR2), използва техниката на adversarial training за подобряване на плътното извличане. AR2 се състои от ретривър с двоен енкодер плюс високоефективен ранкер. Двата модела са съвместно оптимизирани според минимална състезателна цел: извличащият се научава да извлича отрицателни документи, за да измами класиращия, докато ранговият се научава да класира колекция от кандидати, включително както наземната истина, така и извлечените, както и осигуряване на прогресивна директна обратна връзка към ретривъра с двоен енкодер. Чрез тази състезателна игра ретривърът постепенно създава по-твърди негативни документи, за да обучи по-добър класатор, докато кръстосаният енкодер ранкер осигурява прогресивна обратна връзка за подобряване на ретривъра [7]. AR2 е оценен по три бенчмарка: Natural Questions, MS-MARCO и TriviaQA. Той показа малко по-добри резултати (+1,3–2,1% за извикване) от предишните най-съвременни резултати.

Друга техника за подобряване на плътното извличане е предварително обучение за съвпадение на домейн. Беше демонстрирано, че предварителното обучение на големи двукодиращи модели върху набор от 65 милиона синтетично генерирани въпроса и 200 милиона двойки след коментари от предварително съществуващ набор от данни на Reddit разговори, предоставени, позволява да се подобри плътното извикване на извличане и MRR [ 8]. Той е оценен върху набор от набори от данни за извличане на информация и извличане на диалог: ConvAI2, Ubuntu v2, DSTC7.

Изводи

В тази статия разгледахме концепцията за плътно извличане. След това разгледахме няколко различни подхода за подобряване на производителността на плътно извличане чрез дълбоко обучение: от DPR до сравнително модерни RocketQA, PAIR и AR2. Можете да видите, че най-новите методи постигат по-добри резултати при набори от данни за извличане на публична информация като MS-MARCO или Natural Questions. Но това не означава, че най-новият подход трябва да се използва при изграждането на всяка производствена IR-система. Няколко фактора трябва да бъдат взети под внимание: домейн, наличност на етикетирани данни, количество немаркирани данни, качество на етикетирани данни, тип на задачата за извличане. Например, ако вашите етикетирани данни имат много немаркирани позитиви, тогава вашият процес на обучение на плътен ретривър ще се възползва от обезшумените твърди негативи. Ако има много данни от вашия проблемен домейн и имате достатъчно ресурси, за да обучите голям високоефективен ранкер, тогава вашият плътен модел за извличане може да се възползва от техниката на псевдо-етикетиране. Освен това няма очевиден избор между гъсти и разредени методи за извличане. Например, в случай че вашата IR-система получи много заявки с относително уникални идентификатори, имена и съкращения, които са насочени към малки подгрупи от кандидати от индекса, тогава рядкото извличане може да покаже по-добра производителност.

Както вече беше споменато, методите за плътно извличане и разреденото извличане обикновено се използват на първата стъпка от конвейера на системите за извличане на информация. В следващата част на тази поредица от статии ще разгледаме по-мощни модели, които се използват на етапа на класиране на IR-тръбопроводи.

Препратки

  1. Rajaraman A, Ullman J, Извличане на масивни набори от данни, гл. 3, Cambridge University Press, 2010.
  2. Vladimir Karpukhin, Barlas Oğuz, Sewon Min, Patrick Lewis, Ledell Wu, Sergey Edunov, Danqi Chen, Wen-tau Yih, Dense Passage Retrieval for Open-Domain Question Answering, In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing , EMNLP 2020, онлайн, 16–20 ноември 2020 г., страници 6769–6781, arXiv:2004.04906.
  3. И Луан, Джейкъб Айзенщайн, Кристина Тутанова, Майкъл Колинс, Разредени, плътни и задълбочени представяния за извличане на текст, CoRR, 2020, arXiv:2005.00181.
  4. Лий Сюн, Ченян Сюн, Йе Ли, Куок-Фунг Танг,
    Джалин Лиу, Пол Бенет, Джунейд Ахмед и Арнолд
    Овервейк. 2020. Приблизително отрицателно контрастно обучение на най-близкия съсед за извличане на плътен текст, CoRR, 2020, arXiv:2007.00808
    .
  5. Yingqi Qu, Yuchen Ding, Jing Liu, Kai Liu, Ruiyang Ren, Wayne Xin Zhao, Daxiang Dong, Hua Wu и Haifeng Wang. 2021. RocketQA: Оптимизиран подход за обучение за извличане на плътни пасажи за отговаряне на въпроси с отворен домейн. В сборника от конференцията през 2021 г. на северноамериканския клон на Асоциацията за компютърна лингвистика: технологии за човешки език, страници 5835–5847, онлайн, 2021 г., arXiv:2010.08191.
  6. Ruiyang Ren, Shangwen Lv, Yingqi Qu, Jing Liu, Wayne Xin Zhao, QiaoQiao She, Hua Wu, Haifeng Wang и Ji-Rong Wen, Pair: Използване на пасаж-центрична връзка на сходство за подобряване на плътното извличане на пасажи, 2021 г., предпечат на arXiv , arXiv:2108.06027.
  7. Hang Zhang, Yeyun Gong, Yelong Shen, Jiancheng Lv, Nan Duan и Weizhu Chen, Adversarial retriever-ranker за извличане на плътен текст, 2021, arXiv preprint, arXiv:2110.03611.
  8. Барлас Огуз, Кушал Лахотия, Анчит Гупта, Патрик Луис, Владимир Карпухин, Александра Пиктус, Силун Чен, Себастиан Ридел, Скот Йих, Сонал Гупта и Яшар Мехдад, Задачи за предварително обучение за плътно извличане, съответстващи на домейн. В констатациите на Асоциацията за компютърна лингвистика: NAACL 2022, страници 1524–1534, Сиатъл, Съединени щати. Асоциация за компютърна лингвистика, arXiv:2107.13602