Мақалалар

Token Pooling-Aware Training: Көп векторлы ендірме модельдерін тиімді дайындау әдісі

Жасанды интеллект пен табиғи тілдерді өңдеу саласында мәтінді тиімді іздеу мен ұқсастықты табу маңызды міндеттердің бірі саналады. Көп векторлы ендірме модельдері сұраныстың әрбір бөлігіне бөлек бөлек бейнелеу (вектор) тағайындап, құжаттардан нақты сәйкес ақпаратты іздеуде жоғары дәлдік пен икемділік ұсынады. Дегенмен, мұндай модельдер үлкен көлемдегі құжат жинақтарын өңдегенде, бейнелеулердің саны күрт артып, есептеу және сақтау ресурстарына ауыртпалық түсіреді. Осы кезенде «token pooling» — яғни ұқсас токен векторларын біріктіру әдісі құндылығын арттырады. Бұл мақалада token pooling-aware training (біріктірілген векторларды есепке ала отырып оқыту) әдісі жайлы түсінік беріліп, оның мәтіндік іздеудегі тиімділігі мен есептеу ресурстарын үнемдеудегі рөлі талқыланады.

Көп векторлы ендірме модельдерінің ерекшеліктері

Құжатты бір ғана векторға біріктіретін дәстүрлі модельдерден айнымашылығы – көп векторлы модельдер, мысалы ColBERT, әрбір токенге бөлек бейнелеу береді. Бұл сұраныстың әрбір компоненті құжаттың өзекті бөлігімен жеке сәйкестендіріледі. Мысалы, «ұзақ жұмыс істейтін ноутбук» туралы сұраныста, бір вектор ноутбук туралы ақпаратты, ал екінші вектор батареяның қызмет ету мерзімін сипаттайтын мәліметті тауып бере алады.

Мұндай әртүрлі токендердің өзара сәйкестенуін MaxSim есептеу әдісі арқылы жүзеге асырады: сұраныстың әрбір вектор компоненті құжаттағы ең жақсы сәйкестігін табады, содан кейін бүкіл сұраныс пен құжат арасындағы ұқсастықтар қосылады. Алайда бұл тәсіл бейнелеулердің санының күрт өсуіне апарады. Мысалы, құжат당 200 токен бейнелеуі, әрқайсысы 128 өлшемдік және 4 биттік сандықталумен сақталғанда, миллион құжат үшін 12,8 Гбайттық мәлімет керек болады.

Token pooling әдісі және оның іске асырылуы

Token pooling әдісі ұқсас бейнелеулерді біріктіріп, бейнелеу санын қысқартады. Әсіреден гөрі топтастыру үшін Ward-иерархиялық кластерлеу қолданылады. Бұл әдісте алдымен әрбір токендік вектор жеке топ болады, содан соң ең ұқсас екі топ біріктіріліп, топтардағы бейнелеулердің дисперсиясы азаяды. Нәтижесінде, құжаттардың бейнелеуі орташа мәнге негізделген жаңа векторлар жиынына айналады, ол MaxSim әдісімен өңделуге дайындалады.

Бұл тәсілде қысу деңгейін құжат ұзындығына пропорционалды етіп реттеуге болады. Мысалы, pool_factor=4 болса, құжаттардағы бастапқы бейнелеулердің төрттен біріне жуық бөлігі ғана қалады. Ұзын құжаттар көбірек векторларды сақтап, мазмұнын кеңірек ұсына алады. Сонымен қатар, токендердің бірігуінен бірінші токен қорғалады, яғни сұраныс бейнелеуі толық қалыпта қалады.

Қысу деңгейін таңдау және бейімделген кластерлеу

Қысу деңгейін анықтау үшін бірнеше параметр қолданылады: максималды вектор саны (max_tokens), пайыздық қатынас (pool_factor) және белгілі бір қашықтық шегін (distance_threshold) орнату. Бұл параметрлер құжаттың мазмұнына қарай бейнелеу санын икемді түрде реттеуге мүмкіндік береді.

Адаптивті pooling тәсілі ортақ қашықтық шегін пайдаланып, ұқсас векторларды біріктіріп, айрықша мазмұны бар құжаттарды көбірек вектормен сипаттайды. Осы әдісті қолдану үшін алдын ала таңдалған құжаттар үлгісі бойынша шекті мәнді калибрлеу жүргізіледі. Бұл калибрлеу нәтижесінде модель жалпығырақ орташа вектор санын мақсат етіп алады.

Token Pooling-Aware Training әдісі және оның маңызы

Қысу әдісі қолданыстағы кәдімгі модельдерде де пайдалы, алайда құжат мазмұнындағы маңызды айрықшалықтарды біріктіру кезінде жоғалту қаупі пайда болады. Сондықтан модельді жинақтағанда, бейнелеулер қысылған күйде де әсерлі сәйкестіктерді табуға үйрету керек. Бұл мақсатта екі түрлі жоғалту функциясы бірге қолданылады:

  • Бастапқы толық бейнелеулермен іздеу нәтижесін жақсарту;
  • Қысылған бейнелеулермен іздеуді де тиімді ету, яғни біріктіру кезінде маңызды ақпараттың сақталуын қамтамасыз ету.

Осылайша, модель екі функцияны тең дәрежеде орындайтын форматқа жетеді. Оқыту кезінде иерархиялық кластерлеу сығылған бейнелеулерге градиенттердің кері берілуін жеңілдетіп, нақты кластеризацияның өзгеріссіз қалуына қарамастан, модель қателіктерден үйренуге жағдай жасайды.

Қолдану мысалдары мен әсері

Token pooling-aware training әдісі нақты тәжірибеде Sentence Transformers кітапханасын қолдану арқылы жүзеге асырылады. Мысалы, pool_factor=4 жағдайында алдын-ала дайындалған модель әдеттегі сығымдалмаған нәтижесінің 94,6%-ын сақтайды, яғни қүжаттардағы векторлар санын төрт есеге қысқартады. Ал pooling-aware оқыту әдісімен дәлдік 97,8%-ға жетеді, бұл бірдей сақтау көлемінде іздеу сапасын айтарлықтай арттырады.

Бұл тәсіл ірі көлемдегі мәтіндік базалардағы іздеу жүйелерінің жылдамдығын арттырып, есептеу ресурстарына қажетті жүктемені азайтады. Сонымен қатар, қосымша қысу әдістерімен үйлестіріп, жад пен есептеу қуатын үнемдеуде тиімділік деңгейін одан әрі жақсартуға болады.

Қорытынды

Көп векторлы эндірме модельдері ақпарат іздеуде жоғары нәтижелер береді, бірақ оларды сақтау мен өңдеу шығындарын азайту маңызды міндет. Token pooling әдісі ұқсас токен бейнелеулерін біріктіріп, осы мәселені шешеді. Ал pooling-aware training модельді сығыстырылған бейнелеулермен де тиімді жұмыс істеуге үйретеді. Нәтижесінде, сақталатын бейнелеулер саны азайып, іздеу сапасы жоғарыланады. Бұл әдіс үлкен мәтіндік қорлардан жылдам және анық ақпарат табу үшін қолайлы шешім ретінде қаралады.

Дереккөз: Hugging Face Blog

Back to top button