Was die Architektur tatsächlich ist
Ein Vision Transformer, konvertiert in ONNX und auf etwa 40 MB komprimiert, aufgeteilt in zwei Teile, damit jeder unter der Dateigrößenbegrenzung der Hosting-Plattform bleibt. Er wird im Browser wieder zusammengesetzt und seine Prüfsumme verifiziert, bevor etwas ausgeführt wird.
Die Inferenz erfolgt über WebAssembly, was es einer kompilierten Laufzeitumgebung ermöglicht, mit nahezu nativer Geschwindigkeit innerhalb eines Browser-Tabs zu arbeiten. Die Laufzeitumgebung selbst ist ein komprimiertes WASM-Binary, das zusammen mit den Gewichten geladen wird.
Nichts davon ist mehr exotisch. Was 2021 noch eine Forschungsdemonstration war, ist heute eine normale Art, ein Modell auszuliefern, und die Browser haben den Großteil der Arbeit erledigt.
Was es bietet
| Immobilie | Im Browser | Auf einem Server |
|---|---|---|
| Bild verlässt Ihr Gerät | No unmöglich | Yes erforderlich |
| Kosten pro Prüfung | Yes null | No echte Rechenleistung |
| Datenverarbeitungsvertrag nötig | No | Yes |
| Funktioniert nach dem Laden ohne Netzwerk | Yes | No |
| Modell kann privat gehalten werden | No es wird heruntergeladen | Yes |
| Erste Prüfung ist sofort | No Modell lädt einmal | Yes |
Die erste Zeile ist der Grund, warum der Rest existiert. Da es keinen Upload-Endpunkt gibt, gibt es keinen Speicherplatz für fremde Fotos, keine Aufbewahrungsrichtlinie, keine Sicherheitslücke, die offengelegt werden müsste, und nichts, was auf Anfrage herausgegeben werden könnte.
Die zweite Zeile ist der Grund, warum es ohne Nutzungsgebühr kostenlos sein kann. Eine Prüfung verursacht keine Serverkosten, daher gibt es keine Kosten pro Bild, die gedeckt werden müssten, was die Preisgestaltung verändert.
Was es kostet
Drei echte Kompromisse, klar benannt, da eine Seite, die nur Vorteile auflistet, Werbung ist.
- Die erste Prüfung ist langsam. Vierzig Megabyte müssen ankommen, bevor etwas passiert. Bei einer schnellen Verbindung sind das ein paar Sekunden; bei einer schlechten dauert es länger. Nachfolgende Prüfungen nutzen das zwischengespeicherte Modell wieder und starten sofort.
- Alte Geräte haben Probleme. Die Inferenz benötigt Arbeitsspeicher und Rechenleistung, die ein fünf Jahre altes Telefon möglicherweise nicht bequem bereitstellen kann. Ein Server würde sich nicht darum kümmern, welches Gerät Sie verwenden.
- Das Modell ist öffentlich. Alles, was in einen Browser heruntergeladen wird, kann behalten werden. Ein serverseitiges Modell kann proprietär sein; dieses hier kann es nicht, und die Gewichte sind ohnehin ein offener Forschungs-Checkpoint.
Der dritte Punkt ist es wert, direkt angesprochen zu werden. Ein Modell an den Client auszuliefern bedeutet, es preiszugeben. Das ist hier ein akzeptabler Kompromiss, da die Gewichte bereits veröffentlicht sind und die Arbeit, die das Tool nützlich macht, die Kalibrierung, das Tiling und die Interpretation sind, die um das Modell herum aufgebaut wurden.
Die technischen Probleme, die man kennen sollte
Aufteilen einer großen Datei
Statische Hosting-Plattformen begrenzen die Größe einzelner Dateien. Ein 40-MB-Modell überschritt das Limit, daher wird es als zwei deterministische Teile geliefert, die im Browser wieder zusammengesetzt und vor der Verwendung gegen einen Manifest-Hash geprüft werden. Ein beschädigter oder ausgetauschter Teil schlägt laut fehl, anstatt im Stillen falsche Ergebnisse zu produzieren.
Nichts laden, bevor es benötigt wird
Das Modell, die Laufzeitumgebung und der Credential-Reader werden nicht beim Laden der Seite abgerufen. Sie kommen erst bei der ersten Interaktion, sodass jemand, der einen Artikel liest, nichts davon herunterlädt. Das hält die Seiten für die große Mehrheit der Besucher schnell, die nie eine Prüfung durchführen.
Dekodierung schwieriger Formate
HEIC von iPhones, AVIF, TIFF und JPEG XL müssen vor der Bewertung dekodiert werden. Browser handhaben die meisten davon inzwischen nativ, was den Teil eliminiert, der früher die meiste clientseitige Arbeit bei einem solchen Tool darstellte.
Wenn diese Architektur die falsche Wahl ist
Sie ist nicht universell besser. Ein Server ist sinnvoller, wenn das Modell proprietär ist und geschützt werden muss, wenn es zu groß für den Versand ist, wenn Sie Ergebnisse in einer Backend-Pipeline benötigen statt vor einer Person oder wenn Sie eine garantierte Antwortzeit unabhängig vom Gerät benötigen.
Für ein Tool, das jemand öffnet, um ein verdächtiges Bild zu prüfen, trifft nichts davon zu, und der Datenschutzvorteil ist mehr wert als alles, was ein Server hinzufügen würde.
Was dies ausschließt
Die Wahl des Clients hat Konsequenzen jenseits des Datenschutzes, und einige davon sind Einschränkungen, die man besser beim Namen nennt, anstatt sie als Features zu tarnen.
Es gibt keine Historie. Ein Ergebnis existiert nur in dem Tab, das es erstellt hat, sodass nichts später nachgeschlagen werden kann, sofern es nicht exportiert wurde. Das sind die direkten Kosten, wenn man kein Konto hat, und es ist der am häufigsten angefragte Punkt, den die Architektur kompliziert macht.
Es gibt keinen gemeinsamen Status. Zwei Personen können nicht dieselbe Warteschlange sehen, und ein Team kann die Prüfungen der anderen nicht einsehen. Ein geteilter Link enthält ein einzelnes Ergebnis, das ein Gespräch abdeckt, keinen Arbeitsablauf.
Es gibt keine API. Alles, was in einem Browser-Tab läuft, kann nicht aus einer Backend-Pipeline aufgerufen werden, was hochvolumige Anwendungen vollständig ausschließt. Das sind echte Lücken, und die ehrliche Position ist, dass dies der Preis für die Eigenschaft ist, die wichtiger ist.