Eine Web-Suchmaschine von Grund auf in zwei Monaten mit 3 Milliarden neuronalen Einbettungen erstellen
In den letzten Jahren hat sich die Technologie hinter Suchmaschinen rasant weiterentwickelt. Doch trotz dieser Fortschritte scheinen viele Suchmaschinen an Relevanz und Qualität zu verlieren. Wilson Lin, ein Solo-Entwickler, hat sich dieser Herausforderung gestellt und innerhalb von nur zwei Monaten eine vollständige Web-Suchmaschine von Grund auf entwickelt. In diesem Artikel beleuchten wir seinen spannenden Weg, die technischen Details seiner Implementierung und die Herausforderungen, die er dabei überwinden musste.
Motivation hinter dem Projekt
Die Motivation für den Bau einer eigenen Suchmaschine war zweifach. Zum einen stellte Lin fest, dass viele bestehende Suchmaschinen zunehmend von SEO-Spam und irrelevanten Inhalten geprägt sind. Zum anderen sah er das Potenzial von transformerbasierten Text-Einbettungsmodellen, die eine bemerkenswerte natürliche Sprachverständnis zeigen. Die Frage, die ihn beschäftigte, war: “Warum kann eine Suchmaschine nicht immer qualitativ hochwertige Inhalte liefern?”
Technische Details der Implementierung
Der gesamte Prozess begann ohne Infrastruktur, mit bootstrapped Daten und ohne Erfahrung im Bau einer Suchmaschine. Einige der bemerkenswertesten technischen Errungenschaften waren:
- Ein Cluster aus 200 GPUs generierte insgesamt 3 Milliarden SBERT-Einbettungen.
- Zur Hochphase verarbeiteten Hunderte von Crawlern 50.000 Seiten pro Sekunde, was zu einem Index von 280 Millionen Seiten führte.
- Die End-to-End-Abfrage-Latenz lag bei etwa 500 ms.
- RocksDB und HNSW wurden über 200 Kerne, 4 TB RAM und 82 TB SSDs verteilt.
Proving Ground
Lin begann mit der Schaffung eines minimalen Spielplatzes, um zu experimentieren, ob neuronale Einbettungen tatsächlich überlegen für Suchanfragen sind. Er stellte fest, dass traditionelle Suchmaschinen oft nur zufällige Ergebnisse liefern, während neuronale Suchmaschinen in der Lage sind, komplexe, indirekte natürliche Sprachabfragen präzise zu beantworten.
Normalisierung
Ein wichtiger Schritt war die Normalisierung der HTML-Inhalte, um den semantischen Text aus den crawled Seiten zu extrahieren. Dies beinhaltete die Entfernung von nicht relevanten Inhalten wie Menüs, Navigationselementen und Kommentarsektionen, um die Suchmaschine nicht in ihrer Fähigkeit zu beeinträchtigen, den tatsächlichen Inhalt zu verstehen.
Chunking und semantischer Kontext
Um die Relevanz der Suchergebnisse zu verbessern, wurde der Text in sinnvolle Abschnitte unterteilt. Lin nutzte einen trainierten Sentencizer, um den Text in Sätze zu zerlegen, was eine präzisere Suche ermöglichte. Der semantische Kontext wurde durch die Normalisierung des semantischen Dokumentbaums sichergestellt, sodass die Suchmaschine die Beziehungen zwischen den Sätzen verstehen konnte.
Herausforderungen und Lösungen
Während des Projekts stieß Lin auf verschiedene Herausforderungen, darunter die effiziente Verwaltung von Crawling-Ressourcen und die Gewährleistung der Datenqualität. Eine der größten Hürden war die DNS-Auflösung, die zu einer signifikanten Anzahl von Fehlern führte. Um dies zu umgehen, implementierte er manuelle Überprüfungen der DNS-Auflösung, um sicherzustellen, dass keine internen Daten geleakt wurden.
Zukunftsausblick
Lin plant, seine Suchmaschine weiter zu optimieren, indem er sich auf die Verbesserung der Datenqualität und die Implementierung von Agentensuche konzentriert. Er sieht großes Potenzial in der Kombination von LLMs (Large Language Models) mit Suchtechnologien, um die Benutzererfahrung weiter zu verbessern.
Fazit
Die Entwicklung einer eigenen Suchmaschine ist ein ehrgeiziges Projekt, das nicht nur technisches Wissen erfordert, sondern auch ein tiefes Verständnis für die Bedürfnisse der Nutzer. Wilson Lin hat eindrucksvoll bewiesen, dass es möglich ist, innerhalb kurzer Zeit eine leistungsfähige Suchmaschine zu entwickeln, die qualitativ hochwertige Ergebnisse liefert.
Quellenliste:
- Quelle: BUILDING A WEB SEARCH ENGINE FROM SCRATCH IN TWO MONTHS WITH 3 BILLION NEURAL EMBEDDINGS
- Hugging Face – Leaderboard
- Wikipedia – Long Tail
- MDN Web Docs – ARIA Roles
- Cloudflare – Argo Smart Routing
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!