← Tous les guides Sous le capot

Pourquoi le détecteur s'exécute-t-il dans votre navigateur

Un modèle de 40 MB, WebAssembly et aucun point de terminaison pour les téléversements. Ce que cette architecture apporte, ce qu'elle coûte, et pourquoi ce compromis en vaut la peine.

· 8 min de lecture · Best AI Image Detector

Ainsi, vos images ne quittent jamais votre appareil. Le modèle se télécharge une seule fois et s'exécute sur votre machine, ce qui supprime simultanément le téléversement, le coût du serveur et la relation de traitement des données.

Quelle est réellement cette architecture

Un vision transformer, converti au format ONNX et compressé à environ 40 MB, divisé en deux parties afin que chacune reste sous la limite de taille de fichier de la plateforme d'hébergement. Il est réassemblé dans le navigateur et sa somme de contrôle est vérifiée avant toute exécution.

L'inférence s'effectue via WebAssembly, ce qui permet à un environnement d'exécution compilé de tourner à une vitesse proche du natif dans un onglet de navigateur. L'environnement d'exécution lui-même est un binaire WASM compressé chargé aux côtés des poids.

Rien de tout cela n'est plus exotique. Ce qui relevait de la démonstration de recherche en 2021 est aujourd'hui une manière courante de distribuer un modèle, et les navigateurs ont fait l'essentiel du travail.

Ce que cela apporte

Bien immobilier Dans le navigateur Sur un serveur
L'image quitte votre appareil No impossible Yes requis
Coût par vérification Yes zéro No calcul réel
Accord de traitement des données nécessaire No Yes
Fonctionne sans réseau après le chargement Yes No
Le modèle peut rester privé No il est téléchargé Yes
La première vérification est instantanée No le modèle se télécharge une seule fois Yes
Le même produit, construit de deux manières différentes. Les différences relèvent de l'architecture plutôt que de choix de politique.

La première ligne est la raison d'être des autres. Puisqu'il n'y a pas de point de terminaison pour les téléversements, il n'y a pas de réservoir contenant les photographies d'autres personnes, pas de politique de conservation à rédiger, pas de faille à divulguer et rien à remettre sur demande.

La seconde ligne explique pourquoi le service peut être gratuit sans compteur d'utilisation. Une vérification ne coûte rien à fournir, il n'y a donc aucun coût par image à amortir, ce qui change la nature de la tarification.

Ce que cela coûte

Trois compromis réels, exposés clairement, car une page qui ne liste que des avantages relève de la publicité.

  1. La première vérification est lente. Quarante mégaoctets doivent arriver avant que quoi que ce soit ne se produise. Sur une connexion rapide, cela prend quelques secondes ; sur une mauvaise connexion, c'est plus long. Les vérifications suivantes réutilisent le modèle mis en cache et démarrent immédiatement.
  2. Les appareils anciens peinent. L'inférence nécessite de la mémoire et une puissance de calcul qu'un téléphone vieux de cinq ans ne possède peut-être pas confortablement. Un serveur se moquerait de l'appareil que vous tenez entre vos mains.
  3. Le modèle est public. Tout ce qui est téléchargé sur un navigateur peut être conservé. Un modèle côté serveur peut être propriétaire ; celui-ci ne le peut pas, et les poids constituent de toute façon un point de contrôle de recherche ouvert.

Le troisième point mérite d'être abordé directement. Distribuer un modèle au client revient à le céder. C'est un compromis acceptable ici car les poids sont déjà publiés et le travail qui rend l'outil utile réside dans le calibrage, le découpage en tuiles et l'interprétation construits autour de ceux-ci.

Les problèmes d'ingénierie qui méritent d'être connus

Diviser un fichier volumineux

Les plateformes d'hébergement statique plafonnent la taille des fichiers individuels. Un modèle de 40 MB dépassait la limite, il est donc livré sous la forme de deux parties déterministes qui sont réassemblées dans le navigateur et vérifiées par rapport au hachage d'un manifeste avant utilisation. Une partie corrompue ou substituée échoue de manière explicite plutôt que de produire silencieusement des scores erronés.

Ne rien charger tant que ce n'est pas nécessaire

Le modèle, l'environnement d'exécution et le lecteur de justificatifs ne sont pas récupérés au chargement de la page. Ils arrivent lors de la première interaction, de sorte qu'une personne lisant un article ne télécharge rien de tout cela. Cela permet de maintenir des pages rapides pour la grande majorité des visiteurs qui n'effectuent jamais de vérification.

Décoder les formats complexes

HEIC provenant d'iPhone, AVIF, TIFF et JPEG XL nécessitent tous un décodage avant l'évaluation. Les navigateurs gèrent désormais la plupart d'entre eux de manière native, ce nom supprime ce qui constituait autrefois la plus grande part du travail côté client dans un outil de ce genre.

Quand cette architecture est le mauvais choix

Elle n'est pas universellement supérieure. Un serveur a davantage de sens lorsque le modèle est propriétaire et mérite d'être protégé, lorsqu'il est trop volumineux pour être distribué, lorsque vous avez besoin de résultats dans un pipeline dorsal plutôt que devant une personne, ou lorsque vous exigez un temps de réponse garanti quel que soit l'appareil.

Pour un outil qu'un utilisateur ouvre pour vérifier une image suspecte, rien de tout cela ne s'applique, et la propriété de confidentialité vaut plus que tout ce qu'un serveur pourrait ajouter.

Ce que cela exclut

Faire le choix du client a des conséquences au-delà de la confidentialité, et certaines d'entre elles constituent des limitations qu'il vaut mieux nommer plutôt que de présenter comme des fonctionnalités.

Il n'y a pas d'historique. Un résultat n'existe que dans l'onglet qui l'a produit, de sorte qu'aucune recherche ultérieure n'est possible à moins qu'il n'ait été exporté. C'est le coût direct de l'absence de compte, et c'est la fonctionnalité la plus demandée que l'architecture rend complexe.

Il n'y a pas d'état partagé. Deux personnes ne peuvent pas voir la même file d'attente, et une équipe ne peut pas examiner les vérifications des autres. Un lien partagé transporte un unique résultat, ce qui couvre une conversation et non un flux de travail.

Il n'y a pas d'API. Tout ce qui s'exécute dans un onglet de navigateur ne peut pas être appelé depuis un pipeline dorsal, ce qui exclut totalement les usages à plus fort volume. Ce sont de réelles lacunes, et la position honnête est qu'elles constituent le prix à payer pour la propriété qui importe le plus.

Questions fréquentes

Mon image n'est-elle vraiment pas téléversée ?
Oui, et vous n'avez pas à le croire sur parole. Ouvrez l'onglet réseau dans les outils de développement et lancez une vérification. Vous verrez le téléchargement du modèle et de l'environnement d'exécution, et aucune requête ne transportant votre fichier. C'est l'une des rares revendications de confidentialité qu'un utilisateur peut vérifier directement en trente secondes environ.
Pourquoi le modèle est-il si volumineux ?
Il s'agit d'un vision transformer doté de millions de paramètres, compressé autant que possible sans perte de précision. Des modèles plus petits existent et affichent des performances nettement inférieures, en particulier sur les images compressées et recadrées que les gens vérifient réellement. Quarante mégaoctets, c'est le prix de la précision.
Est-ce que cela fonctionne hors ligne ?
Après le premier chargement, en grande partie oui. Une fois le modèle mis en cache, l'évaluation s'exécute sans aucun réseau. La seule partie nécessitant une connexion est la récupération d'une image à partir d'une URL collée, tandis que la vérification d'un fichier local fonctionne sans connexion.
Est-ce que cela va vider la batterie de mon téléphone ?
Une seule vérification demande quelques secondes de traitement, ce qui est comparable au chargement d'une page Web lourde. Exécuter un lot de vingt-cinq est plus perceptible. Ce n'est pas quelque chose que l'on laisserait tourner en continu, et cela ne représente pas un coût significatif pour un usage occasionnel.
Ne pourriez-vous pas utiliser WebGPU pour accélérer le processus ?
Pour les appareils qui le prennent en charge, oui, et le support est encore suffisamment hétérogène pour qu'un chemin WASM doive exister de toute façon. Ajouter un second chemin d'exécution double la surface où les résultats pourraient diverger entre les utilisateurs, ce qui représente un coût réel face à un gain de vitesse que la plupart des gens ne remarqueraient pas.
Le navigateur envoie-t-il la moindre information concernant mon image ?
Non. Il n'y a aucune télémétrie sur les noms de fichiers, les dimensions ou les scores, car le résultat n'existe nulle part ailleurs que dans votre onglet. C'est une conséquence de l'architecture plutôt qu'un paramètre, ce qui est le point important à comprendre.