प्रौद्योगिकी साझेदारी

LLM - सदिशदत्तांशकोशेषु अनुक्रमणिका एल्गोरिदमस्य सारांशः

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

प्रस्तावना

सदिशदत्तांशकोशः अद्यतनस्य बृहत्-प्रतिरूपस्य ज्ञान-आधार-पुनर्प्राप्ति-अभ्यासस्य मूलघटकः अस्ति ।
image.png

  • प्रथमं, प्रासंगिकदस्तावेजदत्तांशः सदिशीकृतः सदिशीकृतदत्तांशकोशे एम्बेडेड् च भविष्यति, ततः उपयोक्तुः प्रश्नकथनं सदिशीकृतप्रश्ने परिवर्तितं भविष्यति, तथा च उच्चसादृश्ययुक्तं TOP Nदत्तांशं सदिशदत्तांशकोशे पुनः आहूयते
  • ततः TOP N क्रमेण क्रमयित्वा तेषु कतिपयान् चित्वा, एकं प्रॉम्प्ट् निर्माय, LLM इत्यनेन सह अन्तरक्रियाशीलरूपेण प्रश्नं कुर्वन्तु ।

सदिशप्रश्नदत्तांशस्य प्रश्नस्य च समानता प्रत्यक्षतया प्रॉम्प्टस्य गुणवत्तां प्रभावितं करोति अयं लेखः संक्षेपेण विपण्यां विद्यमानसदिशदत्तांशकोशानां परिचयं करिष्यति, ततः तेषु प्रयुक्तानां अनुक्रमणिकाविधीनां व्याख्यानं करिष्यति, यत्र उल्टा अनुक्रमणिका, KNN , अनुमानतः KNN, उत्पादमात्राकरणं, सन्ति । एच् एस एन डब्ल्यू इत्यादयः एतेषां एल्गोरिदम्स् इत्यस्य डिजाइन-अवधारणाः, पद्धतयः च व्याख्यास्यन्ति ।

सदिशदत्तांशकोशस्य परिचयः

image.png
सम्प्रति, त्रयः लोकप्रियाः मुक्तस्रोतसदिशदत्तांशकोशाः सन्ति Chroma, Milvus, Weaviate च मम विचारेण तेषां परिचयस्य भेदस्य च विषये अयं लेखः उत्तमः अस्ति यदि भवान् रुचिं लभते तर्हि भवान् पठितुं शक्नोति।त्रयाणां प्रमुखानां मुक्तस्रोतसदिशदत्तांशकोशानां मध्ये स्पर्धा
मुक्तस्रोतसदिशदत्तांशकोशानां विकास-इतिहासः निम्नलिखितम् अस्ति ।
image.png
तेषां प्रयुक्ताः अनुक्रमणिकाविधयः निम्नलिखितरूपेण सन्ति ।
image.png

अनुक्रमणिका पद्धति

उल्टा अनुक्रमणिका

image.png
यदि मम इदानीं एकः दत्तांशकोशः अस्ति यः विपर्यस्तसूचकाङ्कस्य उपयोगं करोति, यः 10^12 अनुक्रमणिकादत्तांशं संगृह्णाति, यदा वयं दत्तांशकोषे दत्तांशं संगृह्णामः, तदा वयं दत्तांशं विभज्य, ततः विभक्तशब्दानां अनुरूपशब्दान् अभिलेखयिष्यामः positions?यतो हि समानशब्दाः भिन्नभिन्नवाक्येषु दृश्यन्ते, प्रत्येकं शब्दः अनुक्रमणिकासमूहेन सह सङ्गच्छते:

  • बृहत् प्रतिरूप——>[...]
  • अनुप्रयोग——>[...]

इदानीं मम प्रश्नः अस्ति इति कल्पयतु- २०२४ तमे वर्षे बृहत्प्रतिमानानाम् अनुप्रयोगेन के विकासाः भविष्यन्ति?
दत्तांशकोशः अस्माकं प्रश्नकथनं त्रयः मुख्यशब्देषु विभजति: large model, 2024, development.ततः प्रत्येकस्य शब्दस्य अनुरूपं अनुक्रमणिकासंयोजनं पृच्छन्तु तथा च खण्डनं अन्वेष्टुम् एषा प्रश्नप्रक्रिया उच्यतेप्रत्यावर्तन।
अस्मिन् समये वयं प्रश्नेन सह सम्बद्धं दत्तांशं प्राप्तवन्तः, परन्तु एतेषां दत्तांशस्य प्रश्नकथनस्य च साम्यं भिन्नम् अस्ति अस्माभिः तान् क्रमेण क्रमयित्वा TOP N प्राप्तुं आवश्यकम् ।
तथापि, एतादृशः प्रश्नः यः प्रत्यक्षतया पाठदत्तांशं अनुक्रमणिकायाः ​​अनुरूपं करोति, सः अतीव कार्यक्षमः नास्ति किं वयं समानतापुनर्प्राप्तेः त्वरिततां कर्तुं शक्नुमः?
अस्मिन् समये सदिशीकृतपुनर्प्राप्तिः प्रादुर्भूतवती, दत्तांशं सदिशरूपेण परिवर्त्य, ततः सदिशस्य गणनां कृतवतीसादृश्यम्तथादूरीद्विधा अन्वेषणं कुर्वन्तु : १.
image.png

केएनएन अन्वेषण

KNN अन्वेषणं K nearest neighbor search इति उच्यते यत् एतत् प्रश्नकथनं सदिशे परिवर्तयति, ततः सदिशं सदिशं च दत्तांशकोशे अन्वेषयति ।उच्चतमं सादृश्यं निकटतमं च दूरम्सदिश सेट।
image.png
समयजटिलता O(N)*O(d), d आयामः, आयामदत्तांशः सामान्यतया नियतः इति कल्पयतु यत् 10,000 सदिशदत्तांशः दत्तांशकोशे संगृहीतः अस्ति, आयामाः च सर्वे 1024 सन्ति, ततः प्रश्नः maxSim(q,v)(उच्चतमं सादृश्यं), २.minDist(q,v)(समीपस्थस्य) सदिशस्य समयजटिलता O(10000)*O(1024) भवति ।
अस्याः पुनर्प्राप्तिपद्धतेः लाभः अस्ति यत् प्राप्तः दत्तांशः अत्यन्तं सटीकः भवति, परन्तु दोषः अस्ति यत् सः मन्दः भवति ।

अनुमानतः केएनएन अन्वेषणम्

अनुमानतः KNN अन्वेषणं प्रथमं निकटतमं खण्डं निर्धारयितुं, ततः द्रुतस्थाने सर्वाधिकं समानतां युक्तं निकटतमं बिन्दुं अन्वेष्टुम् अस्ति अधोलिखिते आकृतेः वामभागः KNN अन्वेषणम् अस्ति, तथा च धारः अस्ति अनुमानतः केएनएन अन्वेषणम् : १.
image.png
प्रत्येकस्मिन् खण्डे एकः केन्द्रबिन्दुः भविष्यति प्रश्नबिन्दुतः खण्डस्य च मध्ये दूरस्य गणना प्रत्येकस्य खण्डस्य प्रश्नबिन्दुतः केन्द्रबिन्दुपर्यन्तं दूरस्य गणना भवति:
image.png
यथा, उपरि चित्रे प्रश्नपदानि निम्नलिखितरूपेण सन्ति ।

  • प्रश्नबिन्दुस्य समीपस्थः खण्डः C6 (C6 इत्यस्य केन्द्रबिन्दुस्य समीपस्थः) अस्ति ।
  • ततः C6 मध्ये निकटतमं दूरं उच्चतमसादृश्यं च युक्तं बिन्दुं पृच्छन्तु

परन्तु वयं नग्ननेत्रेण द्रष्टुं शक्नुमः यत् यद्यपि रक्त-नारङ्ग-खण्डयोः केन्द्रबिन्दवः प्रश्नबिन्दुतः दूरं भवन्ति तथापि तेषां खण्डेषु बिन्दवः प्रश्नबिन्दुस्य समीपे एव सन्ति, अस्मिन् समये अस्माभिः व्याप्तिः विस्तारणीया अन्वेषणखण्डस्य : १.
image.png
निम्नलिखितम् अस्ति उच्चतमसादृश्यं निकटतमं च अन्वेष्टुं एल्गोरिदम् सूत्रम् अस्ति उच्चतमसादृश्यं (COS_SIM) निकटतमं दूरं यावत् एल्गोरिदम् द्वौ स्तः, यूरोपीय एल्गोरिदम् तथा च म्यानहट्टन् एल्गोरिदम् अहम् अत्र न व्याख्यास्यामि : १.
image.png

उत्पाद मात्रा निर्धारण(PQ) 1.1.

PQ एल्गोरिदम् प्रथमं सर्वान् सदिशान् बहुषु उपस्थानेषु विभजति ।
ततः मूल उच्च-आयामी सदिशः बहुषु निम्न-आयामी सदिश उपसदिशेषु विभक्तः भविष्यति, उपसदिशस्य समीपस्थस्य केन्द्रबिन्दुस्य उपयोगः उपसदिशस्य PQ ID रूपेण भविष्यति बहुभिः PQ IDs इत्यनेन निर्मितं भवेत्, यत् अत्यन्तं Compressed space.
image.png
यथा, उपर्युक्तचित्रे १०२४-आयामी सदिशः चतुर्णां २५६-आयामी उपसदिशेषु विभक्तः अस्ति, एतेषां चतुर्णां उपसदिशानां समीपस्थाः केन्द्रबिन्दवः सन्ति : ५०, ११८, २९, ४७ अतः १०२४-आयामी सदिशः V=(५०,११८,२९,४७) इत्यनेन प्रतिनिधितुं शक्यते, तस्य PQ कोडः अपि (५०,११८,२९,४७) अस्ति ।
अतः PQ एल्गोरिदम् इत्यस्य उपयोगेन सदिशदत्तांशकोशे सर्वेषां केन्द्रबिन्दुनाम् सूचनां सर्वेषां उच्च-आयामी-सदिशानां PQ-सङ्केतं च रक्षितुं आवश्यकम् अस्ति ।
मानातु इदानीं अस्माकं समीपे एकं क्वेरी स्टेट्मेण्ट् अस्ति यस्य वेक्टर् डाटाबेस् तः सर्वोच्चसादृश्यं युक्तं वेक्टर् क्वेरी कर्तुं आवश्यकम् अस्ति PQ एल्गोरिदम् इत्यस्य उपयोगेन कथं क्वेरी करणीयम्?

  • प्रथमं अस्माकं query statement इति query vector इत्यत्र परिवर्तितं भविष्यति
  • ततः प्रश्नसदिशः प्रत्येकस्य सदिशस्य PQ कोडेन सह दूरगणना भविष्यति वस्तुतः PQ कोड् मध्ये प्रत्येकं केन्द्रबिन्दुना सह दूरी गणितं भवति ततः योजितं भवति, यथा निम्नलिखितचित्रे दर्शितम् अस्ति:

image.png

  • ततः उपर्युक्तपद्धतिं अनुसृत्य प्रत्येकस्य उपसदिशस्य PQ कोडेन सह गणनां कृत्वा समीपस्थस्य सदिशस्य गणनां कुर्वन्तु तथापि केन्द्रबिन्दुना सह गणनायाः अस्य एल्गोरिदमस्य त्रुटयः भविष्यन्ति, यथा निम्नलिखितचित्रे दर्शितम् अस्ति

image.png
वामे यः अस्ति सः एकः प्रकरणः अस्ति यत्र दोषः अत्यल्पः भवति, दक्षिणे यः अस्ति सः एकः प्रकरणः यत्र दोषः तुल्यकालिकरूपेण बृहत् भवति सामान्यतया कतिपयानि दोषाणि भविष्यन्ति, परन्तु अधिकांशः दोषाः तुल्यकालिकरूपेण अल्पाः सन्ति

गणनानां त्वरिततायै caching इत्यस्य उपयोगः
यदि मूलप्रश्नसदिशः प्रत्येकस्य उपसदिशस्य च PQ कोडस्य कृते दूरगणनायाः आवश्यकता भवति, तर्हि अनुमानित KNN एल्गोरिदम् इत्यस्मात् बहु अन्तरं नास्ति, तर्हि अस्य अर्थः अस्ति अल्गोरिदम् इति किम् ? किं केवलं संपीडनार्थं, अन्तरिक्षसञ्चयस्य न्यूनीकरणाय च?
सर्वे सदिशः K उपस्थानेषु विभक्ताः इति कल्पयतु, तथा च प्रत्येकस्मिन् उपस्थाने n बिन्दवः सन्ति, वयं प्रत्येकस्मिन् उपस्थाने बिन्दुतः तस्य केन्द्रबिन्दुपर्यन्तं दूरं पूर्वमेव गणयामः, द्विमात्रिकमात्रिकायां स्थापयामः, ततः सदिशं पृच्छामः correspondence वयं प्रत्येकं उपसदिशतः केन्द्रबिन्दुपर्यन्तं दूरं प्रत्यक्षतया मैट्रिक्सतः पृच्छितुं शक्नुमः, यथा निम्नलिखितचित्रे दर्शितम् अस्ति ।
image.png
अन्ते अस्माभिः केवलं प्रत्येकस्य उपसदिशस्य दूरीनां वर्गमूलानि योजयितव्यानि ।

PQ एल्गोरिदम् इत्यनेन सह संयुक्तः अनुमानतः KNN
एतौ एल्गोरिदम्-द्वयं न विग्रहं करोति प्रथमं सर्वान् सदिशान् बहुषु उपस्थानेषु विभक्तुं अनुमानित-KNN-इत्यस्य उपयोगं कर्तुं शक्नोति, ततः तत्सम्बद्धे उपस्थाने प्रश्नसदिशं स्थापयितुं शक्नोति ।
एवं प्रकारेण गणनायाः त्वरिततायै उपस्थाने PQ एल्गोरिदम् उपयुज्यते ।

एनएसडब्ल्यू एल्गोरिदम अन्वेषण

दत्तसदिशदत्तांशसमूहे प्रश्नसदिशस्य समीपे ये K सदिशः (K-Nearest Neighbor, KNN) सन्ति, ते एकस्याः निश्चितमापनविधिना पुनः प्राप्ताः भवन्ति तथापि KNN इत्यस्य अत्यधिकगणनायाः कारणात् वयं प्रायः केवलं अनुमानितस्य विषये एव ध्यानं दद्मः निकटतम पड़ोसी (Approximate Neighbor, ANN) समस्या।
चित्रस्य रचनायां एनएसडब्ल्यू यादृच्छिकरूपेण बिन्दून् चयनं कृत्वा चित्रे योजयति । प्रत्येकं बिन्दुः योजितः भवति तदा m बिन्दवः धारं योजयितुं तस्य समीपस्थाः प्रतिवेशिनः इति ज्ञायते । अन्तिमसंरचना अधोलिखिते चित्रे यथा दर्शितं तथा निर्मितं भवति ।

NSW मानचित्रेषु अन्वेषणं कुर्वन्तः वयं पूर्वनिर्धारितप्रवेशबिन्दुभ्यः आरभामः । अयं प्रवेशबिन्दुः समीपस्थैः अनेकैः शिखरैः सह सम्बद्धः अस्ति । एतेषु कः शिखरः अस्माकं प्रश्नसदिशस्य समीपे अस्ति इति निर्धारयित्वा तत्र गच्छामः ।

यथा, A इत्यस्मात् आरभ्य A इत्यस्य समीपस्थः बिन्दुः C P इत्यस्य समीपे एव अद्यतनः भवति । तदा C इत्यस्य समीपस्थः बिन्दुः D P इत्यस्य समीपे भवति, ततः D इत्यस्य समीपस्थः बिन्दुः B, F च समीपं न भवति, तथा च कार्यक्रमः स्थगयति, यः बिन्दुः D अस्ति ।

HNSW

आलेखस्य निर्माणं शीर्षस्तरात् आरभ्यते । एकदा आलेखे, एल्गोरिदम् लोभेन किनारेषु भ्रमति यत् अस्माभिः सम्मिलितस्य सदिशस्य q इत्यस्य निकटतमं ef प्रतिवेशिनं अन्वेष्टुं शक्यते - अस्मिन् समये ef = 1 ।
एकदा स्थानीयं न्यूनतमं प्राप्तं चेत्, तत् अग्रिमस्तरं प्रति अधः गच्छति (यथा अन्वेषणकाले कृतम् आसीत्) । यावत् वयं स्वपसन्दस्य निवेशस्तरं न प्राप्नुमः तावत् एतां प्रक्रियां पुनः कुर्वन्तु । अत्र निर्माणस्य द्वितीयः चरणः आरभ्यते ।
ef मूल्यं वयं सेट् कृतं efConstruction पैरामीटर् यावत् वर्धितं भवति, यस्य अर्थः अस्ति यत् अधिकाः समीपस्थाः प्रतिवेशिनः प्रत्यागमिष्यन्ति । द्वितीयचरणस्य एते समीपस्थाः प्रतिवेशिनः नवनिवेशितस्य q तत्त्वस्य लिङ्कस्य अभ्यर्थिनः भवन्ति तथा च अग्रिमस्तरस्य प्रवेशबिन्दुरूपेण कार्यं कुर्वन्ति ।
अनेकपुनरावृत्तीनां अनन्तरं लिङ्क् योजयन्ते सति विचारणीयाः द्वौ अपि मापदण्डौ स्तः । M_max, यत् शिखरस्य अधिकतमसङ्ख्यां परिभाषयति, तथा च M_max0, यत् 0 स्तरस्य शिखरस्य अधिकतमसंयोजनसङ्ख्यां परिभाषयति ।

HNSW इत्यस्य अर्थः Hierarchical Navigable Small World इति बहुस्तरीयः आलेखः । दत्तांशकोशे प्रत्येकं वस्तु निम्नतमस्तरस्य (चित्रे 0 स्तरः) गृहीतः भवति । एते दत्तांशवस्तूनि अतीव सम्यक् सम्बद्धानि सन्ति । अधमस्तरस्य उपरि प्रत्येकं स्तरस्य उपरि न्यूनानि दत्तांशबिन्दवः प्रतिनिधिताः भवन्ति । एते दत्तांशबिन्दवः निम्नस्तरयोः मेलनं कुर्वन्ति, परन्तु प्रत्येकस्मिन् उच्चस्तरस्य घातीयरूपेण न्यूनाः बिन्दवः सन्ति । यदि अन्वेषणप्रश्नः अस्ति तर्हि समीपस्थाः दत्तांशबिन्दवः शीर्षस्तरस्य दृश्यन्ते । अधोलिखिते उदाहरणे एषः केवलम् एकः अधिकः दत्तांशबिन्दुः अस्ति । ततः एकं स्तरं गभीरं गत्वा उच्चतमस्तरस्य प्रथमस्य समीपस्थं दत्तांशबिन्दुं अन्विष्य ततः समीपस्थं प्रतिवेशिनः अन्वेषयति । गहनतमस्तरस्य अन्वेषणप्रश्नस्य समीपस्थं वास्तविकं दत्तांशवस्तु लभ्यते ।
HNSW अतीव द्रुतगतिः स्मृतिकुशलः च समानतासन्धानविधिः अस्ति यतोहि निम्नतमस्तरस्य सर्वेषां दत्तांशबिन्दून् न अपितु केवलं उच्चतमस्तरः (शीर्षस्तरः) एव कैशमध्ये रक्षितः भवति केवलं अन्वेषणप्रश्नस्य समीपस्थाः दत्तांशबिन्दवः उच्चस्तरैः अनुरोधितस्य अनन्तरं लोड् भवन्ति, अर्थात् केवलं अल्पमात्रायां स्मृतिः आरक्षिता भवति