Et si les entreprises d’IA faisaient un don de 10 000 $ au lieu de scraper OpenStreetMap en douce ?
(en.osm.town/@Firefishy)- Les opérateurs d’OpenStreetMap suggèrent avec ironie que les entreprises d’IA fassent un don de 10 000 $ au lieu d’alourdir la charge par du scraping clandestin, mettant en lumière le coût d’accès aux données et la pression sur l’infrastructure
- Pour un don de 50 000 $, ils proposent même de fournir des mises à jour en streaming live à la minute directement depuis OpenStreetMap.org
- Le trafic de scraping n’est pas une rare exception : il peut aller jusqu’à plusieurs centaines de requêtes par seconde sur des endpoints API coûteux, depuis plusieurs IP et avec des User-Agent falsifiés
- Comme les données complètes
planet.osm, les diffs et les données par continent existent déjà, il est plus approprié d’utiliser les jeux de données officiels que de scraper lentement le web - L’usurpation de User-Agent et le changement d’IP rendent le blocage difficile, mais bloquer les gros crawlers d’IA et appliquer des limites de débit (rate limit) généreuses peut réduire les dommages réels
Proposition : faire un don au lieu de scraper les données OpenStreetMap
- Le message adressé aux entreprises d’IA : ne scrapez pas OpenStreetMap en douce, faites plutôt un don de 10 000 $
- Il est ajouté qu’avec un don de 50 000 $, OpenStreetMap.org pourrait aussi fournir directement des mises à jour en streaming live à la minute
- Dans les commentaires, il est rappelé à plusieurs reprises que les données OpenStreetMap sont déjà disponibles par des moyens plus adaptés
- Les données complètes
planet.osmexistent - Des mises à jour différentielles existent
- Des données par continent existent aussi
- Les données complètes
- Beaucoup estiment que scraper directement le site web est lent et inefficace par rapport aux données complètes déjà fournies
La charge opérationnelle créée par le trafic de scraping
- Le scraping d’OpenStreetMap n’est pas perçu comme une « combinaison jamais vue », mais comme quelque chose de très courant
- Des endpoints API coûteux reçoivent parfois plusieurs centaines de requêtes par seconde
- Plusieurs IP sont utilisées
- Le User-Agent est falsifié
- Le blocage fondé sur le User-Agent a des limites évidentes
- Des User-Agent par défaut de bibliothèques, comme
python-requests/2.26.0, sont utilisés - Certains se font passer pour un navigateur ou pour
googlebot - Le respect de
robots.txtest traité comme facultatif - En cas de blocage, l’IP ou le User-Agent est modifié
- Des User-Agent par défaut de bibliothèques, comme
- Certains crawlers d’IA ont toutefois leur propre User-Agent, ce qui permet d’identifier et de bloquer les plus gros responsables
- Bytespyder est mentionné comme exemple
- L’objectif n’est pas de bloquer toutes les IP ayant servi par le passé au data mining, mais celles qui causent réellement des dommages
- Avec une limite de débit très généreuse, seul le trafic susceptible de poser problème serait concerné
1 commentaires
Avis de Hacker News
Les entreprises concernées sont de plus en plus agacées par les armées de crawlers IA. Ces crawlers ne respectent pas les bonnes pratiques du scraping, comme le respect de
robots.txt, l’utilisation des API publiques ou l’évitement des heures de pointe.Le problème ne se limite pas au droit d’auteur : le trafic de scraping excessif fait aussi augmenter les coûts d’infrastructure. Quel sera l’état final ? Comme l’IA peut déjà résoudre des CAPTCHA, la course aux armements en matière de défense contre les bots semble déjà perdue.
Au final, il faut un compte, ce compte est suivi, puis les comptes correspondant à certains schémas sont supprimés. On ne peut pas empêcher le scraping, mais l’essentiel n’est pas de le bloquer : c’est de le rendre lent et coûteux. À partir d’un certain point, quand il devient préférable de payer une licence plutôt que de se faire passer pour un humain, la course aux armements disparaît aussi.
La vraie question — bien plus difficile que de savoir si un bot quelconque peut faire quelques requêtes en se faisant passer pour un humain — est de savoir si les défenses peuvent devenir suffisamment bonnes pour qu’il vaille mieux ne même pas engager le combat.
Toutes les autres méthodes pouvant être falsifiées, cela pourrait aller jusqu’à des réunions en personne. On reviendrait finalement au monde des affaires des années 1960. Merci aux techniciens qui ont retiré le tapis sous les pieds de tout le monde.
On ne partira plus du principe que la majorité est bienveillante et qu’il suffit de repérer et bloquer les parties malveillantes. À la place, on supposera que seules les parties approuvées par un groupe de pairs explicitement fiables sont bienveillantes, et que tout le reste est malveillant. Si cette confiance cause des dommages, on coupera cette relation de confiance, puis on cherchera des moyens d’encourager une hygiène de confiance qui fonctionne.
Comparé à l’Internet actuel, la première pensée est : « ça ne passera pas à l’échelle de la planète entière ». Mais ce n’est pas nécessaire. Les problèmes que les ordinateurs doivent résoudre sont de toute façon tous des problèmes locaux.
Les anciens sites web avaient en interne leur propre API, qui livrait librement du contenu à quiconque le demandait. Désormais, les sites web devraient devenir de simples interfaces utilisateur communiquant avec des API externes, et la responsabilité de l’accès à l’API devrait incomber à l’utilisateur.
Les informations qui valent la peine d’être récupérées doivent être verrouillées derrière une authentification. Grâce à OAuth via les grands fournisseurs, l’authentification est devenue absurdement simple.
Ceux qui sont prêts à payer des humains ou des services payants pour extraire du contenu feraient mieux d’utiliser une API bien empaquetée et proposée à un prix raisonnable.
Enfin,
robots.txtdevrait être imposé par la loi. Il n’y a pas de différence entre voler des biens dans un magasin et voler du contenu sur un site web.L’IA et la cupidité ont tué l’ouverture et la liberté d’Internet.
Je suis le président de l’OpenStreetMap Foundation.
Les données OpenStreetMap sont disponibles gratuitement en masse sur https://planet.openstreetmap.org. Nous recommandons d’utiliser cela plutôt que de scraper le site.
Le scraping impose une forte charge à des ressources qui nous sont données. Nous bloquons les IP de scraping, mais même cela demande du travail et du temps.
Respecter notre temps et nos ressources nous aide à maintenir le service gratuit et accessible à tous.
Répondre avec un code d’erreur
403ne fera que les pousser à changer d’adresse IP.Une approche plus efficace pourrait consister à fournir une réponse indiquant où télécharger les données en masse, ou un lien vers un guide de traitement des dumps OSM.
On peut littéralement lancer soi-même une instance OpenStreetMap en 10 minutes. Une simple commande
docker runsuffit.Bien sûr, l’indexation prendra un peu de temps, mais vu leurs ressources, ça ne devrait pas être long. C’est juste une cupidité absurde.
Mais ça n’a pas fonctionné immédiatement et j’ai rencontré des problèmes. Ce n’est pas surprenant, vu le nombre énorme de pièces mobiles. Les contourner n’est peut-être pas un gros travail, mais l’idée qu’il suffise de 10 minutes pour tout faire tourner de manière fiable me paraît très suspecte.
À une époque, j’avais besoin de données OSM, mais je n’ai jamais réussi à comprendre quelle était la bonne méthode
Pour obtenir les données nécessaires, il fallait télécharger un énorme fichier de 100 Go dans un format obscur et utiliser des bibliothèques peu familières. Les informations étaient éparpillées ; il existe bien une API HTTP, mais elle a des limites ou des limitations de débit, et il n’était pas clair si on avait le droit de l’utiliser
Je reconnais mon ignorance et je suis reconnaissant que le projet existe, mais à l’époque où les développeurs s’attendent à des API fluides, l’utilisabilité n’est pas terrible
Au final, j’ai utilisé un projet gratuit qui fournissait des données OSM déjà converties dans le format dont j’avais besoin
L’OSM Foundation reste volontairement petite et ne fait pas ce genre de choses. Elle encourage plutôt un écosystème décentralisé où chacun peut prendre les données et construire des services dessus. Il y en a des commerciaux et des amateurs, des payants et des gratuits
Cette approche fonctionne très bien et, personnellement, je la préfère à l’approche maximaliste centrée sur le gros budget de la Wikimedia Foundation
OrganicMaps utilise directement ces fichiers pour stocker et interroger localement des pays entiers. Dans ce format, au moment où j’écris, le dump de la France ne fait que 4,3 Go
Et au lieu de télécharger la carte entière, on peut utiliser l’un des nombreux miroirs comme Geofabrik pour ne récupérer que la zone qui nous intéresse
[0] https://download.geofabrik.de/
Moi aussi, j’ai déjà téléchargé
planet.osmet l’ai probablement parsé sur mon desktop avecosmosis. Je n’ai jamais utilisé ce format ni ces outils ailleurs, mais il n’y a pas non plus beaucoup de concurrents qui fournissent librement d’aussi gros volumes de données géospatiales qu’OSM. Dans ce cas, je me demande ce qu’on pourrait considérer comme la méthode établieLe navigateur permet alors de télécharger directement un fichier
.osmSi on n’a littéralement besoin que d’un seul point, il y a “Query features”, l’icône de carte à droite avec une flèche et un point d’interrogation. Elle permet de cliquer sur des éléments cartographiques individuels pour obtenir leurs données
Les développeurs principaux d’OSM peuvent se concentrer sur le fait que le frontend OSM existant fournisse les données dans un format optimisé. Si l’on a besoin d’une conversion vers d’autres formats populaires, c’est une bonne chose qu’il existe déjà dans l’écosystème des projets qui le font gratuitement
Je suis l’auteur du post d’origine. Ce toot était une réaction sarcastique après avoir mis en place des limitations de débit et des blocages contre un autre ensemble de scrapers malveillants qui martelaient agressivement le site web et l’API cartographique.
robots.txta été ignoréLes données OpenStreetMap peuvent être téléchargées gratuitement. Nous les publions minute par minute sur https://planet.openstreetmap.org/, et les fournissons aussi via AWS S3 et torrent
Si vous débutez, il vaut mieux commencer par des extraits régionaux plus petits : https://wiki.openstreetmap.org/wiki/Planet.osm
Il suffirait de cloner mon dépôt compressé et ce serait terminé en quelques secondes, mais les scrapers IA préfèrent demander une par une toutes les révisions de tous les fichiers
.cvia l’interface webIls récupèrent tout, y compris les fonctionnalités décoratives qui ne leur servent à rien
Comme j’ai configuré cette interface web en
cgi, le scraping prendra plus longtemps que l’âge de l’univers. Mais pendant ce temps, il gaspille mon électricité et mes ressourcesComme quelqu’un l’a fait remarquer récemment, Aaron Swartz a été menacé de prison à cause du scraping. Et maintenant, des centaines de milliards de dollars sont investis dans des grands modèles de langage IA créés par scraping
Il a pris des articles scientifiques et les a rendus publics, ce qui constituait une violation manifeste du droit d’auteur
Les grands modèles de langage se trouvent dans une zone grise : ils ne copient pas le texte original tel quel, mais la question est de savoir s’il s’agit d’œuvres dérivées
Les juges ont rendu des décisions divergentes
Il suffit de mettre
planet.osmen torrent. Le “scraping” ne devrait être autorisé que via torrentAinsi, les scrapers se partageraient la charge réseau entre eux. Comme ils sont probablement tous sur la même instance AWS, le débit réseau serait sans doute meilleur aussi
Les données, y compris les mises à jour à la minute, sont également disponibles dans des buckets S3 publics (UE et US) pris en charge par l’AWS Open Data Sponsorship Program
Lors d’un ancien entretien technique, l’intervieweur m’a demandé de concevoir un système qui scraperait quotidiennement Wikipédia en anglais. J’ai répondu : “Commençons par télécharger l’archive compressée en gzip”
Il s’est avéré que l’intervieweur ne savait pas que c’était possible et s’attendait à ce que je décrive un système complexe de téléchargement page par page, avec multithreading, URL canoniques, vérification des pages déjà visitées, relances, etc.
Il m’a quand même mis un A pour l’exercice, et j’ai fini par être embauché par cette entreprise
Pourquoi pas un honeypot pour les entreprises d’IA ? On créerait une boucle infinie de contenu généré de façon idiote
Imaginez des posts Twitter avec de faux tweets ajoutés à la fin