منصوبے کے بارے میں
Faiss dense vectors کی موثر مماثلت تلاش اور clustering کے لیے ایک لائبریری ہے، جو بنیادی طور پر Meta کے Fundamental AI Research گروپ میں تیار کی گئی ہے۔ یہ فرض کرتی ہے کہ instances کو vectors کے طور پر پیش کیا جاتا ہے جن کی شناخت integers سے ہوتی ہے، اور ان کا موازنہ L2 (Euclidean) فاصلے یا dot products سے کیا جاتا ہے؛ cosine similarity کو normalized vectors پر dot products کے ذریعے سپورٹ کیا جاتا ہے۔
لائبریری میں ایسے algorithms شامل ہیں جو کسی بھی سائز کے vectors کے سیٹوں میں تلاش کرتے ہیں، بشمول ایسے سیٹ جو RAM میں فٹ نہ ہوں۔ اس میں evaluation اور parameter tuning کے لیے معاون کوڈ بھی شامل ہے۔ Faiss C++ میں لکھی گئی ہے جس میں Python/numpy کے لیے مکمل wrappers ہیں، اور کچھ انتہائی مفید algorithms GPU پر نافذ کیے گئے ہیں۔
Index کی اقسام سادہ exact-search baselines سے لے کر ایسے ڈھانچوں تک ہیں جو search time، search quality، فی index vector میموری، training time، adding time، اور unsupervised training کے لیے بیرونی ڈیٹا کی ضرورت کے درمیان توازن قائم کرتے ہیں۔ binary vectors اور compact quantization codes پر مبنی طریقے صرف compressed نمائندگی استعمال کرتے ہیں اور اصل vectors کو رکھنے کی ضرورت نہیں ہوتی، عام طور پر کم درست تلاش کی قیمت پر لیکن ایک ہی سرور پر main memory میں اربوں vectors تک پیمانہ کرنے کی صلاحیت کے ساتھ۔ دیگر طریقے جیسے HNSW اور NSG خام vectors کے اوپر ایک indexing ڈھانچہ شامل کرتے ہیں تاکہ تلاش زیادہ موثر ہو۔
GPU implementation CPU یا GPU میموری دونوں سے input قبول کرتی ہے۔ GPUs والے سرور پر، GPU indexes کو CPU indexes کے لیے drop-in replacement کے طور پر استعمال کیا جا سکتا ہے (مثال کے طور پر، IndexFlatL2 کو GpuIndexFlatL2 سے تبدیل کرنا)، اور GPU میموری سے اور اس کی طرف کاپیاں خودکار طور پر سنبھالی جاتی ہیں۔ جب input اور output دونوں GPU پر موجود رہیں تو نتائج تیز ہوتے ہیں۔ سنگل اور ملٹی-GPU استعمال سپورٹ کیا جاتا ہے۔
تنصیب: Python میں Anaconda کے لیے precompiled libraries دستیاب ہیں (faiss-cpu, faiss-gpu, faiss-gpu-cuvs)۔ لائبریری زیادہ تر C++ میں نافذ کی گئی ہے؛ صرف انحصار BLAS implementation ہے۔ اختیاری GPU سپورٹ CUDA یا AMD ROCm کے ذریعے فراہم کی جاتی ہے، اور Python انٹرفیس اختیاری ہے۔ NVIDIA cuVS کے Backend GPU implementations کو بھی اختیاری طور پر فعال کیا جا سکتا ہے۔ یہ cmake کے ساتھ compile ہوتی ہے؛ تفصیلات کے لیے INSTALL.md دیکھیں۔
دستاویزات کے entry points میں project wiki شامل ہے (getting-started tutorial، FAQ، اور troubleshooting سیکشن کے ساتھ)، faiss.ai پر doxygen documentation جو code comments سے نکالی گئی فی کلاس معلومات فراہم کرتی ہے، اور benchmark READMEs جو تحقیقی مقالوں جیسے Polysemous codes، Billion-scale similarity search with GPUs، اور Link and code کے نتائج دوبارہ پیدا کرنے کے لیے ہیں۔
Faiss MIT لائسنس یافتہ ہے۔ عوامی بحث GitHub Discussions میں ہوتی ہے، اور issues صفحہ بگ رپورٹس اور سوالات کے لیے مانیٹر کیا جاتا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.