Адаптаваная генерацыя на адказе з базай маёў: як усунуць прызнакі недастатку ведаў у LLM-ах
Чаму ЛЛМі ствараюць галюцинаціі і становяцься застарэлымі, і як генераванне з дапамогай выкарыстоўвання інфармацыі выправляе гэта па шагах: разбіўка на часткі, імбеддынгі, выкарыстоўвання інфармацыі і дапамога у формулюванні запиту.
Крыніцы: What LLMs Often Get Wrong At, And How RAG Cures That
Дзе LLM-ы частаюць падвягнуцца
Падумайце пра заканчэнныя уснае іспытання. Вы запамятаваеце всё за ночь наперад, заходзіце, адвакатна размовляеце з экзаменаваўшым і спадзяваецеся, што всё пройдзе добра. А потым экзаменаваўшый запытае: «Чаму вы выбралі самэ гэты падход у сваём проекте?» Раптам у кімнате настаёў тыша.
LLM-ы сталквуюцца з той самай проблемай.
Ёны створаны так, каб даваць адпаведзі, якія звучаюць пераканальна. А значыць, яны часта не ведаюць, як з’явіцца, што «я не ведаю».
Є таксама проблема застарэлых ведомасцей.
Уявіце таго ж экзаменаваўшыга, які запытае:
«Чаму вы выбралі гэты метод, калі зараз існуе лепшы?»
Вы застрялі б.
LLM-ы сталквуюцца з гэтай самой проблемай кожны раз, калі факты, на якія ўжо не трэбае атрымліваць інформацыю, больш не паспраўданыя рэальнасцю.
Такім чынам справжняя запитанне стае: Як падсунуць LLM правільныя факты самэ тады, калі ёму яны трэбаюць?
Уведзенне: гэнераванне з дапамою пошуку
Не паказвайцеся называм. Це проста класычная процэсна схема: знайсці неабяжлівую інфармацыю, перадаць яе модэлю і прабавіцца, каб модэль ператворыў яе на адказ.
У гэтым і ўся суть.
Разберамся, што на самай працэ практычна відбываецца за гэтым описам.
Формулюванне задачы
Падазроўваю, вы ствараеце внутраньнага AI-асистента для компаніі.
У гэтай компаніі є велика колькасць дакументаў: інструкцыі для працавальнікаў, внутранія часто задаваемыя запытання, правілы безпекі і т. д.
Калі асистент будзе запрацаваў, люди пачнуць яго актываўна викорыстоўваць. Хтось уведзе:
"Сколькі дней дзецячага выпуску я маю право?"
Проблема заключаецца ў тым, што модель не мае вбудованага розуміння конкрэтных правіл вашай компаніі. І вы не можете проста падсунуць сотні довгіх дакументаў у запит і спадзявацца на чыстае адпаведзенне — такі падход збільшвае рызык перавантажэння вікна контексту, плутання моделі та іншых проблем.
Як на самай працуеў RAG
Уместо таго, каб пасляваць адпаведзенне на внутрашняе знаёмства LLM, мы спачатку выкарыстоўваемя актуальны матэріял з нашай сабеўскай базы знаёмства. Потым гэты матэріял перадаецца LLM.
LLM выкарыстоўвае гэтую паданую інфармацыю, каб створыць свае адпаведзенне.
Іншымі словамі, модэлі не трэба запамятаваць усё. Яй проста патрэбны правільныя інфармацыі, якія падаюцца у правільны момант.
Што паднімае наступны вопыт: як вы ўзагалі вяршыце, што є актуальным?
Адзыскванне
Адрасаваньне кожнага дакумента да LLM за кожны адзін вопыт было бы нерэшальнае і медленнае. Таму замест таго патрэбны спосабы выдзельвання relevanтных фрагментаў спачатку, адколі сканаванне всього ў кожны раз яе дорогае і неэфектывае.
Для гэтага дакументы дзелюцца на меньшыя часткі, вядомыя як чанкі. Адной чанкай можа быць опис правіл абавесці, іншая чанкай — процедуры безпекі, а ўсё інша — прынцыпы вярнення витакоў.
Пошук правильнай чанкі
Пользователь можа сформулюваць свой вопыт так: "Сколькі часу абавесці я можа взяць пасля нараджэння дзеці?"
Тым часам сам дакумент можа гаварыць: "Працавнікі маюць право на 26 тыдзён абавесці.
Фразавершэнне разныя, але значэнне ідэнтычнае. Чыба падрыхтуваць гэты разлік, системы RAG выкарыстоўваюць embeddings.
Што робяць embeddings
Embedding ператварае фрагмент тексту на набор цифр, які кодуе яго значэнне. Тексты з падобным значэннем апошнія размешваюцца падалёку адзін ад другога ў гэтым числовым прасторе — гэта вимераваецца за дапамою такога паняву, як векторная адстань, якая фактычна ўособлівае спосаб канкрэтнага вырахунку адстані между двумя векторамі.
Гэтыя embeddings знаходзяцца ўнутры векторной базы дадзеных. Калі прыходзіць новая запитанне, яна таксама ператвараецца на embedding, і система шукае найбліжэйшыя падходящыя фрагменты.
Рэзультатам являецца набор релевантных фрагментаў, якія пасля таго перадаюцца LLM як дапаможны контэкст.
Падсілленне
Калі вже выявлены релевантныя фрагменты, наступны крок — ўзаеднанне іх.
Їх вставляюць у вікно контексту LLM разам з первісным запитам:
Context:
Employees are entitled to 26 weeks of parental leave.
Question:
How long can I stay away from work after having a baby?
У гэты момент LLM мае все неабяжнае для таго, каб адпаведна адказаць.
Стварэнне
Тут прыходзіць та частка, у якай LLM выказвае высокія навыки: стварэнне самай адпаведной адказы.
Ён чытае як запит корыстувальца, так і атрыбутаваны контекст, пасля чаго стварае адказ:
"Вы маеце право на 26 тыдзёнв кантрэльнай паузы.
І так завершаецца цыкл: Атрыманне → Дапамога → Стварэнне.
Проблема
LLM можа рассуждаць толькі на адвароте таго контексту, які быў атрыманы. Якщо будзе атрыманы некоректны фрагмент, заканчоўная адказа можа застацца некоректной, нават якшо процес працаваў правільна.
Разглядзім такі сцэнарый:
Запытанне: «Як дзейсніцца адпачка за бацькоўствам?»
Атрыманы фрагмент: «Паведаміце своему керавальніку пра пачатак адпачкі за бацькоўствам за 30 дзён».
Рэзультатны адказ: асістент паведамляе працоўніку, што ён должен паведаміць свога керавальніка за цэлы месяц до пачатку адпачкі — гэта тэхнічна стосуецца тэмы, але насправдзе не адпавядае на запытанне пра трываласць адпачкі.
Падбортка якасці атрымання інфармацыі
Тады як можна запэўніцца, што на стадзіі атрымання будзе прадстаўлена правильная інфармацыя?
Тут важлівы калькі фактараў:
Стратэгія фрагментавання: спосаб раздзелення дакументаў вплывае на тое, чы релевантны контэкст застанется цэлысным у адзінам фрагменте.
Якасць інтэграцыі: кращыя методы інтеграцыі дапамагаюць лёгкая адпаведнесці запытання корыстніка з тым контэнтом, який насправдзе яго адпавядае.
Тэхніка пошуку: Адукацыя пошуку на асэмабліце семантычнай падобнасці з традыцыйным пошукам за ключоўкамі дапамагае захаваць як значэнне, так і точную формулювання.
Пераранжаванне: Спачатку адбираецца пачатковы набор кандыдацкіх фрагментаў, а пасля прыменяецца другі этап ранжавання, каб выявіць найболей корыстныя з іх.
Основная мета застаецца простай: прадасты LLM праві контэкст.
Заключанне
RAG — гэта не якісь чародны трюк.
Знайдзіце правую інфармацыю, перадаце яю LLM і дазвольце модэлю стварыць адпаведны адказ.
Гэта ўсё механізм.
LLM ніколі не было трэба знаваць усё з самага пачатку.
Йому проста трэба праві контэкст, які прадаецца у правы час.
І гэта ўсё сутнасць прынцыпа RAG: якісны вхід ведае да якіснага выходу, а некалітэтны вхід — да некалітэтнага выходу.
Тепер, калі хтась паведамляе пра „RAG гэта, RAG тое“, вы будзеце точна ведаць, пра шта яны говоряць.