یک خط کد پایتون میتواند جایگزین پایگاهدادههای برداری چند میلیون دلاری شود. این ادعای جسورانه، نتیجهی بنچمارکهایی است که در ۳۱ ژوئیه ۲۰۲۶ توسط داگ لوتون، توسعهدهنده نرمافزار، منتشر شد تا نشان دهد برای تیمهایی که حدود یک میلیون سند مدیریت میکنند، روش «برونافکنی خام» (Brute-forcing) بهینهترین مسیر است.
بسیاری از توسعهدهندگان به دلیل پیشفرضهای آکادمیک درباره پیچیدگی الگوریتمها، مستقیماً به سراغ ذخیرهسازهای برداری پیچیده میروند. اما طبق گزارش لوتون، یک جستوجوی خطی O(n) در دنیای واقعی به دلیل شتابدهندههای سختافزاری و محلی بودن حافظه، میتواند از الگوریتمهای O(log n) سریعتر باشد. همانطور که در تحلیلهای پیشین ما درباره بهینهسازی استنتاج اشاره کردیم، همیشه پیچیدگی الگوریتمی در محیط عملیاتی به معنای سرعت بیشتر نیست. این یافته، پیشفرضهای رایج درباره ضرورت داشتن پایگاهدادههای تخصصی برای هر تسک تولید بازیابیافزا (RAG) — که شبیه دانشآموزی است که قبل از جواب دادن، اول کتاب درسی را باز میکند و از آن نقل میآورد — را به چالش میکشد.
لوتون در آزمایشهای خود روی یک لپتاپ M4 MacBook Pro با بردارهای معنایی (Embedding) — که مثل کارت معرفی عددی برای هر واژه است تا همسایگانش را معرفی کند — با ابعاد ۳۸۴، نتایج زیر را ثبت کرد:
- ۱ میلیون سند (۱ رشته): ۷۹.۷ پرسوجو در ثانیه (QPS) با میانگین تأخیر ۰.۰۱۲ ثانیه.
- ۱ میلیون سند (۱۰ رشته): ۱۷۰.۵ پرسوجو در ثانیه با میانگین تأخیر ۰.۰۵۸ ثانیه.
- ۸.۸ میلیون سند (۱ رشته): ۹.۳۴ پرسوجو در ثانیه با میانگین تأخیر ۰.۱۰۶ ثانیه.

به نقل از گزارش softwaredoug.com، کل مکانیزم جستوجو در یک عملیات ساده خلاصه شده است: scores = self.doc_vectors @ query_vector.astype(np.float32, copy=False). لوتون پیشنهاد میکند کسانی که از ظرفیت NumPy فراتر میروند، پیش از سرمایهگذاری روی یک پایگاهداده کامل، از FAISS برای ایندکسگذاری در حافظه استفاده کنند.
این شواهد نشان میدهد که هجوم فعلی صنعت به سمت زیرساختهای برداری تخصصی، برای پروژههای کوچک تنها باعث ایجاد بدهی فنی میشود. توسعهدهندگان با اولویت دادن به «جستوجوی جامع» تا لحظهای که عملکرد واقعاً افت کند، میتوانند ۶ ماه از هزینههای عملیاتی و لایسنسهای گرانقیمت کم کنند.
گام بعدی شما
- اگر حجم دادههای شما زیر یک میلیون سند است، ابتدا با NumPy آزمایش کنید.
- پیش از خرید سرویسهای ابری برداری، بنچمارک تأخیر (Latency) را روی سختافزار محلی بسنجید.
- برای مقیاسهای بالاتر، کتابخانه FAISS را به عنوان پل ارتباطی بررسی کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما درباره تراشههای Blackwell مراجعه کنید.




گفتگو