Người vận hành dịch vụ cạnh tranh với Google từ phòng giặt nhờ AI
(fastcompany.com)- Một dự án DIY xây dựng công cụ tìm kiếm mang tên Searcha Page/Seek Ninja trên máy chủ cá nhân đặt trong phòng giặt, mang lại trải nghiệm tiệm cận Google
- Bắt đầu với chỉ mục khoảng 2 tỷ trang và đặt mục tiêu đạt 4 tỷ tài liệu trong nửa năm, kết hợp phương pháp lập chỉ mục truyền thống với mở rộng từ khóa và hiểu ngữ cảnh dựa trên LLM
- Tổng chi 5.000 USD cho hệ thống dùng linh kiện máy chủ cũ, cấu hình cỡ AMD EPYC 7532 (32 nhân)·RAM 0,5 TB, giúp giảm chi phí nhờ chiến lược kinh doanh chênh lệch giá nâng cấp (upgrade arbitrage)
- Giảm tối đa phụ thuộc vào đám mây nhưng vẫn dùng Llama 3 của SambaNova cho suy luận LLM; Seek Ninja là phiên bản ưu tiên quyền riêng tư, không lưu hồ sơ hay dùng vị trí
- Việc áp dụng AI giúp mở rộng với chi phí thấp; codebase 150.000 dòng của anh được LLM tăng tốc phát triển lặp, cho phép một người tự xây dựng hệ thống quy mô lớn
- Dù là cấu hình cá nhân, chi phí thấp, hệ thống vẫn đạt độ chính xác và tốc độ tốt cho tìm kiếm cục bộ; đồng thời cho thấy tiềm năng thử nghiệm của tìm kiếm thay thế, chẳng hạn cân nhắc chuyển sang colocated hosting khi lưu lượng tăng
Bối cảnh: trải nghiệm tìm kiếm ‘gần như Google’ với phần cứng nhỏ
- Đối chiếu với lịch sử Google khởi đầu từ máy chủ vỏ Duplo thời Stanford, đây là ví dụ cho thấy chỉ với một máy chủ cũ cũng có thể tiến gần tới trải nghiệm tìm kiếm hiện đại
- Cách đây 30 năm, Google bắt đầu từ Backrub trong khuôn viên Stanford, dùng một máy chủ thử nghiệm chứa 40 GB dữ liệu trong bộ vỏ làm bằng khối Duplo
- Sau đó hệ thống được nâng lên thành một rack máy chủ nhỏ nhờ tài trợ từ IBM và Intel, nhưng đến năm 2025, Google Search đã lớn đến mức không thể chứa trong chỉ một trung tâm dữ liệu
- Searcha Page của Ryan Pearce hiện thực hóa trải nghiệm tìm kiếm hiện đại bằng một cỗ máy có kích thước tương đương máy chủ Google thời đầu
- Máy chủ được đặt cạnh máy giặt và máy sấy, sau khi được chuyển ra khỏi phòng ngủ để giảm vấn đề nhiệt và tiếng ồn
- Dù bị giới hạn bởi môi trường phòng giặt, chất lượng kết quả tìm kiếm thực tế vẫn được đánh giá là thuộc nhóm khá cao theo cảm nhận sử dụng
- Quy mô chỉ mục hiện ở mức khoảng 2 tỷ tài liệu và được dự báo đạt 4 tỷ tài liệu trong 6 tháng
- Mốc so sánh: Google năm 1998 có 24 triệu trang, năm 2020 có 400 tỷ trang
- Dù quy mô tuyệt đối còn nhỏ, đây vẫn là mức rất lớn đối với một máy chủ tự lưu trữ duy nhất
Công nghệ cốt lõi: lập chỉ mục truyền thống + LLM hỗ trợ
- Kiến trúc tổng thể đi theo cấu trúc công cụ tìm kiếm truyền thống, nhưng dùng LLM để hỗ trợ mở rộng từ khóa và đánh giá ngữ cảnh theo thiết kế lai
- Điều này gợi lại lịch sử AI đã được tích hợp vào các công cụ tìm kiếm lớn như RankBrain, đồng thời nhấn mạnh rằng dù có phản cảm với LLM, AI từ lâu đã là yếu tố cốt lõi của tìm kiếm
- LLM được dùng như công cụ thực dụng để tăng tốc độ phát triển và khả năng mở rộng trong xây dựng bộ dữ liệu và ngữ cảnh hóa
- Người vận hành ban đầu triển khai bằng LLM rồi thay thế bằng logic truyền thống trong quá trình phát triển lặp, mở rộng codebase lên khoảng 150.000 dòng
- Nếu tính cả các vòng lặp phát triển, khối lượng công việc thực tế được ước tính tương đương 500.000 dòng
Hạ tầng: tự lập chỉ mục và ‘chênh lệch giá nâng cấp’ từ máy chủ cũ
- Thiết bị là máy chủ cũ dựa trên AMD EPYC 7532 (32 nhân), tận dụng mạnh việc giá giảm khi CPU từng có giá hơn 3.000 USD lúc ra mắt nay được giao dịch dưới 200 USD
- Tổng chi phí dựng hệ thống vào khoảng 5.000 USD, trong đó khoảng 3.000 USD dành cho lưu trữ
- Cấu hình như RAM 0,5 TB giúp hệ thống đủ sức xử lý hàng trăm phiên đồng thời
- Duy trì định hướng tự lưu trữ (self-hosting) để giảm tối đa dùng cloud, nhưng riêng suy luận LLM thì truy cập chi phí thấp, tốc độ cao qua SambaNova (Llama 3)
- Tận dụng các web corpus công khai như Common Crawl để tăng tốc crawler và indexer, đồng thời có kế hoạch giảm dần phụ thuộc về lâu dài
Sản phẩm: Searcha Page và Seek Ninja
- Searcha Page: UX SERP truyền thống tương tự Google, vẫn cho kết quả hiệu quả cả ở tìm kiếm cục bộ
- Thay vì meta description, hệ thống dùng tóm tắt bằng LLM để tăng cường phần giải thích mức độ liên quan giữa truy vấn và tài liệu
- Seek Ninja: biến thể ưu tiên quyền riêng tư, không lưu hồ sơ và không dùng vị trí
- Cách tiếp cận nhẹ và tối giản, phù hợp dùng thay cho chế độ ẩn danh
- Về kiếm tiền, dự án đang thử nghiệm quảng cáo liên kết ở mức vừa phải thay vì banner dày đặc, và có kế hoạch chuyển sang colocation khi lưu lượng tăng mạnh
Trường hợp so sánh: hướng tiếp cận cloud và vector của Wilson Lin
- Trong một thử nghiệm cá nhân cùng thời khác, Wilson Lin theo đuổi chiến lược cloud-native kết hợp engine vector riêng (CoreNN) để vận hành ở chi phí siêu thấp
- Anh tạo tóm tắt bằng LLM cho từng tài liệu để biểu diễn ghép nối truy vấn - tài liệu theo cách khác
- Mục tiêu chung là nhận thức rằng rào cản lớn hơn nằm ở thị trường và kênh phân phối, chứ không chỉ ở công nghệ
- Pearce từng thử vector DB nhưng nhận thấy kết quả mơ hồ, mang tính “nghệ thuật” đến mức thiếu chính xác, nên quay lại kỹ thuật truyền thống xét về độ chính xác xếp hạng
Vấn đề vận hành: nhiệt, tiếng ồn và giới hạn vật lý của phòng giặt
- Máy chủ từng gây phiền toái sinh hoạt do nhiệt trong phòng ngủ, nên được chuyển sang phòng tiện ích, với các lỗ đi dây để đảm bảo kết nối
- Nếu đóng cửa quá lâu, nhiệt tích tụ có thể trở thành vấn đề, nên thông gió là yếu tố quan trọng
- Dù có xu hướng hoài nghi cloud, anh vẫn đang cân nhắc chuyển sang colocate tại trung tâm dữ liệu theo kiểu kích hoạt theo ngưỡng, xét đến giới hạn của LLM và lưu lượng truy cập
Ý nghĩa: thử nghiệm một người đuổi theo Google và vai trò thực tế của LLM
- Trái với quan niệm rằng LLM là công cụ làm hỏng chất lượng tìm kiếm, ở đây nó là phương tiện thực tế giúp cá nhân có được năng lực xây dựng công cụ tìm kiếm như một bộ tăng tốc phát triển và mở rộng
- Lập chỉ mục truyền thống + LLM hỗ trợ là phương án thỏa hiệp thực dụng nhằm theo đuổi đồng thời độ chính xác và khả năng giải thích
- Tổ hợp máy chủ cũ giá rẻ + corpus công khai + API LLM chi phí thấp chứng minh rằng có thể thử nghiệm tìm kiếm thay thế mà không cần nguồn lực Big Tech quy mô lớn
- Dù vẫn còn những thách thức như mở rộng sang nhiều ngôn ngữ, chi phí crawl liên tục hay khả năng chống spam, đây vẫn là ví dụ cho thấy năng lực cạnh tranh thử nghiệm trong các lĩnh vực tìm kiếm ngách và ưu tiên quyền riêng tư
2 bình luận
Liên kết vượt paywall https://archive.is/dLEl5
Ý kiến trên Hacker News
Tôi đã tự xây một chỉ mục tên miền. Tôi không crawl mọi trang con bên trong tất cả tên miền, nhưng đó cũng không phải mục tiêu. Hiện tôi có 1.542.766 tên miền. Không phải là quá nhiều, nhưng là dữ liệu được thu thập một cách đàng hoàng. Ai cũng có thể dùng nó trong kho GitHub, nên nếu bạn muốn bắt đầu crawl thì có thể dùng làm tài liệu tham khảo: Internet-Places-Database
Dự án này thật sự rất tuyệt. Ban đầu tôi tò mò không biết cảm hứng đến từ đâu. Và trong Readme có một liên kết bị hỏng:
https://rumca-js.github.io/internet full internet searchNếu yêu cầu zone file của ICANN thì chẳng phải bạn sẽ có được danh sách tên miền chính thức của ngày hôm đó sao?
Tôi cũng từng định thử làm việc này vào năm 2023! Phần khó nhất khi tạo công cụ tìm kiếm thật ra không phải là bản thân việc “tìm kiếm”, mà là xây chỉ mục và, như những người khác đã nói, crawl một Internet cực kỳ thù địch, đặc biệt là khi chạy trên một máy chủ gia đình đơn lẻ không xoay vòng IP. Tôi hy vọng người này sẽ thành công và trở thành một tài liệu tham chiếu trong cộng đồng giống như người làm Marginalia. Đọc bài này khiến tôi muốn thử lại thêm một lần nữa
Có lẽ nên bookmark open-webindex của openwebsearch.eu. Nó vẫn chưa open source, nhưng có vẻ sau khi giai đoạn beta kết thúc thì có thể sẽ được công khai. Kế hoạch chi tiết vẫn còn chưa rõ ràng
Tôi tự hỏi dữ liệu từ commoncrawl có hữu ích cho các dự án kiểu này không
Tôi từng nghĩ đến chuyện crowdsourcing việc crawl. Có vẻ như vừa giải được vấn đề xoay IP, vừa phân tán được tải
Vấn đề IP này khá thú vị. Trước đây tôi từng làm bot CSGO để scrape giá trên Steam, thử cả dịch vụ proxy nhưng vẫn bị Steam chặn. Nên tôi tự hỏi liệu mọi người có thực sự đi mua IP thật không
Có chỉ mục và không có chỉ mục rõ ràng là khác nhau. Nhưng xếp hạng kết quả lại là chuyện khác. Ví dụ, nên hiện gì ở trang 200, và liệu những kết quả ở đó còn có ý nghĩa hay không
Tôi tìm ngẫu nhiên trên https://searcha.page/ và nhận được thông báo: “Đã xảy ra lỗi khi tạo kết quả tìm kiếm”
Lo là nó vừa dính hug of death. Nhiệt độ trong tiệm giặt chắc sẽ tăng khủng khiếp
Lượng sử dụng của tôi tuần này đã tăng gấp 20 lần so với tuần trước. Trớ trêu là bản thân dịch vụ tìm kiếm không phải nút thắt cổ chai, mà vấn đề là mở rộng ngữ cảnh. Biểu đồ sử dụng gần như dựng đứng. Tôi cũng không chắc đây là một tuần tốt hay không
Tôi cũng gặp hiện tượng y hệt ở https://seek.ninja/s?q=beatles
Trước khi hiện tượng này xảy ra, trang kết quả tìm kiếm đầu tiên (SERP) khá ấn tượng
Tôi được báo là đã chạm giới hạn bài viết. Chắc phải 10 năm rồi tôi mới thấy một liên kết fastcompany! Tôi đã rất háo hức vì tưởng cuối cùng cũng được đọc lại bài của họ, nhưng rồi chỉ còn thất vọng. Tôi có xem nội dung liên quan trên archive, và thấy rằng:
Gần đây tôi đã cày blog của Wilson Lin rất nhiều, và nó cực kỳ hữu ích, chất lượng cao với những người không chuyên nhưng quan tâm đến công cụ tìm kiếm và LLM blog
Chế độ đọc của Firefox, đôi khi kèm làm mới, có thể vượt qua phần lớn các paywall, bài này cũng vậy
“Bộ xử lý AMD EPYC 7532 32 nhân từng có giá hơn $3.000 khi mới ra mắt, nhưng giờ có thể kiếm trên eBay với giá dưới $200.” Không hiểu sao những món hời kiểu này lúc nào cũng không xuất hiện đúng khi tôi đang tìm linh kiện homelab
Bạn phải chịu khó đào bới các món hời bị gắn nhãn lộn xộn, và cũng phải sẵn sàng mua từ những người bán không có danh tiếng
Tìm
AMD EPYC 7532thì ra rất nhiều listing trong khoảng $150~$200. Không biết là do lúc bạn tìm linh kiện homelab thì vẫn chưa có deal kiểu này nên mới thấy tiếc đúng khôngKhông phải CPU, nhưng đầu năm nay tôi đã mua một chiếc Thinkpad workstation sản xuất năm 2020 trên eBay với giá $500. Lúc mới thì nó là máy $5.700. Thị trường phần cứng trên eBay nói chung đều như vậy. Chỉ cần chờ 5 năm là giá rớt xuống còn 1/10
TheServerStore.com đôi khi có deal tốt. Đầu năm nay tôi đã ráp trọn một server EPYC 7702 64 nhân mới hoàn toàn (RAM 256GB, NVMe 8TB) với giá khoảng $3.000
Một cách khác là mua chip hạng QC và tự thử sức. Tôi cũng mua theo cách đó. Chi phí lớn nhất với tôi là ổ đĩa, tiếp theo là RAM. Con chip thì cảm giác tương đối rẻ
Tôi thấy dự án này rất tuyệt, chỉ mong anh ấy tiếp tục vui vẻ với nó. Cá nhân tôi cũng đã hàng chục lần tưởng tượng về việc tự làm công cụ tìm kiếm, nhưng lúc nào cũng đâm vào tường. Internet của năm 1999 và Internet bây giờ quá khác nhau. Giờ đây bản thân việc khám phá thế giới web không còn có nhiều ý nghĩa nữa. Ví dụ, kể cả bạn tìm được blog cá nhân của ai đó về khủng long, thì nó cũng không cập nhật từ sau năm 2004, ảnh và liên kết đều hỏng, và bây giờ Wikipedia hay Smithsonian còn tốt hơn nhiều. Việc tìm ra những website cá nhân đặc biệt như vậy vẫn thú vị, nhưng không còn giá trị như trước. Thực tế hơn mà nói, chúng ta đang quay lại một mạng lưới xoay quanh các “hub”, nơi từng nền tảng độc chiếm một loại nội dung nhất định như YouTube, TikTok, Medium, Reddit, Mayo Clinic. Những ông lớn này thì dè dặt với crawler cá nhân, nhưng lại thân thiện với crawler của Google. Vì Google mang đến lưu lượng người dùng. Nếu là crawler của tôi thì họ có dễ dàng cho vào không? Dù vậy tôi vẫn không bỏ cuộc. Có lẽ kiểu Internet dựa trên hub này cần một công cụ tìm kiếm biết nhận diện hub
Cụm từ “Google rival” có vẻ hơi quá. Cứ gọi là “công cụ tìm kiếm” thì thực ra còn chính xác hơn, nếu nghĩ đến tất cả những gì Google ngày nay đang làm
Tôi không thể trả lời trực tiếp tất cả mọi người, nhưng tôi chính là người đang vận hành công cụ tìm kiếm đó. Vâng, hôm nay nó đã sập vì lưu lượng tăng đột biến. Mức sử dụng tăng gấp 20 lần so với tuần trước, và tôi hoàn toàn chưa sẵn sàng. Trong đầu tôi chỉ mơ hồ hình dung rằng lượng người dùng sẽ tăng chậm và đều. Cảm ơn mọi người đã dùng thử, và nếu dịch vụ hoạt động không tốt thì tôi xin lỗi. Đây là ngày đầu tiên thật sự phải trải qua một “bài thử lửa”
Một sự kết hợp tuyệt vời giữa đổi mới và tự host với góc nhìn hoài nghi về cloud. Tôi nghĩ chúng ta cần nhiều thứ như thế này hơn