Pourquoi il n'y a pas de point de terminaison
Le modèle, l'environnement d'exécution et l'analyse se téléchargent dans le navigateur et s'y exécutent. Il ne s'agit pas d'un choix de déploiement qui pourrait être inversé par simple paramétrage ; c'est l'architecture globale, et c'est la raison pour laquelle une image ne quitte jamais l'appareil sur lequel elle est vérifiée.
Une API inverse ce principe. Quelqu'un envoie une image à un serveur, le serveur calcule le score et renvoie un nombre, et l'image existe désormais sur une infrastructure contrôlée par un tiers, aussi brièvement et avec de meilleures intensions soit-elle.
Pour un outil dont toute la proposition repose sur le fait qu'aucun fichier n'est téléversé, proposer un point de terminaison de téléversement constituerait une contradiction directe du produit. Par conséquent, cette page ne décrit pas de feuille de route ; elle décrit une limite et la conduite à tenir face à celle-ci.
Il est utile de le dire clairement car l'alternative est pire. Une page suggérant l'existence d'un point de terminaison inexistant fait perdre un après-midi à un ingénieur, et la page de tarification de ce site indique déjà qu'il n'existe ni offre payante ni API.
À quoi sert réellement l'automatisation
Avant de se tourner vers un point de terminaison, il convient de définir précisément la tâche à accomplir, car une bonne part de l'automatisation envisagée trouve une meilleure solution autrement.
| Nécessite un service | L'outil de navigateur fonctionne | Une intervention humaine est préférable | |
|---|---|---|---|
| Filtrage des téléversements d'utilisateurs à grande échelle | Yes Volume et latence | No | No |
| Vérification de la livraison d'un fournisseur | No | Yes Un lot de 25 suffit | Partly |
| Examen d'un dossier de sinistre | No | Yes Un lot par soumission | Yes Le jugement est le travail |
| Audit de votre propre site | Partly Uniquement s'il est gigantesque | Yes Extraire et traiter par lots | No |
Trois de ces quatre lignes sont satisfaites par une personne traitant des lots, ce qui mérite d'être établi avant qu'quiconque n'écrive du code. La première ligne est foncièrement différente, et c'est celle qui nécessite un service hébergé.
Si vous avez réellement besoin d'automatisation
Il existe trois voies honnêtes, et chacune implique des compromis différents. Prétendre le contraire n'aide personne.
| Option | Compromis | Idéal pour |
|---|---|---|
| Une API commerciale | Les images quittent votre infrastructure | Volume élevé, faible sensibilité |
| Auto-héberger un modèle ouvert | Temps d'ingénierie et matériel | Données sensibles, capacité interne |
| L'exécuter dans un navigateur que vous contrôlez | Discret mais sans compromis | Volume modéré, stricte confidentialité |
| Échantillonner plutôt que filtrer | La couverture est partielle | La plupart des charges de travail réelles |
| Une étape de révision humaine | Un jugement plus lent, mais meilleur | Tout ce qui touche une personne |
La troisième ligne mérite d'être expliquée car elle est sous-utilisée. Un navigateur sans interface graphique exécuté sur votre propre machine, pilotant une page qui effectue l'analyse en local, est un moyen légitime d'automatiser sans envoyer d'images nulle part. Ce n'est pas glamour, mais ça fonctionne.
La quatrième ligne est celle que la plupart des équipes devraient choisir et qu'elles envisagent rarement. Filtrer chaque image coûte cher et est généralement inutile ; en échantillonner dix pour cent, plus tout ce qui provient d'une source ayant déjà posé problème, permet de détecter l'essentiel à une fraction du coût.
Si vous hébergez vous-même
C'est plus réalisable qu'on ne le pense, car les modèles de recherche dans ce domaine sont en grande partie publics. Un point de contrôle publié sous licence permissive, un moteur d'inférence et un serveur modeste reproduiront l'essentiel de ce qu'un service commercial vend.
Ce que vous prenez en charge, c'est tout ce qui entoure le modèle. Le maintenir à jour au fil des évolutions des générateurs, calibrer un seuil pour vos propres supports, mesurer votre propre taux de faux positifs et disposer d'une personne capable d'expliquer un résultat lorsqu'il est contesté.
Ce dernier point est le coût caché. Une capacité de détection que personne dans l'organisation ne comprend suffisamment pour la défendre devient une vulnérabilité dès qu'une décision fondée sur elle est remise en question, et cette question finit toujours par arriver tôt ou tard.
Quoi que vous conceviez, intégrez ceci
Deux décisions de conception comptent plus que le choix du modèle, et toutes deux concernent ce qui se passe après le score.
Ne laissez jamais un score décider automatiquement de quoi que ce soit concernant une personne. Acheminez les alertes vers un humain, enregistrez la décision de l'humain plutôt que ce qu'a dit le modèle, et assurez-vous que la personne concernée puisse savoir pourquoi son cas a été examiné.
Et stockez les résultats, pas les scores. Un historique interrogeable de chiffres associés à des utilisateurs ou des fournisseurs nommés constitue un enregistrement de profilage qui nécessitera sa propre justification, n'ajoute aucune valeur opérationnelle et devient un problème dès que quelqu'un demande ses données.
Un point de départ réaliste
Pour la plupart des équipes qui arrivent ici avec un besoin d'automatisation, la première version sensée n'implique aucune ingénierie. Une personne, un lot par soumission entrante, et une note dans le fichier sur ce qu'elle a trouvé.
Cela produit quelque chose de précieux en une semaine : une idée des scores de vos propres supports. Presque personne n'a cela au départ, et sans cela, tout seuil défini dans le code n'est qu'une supposition sur une distribution que vous n'avez jamais mesurée.
Une fois que vous savez où se situent vos images, la nécessité de l'automatisation devient concrète plutôt que théorique. Vous saurez combien de soumissions par semaine méritent réellement un coup d'œil, et souvent la réponse rend l'ingénierie inutile.
Là où elle ne l'est pas, vous automatiserez au moins par rapport à une référence mesurée plutôt qu'à une référence publiée, ce qui fait toute la différence entre un contrôle qui fonctionne sur vos données et un autre qui fonctionne sur l'étalon de quelqu'un d'autre.
Ce qu'il faut mesurer avant de concevoir quoi que ce soit
Trois chiffres transforment une intention vague en spécification, et ces trois chiffres proviennent de l'exécution de lots manuels pendant quinze jours.
La distribution de vos propres supports : là où les images authentiques de vos sources normales atterrissent réellement. Presque toutes les équipes sont surprises, généralement parce que leurs intrants sont plus traités qu'elles ne le pensaient.
Votre propre taux de faux positifs : la fréquence à laquelle une alerte s'avère être un traitement ordinaire lorsqu'une personne mène l'enquête. C'est le chiffre qui décide si un contrôle est utilisable sur de vraies personnes, et ce n'est jamais le chiffre affiché sur la page d'un fournisseur.
Le volume qui serait réellement signalé : le nombre d'éléments par semaine qu'un humain devrait examiner. Si ce nombre est petit, l'automatisation que vous planifiiez se résume à un tableur et à une habitude.