تصور کنید میخواهید کارایی یک پایگاهداده برداری را بسنجید، اما هیچ خطکش مشترکی برای مقایسه وجود ندارد. برای حل این مشکل، شرکت پاینکون (Pinecone) در ۱۷ سپتامبر ۲۰۲۶، چارچوب متنباز VQ-bench را منتشر کرد تا استانداردی برای ساخت و محکزنی روشهای کوانتش (Quantization) فراهم کند. این ابزار که توسط اشوین پاداکی، امیر اینگبر و ادو لیبرتی معرفی شده، شامل یک مخزن گیتهاب با مجوز MIT، یک مقاله علمی که در کنفرانس VecDB@VLDB ۲۰۲۶ ارائه شد و یک وبسایت عمومی برای مشاهده نتایج زنده است.
کوانتش — شبیه به فشردهسازی یک عکس باکیفیت به فرمت JPEG برای اشغال فضای کمتر بدون از دست دادن جزئیات اصلی — فرآیند کاهش بیتهای مورد نیاز برای ذخیره یک بردار است. این تکنیک برای مدیریت پایگاهدادههای برداری عظیم و بهینهسازی وزنهای مدل زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد — حیاتی است. طبق اعلام نویسندگان، پیش از این هیچ تلاش سیستماتیکی برای ارزیابی روشهای پیشرو در برابر یکدیگر وجود نداشت، زیرا هر پژوهشگری از سختافزار، مجموعه داده و معیارهای متفاوتی استفاده میکرد. آنها اشاره کردند که نتوانستند هیچ تلاش سازمانیافتهای برای مقایسه متدهای پیشرو بیابند.
همانطور که در تحلیلهای قبلی ما دربارهی بهینهسازی حافظه در مدلهای زبانی اشاره کردیم، کاهش هزینه استنتاج مستقیماً به نحوه مدیریت وزنها وابسته است. بر اساس مستندات VQ-bench، اکثر کوانتایزرها در واقع از مجموعهای کوچک از عملیاتهای اولیه یا «پریمیتیوها» ساخته شدهاند. این چارچوب، ساخت یک کوانتایزر را شبیه به دنبال کردن یک دستور پخت آشپزی میکند که در آن توسعهدهنده پریمیتیوها را در یک خط لوله (Pipeline) به هم متصل میکند. در مقالهای که ۳۱ ژوئیه ۲۰۲۶ در arXiv منتشر شد، توضیح داده شده که این چارچوب ۷ پریمیتیو مفهومی را تعریف کرده و ۲۵ کوانتایزر رایج را به عنوان ترکیبی از این پریمیتیوها بازتعریف میکند.
معماری فنی
این چارچوب پریمیتیوها را در سه گروه عملکردی تقسیم میکند:
- شرطسازها (Conditioners): ابزارهایی مانند PCA، نرمالسازی (Normalize)، مرکزگرایی (Center) و چرخش تصادفی (RandomRotate).
- گردکنندهها (Rounders): روشهایی شامل KMeans، CastNormal، CastAngular و CastUint.
- جداکنندهها (Splitters): بهطور خاص پریمیتیو Segment.
هر کوانتایزر در این سیستم باید چهار متد اصلی را پیادهسازی کند: fit (یادگیری مدل از نمونهای از بردارها و پرسوجوهای اختیاری)، encode (تولید کدهای مربوط به هر بردار)، reconstruct (بازسازی بردار از روی مدل و کد) و score (تخمین ضرب داخلی بین یک پرسوجو و یک بردار کدگذاریشده).
پریمیتیوها علاوه بر این چهار متد، دو متد اضافی به نامهای apply و apply_queries را پیادهسازی میکنند. این دو متد، قرارداد زنجیرهسازی را تشکیل میدهند که اجازه میدهد پریمیتیوها با یکدیگر ترکیب شوند. در یک خط لوله، متدهای fit و encode بردارها را به صورت رو به جلو در زنجیره حرکت میدهند، در حالی که reconstruct از آخرین مرحله شروع شده و به صورت معکوس بازمیگردد. متد score ابتدا پرسوجو را از طریق apply_queries به جلو میراند و سپس پاس معکوس را اجرا میکند.
برای مثال، خط لوله E-RaBitQ چهار پریمیتیو را زنجیر میکند: ابتدا میانگین بردار مجموعه داده را کم میکند (Center)، سپس بردارها را به نرم واحد مقیاسبندی میکند (Normalize)، یک چرخش تصادفی (اعمال تبدیل متعامد تصادفی یا تبدیل هادامارد) اعمال کرده و در نهایت بردارها را به یک شبکه اعداد صحیح b-بیتی میچسباند (Angular Cast) تا به نزدیکترین نقطه شبکه در زاویه گرد شوند.
یافتههای محکزنی
تیم توسعه ۱۴ کوانتایزر را روی ۵ مجموعه داده VIBE ارزیابی کرد. نتایج مفصلی برای مجموعه داده ArXiv (شامل ۱,۳۴۴,۶۴۳ بردار در ۷۶۸ بُعد) و مجموعه داده Yahoo (شامل ۶۷۷,۳۰۵ بردار در ۳۸۴ بُعد) ارائه شد. این نتایج توازنهای متفاوتی را نشان داد:
- PQ و OPQ بهطور مداوم کمترین میزان میانگین مربعات خطا (MSE) را در بازسازی داشتند که معیار سنتی برای فشردهسازی وزنهای LLM است.
- EDEN و E-RaBitQ در بازیافت (Recall) عملکرد مشابهی داشتند، بهویژه در بودجههای بیتی بالاتر.
- EDEN بهطور قابلتوجهی سریعتر از PQ، OPQ و E-RaBitQ کدگذاری میکرد و برای اکثر کاربردهای عملی، گزینهای برتر است.
برای اندازهگیری recall@10 جهت بازرتبهبندی در پایگاهدادههای برداری، تیم ابتدا ۱,۰۰۰ بردار با بیشترین ضرب داخلی برای هر پرسوجو را محاسبه کرد و سپس بررسی کرد که چه کسری از ۱۰ مورد برتر تخمینی توسط کوانتایزر، در ۱۰ مورد برتر واقعی قرار دارند. این آزمایشها روی یک پردازنده Apple M2 Pro با ۱۶ گیگابایت رم و ۶ رشته (Thread) اجرا شدند. برای افزایش سرعت، کدگذاری از طریق چندرشتهای (Multithreading) شتابیافته و در قالب تکههای (Chunks) کوچک پردازش شد.
ابزارها و متنباز بودن
این پروژه با مجوز MIT منتشر شده و توسط امیر اینگبر و ادو لیبرتی از پاینکون و اشوین پاداکی از دانشگاه پنسیلوانیا نگهداری میشود. این پروژه شامل یک ابزار خط فرمان مبتنی بر زبان Rust به نام vqb است. این ابزار از پیکربندیهای JSON برای انتخاب موارد زیر پشتیبانی میکند:
- مجموعه دادهها، متدها و پارامترها
- معیارهای کیفیت و مقادیر k برای بازیافت (Recall)
- دمای Softmax و یک seed اصلی
- تعداد نمونهبرداریهای فرعی (Subsampling) و تعداد رشتهها
این ابزار دارای یک پرچم dry-run برای اعتبارسنجی پیکربندیها و یک حالت استریمینگ است تا مجموعههای دادهای که بزرگتر از حافظه رم موجود هستند را با خواندن بلوکهای ۲۵۶ مگابایتی (بهطور پیشفرض) از دیسک پردازش کند.
توسعهدهندگان اکنون میتوانند به دو صورت در این چارچوب مشارکت کنند: یا با تغییر ترتیب پریمیتیوهای موجود، کوانتایزرهای جدید بسازند، یا پریمیتیوهای کاملاً جدیدی بنویسند که از قرارداد رابط ششمتدی پیروی کند. سیستم ارزیابی، معیارهایی چون recall@k، خطای بازسازی و امتیاز، بایاس (Bias)، تغییرات کل و KL Softmax، اندازه بر حسب بیت در هر بُعد و هزینه کدگذاری، امتیازدهی و بازسازی را اندازهگیری میکند.
این چرخش به سمت استانداردسازی، نگاه صنعت را به فشردهسازی برداری تغییر میدهد. با جایگزینی مقالات پراکنده با یک خط لوله واحد، توسعهدهندگان میتوانند بدون اجرای آزمایشهای ایزوله، برای نیازهای خاص خود بهینهسازی کنند؛ مثلاً EDEN را برای سرعت یا PQ را برای دقت بازسازی انتخاب کنند.
این رویکرد، کوانتش برداری را از یک «هنر پژوهشی» به یک «دیسیپلین مهندسی» پیشبینیپذیر تبدیل میکند که احتمالاً استقرار سیستمهای تولید بازیابیافزا (RAG) سبکتر و سریعتر و هوش مصنوعی روی دستگاه (On-device AI) کارآمدتر را تسریع خواهد کرد. نویسندگان این نسخه را اولین تکرار VQ-bench توصیف کرده و قصد دارند در آینده کوانتایزرهای بیشتری اضافه کنند و اصلاحات را از طریق issue tracker مخزن گیتهاب مدیریت نمایند.
شما میتوانید بنچمارک زنده کوانتایزرهای محبوب را در وبسایت عمومی پروژه مشاهده کنید یا از طریق مخزن گیتهاب، پریمیتیوهای جدیدی را به آن اضافه کنید.
گام بعدی شما
- اگر در حال مدیریت پایگاهدادههای برداری حجیم هستید، از ابزار vqb برای مقایسه سرعت کدگذاری EDEN در برابر PQ استفاده کنید.
- مخزن گیتهاب VQ-bench را بررسی کنید تا ببینید آیا پریمیتیوهای موجود نیازهای خاص توزیع دادههای شما را پوشش میدهند یا خیر.
- نتایج زنده وبسایت VQ-bench را برای انتخاب بهینهترین متد کوانتش بر اساس بودجه بیتی خود رصد کنید.
اما تأثیر این استانداردسازی بر سختافزارهای استنتاج لبه حتی حیاتیتر است — به تحلیل ما دربارهی تراشههای NPU مراجعه کنید.




گفتگو