17 पॉइंट द्वारा xguru 2024-09-13 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • Jina AI ने अप्रैल 2024 में Jina Reader लॉन्च किया, जो एक API है जो वेबपेज URL को LLM-अनुकूल Markdown में बदलता है
  • Jina Reader Chrome browser के जरिए वेबपेज source लाता है, Readability package से main content निकालता है, और regex तथा Turndown library का उपयोग करके साफ किए गए HTML को Markdown में बदलता है
  • लेकिन Readability filter कभी-कभी गलत content हटा देता था, या Turndown को कुछ खास HTML को Markdown में बदलने में कठिनाई होती थी, इसलिए सुधार की गुंजाइश थी
  • इसी वजह से Jina AI ने छोटे language model (SLM) का उपयोग करके HTML को end-to-end Markdown में बदलने के तरीके पर विचार किया

Reader-LM की विशेषताएँ

  • HTML को Markdown में बदलने का काम सामान्य LLM कार्यों की तुलना में न तो बहुत creative है और न ही बहुत complex; इसमें मुख्य रूप से input से output तक selective-copy की ज़रूरत होती है
  • इसलिए कम transformer block वाला एक shallow model architecture संभव है
  • लेकिन वास्तविक HTML में बहुत noise होता है और token लंबाई भी अधिक होती है, इसलिए 256K token तक के long-context support की आवश्यकता होती है
  • Jina AI ने इसके लिए "shallow-but-wide" SLM, reader-lm-0.5b और reader-lm-1.5b पेश किए। इनमें क्रमशः 494M और 1.54B parameters हैं

Reader-LM का उपयोग कैसे करें

  • Google Colab में reader-lm को आज़माया जा सकता है। एक notebook उपलब्ध है जो Hacker News वेबसाइट को Markdown में बदलने की प्रक्रिया दिखाती है
  • commercial environment में high-performance GPU का उपयोग करने की सिफारिश की जाती है। T4 की तुलना में RTX 3090/4090 स्तर अधिक उपयुक्त है
  • Reader-LM जल्द ही Azure Marketplace और AWS SageMaker पर भी उपलब्ध होगा
  • commercial license CC BY-NC 4.0 है; commercial उपयोग के लिए Jina AI से संपर्क करें

Reader-LM benchmark परिणाम

  • GPT-4o, Gemini, LLaMA सहित कई LLM के साथ तुलनात्मक मूल्यांकन किया गया
  • ROUGE-L, Token Error Rate (TER), Word Error Rate (WER) जैसे metrics का उपयोग किया गया
  • reader-lm-1.5b ने ROUGE-L 0.72 और WER 1.87 के साथ सबसे अच्छा प्रदर्शन दिखाया
  • वास्तविक output Markdown का दृश्य निरीक्षण करने पर भी reader-lm-1.5b header extraction, main content extraction, structure preservation और Markdown syntax उपयोग जैसे सभी पहलुओं में श्रेष्ठ दिखा

Reader-LM का training process

  • Jina Reader API से HTML और Markdown जोड़े बनाकर उन्हें training data के रूप में उपयोग किया गया। कुछ synthetic HTML भी जोड़े गए
  • 65M से 3B parameters तक के विभिन्न आकार के models पर प्रयोग किए गए
  • training दो चरणों में हुई। पहले चरण में छोटे और सरल HTML को 32K token sequence पर train किया गया, और दूसरे चरण में इसे 128K token तक बढ़ाकर train किया गया
  • repetition और loop में फँसने वाली degeneration समस्या को हल करने के लिए contrastive search और repetition stopping criteria लागू किए गए
  • OOM समस्या को हल करने के लिए chunk-wise model forwarding लागू किया गया और data packing implementation में सुधार किया गया
  • encoder-only model से समस्या हल करने की कोशिश भी की गई, लेकिन इसे token classification task की तरह संभालना कठिन था

निष्कर्ष

  • Reader-LM वेब data extraction और cleaning के लिए डिज़ाइन किया गया एक नया SLM है
  • HTML को Markdown में बदलने का काम जितना दिखता है उससे अधिक कठिन है। इसमें position-aware और context-आधारित reasoning की ज़रूरत होती है, इसलिए बड़े parameter size की आवश्यकता पड़ती है
  • SLM को scratch से train करना बहुत कठिन है। pre-trained model से शुरुआत करना कहीं अधिक प्रभावी है
  • आगे context length बढ़ाने, decoding speed सुधारने और input में instruction support जोड़ने जैसे कई सुधारों की गुंजाइश अभी बाकी है

2 टिप्पणियां

 
ragingwind 2025-01-21

मैं ऐसा कुछ बनाना चाहता हूँ।

 
xguru 2024-09-13

Jina AI Reader - URL को LLM-अनुकूल इनपुट में बदलने वाला टूल

मैं इसका अच्छी तरह उपयोग कर रहा हूँ, लेकिन सोचता हूँ कि अगर इसे और छोटा बनाकर ब्राउज़र में ही एम्बेड कर दिया जाए तो अच्छा होगा, हा