2 puan yazan GN⁺ 2024-07-31 | 1 yorum | WhatsApp'ta paylaş
  • OpenStreetMap işletmecileri, AI şirketlerinin gizlice scraping yaparak yük bindirmek yerine 10 bin dolar bağış yapmasını alaycı bir dille önererek veri erişim maliyetini ve altyapı yükünü görünür kılıyor
  • 50 bin dolarlık bağış karşılığında OpenStreetMap.org üzerinden doğrudan alınan dakika bazında canlı akış güncellemeleri bile sunulabileceği önerisi de ekleniyor
  • Scraping trafiği nadir bir istisna değil; pahalı API endpoint’lerine birden çok IP ve sahte User-Agent ile saniyede yüzlerce istek gelmesine kadar varan düzeylerde yaşanıyor
  • Zaten planet.osm tam verisi, değişiklikler ve kıta bazında veriler mevcut olduğundan, yavaş web kazıma yerine resmi veri kümelerini kullanmak daha uygun
  • User-Agent sahteciliği ve IP değiştirme nedeniyle engelleme zor olsa da, büyük AI crawler’larını engellemek ve cömert hız limitleri (rate limit) uygulamak gerçek zararı azaltabilecek önlemler olabilir

OpenStreetMap verilerini kazımak yerine bağış yapma önerisi

  • AI şirketlerinin OpenStreetMap’i gizlice scrape etmek yerine 10 bin dolar bağış yapması gerektiği mesajı veriliyor
  • 50 bin dolar bağış yapılırsa OpenStreetMap.org’dan doğrudan dakika bazında canlı akış güncellemeleri de sağlanabileceği ekleniyor
  • Yorumlarda OpenStreetMap verilerinin zaten daha uygun biçimlerde sunulduğu tekrar ediliyor
    • Tam planet.osm verisi var
    • Değişiklik güncellemeleri var
    • Kıta bazında veriler de var
  • Web sitesini doğrudan kazıma yönteminin, zaten sunulan tam veriye göre yavaş ve verimsiz olduğu yönünde tepkiler geliyor

Scraping trafiğinin yarattığı operasyonel yük

  • OpenStreetMap scraping’i “ilk kez görülen bir kombinasyon” değil, çok yaygın bir durum olarak görülüyor
    • Pahalı API endpoint’lerine saniyede yüzlerce istek geldiği durumlar olabiliyor
    • Birden fazla IP kullanılıyor
    • User-Agent sahteciliği yapılıyor
  • User-Agent tabanlı engellemenin belirgin sınırları var
    • python-requests/2.26.0 gibi kütüphanelerin varsayılan User-Agent’ı kullanılıyor
    • Tarayıcı ya da googlebot gibi davranılan durumlar oluyor
    • robots.txt uyumu isteğe bağlıymış gibi ele alınıyor
    • Engellenince IP veya User-Agent değiştiriliyor
  • Yine de bazı AI crawler’larının kendi User-Agent’ı olduğundan büyük zarar verenleri ayırt edip engellemek mümkün
    • Örnek olarak Bytespyder anılıyor
    • Amaç tüm geçmiş veri madenciliği IP’lerini engellemek değil, gerçekten zarar veren tarafları durdurmak
    • Çok cömert bir hız limiti konulursa, yalnızca sorun yaratacak düzeydeki trafik sınırlamaya tabi olabilir

1 yorum

 
GN⁺ 2024-07-31
Hacker News görüşleri
  • Etkilenen şirketler, yapay zeka crawler ordularından giderek daha fazla rahatsız oluyor. Bu crawler’lar robots.txt’e uyma, herkese açık API kullanma, yoğun saatlerden kaçınma gibi scraping için iyi uygulamalara uymuyor.
    Mesele yalnızca telif hakkı değil; aşırı scraping trafiği yüzünden altyapı maliyetleri de artıyor. Nihai durum ne olacak? Yapay zeka CAPTCHA’ları bile çözebildiğine göre, bot savunmasındaki silahlanma yarışı fiilen kaybedilmiş gibi görünüyor.

    • Amaç scraping’i imkânsız kılmak değil, pahalı hale getirmek. İnsanlar botlar kadar hızlı istek göndermez; dolayısıyla insanmış gibi davranan botlar da eninde sonunda hız sınırına takılır.
      Sonunda hesap gerekir, o hesap da izlenir ve belirli kalıplara uyan hesaplar silinir. Scraping’i engelleyemezsiniz; asıl mesele engellemek değil, onu yavaş ve pahalı hale getirmektir. Bir noktada insan gibi davranmaktansa lisans ücreti ödemek daha mantıklı hale gelirse silahlanma yarışı da ortadan kalkar.
      Savunmayı, hiç savaşmamanın daha iyi olacağı kadar iyi hale getirip getiremeyeceğiniz; rastgele bir botun insan gibi davranıp birkaç istek atıp atamayacağından çok daha zor bir soru.
    • Sonunda API erişimi gibi şeylerin izin listesi tabanlı hale geldiği bir noktaya varacağımızı düşünüyorum. Bot olmadığınızı doğrulamak için şirketten gerçek bir insanla gerçek bir ilişki kurmanız gerekebilir.
      Diğer tüm yöntemler sahte üretilebilir; bu yüzden yüz yüze toplantılar bile işin içine girebilir. Sonuçta 1960’ların iş dünyasına geri dönmüş oluruz. Teknoloji uzmanlarının herkesin ayağının altındaki halıyı çekip alması sayesinde.
    • Yapay zekaların nihai hedefi aklında tutup tutmadığını bilmiyorum. İnsan tarafında ise karanlık ormana uyarlanmış bir internet ortaya çıkacak gibi.
      Artık çoğunluğun iyi olduğunu, yalnızca kötü niyetli kısımların izlenip engellendiğini varsaymayacağız. Bunun yerine yalnızca açıkça güvendiğimiz akran gruplarının onayladığı kısımların iyi, geri kalan her şeyin kötü niyetli olduğunu varsayacağız. Güven yüzünden zarar görürsek o güven ilişkisini kesip atacağız ve bu tür güven hijyeninin işlemesini sağlayacak yollar bulacağız.
      Mevcut internetle kıyaslayınca akla gelen ilk düşünce, “bu tüm dünya ölçeğine genişleyemez” oluyor. Ama buna gerek yok. Bilgisayarların çözmesi gereken sorunların hepsi zaten yerel sorunlar.
    • Cevap, kimlik doğrulamalı API tabanlı etkileşim.
      Eski web sitelerinin içinde, istekte bulunan herkese içeriği serbestçe veren kendi API’leri vardı. Artık web siteleri, dış API’lerle konuşup kullanıcıya gösteren basit arayüzler haline gelmeli; API erişim yetkisi de kullanıcının sorumluluğunda olmalı.
      Alınmaya değer bilgiler kimlik doğrulamanın arkasına kilitlenmeli. Başlıca sağlayıcılar üzerinden OAuth sayesinde kimlik doğrulama gülünç derecede kolaylaştı.
      Para ödeyip insanlara ya da ücretli servislere içerik çıkarttırmak isteyenler için, düzgün paketlenmiş ve makul fiyatlı bir API kullanmak daha doğru olur.
      Son olarak robots.txt yasayla zorunlu kılınmalı. Bir dükkândan ürün çalmakla bir web sitesinden içerik çalmak arasında fark yok.
      Yapay zeka ve açgözlülük, internetin açık özgürlüğünü öldürdü.
    • Güvene dayalı, sadece davetle girilen kimlik doğrulama adaları oluşacak gibi. Bu, internetin ölçüsüz merkezileşmesinin nihai sonucu gibi görünüyor.
  • OpenStreetMap Foundation başkanıyım.
    OpenStreetMap verileri https://planet.openstreetmap.org adresinde toplu halde ücretsiz sunuluyor. Siteyi scrape etmek yerine bunu kullanmanızı öneriyoruz.
    Scraping, bağışlanan kaynaklara büyük yük bindiriyor. Scraping yapan IP’leri engelliyoruz ama bu bile emek ve zaman gerektiriyor.
    Zamanımıza ve kaynaklarımıza saygı göstermek, hizmeti herkes için ücretsiz ve erişilebilir tutmamıza yardımcı olur.

    • Scraping yapan IP’leri tam olarak nasıl engellediğinizi merak ediyorum. Bazı scraper’lar sadece kafası karışmış olduğu için OSM verisi almanın daha iyi yolunu bilmiyor gibi.
      403 hata koduyla yanıt verirseniz, sadece IP adresini değiştirirler.
      Daha etkili bir yaklaşım, toplu indirme konumuna yönlendirme ya da OSM dump’larını işleme kılavuzuna bağlantı içeren bir yanıt sunmak olabilir.
  • Bir OpenStreetMap instance’ını kelimenin tam anlamıyla 10 dakikada kendiniz ayağa kaldırabilirsiniz. Basit bir docker run komutu yeter.
    Elbette indeksleme biraz zaman alır ama onların kaynakları düşünüldüğünde uzun sürmesi mümkün değil. Bu düpedüz akıl almaz bir açgözlülük.

    • Bir süre önce meraktan Headway’i çok kısa denemiştim. “Tüm stack” için Docker tabanlı seçenekler arasında en kolay olanlardan biri.
      Ama hemen çalışmadı ve sorun çıktı. Hareketli parça sayısı inanılmaz fazla olduğundan şaşırtıcı değil. Etrafından dolaşmak çok büyük iş olmayabilir ama her şeyin kararlı biçimde çalışmasının 10 dakika süreceği iddiası bana çok şüpheli geliyor.
    • Hayır, oldukça sancılı.
    • Link lazım. En son denediğimde bundan çok daha karmaşıktı.
  • Bir dönem OSM verisine ihtiyacım olmuştu, ama doğru yöntemi bir türlü çözememiştim
    Gerekli veriyi almak için belirsiz bir formatta 100 GB’lık devasa bir dosya indirmek ve yabancı kütüphaneler kullanmak gerekiyordu. Bilgiler dağınıktı; HTTP API de vardı ama ya kısıtlıydı ya da hız sınırına takılıyordu ve bunu kullanmanın uygun olup olmadığı net değildi
    Bilgisiz olduğumu kabul ediyorum ve projenin varlığına minnettarım; ancak geliştiricilerin sorunsuz API’ler beklediği çağın standartlarına göre kullanılabilirliği iyi değil
    Sonunda ihtiyaç duyduğum biçime önceden dönüştürülmüş OSM verisi sunan ücretsiz bir proje kullandım

    • Bir ölçüde bu bilinçli bir tasarım. Sorunsuz bir API sunmak için o API’yi barındıracak ve sürdürecek operasyon ekibini işe almaya yarayan bir finansman modeline ihtiyaç var
      OSM Foundation bilerek küçük tutuluyor ve bu tür işler yapmıyor. Bunun yerine herkesin veriyi alıp üzerine hizmetler kurabildiği merkeziyetsiz bir ekosistemi teşvik ediyor. Ticari olanı da var, hobi amaçlı olanı da; ücretli olanı da var, ücretsiz olanı da
      Bu yöntem gayet iyi işliyor ve şahsen Wikimedia Foundation’ın büyük bütçe odaklı maksimalist yaklaşımından daha iyi olduğunu düşünüyorum
    • Nispeten yeni protobuf formatındaki veri dökümlerinden söz ediyorsan, bu oldukça optimize edilmiş bir ikili format
      OrganicMaps bu dosyaları doğrudan kullanarak tüm ülkeleri yerelde saklayıp sorgulayabiliyor. Bu formatta, yazı yazıldığı an itibarıyla Fransa dökümü yalnızca 4,3 GB
      Ayrıca tüm haritayı indirmek yerine Geofabrik gibi çok sayıdaki aynadan birini kullanıp yalnızca ilgilendiğin bölümü alabilirsin
      [0] https://download.geofabrik.de/
    • Gezegen ölçeğinde coğrafi veriler için daha az yabancı gelecek hangi formatı ya da kütüphaneyi önerebileceğini merak ediyorum
      Ben de geçmişte planet.osm indirip masaüstünde muhtemelen osmosis ile ayrıştırmıştım. O formatı ya da aracı başka bir yerde kullanmadım, ama OSM gibi büyük miktarda jeo-uzamsal veriyi serbestçe kullanılabilir hâlde sunan çok rakip de yok. Böyle bir durumda yerleşik yöntem sayılabilecek şeyin ne olduğunu merak ediyorum
    • https://www.openstreetmap.org/ adresinde sol üstteki “Export” düğmesine basman yeterli. Küçük bir dikdörtgen alan seçebilirsin; “Manually select a different area” düğmesine basabilirsin
      Tarayıcıdan doğrudan .osm dosyası alabilirsin
      Kelimenin tam anlamıyla yalnızca tek bir noktaya ihtiyacın varsa, sağdaki harita simgeleri arasında soru işaretli ok olan “Query features” var. Bununla tek tek arazi/harita ögelerine tıklayıp veriyi alabilirsin
    • İhtiyaç duyduğun biçime önceden dönüştürülmüş OSM verisi sunan ücretsiz bir proje kullanmak “doğru yöntem”e yeterince yakın görünüyor
      OSM çekirdek geliştiricileri, mevcut OSM ön yüzünün veriyi optimize edilmiş formatlarda sunmasına odaklanabilir. Başka popüler formatlara dönüştürülmüş hâline ihtiyaç varsa, ekosistemde bunu ücretsiz yapan projelerin zaten bulunması iyi bir şey
  • Asıl gönderinin yazarıyım. O toot, web sitesine ve harita API’sine agresif biçimde yüklenen başka bir kötü niyetli scraper grubuna hız sınırı ve engelleme uyguladıktan sonra yazdığım alaycı bir tepkiydi. robots.txt yok sayılmıştı
    OpenStreetMap verisi ücretsiz indirilebilir. Biz https://planet.openstreetmap.org/ üzerinde dakika bazında yayımlıyoruz; ayrıca veriyi AWS S3 ve torrent üzerinden de sunuyoruz
    Yeni başlıyorsan daha küçük bölgesel çıkarımlarla başlaman iyi olur: https://wiki.openstreetmap.org/wiki/Planet.osm

  • Sıkıştırılmış depomu basitçe klonlamak birkaç saniye sürerken, AI scraper’ları web arayüzü üzerinden tüm .c dosyalarının tüm revizyonlarını tek tek istemeyi tercih ediyor
    Kendilerine hiçbir faydası olmayan süs özellikleri de dâhil her şeyi alıyorlar
    O web arayüzünü cgi ile kurduğum için scraping’in bitmesi evrenin yaşından daha uzun sürecek. Ama bu sırada elektriğimi ve kaynaklarımı boşa harcıyorlar

  • Yakınlarda birinin işaret ettiği gibi, Aaron Swartz scraping yüzünden hapse girme tehdidiyle karşı karşıya kalmıştı. Ama şimdi scraping ile oluşturulan AI büyük dil modellerine yüz milyarlarca dolar yatırım yapılıyor

    • Çünkü büyük şirketler seni scrape edebilir, ama sen büyük şirketleri scrape edemezsin
    • Neden AI büyük dil modellerine kadar gitmeye gerek var? Scraping yapmak ve dizine eklemek, Google Arama’nın yaptığı şeyin tamamı
    • Başkalarına kurallar, bana istisnalar. Hep böyleydi
    • Aaron’ın, büyük şirketlerin sahip olduğu avukat orduları yoktu
      O makaleleri alıp herkese açtı; bu açık bir telif hakkı ihlaliydi
      Büyük dil modelleri ise metni birebir kopyalamadıkları, türev eser sayılıp sayılmadıkları konusunda gri bölgede
      Yargıçların kararları da birbirinden farklı oldu
    • O, ödeme duvarının arkasındaki materyalleri scrape etmemiş miydi?
  • planet.osmi torrente koymak yeterli. “Scraping”e yalnızca torrent üzerinden izin verilsin
    Böylece scraper’lar ağ yükünü kendi aralarında paylaşır. Muhtemelen hepsi aynı AWS instance’ında olacağı için ağ hızı da daha iyi olur

    • Verilerimiz zaten torrent olarak yayımlanıyor: https://planet.openstreetmap.org
      Dakikalık güncellemeleri de içeren veriler, AWS Open Data Sponsorship Program tarafından desteklenen herkese açık S3 bucket’ları (EU ve US) üzerinden de sunuluyor
  • Eskiden bir teknik mülakatta görüşmeci benden İngilizce Wikipedia’yı her gün scrape eden bir sistem tasarlamamı istemişti. “gzip ile sıkıştırılmış arşivi indirmekle başlarız” demiştim
    Meğer görüşmeci bu ihtimali bilmiyormuş; çok iş parçacıklılık, standart URL’ler, ziyaret edilen sayfaların kontrolü, yeniden denemeler vb. içeren, sayfa sayfa indiren karmaşık bir sistem anlatmamı bekliyormuş
    Yine de o ödeve A verdi ve sonunda o şirkete kabul edildim

  • AI şirketleri için bir honeypot nasıl olur? Aptalca üretilmiş içerikten sonsuz bir döngü yaratmak
    Sonunda yapay tweet’lerin eklendiği Twitter gönderilerini hayal et

    • Sonra birden OpenStreetMap pek de open olmamaya başlar. OpenAI gibi, haha