2 पॉइंट द्वारा GN⁺ 2025-05-13 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Embedding हाल के तकनीकी लेखन के क्षेत्र में क्रांतिकारी प्रगति की संभावना प्रदान करता है
  • इसकी विशेषता है कि यह इनपुट टेक्स्ट के आकार की परवाह किए बिना स्थिर आयामों वाला संख्यात्मक array लौटाता है
  • इस संख्यात्मक array के जरिए मनमाने टेक्स्टों के बीच गणितीय तुलना संभव हो जाती है
  • Embedding बहुआयामी space में टेक्स्ट के अर्थ के आधार पर दूरी की गणना करता है, और related recommendation, semantic analysis आदि जैसे विभिन्न उपयोग संभव बनाता है
  • आगे चलकर तकनीकी documentation sites embedding data को सार्वजनिक करेंगी, जिससे नए tools और community use cases के विस्तार की संभावना है

मशीन लर्निंग आधारित Embedding तकनीक का अवलोकन

  • मशीन लर्निंग तकनीक में, टेक्स्ट generation models के विपरीत, Embedding में तकनीकी लेखन पर क्रांतिकारी प्रभाव डालने की क्षमता है
  • पिछले कुछ वर्षों में Embedding का उपयोग काफी अधिक सुलभ हो गया है
  • Embedding के जरिए तकनीकी लेखक अलग-अलग टेक्स्टों के बीच semantic comparison और analysis कर सकते हैं

Embedding के लिए सहज समझ बनाना

  • Embedding में टेक्स्ट (शब्द, वाक्य, कई दस्तावेज़ आदि) इनपुट देने पर स्थिर आकार का संख्यात्मक array लौटता है
  • इनपुट टेक्स्ट की लंबाई से स्वतंत्र होकर हमेशा एक ही आकार का array data बनता है
  • इससे अलग-अलग लंबाई के मनमाने टेक्स्टों के बीच भी गणितीय तुलना की संभावना बनती है

Embedding बनाने का तरीका

  • प्रमुख service providers के जरिए केवल कुछ lines of code से Embedding बनाया जा सकता है
  • इस्तेमाल किए जाने वाले model के अनुसार Embedding array का आकार अलग होता है; Gemini के मामले में 768 और Voyage AI के मामले में 1024 संख्याएँ लौटती हैं
  • provider या model के अनुसार Embedding का अर्थ पूरी तरह बदल जाता है, इसलिए interoperability की कमी होती है

लागत और पर्यावरणीय प्रभाव

  • Embedding बनाना स्वयं में बहुत महंगा नहीं है
  • अनुमान है कि इसकी generation process, टेक्स्ट generation models की तुलना में कम computational resources खर्च करती है, लेकिन पर्यावरणीय प्रभाव के बारे में आगे और जानकारी की आवश्यकता है

Embedding model चुनने के मानदंड

  • सबसे उपयुक्त model इस बात पर निर्भर करता है कि वह बड़े इनपुट डेटा को support कर सकता है या नहीं
  • 2024 के मानक के अनुसार Voyage AI का voyage-3 सबसे अधिक input limit प्रदान करता है
  • उपयोग के उद्देश्य और आवश्यकता के अनुसार सही model चुनना महत्वपूर्ण है

बहुआयामी space की अवधारणा

  • Embedding संख्यात्मक array का प्रत्येक मान बहुआयामी space के एक coordinate के बराबर होता है, और इस space में semantic position के रूप में टेक्स्ट की विशेषताएँ व्यक्त होती हैं
  • उदाहरण के लिए, king - man + womanqueen जैसी गणना semantic relations की अभिव्यक्ति की संभावना दिखाती है
  • Embedding space के प्रत्येक dimension की विशेषताएँ अधिकतर अस्पष्ट और अमूर्त होती हैं
  • इस प्रक्रिया के जरिए मशीन द्वारा अर्थ सीखना और टेक्स्ट के अर्थ का अनुमान संभव होता है

Embedding की तुलना और storage

  • बनाए गए Embedding को प्रत्येक टेक्स्ट (जैसे page आदि) के अनुसार database में संग्रहीत किया जाता है
  • दो Embedding के बीच गणितीय distance calculation (linear algebra का उपयोग) से semantic similarity का आकलन किया जा सकता है
  • NumPy, scikit-learn जैसी libraries के उपयोग से जटिल formulas लागू करने का बोझ कम हो जाता है

Embedding के अनुप्रयोग के उदाहरण

  • तकनीकी documentation sites में related pages recommendation feature के लिए Embedding का प्रभावी उपयोग होता है
  • प्रत्येक page के लिए Embedding बनाने के बाद, जिन pages की संख्यात्मक समानता अधिक हो, उनके बीच semantic रूप से जुड़े दस्तावेज़ों की recommendation संभव होती है
  • page content बदलने पर केवल Embedding को refresh करना पड़ता है, इसलिए दक्षता बहुत अच्छी रहती है
  • वास्तविक [Sphinx] documentation में लागू करने पर सकारात्मक प्रदर्शन की पुष्टि हुई

community और open data की संभावना

  • भविष्य में documentation sites REST API या well-known URIs के जरिए Embedding data उपलब्ध करा सकती हैं
  • इससे community विभिन्न application tools और services का विकास कर सकेगी

निष्कर्ष

  • सैकड़ों dimensions वाले space की अवधारणा को रोज़मर्रा के काम से जोड़कर देखना रोचक है
  • Embedding को अपनाने से documentation maintenance और feature expansion आदि में क्रांतिकारी प्रगति की संभावना की उम्मीद की जा सकती है

1 टिप्पणियां

 
GN⁺ 2025-05-13
Hacker News राय
  • नमस्ते, मैं यह कहना चाहता हूँ कि मैंने यह लेख लिखा है, इसके लिए धन्यवाद
    बताना चाहता हूँ कि 6 महीने पहले भी इसी तरह की चर्चा हुई थी
    "Embeddings are underrated" कहने का मतलब यह था कि यह machine learning practitioners की तुलना में technical writers के लिए अधिक उपयोगी tool है
    मुझे पता है कि इस लेख में ठीक-ठीक यह नहीं बताया गया कि technical writing में embeddings का इस्तेमाल कैसे किया जाए
    मैं embeddings के उपयोग पर projects और blog posts तैयार कर रहा हूँ
    embeddings महत्वपूर्ण हैं क्योंकि वे technical writing में हल करना कठिन 3 समस्याओं को सुलझाने में मदद कर सकती हैं

    • users को अपनी चाही हुई जानकारी आसानी से न मिल पाने की समस्या को सार्वजनिक रूप से अनुभव कराने के लिए मैंने UX layer के रूप में "semantic scrolling" लागू करके देखा
      search की बजाय आप <details>/<summary> tree structure में clusters के बीच घूम सकते हैं
      [1] शुरुआत का बिंदु है, और [2] पूरी collection (books, movies, music, animation आदि) है
      links भी साझा कर रहा हूँ

    • पोस्ट की सामग्री ऐसी बनाना बेहतर होगा कि वह machine learning experts की तुलना में technical writers को अधिक आकर्षित करे
      उदाहरण के लिए, "अब आप ऐसे scale पर texts के बीच connections खोज सकते हैं जो पहले संभव नहीं था" इस हिस्से को और विस्तार से समझाना अच्छा होगा
      application examples को थोड़ा पहले रखने से पाठकों तक बात अधिक प्रभावी ढंग से पहुँचेगी

    • technical writing में embeddings के सीधे application example के रूप में एक संबंधित paper की सिफारिश करता हूँ
      link दिया है

    • यह पढ़कर मैं जानना चाहता हूँ कि output की quality कैसी थी
      machine learning में पसंद किए जाने वाले evals तक जाए बिना भी, मोटे तौर पर क्या results तर्कसंगत लगे, यह जानना चाहता हूँ

    • मैंने लेख पढ़ा, लेकिन मुझे "embedding" क्या है इसकी व्याख्या नहीं मिली
      तीसरे पैराग्राफ में उपयोग की बात है, लेकिन embedding की परिभाषा शुरुआत में पर्याप्त नहीं है

    • beginners के लिए यह लेख बहुत बुनियादी लगा
      पढ़ने के बाद मुझे कोई नई जानकारी या insight नहीं मिली
      अगर embeddings के किसी मुख्य उपयोग का छोटा-सा preview भी दिखाया गया होता, तो शायद अगले लेख का अधिक इंतज़ार रहता
      साझा करने के लिए धन्यवाद

  • embeddings और embedding search का एक और लाभ यह है कि इसे client side पर कम बोझ के साथ लागू किया जा सकता है
    ONNX models को transformer.js से load और run किया जा सकता है
    hnsw जैसा index बनाकर उसे statically host भी किया जा सकता है
    मैंने खुद एक open source demo भी बनाया है
    index को queryable parquet file के रूप में दिखाकर duckdb से query किया जा सकता है
    Github Pages का उपयोग करें तो यह मुफ्त या लगभग मुफ्त में संभव है

    • client side पर JS से embeddings किए जा सकते हैं, यह मेरे लिए नई खोज है
      लगता है कि documentation sites के लिए नए applications खुलेंगे
      Parquet और Polars पर भी मेरा ध्यान पहले पढ़े गए एक लेख की वजह से गया था

    • इस तरह के implementation को लेकर मेरे मन में सवाल थे
      embedding-based search की latency की चिंता के कारण मैं इसे अपनाने में हिचक रहा था
      अगर model को local रखकर render किया जाए, तो quality OpenAI/Google की तुलना में कैसी होगी, यह जानना चाहता हूँ
      free/instant responsiveness इसका लाभ है

    • demo में वास्तव में क्या हो रहा है, इसे विस्तार से समझाएँ तो अच्छा होगा
      result ठीक से समझ नहीं आ रहा

  • "embeddings input text के आकार की परवाह किए बिना हमेशा समान आकार का number array लौटाते हैं, इसलिए किसी भी text की आपस में mathematical comparison की जा सकती है" — इस हिस्से को और स्पष्ट किया जाना चाहिए
    hash functions भी input size की परवाह किए बिना समान आकार का output देते हैं, लेकिन उनकी mathematical comparison और embeddings की comparison अर्थ के स्तर पर पूरी तरह अलग है
    यह ज़ोर देना ज़रूरी है कि embedding की quality उसके training process पर निर्भर करती है
    किसी भी मनमाने text के लिए meaningful comparison करने वाला कोई "universal embedding" मौजूद नहीं है

    • feedback के लिए धन्यवाद; मैं Gecko, NV-Embed, Gemini Embedding जैसी संबंधित papers पढ़ रहा हूँ और आगे लेख को अधिक सटीक रूप से सुधारने वाला हूँ
      links भी साझा किए हैं
  • embeddings hash की तरह बड़े input को compress करके represent करती हैं, लेकिन hash के विपरीत embeddings में अंतर्निहित अर्थ होता है
    तो क्या embeddings से उल्टी दिशा में समान अर्थ वाला text generate करने पर कोई "cracking" research है, यह जानना चाहता हूँ
    ऐसा भी लगता है कि LLM output में next token evaluate करते समय embedding similarity या direction change को शामिल किया जा सकता है
    लेखक ने embedding vectors के बीच operations का ज़िक्र किया था, उसी तरह मैं सोच रहा हूँ कि क्या पूरे paragraph/kitab जैसे बड़े text पर भी "meaning algebra" लागू किया जा सकता है
    क्या "affinity" जैसे किसी core concept को vectorize करके मौजूदा text में जोड़ा जा सकता है, यह भी जानना चाहता हूँ

    • "embedding से उल्टी दिशा में समान अर्थ वाला text generate करना" को embedding inversion या Universal Zero-shot Embedding Inversion कहा जाता है
      इस पर संबंधित papers मौजूद हैं, और image domain में CLIP embeddings का इस्तेमाल करने वाली diffusion research भी इससे जुड़ी हुई है

    • मोटे तौर पर कहें तो embeddings fuzzy hashes जैसी भूमिका निभाती हैं

    • मैं इस क्षेत्र का विशेषज्ञ नहीं हूँ, लेकिन inference-time intervention नाम का research area भी संबंधित हो सकता है
      paper link जोड़ा है

  • "embeddings का उपयोग करके technical writing में सर्वोच्च स्तर की प्रगति हासिल की जा सकती है" — यह बात ठोस नहीं है, इसलिए एक पाठक के रूप में इससे मदद नहीं मिलती
    technical docs पढ़ते या लिखते समय मुझे सामान्यतः कभी "similar pages" widget की ज़रूरत महसूस नहीं हुई

    • thesis दूसरे पैराग्राफ में है
      embeddings technical writers को texts के बीच ऐसे connections खोजने में मदद करती हैं जिन्हें पहले ढूँढना संभव नहीं था
      मैं मानता हूँ कि पोस्ट यह thesis उदाहरणों के साथ प्रभावी ढंग से नहीं दिखा सकी
      मेरा मानना है कि embeddings technical writing की कई कठिन समस्याओं को हल कर सकती हैं, और सीधे examples पर बाद में लिखूँगा

    • related documents से अलग भी, technical docs में बेहतरीन search बहुत उपयोगी होता है
      embeddings खास तौर पर "fuzzy matching" के लिए उपयोगी हैं, और जब users को सटीक शब्द याद नहीं रहते तब भी वे वास्तव में चाहा गया feature खोजने में मदद करती हैं
      keyword search और vector similarity search को मिलाने वाला hybrid approach प्रभावी है
      मैं और ठोस use cases ढूँढना चाहता हूँ

  • 2D map वाली analogy समझ की शुरुआत के लिए अच्छी है, लेकिन embeddings सैकड़ों से हज़ारों dimensions में काम करती हैं
    हर dimension का क्या अर्थ है, यह भी स्पष्ट नहीं होता, और 'king - man + woman = queen' उदाहरण इसलिए नहीं है कि कोई "gender dimension" मौजूद है, बल्कि इसलिए कि एक "specific direction" मौजूद होती है
    n-dimensions में लगभग orthogonal directions घातीय रूप से बहुत अधिक होती हैं
    यही कारण है कि 1000-dimensional space में अरबों concepts समाए जा सकते हैं

    • वास्तविक arXiv papers में अगर आप embedding में 1000 male words डालें तो 950 female words बिल्कुल सही मिल जाना जैसी बात नहीं होती
      लगभग 20 शब्दों तक दृश्य रूप से grouping दिख सकती है, लेकिन dimensions बहुत अधिक होने के कारण projection करने पर कुछ भी "सही" लग सकता है
      N बढ़ने पर results अस्पष्ट होना आसान है
      transformer-based embeddings context को ध्यान में रखती हैं, इसलिए वे पुराने word vectors की तुलना में कहीं बेहतर हैं
      पूरे text search में भी contextual embeddings synonym handling जैसी चीज़ों में information retrieval के पिछले 50 वर्षों के कई प्रयासों की समस्याओं को प्रभावी ढंग से हल करती हैं

    • इतनी विस्तृत आलोचना के लिए धन्यवाद; मैं मानता हूँ कि single dimension को concept के साथ one-to-one map होने जैसा समझाना एक conceptual error था
      cosine similarity कैसे काम करती है, इसके साथ इस अवधारणा को और बेहतर बनाकर पोस्ट को संशोधित करूँगा
      इन comments की वजह से मुझे लगता है कि मेरी सोच की गुणवत्ता बेहतर हुई है

    • यह रेखांकित किया गया कि "लगभग orthogonal dimensions" की बजाय "लगभग orthogonal directions" कहना अधिक सटीक है

    • Johnson-Lindenstrauss lemma से संबंधित जानकारी के साथ embedding dimensions को बनाए रखने और distance preservation precision के बारे में जिज्ञासा है
      10% error के साथ distances को preserve करने के लिए लगभग 18,000 dimensions चाहिए
      wiki link भी दिया गया है

    • और अधिक सटीक रूप से कहें तो "लगभग orthogonal dimensions" नहीं बल्कि "लगभग orthogonal directions" कहना चाहिए

    • यदि individual dimensions अर्थपूर्ण concepts से मेल खातीं, जैसे कि कोई gender dimension होती, तो "king" और "queen" के बीच का अंतर सिर्फ एक dimension में होना आसानी से पहचाना जा सकता था
      यदि अलग-अलग concepts के लिए अलग dimensions होतीं, तो उन differences के आधार पर concepts को सहज रूप से ट्रैक किया जा सकता था

    • लगभग orthogonal vectors की अवधारणा पर एक अच्छा article साझा किया गया
      link दिया गया है

    • क्या सिद्धांत यह है कि हर dimension को binary की तरह मानकर 2^n directions encode की जा सकती हैं, या मैं कुछ गलत समझ रहा हूँ?

    • अगर gender दो dimensions से represent हो, तो क्या "gender अलग है" और "हर dimension में component अलग है" इन दोनों को अलग कर पाना संभव नहीं होगा?

    • visualization संभव न भी हो, तब भी Euclidean distance की गणना की जा सकती है
      UMAP जैसे tools से dimensions को कम किया जा सकता है

    • king-man+woman=queen उदाहरण के संदर्भ में, vector addition हमेशा इच्छित तरीके से काम करे यह ज़रूरी नहीं
      केवल एक vector की दिशा और magnitude से अर्थ सीमित हो सकता है, और क्योंकि network nonlinear behavior सीखता है, शुरुआती बिंदु के अनुसार अर्थ बदल सकता है
      experimental evidence के बिना simple vector operations से generalize करने की सीमाएँ हैं

  • embeddings alphabet या numbers की तरह universality की दिशा में एक नई छलांग हैं
    link साझा किया गया है

  • विशेषज्ञों से एक सवाल
    यदि embeddings content, यानी meaning itself, को vector में रखती हैं, तो क्या केवल "style" के लिए भी कोई अलग vector हो सकता है?
    style के आधार पर writing analysis करने वाले research में अगर embeddings आसानी से इस्तेमाल हो सकें तो यह बड़ी प्रगति होगी

    • अगर style में समानता वाला dataset हो, तो केवल style के लिए embedding को train करके बनाया जा सकता है
  • मैं embeddings के उपयोग से पूरी तरह सहमत हूँ
    Recallify नाम की एक चीज़ बनाते हुए मैं online पढ़ी गई दुर्लभ जानकारी भी जल्दी से फिर खोज पाने लगा
    सिर्फ 1024 dimensions का उपयोग करने पर भी यह keywords नहीं बल्कि semantic similarity के आधार पर content को प्रभावी ढंग से जोड़ता है
    अस्पष्ट concepts को actionable insights में बदलने के लिए यह एक क्रांतिकारी tool है
    iOS app के beta testers भी भर्ती किए जा रहे हैं

  • मुझे समझ नहीं आया कि लेख में technical writers के लिए कोई सीधा use case आया भी था या नहीं
    embeddings LLM, semantic search आदि में बहुत महत्वपूर्ण हैं, लेकिन लेखक जिस direct utility की ओर इशारा कर रहे हैं, उसकी व्याख्या पर्याप्त नहीं है

    • कोई direct application example नहीं आया था
      मैं follow-up posts और projects के ज़रिए embeddings के कई उपयोग दिखाना चाहता था, लेकिन हाल में parenting (3 महीने का बच्चा) की वजह से यह टल गया
      आगे संबंधित projects और लेख तैयार कर रहा हूँ, और embeddings technical writing की 3 महत्वपूर्ण कठिन समस्याओं को हल करने में मदद करती हैं

    • embeddings के व्यावहारिक उपयोग semantic search, classification, और clustering हैं
      search के क्षेत्र में लगभग हर 10 साल में एक बड़ा advancement होता है
      embeddings बनाकर उन्हें मौजूदा ML algorithms में डालें तो effective classification संभव है
      Bag-of-Words approach अब कमजोर results देती है, जबकि embedding + simple algorithm से भी अच्छे clusters मिल सकते हैं
      nearby vectors ढूँढना भी linear algebra से अधिक बस dot product स्तर की चीज़ हो सकती है

    • papers, literature आदि को semantic रूप से search करने में embeddings बहुत उपयोगी होंगी
      लेकिन embedding में source information शामिल नहीं होती, इसलिए RAG search में केवल source page तक ही link किया जा सकता है
      citation और verification की समस्या अब भी बनी रहती है
      GraphRAG जैसे graph-based citation models अधिक उन्नत दिशा हैं

    • मैंने embedding-based semantic search से एक RSS feed classifier बनाया था
      arbitrary category-based classification भी संभव थी
      अभी AWS छोड़ने के कारण वह service बंद है