Векторно търсене към успех Проучване на ролята на RAG в разработването на сложни LLMs

Преди 2022 г., ако искате бързо да си припомните конкретен пасаж от любимата си книга или цитат от филм, който току-що сте гледали, без самото произведение пред вас, вероятно ще се обърнете към търсачка. Ще го подканите с добре формулиран вход за търсене, ще анализирате върнатите резултати, ще посетите връзката SparkNotes или IMDB, която изглежда съдържа вашия отговор, и ще намерите текста, който търсите на страницата в рамките на няколко минути. Сега просто отваряте ChatGPT, напишете „кой е най-известният цитат от Терминатор?“ или „напишете началния пасаж от Приказка за два града“ и получете дословния си отговор след секунди.

Една от най-простите употреби на голям езиков модел (LLM) е като база данни със знания. LLM са обучени на огромни набори от богата информация, чиито интерфейси като ChatGPT са улеснили извличането. Когато подканите ChatGPT да върне съдържание от филм или книга, например, вие просто използвате способността на модела да си спомни информация, на която е бил изложен по време на обучението си. Но какво ще стане, ако не е обучен по сценария на Терминатор или ако теглото му не придава значение на произведенията на Дикенс? За да осигурят най-точните и подходящи резултати дори за най-простите случаи на употреба, като извличане на основна информация, LLMs се нуждаят от усъвършенствани механизми за индексиране и извличане, които имат достъп до широк спектър от информация с прецизност.

Разбиране на генерирането и обучението на съдържание за LLM

Съдържанието на LLM се генерира чрез процес, известен като предсказване на следващия токен , който гарантира, че отговорите са контекстуално подходящи, разнообразни и донякъде отразяващи човешкото разбиране. Ето как работи предвиждането на следващия токен, стъпка по стъпка:

  1. Обработка на въвеждане: Когато въведете подкана или въпрос, този вход се преобразува в токени: думи или части от думи.

  2. Разбиране на контекста: Моделът разглежда символите, които сте му дали, и въз основа на обучението си се опитва да разбере контекста, който включва всичко от разглежданата тема до тона, който може да използвате.

  3. Предсказване на следващия токен: Използвайки контекста, който е разбрал, моделът прогнозира кой е най-вероятният следващ токен. Това не е просто предположение въз основа на непосредствено предишната дума; обмисля целия контекст на разговора до този момент.

  4. Избор на токен: След като е предвидил набор от възможни следващи токени, той избира един. Този избор се основава на вероятността - токенът, който е най-вероятно да дойде следващия въз основа на данните, върху които моделът е обучен. Заслужава да се отбележи обаче, че тук също има известна случайност, която помага за генерирането на по-разнообразни и естествено звучащи отговори.

  5. Генериране на изход: Избраният токен след това се преобразува обратно в четим от човека текст. Ако отговорът не е пълен (което често не е след само един токен), процесът се повтаря. Новият токен се добавя към последователността и моделът предвижда следващия токен въз основа на този актуализиран контекст.

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

Ограничения на компресията в LLM обучение

Когато LLM прогнозира токен, той ефективно извлича и използва компресираните знания, вградени в неговите тегла, за да произведе контекстуално подходящи изходи. По този начин LLM обучението отразява компресирането на база данни. Точно както базата данни е оптимизирана за бързо извикване на често достъпни данни, LLM е проектиран да извлича информация - специфични интерполирани спомени - от своите тегла. Тази способност му позволява да произвежда прецизни отговори на запитвания относно познат материал, който е срещал по време на обучението си, подобно на запитване към база данни за добре индексирана информация. Ограничения обаче възникват, когато моделът срещне по-малко познато или неясно съдържание. Например, когато попитате LLM за конкретни пасажи от Библията, той ги цитира дума по дума, но не може да цитира дума по дума никоя концепция, на която не е бил излишно „свидетел“ по време на обучението, тъй като тежестите, свързани с тази концепция, са твърде незначителен. В този смисъл LLM също е аналогичен на база данни. Точно както една база данни може да върне само данни, които са изрично съхранени в нея, LLM може да се бори с генерирането на съдържание по теми, които не е виждал широко по време на обучението.

Разбира се, LLMs са извън обхвата на тази аналогия, тъй като те имат вътрешен модел на света, който им позволява да "разбират" нещата само отвъд търсенето. Въпреки това, това прекалено опростяване ни помага да разберем някои от ключовите ограничения в начина, по който LLM се обучават да генерират съдържание.

Допълнителни ограничения на LLM обучението

Освен това системата за предсказване на следващия токен има други присъщи ограничения, които произтичат от нейния фундаментален подход за генериране на текст:

  • Размер на контекстния прозорец: Едно от основните ограничения е размерът на контекстния прозорец на модела – максималното количество текст (в токени), което моделът може да вземе предвид, когато прави прогноза. За много модели, включително по-ранни версии на GPT, този прозорец не е достатъчно голям, за да поддържа контекст в дълги разговори или документи, което може да доведе до загуба на съгласуваност в по-дълги текстове или сложни дискусии, които изискват поддържане на контекст извън непосредствено предходните токени.

  • Обобщение срещу специфичност: Въпреки че тези модели се обучават върху огромни набори от данни, способността им да обобщават от това обучение понякога може да ги накара да създадат общо или смътно уместно съдържание. Те могат да пропуснат целта при генерирането на много специфични или нюансирани отговори, които изискват подробно разбиране или актуални познания извън техните данни за обучение.

  • Липса на външен достъп до знания: Моделите за прогнозиране на следващ токен са ограничени до информацията, съдържаща се в техните набори от данни за обучение. Те нямат достъп до или да включат нова информация след обучението, което означава, че могат бързо да остареят или да им липсва актуален контекст, като скорошни събития, открития или актуални теми.

  • Повторяемост и предсказуемост: Алгоритмичният характер на предвиждането на следващия токен може понякога да доведе до генериране на повтарящ се или предвидим текст. Тъй като моделът често предпочита токени, които статистически е по-вероятно да следват предвид контекста, той може да попадне в цикли или да предпочете общи фрази, намалявайки променливостта на изхода.

Разширено генериране на извличане (RAG) обяснено

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

Когато разговор надхвърли контекстния прозорец на LLM или когато подкана надхвърли лимита на значителни тегла в собствения набор от данни за обучение на LLM (което означава, че не може да си спомни точно отговора, който потребителят търси), моделът обикновено разчита на външна база данни за векторно търсене , което му позволява да търси подходящ контекст или свежи данни, които могат да бъдат добавени към подкана от потребителя. Този процес е известен като генериране с разширено извличане (RAG).

„Векторно търсене към успех“

Процесът RAG е възможен чрез база данни за векторно търсене: усъвършенстван тип база данни, която съхранява и управлява данни като вектори. Тези вектори представят данните във високомерно пространство, където всяко измерение улавя някакъв аспект от значението на данните, което позволява представянето на сложни връзки и атрибути. В контекста на текста и езика базите данни за векторно търсене използват техники като вграждания за преобразуване на текст в числови вектори. Това преобразуване позволява на системата да измерва семантичните прилики между различни части от текст чрез изчисляване на разстоянията между съответните им вектори в това многоизмерно пространство.

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

Тези най-близки съседи предоставят контекстуално релевантна допълнителна информация, до която основният LLM може да не е имал достъп в рамките на собствените си данни за обучение, което може значително да подобри точността, уместността, богатството и разнообразието на резултатите на LLM. Сам Алтман, наред с други, се застъпва за подхода „векторно търсене към успех“ – разчитайки на RAG за разработване на агенти, вместо само на фина настройка на модела.

RAG като алтернатива на фината настройка

Фината настройка на LLM включва коригиране на теглата на модел въз основа на допълнително обучение върху конкретен набор от данни, за да се подобри производителността за определени задачи или да се подобри разбирането в определени области. Не само, че този процес е по-бавен от темпото на иновациите, което означава, че фино настроените модели остаряват почти толкова бързо, колкото се актуализират, той също така не решава проблема с актуалните данни.

За разлика от това, RAG позволява на модела да осъществява достъп до външни бази данни в реално време, за да извлече най-актуалната информация, свързана с въпросната заявка. Дори ако основният модел не е бил актуализиран или фино настроен наскоро, той все още може да генерира отговори, които включват най-новите данни. Моделите остават уместни по-дълго, защото могат да се адаптират към нови данни и променящ се контекст чрез извличане на външни източници на информация.

RAG ефективно преодолява пропастта между дълбокото обучение и традиционните техники за извличане на информация. Правейки това, той използва силните страни и на двете – мощното контекстуално разбиране на дълбокото обучение и прецизността на извличане на информация. Този хибриден подход позволява на LLMs да произвеждат по-точни, подробни и контекстуално богати отговори.

Обръщане към допълнителните ограничения на LLM

Освен фината настройка, RAG се справя и с отбелязаните по-рано предизвикателства, свързани със стандартните LLM:

  • Разширяване на контекстуалното разбиране: RAG разширява контекстния прозорец на традиционните LLM чрез извличане на актуална или подробна информация, която подобрява отговорите на модела.

  • Подобряване на специфичността и точността: Вместо да разчита единствено на модели, научени по време на обучението, RAG позволява на модела да инжектира специфични подробности от извлечените документи в отговорите си, което ги прави не само по-точни, но и съобразени с конкретното запитване.

  • Намаляване на повторяемостта и предсказуемостта: Чрез динамично извличане на различни набори от информация за всяка заявка, RAG може значително да променя отговорите на модела. Тази променливост помага за намаляване на повторяемостта и предсказуемостта, често наблюдавани в чистите генеративни модели, тъй като външните данни въвеждат нови фрази и подробности в разговора.

Предизвикателства и необходима еволюция на RAG

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

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

Освен това, интелигентността на обогатен с RAG LLM зависи значително от качеството и уместността на информацията, извлечена от базата данни за векторно търсене. Ако съдържанието на базата данни не е изчерпателно, актуално или добре поддържано, полезността на извлечената информация може да бъде ограничена, което да повлияе на цялостната интелигентност на отговорите.

Дори когато се извличат висококачествени външни данни, остава предизвикателството колко ефективно тази информация може да бъде интегрирана в съществуващата рамка за отговор на LLM. Моделът трябва не само да включва тези външни данни, но и да го прави по начин, който е контекстуално подходящ и съгласуван. Несъответствието между обучението на модела и естеството на външните данни може да доведе до отговори, които са технически точни, но контекстуално несвързани.

Следващото поколение LLM

Следващото поколение LLM вероятно ще съчетае базирани на векторно търсене RAG и традиционни методи за обучение/фина настройка, заедно със структурирана обработка на данни (напр. SQL бази данни с пазарни данни на TradFi и свързани финансови новини). Концепцията за наличие на доставчик на LLM „тук“ и отделна база данни за векторно търсене „там“ ще се съпостави чрез нови модели, които интуитивно разширяват своята индексирана работна памет до локални SSD с терабайти векторизиран контекст.

Space and Time вече достави Proof of SQL – ZK доказателство, което проверява точността и защитата от фалшифициране на обработката на SQL бази данни – на клиентите и наскоро достави Proof of Vector Search, което прави същото за извличане на векторно търсене. Тези нови доказателства отварят пътя за бъдещето, в което LLMs могат да интегрират нов контекст, да имат достъп до по-широк и по-нюансиран спектър от данни в реално време и да интегрират обработка на структурирани данни, за да доведат до по-проницателни анализи, всичко това по проследим и проверим начин. Тези подобрения в крайна сметка ще разширят обхвата на приложенията за LLMs, разширявайки тяхната полезност в сектори, които разчитат в голяма степен на актуални данни, като финансови услуги, агрегиране на новини и оценка на риска, като по този начин тласкат напред следващата вълна от AI -насочена иновация.

Скот Дикстра

Съосновател и технически директор

Скот Дикстра е съосновател и главен технологичен директор за Space and Time, както и стратегически съветник на редица стартъпи за бази данни и Web3 технологии, включително Sotero. Скот има дълга история на изграждане и мащабиране на големи инженерни екипи около сложни предизвикателства на зелено и научноизследователска разработка. Със специализация в анализите в мащаб на предприятието, Скот преди това е служил като вицепрезидент на облачните решения в Teradata, където прекарва почти осем години, пренасяйки Teradata от локални внедрявания до следващо поколение, базиран в облак SaaS. Скот е далновиден продуктов лидер с опит в разработването на продукти в Web3, складиране на данни, облак и търговия с деривати. Скот е обсебен от красивия UX/UI. Предприемач до мозъка на костите си, Space and Time е второто успешно начинание на Скот като изпълнителен директор на стартиращ изследователски бизнес.

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

https://www.spaceandtime.io/blog/vector-search-to-success