2 पॉइंट द्वारा GN⁺ 2024-07-31 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • OpenStreetMap चलाने वाले लोगों ने तंज कसते हुए कहा कि AI कंपनियां चुपके से scraping करके बोझ बढ़ाने के बजाय 10,000 डॉलर दान करें, जिससे डेटा access की लागत और infrastructure पर पड़ने वाला दबाव सामने आता है
  • 50,000 डॉलर के दान पर OpenStreetMap.org से सीधे मिनट-दर-मिनट live streaming updates देने का सुझाव भी जोड़ा गया
  • Scraping ट्रैफ़िक कोई दुर्लभ अपवाद नहीं, बल्कि महंगे API endpoints पर प्रति सेकंड सैकड़ों requests कई IPs और नकली User-Agent के साथ आने के स्तर तक पहुंच चुका है
  • planet.osm का पूरा डेटा, बदलावों के updates, और महाद्वीप-स्तर का डेटा पहले से उपलब्ध है, इसलिए धीमी web scraping की जगह आधिकारिक dataset का उपयोग अधिक उपयुक्त है
  • User-Agent की नक़ल और IP बदलने की वजह से block करना कठिन है, लेकिन बड़े AI crawlers को block करना और उदार rate limit लगाना वास्तविक नुकसान कम करने का व्यावहारिक तरीका हो सकता है

OpenStreetMap डेटा scrape करने के बजाय दान करने का प्रस्ताव

  • AI कंपनियों से कहा गया कि वे OpenStreetMap को चुपके से scrape न करें और 10,000 डॉलर दान करें
  • यह भी जोड़ा गया कि 50,000 डॉलर दान करने पर OpenStreetMap.org से सीधे मिनट-दर-मिनट live streaming updates भी दिए जा सकते हैं
  • टिप्पणियों में बार-बार यह बात दोहराई गई कि OpenStreetMap डेटा पहले से ही अधिक उपयुक्त तरीकों से उपलब्ध है
    • पूरा planet.osm डेटा उपलब्ध है
    • बदलावों के updates उपलब्ध हैं
    • महाद्वीप-स्तर का डेटा भी उपलब्ध है
  • वेबसाइट को सीधे scrape करना पहले से उपलब्ध पूरे डेटा की तुलना में धीमा और अक्षम तरीका माना गया

Scraping ट्रैफ़िक से पैदा होने वाला परिचालन बोझ

  • OpenStreetMap scraping को “पहली बार दिखने वाली चीज़” नहीं, बल्कि बहुत आम समस्या माना जाता है
    • महंगे API endpoints पर प्रति सेकंड सैकड़ों requests आने के मामले होते हैं
    • कई IPs का इस्तेमाल किया जाता है
    • User-Agent को नकली बनाया जाता है
  • User-Agent आधारित blocking की स्पष्ट सीमाएं हैं
    • python-requests/2.26.0 जैसे library के default User-Agent इस्तेमाल होते हैं
    • browser या googlebot जैसा रूप धारण किया जाता है
    • robots.txt का पालन मानो वैकल्पिक समझा जाता है
    • block होने पर IP या User-Agent बदल दिया जाता है
  • फिर भी कुछ AI crawlers के अपने User-Agent होते हैं, इसलिए बड़े नुकसान करने वालों की पहचान कर उन्हें रोका जा सकता है
    • उदाहरण के तौर पर Bytespyder का उल्लेख किया गया
    • उद्देश्य यह नहीं कि अतीत के सभी data-mining IPs को block कर दिया जाए, बल्कि उन पक्षों को रोका जाए जो वास्तविक नुकसान पहुंचा रहे हैं
    • बहुत उदार rate limit रखने पर केवल समस्या पैदा करने लायक ट्रैफ़िक ही सीमित होगा

1 टिप्पणियां

 
GN⁺ 2024-07-31
Hacker News की राय
  • प्रभावित कंपनियां AI crawler सेनाओं से लगातार ज्यादा चिढ़ रही हैं। ये crawlers robots.txt का पालन करने, public API इस्तेमाल करने, peak hours से बचने जैसी scraping की best practices नहीं मानते
    यह सिर्फ copyright का मामला नहीं है; अत्यधिक scraping traffic की वजह से infrastructure cost भी बढ़ती है। आखिरी स्थिति क्या होगी? AI तो अब CAPTCHA भी हल कर सकता है, इसलिए bot defense की arms race असल में हार चुकी लगती है

    • लक्ष्य scraping को असंभव बनाना नहीं, बल्कि उसे महंगा बनाना है। इंसान bots की तरह तेजी से requests नहीं भेजते, इसलिए इंसान होने का दिखावा करने वाले bots भी आखिरकार rate limit में फंसेंगे
      अंततः account की जरूरत पड़ेगी, वह account भी track होगा, और किसी खास pattern से मेल खाने वाले accounts delete किए जाएंगे। Scraping को रोका नहीं जा सकता, लेकिन असली बात रोकना नहीं बल्कि उसे धीमा और महंगा बनाना है। किसी बिंदु पर जब इंसान होने का दिखावा करने से बेहतर license fee देना हो जाए, तो arms race भी खत्म हो जाएगी
      क्या defense इतना अच्छा बनाया जा सकता है कि लड़ना ही बेहतर न लगे—यह सवाल इस बात से कहीं ज्यादा कठिन है कि कोई random bot इंसान बनकर कुछ requests कर सकता है या नहीं
    • आखिरकार लगता है कि API access जैसी चीजें allowlist आधारित हो जाएंगी। यह verify करने के लिए कि आप bot नहीं हैं, शायद कंपनी के किसी असली व्यक्ति से वास्तविक संबंध बनाना पड़े
      बाकी सभी तरीकों की नकल की जा सकती है, इसलिए इसमें in-person meeting तक शामिल हो सकती है। यानी अंततः हम 1960 के दशक वाली business दुनिया में लौट रहे हैं। यह सब इसलिए कि technologists ने सबके पैरों के नीचे से कालीन खींच लिया
    • पता नहीं AI अपने अंतिम लक्ष्य को ध्यान में रख रहे हैं या नहीं। इंसानों की तरफ से देखें तो लगता है कि यह dark forest के हिसाब से बना internet होगा
      अब यह नहीं माना जाएगा कि ज्यादातर हिस्सा अच्छा है और केवल malicious हिस्से को track करके block करना है। इसके बजाय, केवल वे हिस्से अच्छे माने जाएंगे जिन्हें explicitly trusted peers के group ने approve किया हो, और बाकी सब malicious माना जाएगा। भरोसे की वजह से नुकसान हुआ तो उस trust relationship को काट दिया जाएगा, और ऐसी trust hygiene काम करे, इसके तरीके खोजे जाएंगे
      मौजूदा internet से तुलना करने पर पहला ख्याल आता है, “यह तो पूरी पृथ्वी के scale पर expand नहीं होगा।” लेकिन इसकी जरूरत भी नहीं है। Computers को जिन समस्याओं का हल देना है, वे आखिरकार सारी local problems ही हैं
    • जवाब है authentication वाली API-based interaction
      पुराने websites के अंदर अपनी API होती थी, जो request करने वाले किसी को भी freely content दे देती थी। अब websites को external API से बात करके display करने वाला user-facing simple interface बनना चाहिए, और API access अधिकार user की जिम्मेदारी होना चाहिए
      जो जानकारी ले जाने लायक है, उसे authentication के पीछे lock करना चाहिए। बड़े providers के जरिए OAuth की वजह से authentication बेहद आसान हो गया है
      जो लोग पैसे देकर इंसानों या paid services से content extract करवाना चाहते हैं, उनके लिए बेहतर है कि वे ठीक से packaged और reasonable price वाली API ही इस्तेमाल करें
      अंत में, robots.txt को कानून से enforce किया जाना चाहिए। दुकान से सामान चुराने और website से content चुराने में कोई फर्क नहीं है
      AI और लालच ने internet की खुली आजादी को मार दिया
    • भरोसे पर आधारित invite-only authentication islands बनने लगेंगे। यह internet के अंधाधुंध centralization का आखिरकार निकलने वाला नतीजा लगता है
  • मैं OpenStreetMap Foundation का chair हूं
    OpenStreetMap data https://planet.openstreetmap.org पर bulk में मुफ्त उपलब्ध है। Site scrape करने के बजाय इसे इस्तेमाल करने की सलाह देता हूं
    Scraping donated resources पर भारी load डालती है। हम scraping IPs को block करते हैं, लेकिन उसमें भी काम और समय लगता है
    हमारे समय और resources का सम्मान करने से service को सभी के लिए मुफ्त और accessible बनाए रखने में मदद मिलती है

    • जिज्ञासा है कि scraping IPs को ठीक कैसे block किया जाता है। कुछ scrapers शायद बस confused हैं और OSM data पाने का बेहतर तरीका नहीं जानते
      403 error code से response देने पर वे सिर्फ IP address बदल देंगे
      ज्यादा प्रभावी approach यह हो सकती है कि response में bulk download location की जानकारी या OSM dump process करने की guide के link दिए जाएं
  • OpenStreetMap instance को सचमुच 10 मिनट में खुद launch किया जा सकता है। बस एक simple docker run command काफी है
    बेशक indexing में थोड़ा समय लगेगा, लेकिन उनकी resources को देखते हुए बहुत देर लगने का सवाल नहीं। यह बस बेतुका लालच है

    • मैंने पहले curiosity में Headway को बहुत थोड़े समय के लिए आजमाया था। “पूरे stack” के लिए Docker-based options में यह सबसे आसान में से एक है
      लेकिन यह तुरंत काम नहीं किया और दिक्कत आई। इसमें बहुत सारे moving parts हैं, इसलिए हैरानी नहीं। Workaround कोई बड़ी बात नहीं भी हो सकती, लेकिन यह कहना कि सब कुछ reliably चलाने में 10 मिनट लगते हैं, काफी संदिग्ध है
    • नहीं, यह काफी तकलीफदेह है
    • Link चाहिए। मैंने आखिरी बार कोशिश की थी तो यह उससे कहीं ज्यादा complex था
  • एक समय OSM डेटा की ज़रूरत थी, लेकिन सही तरीका आखिर तक समझ नहीं पाया
    ज़रूरी डेटा पाने के लिए 100GB की एक विशाल फ़ाइल किसी अस्पष्ट format में डाउनलोड करनी पड़ती थी, और अनजान libraries इस्तेमाल करनी पड़ती थीं। जानकारी बिखरी हुई थी और HTTP API भी था, लेकिन या तो सीमाएं थीं या rate limit लगी थी, और यह भी साफ़ नहीं था कि इसे इस्तेमाल करना ठीक है या नहीं
    मानता हूं कि मेरी जानकारी कम थी और project मौजूद है इसके लिए आभारी हूं, लेकिन उस दौर के हिसाब से, जहां developers smooth API की उम्मीद करते हैं, usability अच्छी नहीं थी
    आखिर में मैंने एक free project इस्तेमाल किया जो ज़रूरत के format में पहले से बदला हुआ OSM डेटा देता था

    • कुछ हद तक यह जानबूझकर किया गया design है। smooth API देने के लिए उस API को host और maintain करने वाले operations staff को रखने का funding model चाहिए
      OSM Foundation जानबूझकर छोटी रखी गई है और वह यह काम नहीं करती। इसके बजाय वह एक decentralized ecosystem को बढ़ावा देती है, जहां कोई भी डेटा लेकर उसके ऊपर services बना सकता है। कुछ commercial हैं, कुछ hobby projects, कुछ paid हैं और कुछ free
      यह तरीका बहुत अच्छी तरह काम करता है, और निजी तौर पर मुझे यह Wikimedia Foundation के बड़े budget-केंद्रित maximalist approach से बेहतर लगता है
    • अगर आप अपेक्षाकृत हाल के protobuf format data dump की बात कर रहे हैं, तो यह बहुत optimized binary format है
      OrganicMaps इन फ़ाइलों को सीधे इस्तेमाल करके पूरे देश को locally store और query कर सकता है। इस format में, लिखते समय France dump सिर्फ 4.3GB है
      साथ ही पूरा map डाउनलोड करने के बजाय Geofabrik जैसे कई mirrors में से किसी एक का इस्तेमाल करके केवल अपनी रुचि वाला हिस्सा लिया जा सकता है
      [0] https://download.geofabrik.de/
    • planet-scale geographic data के लिए आप कौन-सा कम अनजान format या library सुझा सकते हैं, यह जानने की उत्सुकता है
      मैंने भी पहले planet.osm डाउनलोड करके desktop पर शायद osmosis से parse किया था। उस format या tool को मैंने कहीं और इस्तेमाल होते नहीं देखा, लेकिन OSM की तरह बहुत बड़ी मात्रा में geospatial data को freely usable रूप में उपलब्ध कराने वाले competitors भी ज़्यादा नहीं हैं। ऐसे मामले में किसे established तरीका माना जा सकता है, यह जानना चाहता हूं
    • https://www.openstreetmap.org/ पर जाकर ऊपर बाईं ओर “Export” दबाएं। आप एक छोटा rectangular area चुन सकते हैं, और “Manually select a different area” दबा सकते हैं
      browser में सीधे .osm फ़ाइल मिल सकती है
      अगर सचमुच सिर्फ एक single point चाहिए, तो दाईं ओर map icons में question mark वाले arrow की तरह “Query features” है। इससे अलग-अलग map features पर click करके डेटा लिया जा सकता है
    • ज़रूरी रूप में पहले से converted OSM डेटा देने वाला free project इस्तेमाल करना “सही तरीका” के काफी करीब लगता है
      OSM के core developers existing OSM frontend को optimized format में डेटा देने पर focus कर सकते हैं। अगर किसी और popular format में converted डेटा चाहिए, तो ecosystem में पहले से कोई project इसे free में कर रहा है, यह अच्छी बात है
  • मैं original post लिखने वाला हूं। वह toot, website और map API पर aggressively hit करने वाले malicious scrapers के एक और समूह पर rate limit और blocks लगाने के बाद की गई एक sarcastic प्रतिक्रिया थी। robots.txt को ignore किया गया
    OpenStreetMap डेटा free में डाउनलोड किया जा सकता है। हम https://planet.openstreetmap.org/ पर minute-level पर publish करते हैं, और AWS S3 तथा torrents के जरिए भी डेटा देते हैं
    अगर अभी शुरुआत कर रहे हैं, तो छोटे regional extracts से शुरू करना बेहतर है: https://wiki.openstreetmap.org/wiki/Planet.osm

  • मेरे compressed repository को बस clone कर दें तो कुछ seconds में खत्म हो जाएगा, लेकिन AI scrapers web interface के जरिए हर .c file के हर revision को एक-एक करके request करना पसंद करते हैं
    वे अपने लिए बेकार decorative features समेत सब कुछ उठा ले जाते हैं
    वह web interface मैंने cgi से set किया है, इसलिए scraping खत्म होने में ब्रह्मांड की उम्र से भी ज़्यादा समय लगेगा। लेकिन इस दौरान मेरी बिजली और resources बर्बाद होते हैं

  • जैसा कि किसी ने हाल ही में बताया, Aaron Swartz को scraping की वजह से जेल जाने की धमकी मिली थी। लेकिन अब scraping से बनाए गए AI large language models में सैकड़ों अरब डॉलर invest हो रहे हैं

    • क्योंकि big corporations आपको scrape कर सकती हैं, लेकिन आप big corporations को scrape नहीं कर सकते
    • AI large language models तक जाने की ज़रूरत ही क्यों? scrape और index करना ही तो Google Search का पूरा काम है
    • दूसरों के लिए rules, अपने लिए exception। हमेशा से ऐसा ही रहा है
    • Aaron के पास उन big corporations जैसी lawyers की सेना नहीं थी
      उसने papers लेकर public कर दिए, और यह साफ़ copyright infringement था
      large language models इस grey area में हैं कि वे original text की verbatim copy नहीं हैं, बल्कि derivative works हैं या नहीं
      अलग-अलग judges के फैसले भी अलग रहे हैं
    • क्या उसने paywall के पीछे की सामग्री scrape नहीं की थी?
  • planet.osm को torrent पर डाल देना चाहिए। “scraping” सिर्फ torrent के जरिए allow करनी चाहिए
    तब scrapers network load को आपस में share करेंगे। शायद वे सब एक ही AWS instance पर होंगे, तो network speed भी बेहतर हो जाएगी

    • हमारा डेटा पहले से torrent के रूप में publish होता है: https://planet.openstreetmap.org
      minute-level updates समेत डेटा, AWS Open Data Sponsorship Program द्वारा supported public S3 buckets (EU और US) पर भी उपलब्ध है
  • पहले एक technical interview में interviewer ने कहा कि English Wikipedia को रोज scrape करने वाला system design करें। मैंने कहा, “चलो gzip-compressed archive डाउनलोड करने से शुरू करते हैं”
    पता चला interviewer को इस option के बारे में पता ही नहीं था, और वह multi-threading, standard URLs, visited pages check, retries आदि के साथ page-by-page डाउनलोड करने वाले complex system की explanation उम्मीद कर रहा था
    फिर भी उसने उस task में A दिया, और आखिरकार मैं उस company में select हो गया

  • AI companies के लिए honeypot कैसा रहेगा? बेवकूफ़ी भरे generated content का infinite loop बनाना
    कल्पना करें कि Twitter post के अंत में artificial tweets जुड़े हुए हों

    • और फिर अचानक OpenStreetMap उतना open नहीं रह जाएगा। OpenAI की तरह, हाहा