- โปรเจกต์ DIY ที่สร้างเสิร์ชเอนจินชื่อ Searcha Page/Seek Ninja บนเซิร์ฟเวอร์ส่วนตัวที่วางไว้ในห้องซักผ้า เพื่อมอบ ประสบการณ์ใกล้เคียง Google
- เริ่มต้นจาก ดัชนีราว 2 พันล้านหน้า และตั้งเป้าไปที่ 4 พันล้านเอกสาร ภายในครึ่งปี โดยผสานวิธีทำดัชนีแบบดั้งเดิมเข้ากับ การขยายคีย์เวิร์ดและความเข้าใจบริบทด้วย LLM
- ใช้อุปกรณ์ระดับ AMD EPYC 7532 (32 คอร์)·RAM 0.5TB ที่ประกอบจากชิ้นส่วนเซิร์ฟเวอร์มือสอง ลงทุนรวม 5,000 ดอลลาร์ และลดต้นทุนด้วยกลยุทธ์ Upgrade Arbitrage
- ลดการพึ่งพาคลาวด์ให้มากที่สุด แต่ใช้ Llama 3 ของ SambaNova สำหรับการอนุมานของ LLM ส่วน Seek Ninja เป็นเวอร์ชัน เน้นความเป็นส่วนตัว ที่ไม่เก็บโปรไฟล์และไม่ใช้ตำแหน่งที่ตั้ง
- การนำ AI มาใช้ทำให้ ขยายระบบได้ในต้นทุนต่ำ และโค้ดเบสขนาด 150,000 บรรทัดของเขาก็พัฒนาได้เร็วขึ้นผ่าน LLM จนสามารถสร้างระบบขนาดใหญ่เพียงลำพังได้
- แม้จะเป็นการติดตั้งแบบส่วนตัวและต้นทุนต่ำ แต่ก็ยังรักษา ความแม่นยำและความเร็วของการค้นหาแบบโลคัล ได้ และยังแสดงให้เห็นถึง ศักยภาพเชิงทดลองของทางเลือกใหม่ในตลาดเสิร์ช เช่น การพิจารณาย้ายไปโคโลเคชันเมื่อทราฟฟิกเพิ่มขึ้น
เบื้องหลัง: ประสบการณ์ค้นหาแบบ ‘เกือบเหมือน Google’ ด้วยฮาร์ดแวร์ขนาดเล็ก
- เป็นกรณีตัวอย่างที่ตัดกับประวัติของ Google ซึ่งเริ่มจาก เซิร์ฟเวอร์ในเคสต่อจากบล็อก Duplo และแสดงให้เห็นว่าแม้มีเพียงเซิร์ฟเวอร์เก่าหนึ่งเครื่องก็ยังเข้าใกล้ ประสบการณ์ค้นหาสมัยใหม่ ได้
- เมื่อ 30 ปีก่อน Google เริ่มต้นจาก Backrub ในมหาวิทยาลัย Stanford โดยใช้เซิร์ฟเวอร์ทดลองที่ใส่ข้อมูล 40GB ไว้ในเคสที่ทำจาก บล็อก Duplo
- ต่อมาจึงอัปเกรดเป็นแร็กเซิร์ฟเวอร์ขนาดเล็กด้วยการสนับสนุนจาก IBM และ Intel แต่ในปี 2025 ระบบค้นหาของ Google ก็เติบโตจนมีขนาดใหญ่เกินกว่าจะอยู่ในดาต้าเซ็นเตอร์เพียงแห่งเดียวได้
- Searcha Page ของ Ryan Pearce สร้าง ประสบการณ์ค้นหาสมัยใหม่ ด้วยเครื่องที่มีขนาดประมาณเซิร์ฟเวอร์ยุคแรกของ Google
- เซิร์ฟเวอร์ถูกย้ายจากห้องนอนไปติดตั้งข้างเครื่องซักผ้าและเครื่องอบผ้า เพื่อลดปัญหา ความร้อนและเสียงรบกวน
- แม้จะมีข้อจำกัดจากการตั้งไว้ในห้องซักผ้า แต่คุณภาพผลลัพธ์การค้นหาจริงก็ยังถูกประเมินว่า ให้ความรู้สึกอยู่ในกลุ่มบนๆ
- ขนาดดัชนีปัจจุบันอยู่ที่ ราว 2 พันล้านเอกสาร และคาดว่าจะไปถึง 4 พันล้านเอกสารภายใน 6 เดือน
- ตัวเลขเทียบเคียง: Google ในปี 1998 มี 24 ล้านหน้า และในปี 2020 มี 4 แสนล้านหน้า
- แม้ขนาดรวมจะเล็กกว่า แต่สำหรับ เซิร์ฟเวอร์เดี่ยวที่โฮสต์เอง ถือว่าใหญ่มาก
เทคโนโลยีหลัก: ดัชนีแบบดั้งเดิม + LLM ช่วยเสริม
- สถาปัตยกรรมโดยรวมยังยึดตาม โครงสร้างเสิร์ชเอนจินแบบดั้งเดิม แต่เป็นการออกแบบแบบไฮบริดที่ให้ LLM ช่วยขยายคีย์เวิร์ดและตัดสินบริบท
- เป็นการชวนให้นึกถึงประวัติการฝัง AI เข้าไปในเสิร์ชเอนจินรายใหญ่ เช่น RankBrain และย้ำว่าไม่ว่าใครจะต่อต้าน LLM แค่ไหน AI ก็เป็นองค์ประกอบสำคัญของการค้นหามานานแล้ว
- LLM ถูกใช้เป็นเครื่องมือเชิงปฏิบัติที่ช่วยเพิ่ม ความเร็วในการพัฒนาและความสามารถในการขยายระบบ ในการสร้างชุดข้อมูลและทำความเข้าใจบริบท
- ผู้พัฒนาระบุว่าในช่วงแรกเขาจะทำฟังก์ชันด้วย LLM ก่อน แล้วค่อย แทนที่ด้วยลอจิกแบบดั้งเดิม ในภายหลัง ทำซ้ำเช่นนี้จนโค้ดเบสเติบโตเป็น ประมาณ 150,000 บรรทัด
- หากนับรวมงานที่เกิดจากการพัฒนาแบบทำซ้ำ ปริมาณงานจริงอาจเทียบได้กับ ราว 500,000 บรรทัด
โครงสร้างพื้นฐาน: ทำดัชนีเอง และ ‘ส่วนต่างจากการอัปเกรด’ ของเซิร์ฟเวอร์มือสอง
- อุปกรณ์เป็นเซิร์ฟเวอร์มือสองบนพื้นฐาน AMD EPYC 7532 (32 คอร์) โดยใช้ประโยชน์อย่างเต็มที่จาก การลดลงของราคา ของ CPU ที่ตอนเปิดตัวเคยมีราคามากกว่า 3,000 ดอลลาร์ แต่ปัจจุบันซื้อขายกันในราคา ต่ำกว่า 200 ดอลลาร์
- ค่าใช้จ่ายรวมของระบบอยู่ที่ราว 5,000 ดอลลาร์ โดยในจำนวนนี้ใช้กับ สตอเรจประมาณ 3,000 ดอลลาร์
- ด้วยการติดตั้ง RAM 0.5TB เป็นต้น จึงรองรับ เซสชันพร้อมกันได้หลายร้อยรายการ
- แม้จะยึดแนวทาง โฮสต์เอง (self-hosting) และลดการใช้คลาวด์ให้ต่ำที่สุด แต่สำหรับ การอนุมานของ LLM ยังใช้ SambaNova (Llama 3) เพื่อให้เข้าถึงได้แบบ ต้นทุนต่ำและความเร็วสูง
- ใช้เว็บคอร์ปัสสาธารณะอย่าง Common Crawl เพื่อเร่งการทำงานของ crawler และ indexer และมีแผนจะลดการพึ่งพาในระยะยาว
ผลิตภัณฑ์: Searcha Page และ Seek Ninja
- Searcha Page: มี UX ของ SERP แบบดั้งเดิม คล้าย Google และให้ผลลัพธ์ที่ใช้ได้จริงแม้กับ การค้นหาแบบโลคัล
- มีการกล่าวถึงการใช้ สรุปด้วย LLM แทน meta description เพื่อเสริมคำอธิบาย ความเกี่ยวข้องระหว่างคำค้นกับเอกสาร
- Seek Ninja: เวอร์ชัน ให้ความสำคัญกับความเป็นส่วนตัว ที่ ไม่เก็บโปรไฟล์และไม่ใช้ตำแหน่งที่ตั้ง
- เป็นแนวทางแบบ เบาและมินิมอล ที่เหมาะจะใช้แทน โหมดไม่ระบุตัวตน
- การหารายได้กำลังทดลองใช้ โฆษณาพันธมิตรแบบนุ่มนวล แทนแบนเนอร์จำนวนมาก และมีแผน ย้ายไปโคโลเคชันเมื่อทราฟฟิกเพิ่มขึ้นอย่างมาก
กรณีเทียบเคียง: แนวทางคลาวด์และเวกเตอร์ของ Wilson Lin
- ในอีกการทดลองส่วนบุคคลของยุคเดียวกัน Wilson Lin ใช้กลยุทธ์ cloud-native ร่วมกับ เอนจินเวกเตอร์ของตัวเอง (CoreNN) เพื่อมุ่งสู่การดำเนินงานแบบ ต้นทุนต่ำมาก
- เขาสร้าง สรุปด้วย LLM ให้แต่ละเอกสาร เพื่อแสดงความสัมพันธ์ระหว่าง คำค้นกับเอกสาร ในอีกรูปแบบหนึ่ง
- เป้าหมายร่วมกันคือการตระหนักว่าอุปสรรคที่ใหญ่กว่าตัวเทคโนโลยีอาจเป็นเรื่องของ ตลาดและช่องทาง
- Pearce เคยลองใช้ vector DB แต่พบว่าผลลัพธ์ คลุมเครือและเหมือนงานศิลป์ จนถึงขั้นมองว่าไม่แม่นยำ จึงหันกลับไปใช้วิธีดั้งเดิมในมุมของ ความแม่นยำในการจัดอันดับ
ประเด็นการปฏิบัติการ: ความร้อนและเสียง, ข้อจำกัดทางกายภาพของห้องซักผ้า
- เดิมเซิร์ฟเวอร์อยู่ในห้องนอนและก่อปัญหาการใช้ชีวิตจาก ความร้อน จึงย้ายไปที่ ห้องยูทิลิตี้ และเชื่อมต่อด้วยวิธีอย่าง การเจาะรูเดินสายเคเบิล
- หากปิดประตูไว้นานเกินไป ความร้อนสะสม อาจกลายเป็นปัญหาได้ ทำให้ การระบายอากาศ เป็นปัจจัยสำคัญ
- แม้จะมีแนวโน้ม ไม่เชื่อมั่นคลาวด์ แต่เมื่อคำนึงถึงข้อจำกัดของ LLM และทราฟฟิก ก็ยังพิจารณาการย้ายไป โคโลเคชันในดาต้าเซ็นเตอร์ ตามเงื่อนไขที่กำหนดไว้
ความหมาย: การทดลองไล่ตาม Google โดยนักพัฒนาเพียงคนเดียว และบทบาทที่เป็นจริงของ LLM
- ตรงกันข้ามกับความเชื่อที่ว่า LLM คือเครื่องมือที่ทำลายคุณภาพการค้นหา มันกลับเป็นเครื่องมือที่ใช้งานได้จริงในฐานะ ตัวเร่งการพัฒนาและการขยายระบบ ซึ่งเปิดทางให้คนคนเดียวมี ความสามารถในการสร้างเสิร์ชเอนจิน
- แนวทาง ดัชนีแบบดั้งเดิม + LLM ช่วยเสริม คือการประนีประนอมเชิงปฏิบัติที่ต้องการทั้ง ความแม่นยำและความสามารถในการอธิบาย
- การผสมผสานระหว่าง เซิร์ฟเวอร์มือสองราคาต่ำ + คอร์ปัสสาธารณะ + LLM API ราคาถูก พิสูจน์ว่าการทำ เสิร์ชทางเลือก สามารถเกิดขึ้นได้โดยไม่ต้องมี ทรัพยากรระดับบิ๊กเทค
- แม้ยังมีอุปสรรคอย่าง การขยายไปยังภาษาอื่น, ต้นทุนการ crawl อย่างต่อเนื่อง และ ความทนทานต่อสแปม แต่ก็เป็นกรณีที่แสดงให้เห็นถึง ศักยภาพเชิงทดลองในการแข่งขัน ในพื้นที่อย่าง เสิร์ชเฉพาะทาง และ บริการที่เน้นความเป็นส่วนตัว
2 ความคิดเห็น
ลิงก์ข้ามเพย์วอลล์ https://archive.is/dLEl5
ความเห็นจาก Hacker News
ฉันทำดัชนีโดเมนขึ้นมาเอง ไม่ได้ไล่ครอลทุกหน้าภายในทุกโดเมน แต่ก็ไม่ใช่เป้าหมายอยู่แล้ว ตอนนี้มี 1,542,766 โดเมนแล้ว ไม่ได้มากนัก แต่เป็นข้อมูลที่เก็บมาอย่างตรงไปตรงมา ทุกคนใช้งานได้จาก GitHub repository ถ้าอยากเริ่มครอลก็ใช้เป็นข้อมูลอ้างอิงได้ คือ Internet-Places-Database
โปรเจกต์เจ๋งมาก ตอนแรกฉันสงสัยว่าได้แรงบันดาลใจมาจากอะไร แล้วก็มีลิงก์เสียใน Readme คือ
https://rumca-js.github.io/internet full internet searchถ้าขอ zone file ของ ICANN ก็จะได้รายชื่อโดเมนอย่างเป็นทางการของวันนั้นไม่ใช่หรือ?
ฉันเองก็เคยคิดจะลองทำอะไรแบบนี้ในปี 2023! ส่วนที่ยากที่สุดของการทำเสิร์ชเอนจิน จริง ๆ แล้วไม่ใช่ตัว “การค้นหา” เอง แต่เป็นการสร้างดัชนี และอย่างที่คนอื่นพูดไว้ คือการครอลอินเทอร์เน็ตที่ค่อนข้างเป็นปรปักษ์อย่างมาก โดยเฉพาะเมื่อรันบนโฮมเซิร์ฟเวอร์เครื่องเดียวที่ไม่ได้หมุน IP หวังว่าคนนี้จะทำสำเร็จและกลายเป็นงานอ้างอิงในคอมมูนิตี้เหมือนคนที่ทำ Marginalia พออ่านโพสต์นี้แล้วก็ทำให้ฉันอยากกลับไปลองอีกครั้ง
น่าจะคั่นหน้า open-webindex ของ openwebsearch.eu ไว้ ตอนนี้ยังไม่โอเพนซอร์ส แต่พอพ้นช่วงเบต้าแล้วอาจจะเปิดให้ใช้งานก็ได้ รายละเอียดแผนยังไม่แน่ชัด
สงสัยว่าข้อมูลจาก commoncrawl จะพอใช้กับโปรเจกต์แบบนี้ได้ไหม
ฉันเคยคิดเหมือนกันว่าถ้าทำ crowdsource งานครอลจะเป็นอย่างไร น่าจะแก้ปัญหาเรื่องการหมุน IP ได้และช่วยกระจายโหลดด้วย
ประเด็นเรื่อง IP น่าสนใจมาก ฉันเคยทำบอต CSGO เพื่อสแครปราคาใน Steam เคยเช่าบริการพร็อกซีด้วยแต่ก็ยังโดน Steam บล็อก เลยสงสัยว่าคนอื่นเขาซื้อ IP จริงกันหรือเปล่า
การมีดัชนีกับไม่มีดัชนีต่างกันชัดเจน แต่การจัดอันดับผลลัพธ์เป็นอีกเรื่องหนึ่ง เช่น หน้าอันดับ 200 ควรมีอะไรขึ้นมา แล้วผลลัพธ์ที่อยู่ตรงนั้นยังมีความหมายหรือไม่
ฉันลองค้นหาแบบสุ่มใน https://searcha.page/ แล้วได้รับข้อความว่า “เกิดข้อผิดพลาดขณะสร้างผลการค้นหา”
หวังว่าคงไม่โดน hug of death นะ อุณหภูมิในร้านซักผ้าน่าจะพุ่งแน่
ปริมาณการใช้งานของฉันสัปดาห์นี้เพิ่มขึ้น 20 เท่าเมื่อเทียบกับสัปดาห์ก่อน คอขวดกลับไม่ใช่ตัวบริการค้นหาเอง แต่เป็นการขยายบริบท (context) กราฟการใช้งานแทบจะตั้งฉากเลย ยังไม่แน่ใจว่านี่นับเป็นสัปดาห์ที่ดีหรือไม่
ฉันเจออาการเดียวกันใน https://seek.ninja/s?q=beatles
ก่อนจะเกิดอาการนี้ หน้าแรกของผลการค้นหา (SERP) น่าประทับใจมาก
ฉันเจอข้อความว่าอ่านบทความครบโควตาแล้ว ครั้งล่าสุดที่ฉันเห็นลิงก์ fastcompany น่าจะเมื่อราว 10 ปีก่อน! เลยตื่นเต้นว่าจะได้อ่านงานเขาอีกครั้ง แต่สุดท้ายก็ผิดหวัง ฉันไปดูเนื้อหาที่ archive แล้วพบว่า
ช่วงหลังฉันไล่อ่านบล็อกของ Wilson Lin แบบรวดเดียวหลายโพสต์เลย มีประโยชน์และคุณภาพสูงมากสำหรับมือสมัครเล่นที่สนใจเสิร์ชเอนจินและ LLM บล็อก
โหมด Reader ของ Firefox (บางทีกดรีเฟรชเพิ่มนิดหน่อย) ช่วยผ่านเพย์วอลล์ได้เกือบทั้งหมด รวมถึงบทความนี้ด้วย
“โปรเซสเซอร์ AMD EPYC 7532 แบบ 32 คอร์ ตอนออกใหม่ ๆ ต้องจ่ายมากกว่า $3,000 แต่ตอนนี้หาได้ใน eBay ต่ำกว่า $200” ดีลแบบนี้ทำไมถึงไม่เคยโผล่มาตอนฉันกำลังหาชิ้นส่วนโฮมแล็บเลยนะ
คุณต้องยอมใช้เวลาหาดีลที่ติดป้ายกำกับมั่ว ๆ ให้ละเอียด และต้องกล้าซื้อจากผู้ขายที่ไม่มีชื่อเสียงด้วย
ลองค้นหา 'AMD EPYC 7532' ก็จะเจอลิสต์ราคา $150~$200 เยอะมาก เลยสงสัยว่าตอนคุณหาของทำโฮมแล็บนั้นยังไม่ใช่ช่วงที่มีดีลแบบนี้หรือเปล่า
ไม่ใช่ CPU แต่ต้นปีนี้ฉันซื้อ Thinkpad workstation ผลิตปี 2020 จาก eBay มาในราคา $500 ตอนออกใหม่ราคาประมาณ $5,700 ตลาดฮาร์ดแวร์ใน eBay ก็เป็นแบบนี้แหละ แค่รอ 5 ปี ราคาก็ร่วงเหลือหนึ่งในสิบ
บางครั้ง TheServerStore.com ก็มีดีลดี ๆ ต้นปีนี้ฉันประกอบเซิร์ฟเวอร์ EPYC 7702 แบบ 64 คอร์ (RAM 256GB, NVMe 8TB) ของใหม่ได้ทั้งชุดราว $3,000
อีกทางคือซื้อชิปเกรด QC มาลองเอง ฉันก็ซื้อแบบนี้ ต้นทุนก้อนใหญ่สุดสำหรับฉันคือดิสก์ รองลงมาคือ RAM ส่วนชิปกลับรู้สึกว่าถูกกว่ามาก
ฉันคิดว่าโปรเจกต์นี้เจ๋งมาก และหวังว่าเจ้าของจะสนุกกับมัน ฉันเองก็เคยจินตนาการนับสิบครั้งว่าจะสร้างเสิร์ชเอนจินส่วนตัว แต่สุดท้ายก็มักชนกำแพง อินเทอร์เน็ตในปี 1999 กับตอนนี้ต่างกันมาก ทุกวันนี้การค้นพบสิ่งใหม่ ๆ บนเว็บเองไม่ได้มีความหมายมากเหมือนเดิมแล้ว ตัวอย่างเช่น ต่อให้เจอบล็อกส่วนตัวเรื่องไดโนเสาร์ มันอาจไม่ได้อัปเดตมาตั้งแต่ปี 2004 รูปก็เสีย ลิงก์ก็พัง และตอนนี้ Wikipedia หรือ Smithsonian ก็ดีกว่ามาก การหาเว็บส่วนตัวเฉพาะทางแบบนี้ยังสนุกอยู่ แต่คุณค่าไม่เหมือนเมื่อก่อนแล้ว ในโลกจริง อินเทอร์เน็ตกำลังถอยกลับไปเป็นเครือข่ายแบบมี “ศูนย์กลาง” ที่แต่ละแพลตฟอร์มผูกขาดคอนเทนต์บางประเภทไว้ เช่น YouTube, TikTok, Medium, Reddit, Mayo Clinic บริษัทใหญ่เหล่านี้ค่อนข้างระวังตัวกับครอเลอร์ส่วนบุคคล แต่เป็นมิตรกับครอเลอร์ของ Google เพราะ Google ส่งทราฟฟิกผู้ใช้กลับไปให้ แล้วครอเลอร์ของฉันจะได้รับอนุญาตง่าย ๆ ไหมล่ะ? ถึงอย่างนั้นฉันก็ยังไม่ยอมแพ้ อินเทอร์เน็ตแบบมีฮับเช่นนี้อาจต้องการเสิร์ชเอนจินที่รับรู้ฮับเหล่านี้ด้วย
คำว่า ‘Google rival’ ดูจะพูดเกินไปหน่อย เรียกแค่ว่า ‘เสิร์ชเอนจิน’ น่าจะตรงกว่า ถ้านึกถึงทุกอย่างที่ Google ทำในทุกวันนี้
คงตอบทุกคนทีละคนไม่ไหว แต่ฉันนี่แหละคือคนที่กำลังรันเสิร์ชเอนจินนี้อยู่ ใช่แล้ว วันนี้ล่มเพราะทราฟฟิกพุ่งแรง ปริมาณการใช้งานเพิ่มจากสัปดาห์ก่อน 20 เท่า และฉันก็ไม่ได้เตรียมพร้อมเลย ในหัวฉันเคยนึกแบบเลื่อนลอยว่าจำนวนผู้ใช้จะค่อย ๆ โตแบบช้า ๆ และสม่ำเสมอ ขอบคุณทุกคนที่ลองใช้ และถ้ามันทำงานได้ไม่ดีนักก็ขอโทษด้วย วันนี้เป็นวันแรกที่ได้เจอกับ “บททดสอบด้วยไฟ” ของจริง
เป็นการผสมกันที่ยอดเยี่ยมระหว่างนวัตกรรมกับการโฮสต์เองแบบไม่ง้อคลาวด์ ฉันคิดว่าเราอยากเห็นอะไรแบบนี้มากขึ้นอีกเยอะ