حلّ مشكلة المليار متجه في Azure AI Search
By Mirko Peters ·
استكشف التحديات التقنية الفريدة المرتبطة بالبحث في مجموعات بيانات ضخمة على نطاق واسع. يوضح هذا المنشور كيف تؤثر الأبعاد العالية وقيود الذاكرة في أحمال عمل الذكاء الاصطناعي في المؤسسات…
Automatically translated with AI from the original post. Read the English original
استكشف التحديات التقنية الفريدة المرتبطة بالبحث في مجموعات بيانات ضخمة على نطاق واسع. يوضح هذا المنشور كيف تؤثر الأبعاد العالية وقيود الذاكرة في أحمال عمل الذكاء الاصطناعي في المؤسسات.
مشكلة المليار متجه في Azure AI Search
تحديات البحث عن المتجهات على نطاق المليارات
تواجهون مشكلة المليار متجه عندما تحتاجون إلى فهرسة مجموعات بيانات ضخمة والبحث فيها ضمن أحمال عمل الذكاء الاصطناعي في المؤسسات. تفرض معالجة المليارات من المتجهات تحديات تقنية فريدة. ويجب عليكم بناء أنظمة فهرسة فعّالة قادرة على معالجة البيانات واسعة النطاق دون تباطؤ. التحديثات الفورية مهمة لأنكم تريدون أن تظل نتائج البحث حديثة وذات صلة. كما أن إدارة التضمينات عالية الأبعاد ضرورية للحصول على نتائج بحث دقيقة.
عند العمل مع مجموعات بيانات بحجم المليارات، تواجهون عدة قيود:
- الأبعاد العالية تزيد من التكاليف الحسابية وقد تُبطئ أداء البحث.
- الفجوة الدلالية بين تمثيلات المتجهات والمعنى في العالم الحقيقي قد تتسبب في عدم الدقة.
- تصبح عملية جمع المهملات صعبة، مما يجعل إزالة المعلومات القديمة من الفهارس أمرًا عسيرًا.
- جودة المتجهات تعتمد على نموذج التضمين الذي تختارونه، وهذا يؤثر في دقة البحث.
- تُثقل قابلية التوسع متطلبات الذاكرة وقد تزيد من أزمنة البحث.
- تجعل مشكلة البداية الباردة البحث عن عناصر جديدة صعبًا في غياب تمثيلات متجهية جيدة.
- قابلية التفسير منخفضة، لذا قد يكون فهم سبب ظهور نتيجة بحث معينة أمرًا صعبًا.
تجعل هذه التحديات مشكلة المليار متجه من أصعب المشكلات في الذكاء الاصطناعي الحديث.
لماذا يهم اختيار الخوارزمية
يؤثر اختيار الخوارزمية تأثيرًا مباشرًا في طريقة حلّكم لمشكلة المليار متجه. إذا اخترتم خوارزمية مثل HNSW، حصلتم على وصول سريع وبحث فعّال لمجموعات البيانات الكبيرة. إلا أنها تحتاج إلى قدر كبير من ذاكرة RAM، وهذا قد يرفع التكاليف. أما الخوارزميات الأخرى، مثل KNN الشامل، فتوفر دقة عالية لكنها تتطلب حسابات أكثر بكثير، ما يجعلها أنسب لمجموعات البيانات الأصغر. تساعدكم الخوارزمية المناسبة على تحقيق التوازن بين السرعة والدقة واستهلاك الموارد. ويمكنكم تحسين الأداء لتطبيقكم المحدد بمطابقة الخوارزمية مع احتياجاتكم. يحدد هذا القرار مدى كفاءتكم في التعامل مع مجموعات البيانات الضخمة، ومقدار ما تنفقونه على الأجهزة.
نظرة عامة على Azure AI Search
يمنحكم Azure AI Search منصة قوية لمواجهة مشكلة المليار متجه. يمكنكم معالجة بياناتكم مسبقًا باستخدام أدوات تنظيف وإثراء متقدمة، مما يحسّن جودة المتجهات قبل الفهرسة. تنظّم المنصة معلوماتكم داخل قاعدة بيانات متجهية مصممة لمهام الاسترجاع ولاحتياجات البحث الحديثة. تستفيدون من ميزات بحث واسترجاع متينة، بما فيها معالجة اللغة الطبيعية لفهم الدلالات. والأمان قوي، مع التشفير وضوابط الوصول لحماية بياناتكم.
يتكامل Azure AI Search بسلاسة مع خدمات Microsoft Azure الأخرى ومع المنصات التابعة لجهات خارجية. يمكنكم استخدام البحث الهجين، الذي يجمع بين البحث بالكلمات المفتاحية والبحث بالمتجهات للحصول على أفضل النتائج. تتيح لكم ميزات الترتيب وضبط الصلة التحكم في طريقة ظهور نتائج البحث، لتصبح أكثر فائدة لمستخدميكم. كما توفر المنصة تجارب بحث ذكية، مثل الإكمال التلقائي والنتائج المقترحة. ومبنية على البنية التحتية العالمية لـ Azure، يقدم Azure AI Search التوسع والموثوقية اللازمين لمجموعات البيانات الضخمة ومشاريع البيانات واسعة النطاق.
الفهرس القائم على الرسم البياني: HNSW و DiskANN

ما هو HNSW
ربما سمعت عن HNSW، والاختصار يعني Hierarchical Navigable Small World. هذه الخوارزمية للفهرسة القائمة على الرسوم البيانية تساعدك على إيجاد المتجهات المتشابهة بسرعة في مجموعات البيانات الكبيرة. ينشئ HNSW بنية رسم بياني متعددة الطبقات تربط نقاط البيانات بطريقة تجعل البحث سريعًا ودقيقًا. تختلف كثافة كل طبقة من طبقات الرسم البياني عن غيرها، إذ تحتوي الطبقات العليا على عدد أقل من العقد، بينما تحتوي الطبقات السفلى على عدد أكبر. يتيح لك هذا التصميم أن تبدأ البحث من الأعلى وتتحرك نحو الأسفل، فتضيّق نتائجك تدريجيًا كلما تقدمت. صُمّم HNSW ليعمل بكفاءة مع البحث عن المتجهات في الذاكرة، لذلك يحتفظ بالرسم البياني بأكمله في RAM. يمنحك هذا النهج نتائج ذات زمن استجابة منخفض، لكنه يعني أيضًا أنك تحتاج إلى قدر كبير من الذاكرة كلما نما حجم بياناتك.
ما هو DiskANN
Diskann هو ردّ Microsoft على تحديات البحث عن المتجهات على نطاق المليارات. هذه الفهرسة القائمة على الرسوم البيانية تستخدم نهجًا هجينًا يجمع بين الذاكرة وتخزين SSD. يتيح لك DiskANN تخزين معظم الفهرس على أقراص SSD، وهي أرخص بكثير من RAM. تحتفظ في الذاكرة بأهم بيانات التنقل فقط. يساعدك هذا التصميم على إدارة مجموعات البيانات الضخمة دون تكاليف أجهزة مرتفعة. يستخدم DiskANN خوارزمية الرسم البياني Vamana لتوجيه البحث عبر البيانات. كما يستخدم أسلوب تقليم خاصًا للحفاظ على تنوع الرسم البياني وكفاءته. يشغّل diskann من Microsoft كلًا من Azure AI Search وخدمات أخرى، ما يجعله ابتكارًا رئيسيًا في مجال الذكاء الاصطناعي للمؤسسات.
| الابتكار | الوصف |
|---|---|
| البحث ANN عالي السرعة | تتيح بنية Diskann إجراء بحث ANN فعّال على أقراص SSD، ما يساعد على تقليل تكاليف الأجهزة. |
| نظام الذاكرة الهجين | يستخدم Diskann مزيجًا من DRAM وSSD لإدارة مليارات النقاط على جهاز واحد. |
| تخزين فعّال من حيث التكلفة | يخزّن Diskann فهرس ANN على القرص، ما يوفّر حلًا اقتصاديًا لمعالجة البيانات عالية الأبعاد. |
كيف يعمل HNSW
بناء الرسم البياني
يبني HNSW فهرسه القائم على الرسوم البيانية عبر إنشاء تسلسل هرمي من رسوم البحث البيانية. تبدأ ببنية فارغة. يصبح أول متجه تضيفه العقدة الوحيدة في الطبقة العليا. ولكل متجه جديد، يحدد HNSW عدد الطبقات التي ينبغي أن ينضم إليها باستخدام عملية عشوائية. يتصل المتجه الجديد بأقرب جيرانه في كل طبقة حتى الحد الأقصى المخصص له. تحتوي الطبقة العليا على أقل عدد من العقد، ما يجعلها نقطة بداية مناسبة للبحث. أما الطبقات السفلى فتحتوي على عدد أكبر من العقد، ما يتيح عمليات بحث تفصيلية. يستطيع HNSW تحديث رسمه البياني دون إعادة بنائه بالكامل، لذلك يمكنك إضافة بيانات جديدة مع نمو احتياجاتك.
عملية البحث
عندما تبحث باستخدام HNSW، تبدأ من الطبقة العليا للرسم البياني. تستخدم الروابط بعيدة المدى للتحرك بسرعة نحو المنطقة التي قد يوجد فيها المتجه المستهدف. وكلما نزلت إلى طبقة أدنى، أصبحت الروابط أكثر كثافة. يساعدك هذا على تحسين بحثك والاقتراب من أفضل تطابق. في الطبقة السفلى، يستخدم HNSW بحث الشعاع (Beam Search) لإيجاد أقرب الجيران. تمنحك هذه العملية نتائج سريعة ودقيقة، خاصةً عندما يتسع الرسم البياني بأكمله في الذاكرة.
- مبادئ تصميم HNSW:
- مُحسَّن للعمليات في الذاكرة، ويوفّر زمن استجابة منخفضًا وقدرة استرجاع عالية.
- يستخدم بنية رسم بياني متعددة الطبقات مبنية على شبكات العالم الصغير.
- يعتمد استراتيجية تقليم لإزالة الحواف الزائدة وتشجيع التنوع.
- تتضمن عملية البحث النزول عبر الطبقات، بدءًا بالروابط المتفرقة بعيدة المدى وانتهاءً ببحث الشعاع في الطبقة الأساسية.
كما ترى، يستخدم كل من hnsw وdiskann فهرسًا قائمًا على الرسوم البيانية، لكن تصميميهما يلبيان احتياجات مختلفة. يعمل HNSW بأفضل شكل عندما يمكنك الاحتفاظ بكل شيء في الذاكرة. يتيح لك DiskANN التوسع إلى مليارات المتجهات من خلال أقراص SSD، ما يجعله مثاليًا لأعباء العمل المؤسسية في Azure AI Search.
كيف يعمل DiskANN
البنية الهجينة للذاكرة وSSD
تواجه نهجًا فريدًا عند استخدام DiskANN للبحث عن مليارات المتجهات. يجمع DiskANN بين الذاكرة وتخزين SSD لإنشاء بنية هجينة. يتيح لك هذا التصميم تخزين معظم فهرس المتجهات على أقراص SSD، وهي أقل تكلفة من RAM. تحتفظ في الذاكرة ببيانات التنقل الأساسية فقط. يتيح لك هذا الأسلوب توسيع بحثك إلى مليارات المتجهات دون الحاجة إلى أجهزة باهظة الثمن.
تستخدم DiskANN تقنيتين رئيسيتين لتحسين التخزين والسرعة:
- Vamana graph: تستخدمون هذه البنية للتنقل بكفاءة عبر الفهرس.
- Product quantization (PQ): تقومون بضغط المتجهات في الذاكرة، مما يقلل من استهلاك ذاكرة الوصول العشوائي (RAM).
تستفيدون من عملية تنفيذ استعلام على مرحلتين. في المرحلة الأولى، تستخدم DiskANN المتجهات المضغوطة بتقنية PQ في الذاكرة لتحديد مجموعة المرشحين بسرعة. لا تحتاجون إلى القراءة من القرص خلال هذه الخطوة. في المرحلة الثانية، تجلب DiskANN المتجهات كاملة الدقة من SSD لمجموعة المرشحين. ثم تحسبون المسافات الدقيقة لإيجاد أفضل التطابقات. تحقق هذه العملية استرجاعاً عالياً وزمن استجابة منخفضاً، مع الحفاظ على متطلبات ذاكرة منخفضة.
نصيحة: تتيح البنية الهجينة لـ DiskANN للذاكرة وSSD تنفيذ البحث على نطاق الويب باستخدام أجهزة عادية. يمكنكم تخزين فهارس المتجهات على محركات SSD بدلاً من ذاكرة الوصول العشوائي، مما يجعل التطبيقات واسعة النطاق أكثر اقتصادية.
عملية البحث
تبدأون البحث في DiskANN بالتنقل عبر رسم Vamana البياني باستخدام المتجهات المضغوطة في الذاكرة. تساعد هذه الخطوة في العثور على المرشحين الواعدين بسرعة. تتجنبون القراءة من القرص في هذه المرحلة، مما يسرّع العملية. وبمجرد الحصول على مجموعة المرشحين، تنتقل DiskANN إلى المرحلة التالية.
تجلبون المتجهات كاملة الدقة من SSD لكل مرشح، ثم تحسبون المسافات الدقيقة بين الاستعلام وهؤلاء المرشحين. تضمن هذه العملية المكونة من مرحلتين الحصول على نتائج دقيقة دون إبطاء البحث. تحققون استرجاعاً عالياً لأن DiskANN تفحص أفضل المرشحين بالتفصيل. كما تحافظون على زمن استجابة منخفض لأن معظم العمل يتم في الذاكرة.
تعمل عملية البحث في DiskANN بكفاءة مع مجموعات البيانات الضخمة. يمكنكم التعامل مع مليارات المتجهات دون الحاجة إلى كميات كبيرة من ذاكرة الوصول العشوائي. تحصلون على نتائج سريعة وموثوقة حتى مع نمو بياناتكم. وهذا ما يجعل DiskANN خياراً قوياً لأحمال عمل الذكاء الاصطناعي للمؤسسات في Azure AI Search.
| الخطوة | ما تفعلونه | الفائدة |
|---|---|---|
| المرحلة 1: التنقل | استخدام المتجهات المضغوطة بتقنية PQ في الذاكرة لإيجاد المرشحين | بحث سريع، دون قراءات من القرص |
| المرحلة 2: التنقيح | جلب المتجهات كاملة الدقة من SSD وحساب المسافات | استرجاع عالٍ، وزمن استجابة منخفض |
تدركون أن البنية الهجينة لـ DiskANN وعملية البحث تساعدكم على حل مشكلة المليارات من المتجهات بكفاءة. يمكنكم توسيع نطاق البحث، وخفض التكاليف، والحفاظ على الأداء مع نمو بياناتكم.
نقاط القوة والضعف
إيجابيات وسلبيات HNSW
غالباً ما تختارون hnsw لاسترجاع المتجهات لأنه يقدم سرعة بحث من الطراز الرفيع واسترجاعاً عالياً. عند ضبط hnsw بشكل صحيح، تحصلون على نتائج سريعة وتطابقات دقيقة. يمكنكم التعامل مع بيانات المتجهات عالية الأبعاد بكفاءة، وهو أمر مهم لأحمال عمل الذكاء الاصطناعي الحديثة. كما تستفيدون من الإضافات التزايدية، فيمكنكم تحديث الفهرس دون إعادة بنائه بالكامل.
| نقاط القوة | نقاط الضعف |
|---|---|
| سرعة بحث من الطراز الرفيع واسترجاع عالٍ عند الضبط الصحيح. | استهلاك مرتفع للذاكرة بسبب تخزين روابط الرسم البياني لكل متجه. |
| التعامل الجيد مع البيانات عالية الأبعاد. | وقت بناء طويل للفهرس مع معلمات بناء عالية الجودة. |
| دعم الإضافات التزايدية بكفاءة. | قد يؤدي حذف العناصر بشكل معقد إلى تراجع الأداء مع مرور الوقت. |
تتوسعون في hnsw بكفاءة لأنه يستخدم O(N log N) لبناء الفهرس. يتيح البناء المتوازي الاستفادة من معالجات متعددة النوى، مما يسرّع العملية. ينمو استهلاك الذاكرة خطياً مع حجم مجموعة البيانات، لذا يمكنكم التنبؤ باحتياجات التخزين. مع ذلك، يجب الاحتفاظ بالرسم البياني كاملاً في ذاكرة الوصول العشوائي، وهذا يحد من قابلية التوسع لمجموعات البيانات التي تضم مليارات المتجهات.
إيجابيات وسلبيات DiskANN
تلجأون إلى diskann عندما تحتاجون إلى توسيع استرجاع المتجهات بما يتجاوز قدرات ذاكرة الوصول العشوائي. يُحسّن diskann استخدام SSD، مما يقلل تكاليف الأجهزة ويتيح لكم إدارة مجموعات البيانات الضخمة. تحصلون على دقة عالية وزمن استجابة منخفض من خلال الجمع بين عمليات البحث في الذاكرة وقراءات SSD المجمّعة. يدعم diskann التحديثات الفورية والبحث الهجين، فيمكنكم التصفية واسترجاع المتجهات بكفاءة.
ضعوا في اعتباركم النقاط التالية حول diskann:
- قابلية توسع فعّالة من حيث التكلفة باستخدام SSD بدلاً من ذاكرة الوصول العشوائي.
- دقة عالية وزمن استجابة منخفض على نطاق واسع من خلال عمليات البحث في الذاكرة وقراءات SSD.
- تحديثات فورية واسترجاع هجين يجمع بين المتجهات والتصفية.
- يكون وقت بناء الفهرس بطيئًا لأن عملية إنشاء رسم Vamana البياني تتطلب حسابات مكثفة.
- يعتمد الأداء على إنتاجية SSD وزمن استجابته.
- تكون التحديثات أكثر تكلفة مقارنةً بالبنى الموجودة في الذاكرة، مثل hnsw.
- يتطلب التنفيذ والضبط تحسينًا دقيقًا.
تستفيد من قدرة diskann على التعامل مع المتجهات المكمَّمة، وهي تضغط البيانات وتحسّن البحث الموفر للذاكرة. يمكنك استخدام diskann لأحمال العمل التي تضم مليارات المتجهات دون القلق بشأن حدود الذاكرة العشوائية (RAM).
الكفاءة في الذاكرة والتخزين
يجب أن تأخذ في الاعتبار كفاءة الذاكرة والتخزين عند الاختيار بين hnsw وdiskann لاسترجاع المتجهات. يعمل hnsw بكفاءة مع مجموعات البيانات التي تتسع في ذاكرة RAM الخاصة بالخادم. تحصل على وصول سريع وأداء عالٍ، لكنك لا تستطيع التوسع بما يتجاوز حدود ذاكرتك. أما diskann فيتيح لك توسيع حجم مجموعة البيانات إلى سعة القرص، مقابل خسارة قدر من السرعة لصالح التخزين. تخزّن معظم الفهرس على أقراص SSD، مما يجعل diskann مثاليًا لمجموعات المتجهات الضخمة.
| الميزة | HNSW | DiskANN |
|---|---|---|
| كفاءة الذاكرة | كفاءة عالية لمجموعات البيانات التي تتسع في ذاكرة التخزين المؤقت (RAM) الخاصة بالخادم. | مصممة لمجموعات البيانات الأكبر من أن تتسع في ذاكرة RAM. |
| كفاءة التخزين | محدودة بمقدار الذاكرة العشوائية (RAM) المتاحة. | توسّع حجم مجموعة البيانات إلى سعة القرص، مقابل خسارة قدر من السرعة لصالح التخزين. |
| تحسين الأداء | يستفيد من الوصول السريع إلى الذاكرة لتحقيق السرعة. | يقلّل من الأثر السلبي على الأداء الناتج عن بطء تخزين الأقراص. |
| ملاءمة مجموعة البيانات | مناسب لمجموعات البيانات التي تتسع في ذاكرة RAM. | مناسب لمجموعات البيانات الضخمة التي تتجاوز سعة ذاكرة RAM. |
تستخدم المتجهات المكمَّمة في كل من hnsw وdiskann لتقليل احتياجات التخزين وتحسين سرعة الاسترجاع. تتيح البنية الهجينة في diskann توسيع نطاق البحث عن المتجهات مع إبقاء التكاليف منخفضة. تحقق بحثًا موفرًا للذاكرة في مهام الاسترجاع واسعة النطاق، خاصة عند العمل مع المتجهات المكمَّمة وتخزين SSD.
مقارنة خوارزميات البحث عن المتجهات

الأداء على نطاق واسع
تحتاج إلى قياس أداء خوارزمية البحث عن المتجهات مع نمو مجموعة البيانات. يهدف كل من HNSW وDiskANN إلى تحقيق استدعاء (recall) عالٍ وسرعة كبيرة، لكن استراتيجيتيهما تختلفان. يعتمد HNSW على رسوم بيانية في الذاكرة، ما يعني أنك تحصل على بحث سريع عن أقرب الجيران عندما تتسع المتجهات في ذاكرة RAM. أما DiskANN فيستخدم نهجًا هجينًا بين الذاكرة وSSD، فتستطيع توسيع أداء البحث دون القلق بشأن حدود الذاكرة.
عند تنفيذ البحث عن أقرب الجيران على ملايين المتجهات، يوفر لك HNSW استرجاعًا عالي السرعة وزمن استجابة منخفضًا. ويمكنك ضبط المعلمات لتحقيق التوازن بين الاستدعاء والسرعة. ويحافظ DiskANN على استدعاء عالٍ وسرعة كبيرة حتى مع توسع مجموعة البيانات. تخزّن معظم الفهرس على أقراص SSD، ما يتيح لك التعامل مع مليارات المتجهات. تستخدم بحثًا على مرحلتين للموازنة بين السرعة والدقة: تجد المرحلة الأولى المرشحين في الذاكرة، وتعمل المرحلة الثانية على تنقيح النتائج باستخدام أقراص SSD.
تحقق استدعاءً عاليًا وسرعة كبيرة مع كلتا الخوارزميتين، لكن DiskANN يتيح لك توسيع أداء البحث بما يتجاوز حدود ذاكرة RAM.
قابلية التوسع لمليارات المتجهات
تواجه تحديات جديدة عندما تنمو مجموعة البيانات من ملايين المتجهات إلى مليارات. يعمل HNSW بكفاءة حتى 50 مليون متجه. تستخدم HNSW خوارزميةً افتراضيةً للبحث عن المتجهات، وتضبط المعلمات لتحقيق الاستدعاء المطلوب. عندما تصل إلى 50 إلى 500 مليون متجه، تطبّق التجزئة (sharding) والتكميم العددي (scalar quantization). وقد تستخدم الاسترجاع على مرحلتين لتحسين الكفاءة. أما مجموعات البيانات التي تتجاوز 500 مليون متجه، فتحتاج إلى استرجاع هرمي وبنى متعددة الطبقات. وتستخدم تكميمًا قويًا للبيانات الباردة.
| نطاق عدد المتجهات | استراتيجية HNSW |
|---|---|
| من 1 إلى 50 مليونًا | استخدم HNSW كخوارزمية افتراضية، وتأكد من أن المتجهات تتسع في ذاكرة RAM، واضبط المعلمات لتحقيق الاستدعاء المطلوب. |
| من 50 إلى 500 مليون | طبّق التجزئة (sharding)، وفعّل التكميم العددي، وفكّر في الاسترجاع على مرحلتين لتحسين الكفاءة. |
| أكثر من 500 مليون | استخدم الاسترجاع الهرمي والبنى متعددة الطبقات والتكميم القوي للبيانات الباردة. |
يغيّر DiskANN قواعد اللعبة في البحث عن المتجهات على نطاق المليارات. تخزّن معظم الفهرس على أقراص SSD، لذلك لا داعي للقلق بشأن حدود ذاكرة RAM. تستخدم التكميم الناتج عن تقسيم المنتج (product quantization) لضغط المتجهات، وتحتفظ ببيانات التنقل في الذاكرة. توسّع البحث عن أقرب الجيران ليشمل مليارات المتجهات دون التضحية بأداء البحث. ويدعم DiskANN البحث التقريبي القائم على التجميع والاسترجاع الهجين، ما يساعدك على إدارة مجموعات البيانات الضخمة.
يتيح لك DiskANN توسيع خوارزمية البحث عن المتجهات لتشمل مليارات المتجهات، مما يجعله مثاليًا لأحمال العمل المؤسسية.
زمن الاستجابة للاستعلامات والإنتاجية
تهتم بزمن الاستجابة للاستعلامات والإنتاجية عند تشغيل البحث عن المتجهات على نطاق واسع. يوفر لك HNSW زمن استجابة منخفضًا للبحث عن أقرب الجيران لأنه يحتفظ بالرسم البياني بالكامل في الذاكرة. تحصل على استجابات سريعة للاستعلامات وإنتاجية عالية لمجموعات البيانات التي تتسع في الذاكرة RAM. ومع نمو مجموعة البيانات، يزداد زمن الاستجابة عندما تلجأ إلى التجزئة (Sharding) أو إلى بنى متعددة الطبقات.
يستخدم DiskANN عملية بحث ذات مرحلتين. تبحث أولًا في المتجهات المضغوطة الموجودة في الذاكرة، وهو ما يتيح لك اختيار المرشحين بسرعة. ثم تُحسّن نتائج الاستعلام بجلب المتجهات كاملة الدقة من محركات الأقراص ذات الحالة الصلبة (SSD). يحافظ هذا النهج على انخفاض زمن الاستجابة والحفاظ على إنتاجية عالية، حتى مع مجموعات البيانات بحجم المليارات. يمكنك تحسين الاسترجاع عبر تجميع قراءات SSD في دفعات واستخدام بنى تنقل فعّالة.
تحقق مع DiskANN استدعاءً (Recall) ومعدل سرعة عاليين، حتى مع ازدياد حجم الاستعلامات. لا داعي للقلق بشأن حدود الذاكرة، ولذلك يمكنك توسيع أداء البحث لتطبيقات المؤسسات.
تحصل مع DiskANN على زمن استجابة وإنتاجية موثوقين للاستعلامات، مما يجعله خيارًا قويًا للبحث عن أقرب الجيران على نطاق واسع.
التكلفة وأثر الموارد
يجب أن تأخذ في الحسبان التكلفة وأثر الموارد عندما تختار خوارزمية البحث عن المتجهات لـ Azure AI Search. فطريقة استخدام كل خوارزمية للذاكرة والتخزين تؤثر في ميزانيتك وفي قدرتك على التوسع.
يتميز DiskANN في أحمال العمل التي تتضمن مليارات المتجهات. يمكنك تخزين معظم الفهرس على محركات SSD، وهي أقل تكلفة من ذاكرة RAM. يتيح لك هذا التصميم التوسع من آلاف المتجهات إلى مليارات دون زيادة كبيرة في تكاليف الذاكرة. يعمل DiskANN بكفاءة مع أحمال عمل الذكاء الاصطناعي في بيئات الإنتاج لأنه يستخدم محركات SSD بفعالية ويحتفظ في الذاكرة بأهم البيانات فقط.
يعمل HNSW بأفضل شكل مع مجموعات البيانات متوسطة الحجم. يتطلب منك الاحتفاظ بالفهرس بالكامل في ذاكرة RAM. يحد هذا المطلب من قدرتك على التوسع. وإذا أصبحت مجموعة البيانات كبيرة جدًا، فقد تواجه تكاليف تشغيلية مرتفعة. كما أن HNSW محدود بـ 2,000 بُعد، وهو ما قد يقيّد حالات الاستخدام لديك.
| نوع الفهرس | مناسب لأحمال العمل بمليارات المتجهات | متطلبات الذاكرة | التكاليف التشغيلية |
|---|---|---|---|
| DiskANN | نعم، مصمم لأداء SSD | يتوسع من آلاف المتجهات إلى مليارات المتجهات | موصى به لأحمال عمل الذكاء الاصطناعي في بيئات الإنتاج |
| HNSW | لا، مناسب لمجموعات البيانات المتوسطة | يتطلب أن يتسع الفهرس في ذاكرة RAM | محدود بـ 2,000 بُعد |
نصيحة: إذا أردت التحكم في التكاليف وتوسيع البحث إلى مليارات المتجهات، فإن DiskANN يمنحك ميزة واضحة. يمكنك استخدام محركات SSD بأسعار معقولة والحفاظ على انخفاض احتياجاتك من الذاكرة.
حالات الاستخدام الواقعية
يمكنك رؤية قيمة هذه الخوارزميات في التطبيقات الواقعية. تستخدم مؤسسات كثيرة كلًا من DiskANN وHNSW لأنواع مختلفة من مشكلات البحث عن المتجهات.
- يمكنك استخدام طريقة هجينة فعّالة من حيث التكلفة للبحث التقريبي عن أقرب الجيران. يجمع هذا النهج بين تخزين SSD وبنى الرسم البياني الموجودة في الذاكرة.
- يمكنك نشر DiskANN للمجموعات الثابتة من البيانات، مثل مستودعات الأبحاث، حيث لا تتغير البيانات كثيرًا.
- يمكنك اختيار DiskANN لعمليات النشر الحساسة للتكلفة. يعمل بكفاءة مع التطبيقات بحجم المليارات، حيث تحتاج إلى التحكم في النفقات.
- يمكنك استخدام DiskANN للاستعلامات التي تتحمل زمن استجابة أقل من 10 ميلي ثانية. هذه السرعة كافية لكثير من مهام البحث المؤسسي.
- يمكنك دمج HNSW مع الملفات المقلوبة المدعومة بالقرص (HNSW-IF) للبحث الهجين. يحقق هذا النهج استدعاءً عاليًا ويحافظ على انخفاض زمن الاستجابة.
| حالة الاستخدام | الوصف |
|---|---|
| مجموعات البيانات الثابتة | مثالي لمستودعات الأبحاث حيث لا تتغير البيانات بوتيرة متكررة. |
| عمليات النشر الحساسة للتكلفة | مناسب للتطبيقات بحجم المليارات حيث تمثل التكلفة مصدر قلق. |
| الاستعلامات المتسامحة مع زمن الاستجابة | يعمل بكفاءة مع الاستعلامات التي تتحمل زمن استجابة أقل من 10 ms. |
ملاحظة: يحقق كثير من المؤسسات استدعاءً بنسبة 90% عند زمن استجابة 10 ms باستخدام الطرق الهجينة. يلبي هذا الأداء احتياجات معظم تطبيقات البحث المؤسسية بالذكاء الاصطناعي.
يمكنك مطابقة اختيار الخوارزمية مع حمل العمل لديك. إذا كنت تحتاج إلى التوسع والتحكم في التكاليف والحفاظ على انخفاض زمن الاستجابة، فإن DiskANN يمنحك المرونة والكفاءة التي تحتاجها.
متى تستخدم HNSW أو DiskANN
يمكن أن يُحدث اختيار الخوارزمية المناسبة لعبء عمل Azure AI Search فرقاً كبيراً في السرعة والتكلفة والدقة. ينبغي عليك النظر في بياناتك وعتادك ومدى تكرار تغيّر بياناتك. فلنستعرض معايير القرار الرئيسية حتى تتمكن من اختيار الأداة الأنسب لاحتياجات البحث المتجهي لديك.
معايير القرار
حجم مجموعة البيانات
ابدأ دائماً بالنظر إلى حجم مجموعة البيانات. إذا كنت تعمل مع ملايين المتجهات، فإن hnsw يوفر نتائج بحث سريعة ودقيقة. ويعمل بأفضل شكل عندما تتسع بياناتك في الذاكرة. وعندما تنمو مجموعة البيانات إلى مليارات المتجهات، يصبح diskann الخيار الأفضل. فهو يستخدم أقراص SSD لتخزين معظم الفهرس، لذا لن تحتاج إلى القلق من نفاد ذاكرة الوصول العشوائي (RAM).
| المعيار | HNSW | DiskANN |
|---|---|---|
| حجم مجموعة البيانات | مناسب لملايين المتجهات | يتفوق في مليارات المتجهات |
يتضح أن hnsw يناسب أعباء العمل الأصغر، بينما يتعامل diskann مع مجموعات البيانات الضخمة دون أن يتباطأ.
العتاد والتكلفة
يلعب العتاد والميزانية دوراً كبيراً أيضاً. يحتاج hnsw إلى قدر كبير من ذاكرة الوصول العشوائي لأنه يحتفظ بالرسم البياني كاملاً في الذاكرة، وقد تصبح هذه التكلفة مرتفعة مع نمو قاعدة بيانات المتجهات. أما diskann فيساعدك على توفير المال بتخزين معظم الفهرس على أقراص SSD، وهي أقل تكلفة من ذاكرة الوصول العشوائي. ولا تحتاج سوى إلى ذاكرة كافية لجزء التنقل في الفهرس.
| المعيار | HNSW | DiskANN |
|---|---|---|
| البنية التحتية | متطلبات ذاكرة الوصول العشوائي | يقلل تكاليف الذاكرة |
إذا كنت تريد إبقاء التكاليف منخفضة مع الاستمرار في البحث عبر مليارات المتجهات، فإن diskann يمنحك ميزة واضحة.
متطلبات زمن الاستجابة
ينبغي أن تفكر في مدى سرعة حاجتك إلى نتائج البحث. يوفر hnsw زمن استجابة منخفضاً جداً لأنه يبحث في الذاكرة، ويمكنك الحصول على النتائج خلال بضع مللي ثانية إذا كانت بياناتك تتسع في ذاكرة الوصول العشوائي. أما diskann فيوازن بين السرعة وقابلية التوسع، إذ يستخدم عملية بحث من خطوتين، فتحصل على نتائج سريعة حتى مع مجموعات البيانات الضخمة. وبالنسبة إلى معظم تطبيقات المؤسسات، يحافظ diskann على أزمنة الاستعلام دون 10 مللي ثانية.
- يُعد hnsw الأنسب لأعباء العمل التي تُحسب فيها كل مللي ثانية.
- يعمل diskann بكفاءة عندما تحتاج إلى البحث في مجموعات بيانات كبيرة بسرعة، ويمكنك تقبّل زيادة طفيفة في زمن الاستجابة.
أنماط التحديث
يؤثر مدى تكرار تغيّر بياناتك في اختيارك. يعمل hnsw بشكل جيد مع البيانات الثابتة أو التي تتغير ببطء. أما إذا كنت تحدّث المتجهات بشكل متكرر، فقد تحتاج إلى إعادة بناء الفهرس، وهذا يستغرق وقتاً. ويتكيف diskann بشكل أفضل مع التحديثات المتكررة، إذ يحافظ على الدقة والاستدعاء (Recall) مستقرَّين حتى عند إضافة المتجهات أو تغييرها بكثرة.
| الميزة | HNSW | DiskANN |
|---|---|---|
| زمن استجابة التحديث | يتطلب إعادة بناء كاملة للفهرس | يتكيف بكفاءة مع التغييرات |
| الاستدعاء (Recall) | مرتفع، لكنه يتأثر بالتغييرات | دقة مستقرة مع التعديلات المتكررة |
إذا كان تطبيقك يحتاج إلى التعامل مع كم كبير من التحديثات، فإن diskann يمنحك مرونة أكبر.
سيناريوهات عملية
يمكنك الاستعانة بسيناريوهات واقعية للمساعدة في تحديد الخوارزمية التي تناسب احتياجاتك.
| المقياس | HNSW | DiskANN |
|---|---|---|
| متوسط الاستدعاء (Average Recall) | 0.6 | 0.7 |
| الدقة من البداية إلى النهاية (End-to-End Accuracy) | 0.972 | 0.933 |
| Robustness-0.2@10 | 0.998 | 0.984 |
| Robustness-0.9 | 0.84 | 0.81 |
- يوفر hnsw استدعاءً مرتفعاً وإنتاجية استعلام سريعة. وعلى مجموعات بيانات مثل SIFT1M، يمكنك الوصول إلى استدعاء يقارب 95% عند 10 نتائج، وذلك خلال نحو 1 إلى 2 مللي ثانية لكل استعلام على وحدة CPU.
- يُظهر diskann متوسط استدعاء أعلى، أي أنه يعثر على عدد أكبر من التطابقات الصحيحة في مجموعات البيانات الكبيرة. ويحافظ على دقة عالية حتى مع نمو بياناتك.
- يعمل hnsw بأفضل شكل مع أنظمة التوصية ومحركات البحث التي تحتاج إلى أعلى درجات الدقة والسرعة.
- يناسب diskann عمليات البحث واسعة النطاق، مثل البحث في مليارات صور المنتجات أو المستندات، حيث تحتاج إلى الموازنة بين السرعة والتكلفة وقابلية التوسع.
يتميز hnsw في أعباء العمل التي تتطلب أسرع بحث ممكن على مجموعات بيانات أصغر. أما diskann فيتألق عندما تحتاج إلى البحث في كميات ضخمة من البيانات دون تجاوز ميزانيتك.
الترحيل والنهج الهجينة
لستَ مضطراً إلى اختيار خوارزمية واحدة لكل المواقف. تبدأ كثير من المؤسسات باستخدام hnsw مع مجموعات البيانات الأصغر. ومع نمو قاعدة بيانات المتجهات، تنتقل إلى diskann للتعامل مع بيانات أكثر والحفاظ على التكاليف منخفضة. ويمكنك أيضاً استخدام نهج هجين، فمثلاً قد تُبقي المتجهات الأكثر شيوعاً أو الأحدث في الذاكرة باستخدام hnsw، بينما تُخزِّن المتجهات الأقدم أو الأقل استخداماً على أقراص SSD باستخدام diskann.
- ابدأ باستخدام hnsw للنماذج الأولية السريعة وأعباء العمل الصغيرة.
- انتقل إلى diskann عندما تتجاوز مجموعة بياناتك حدود الذاكرة.
- اجمع بين الطريقتين للحصول على أفضل توازن بين السرعة وقابلية التوسع.
نصيحة: راجع أحمال العمل لديك بانتظام. ومع تغيّر بياناتك واحتياجاتك، يمكنك تعديل نهجك للحصول على أفضل أداء وأعلى قيمة.
من خلال فهم حجم مجموعة البيانات لديك، والأجهزة المستخدمة، ومتطلبات زمن الاستجابة، وأنماط التحديث، يمكنك الاختيار بذكاء بين hnsw وdiskann. يساعدك ذلك على بناء نظام بحث متجهي يلبّي أهدافك وينمو مع نشاط عملك.
أفضل الممارسات للبحث المتجهي في Azure
نصائح لإعداد الفهرس
يمكنك تحقيق أداء عالٍ في Azure AI Search باتباع بعض نصائح الإعداد المهمة. ابدأ بالتأكد من أن حجم الفهرس يتناسب مع وحدة بحث متجهي واحدة. يساعدك ذلك على الحفاظ على سرعة البحث وموثوقيته. حاول تقليل حجم التضمينات (embeddings) قدر الإمكان. فالتضمينات الأصغر تحسّن أزمنة الاستعلام وتزيد عدد الاستعلامات في الثانية. استخدم استعلامات الجار الأقرب التقريبي (Approximate Nearest Neighbor) لتحقيق الكفاءة، لأنها تسرّع البحث دون التضحية بقدر كبير من الدقة.
أبقِ عدد النتائج لكل استعلام بين 10 و100. يقلل هذا النطاق زمن الاستجابة ويحافظ على سرعة استجابة البحث. تجنّب استخدام نقاط نهاية النماذج التي تتقلص إلى صفر في بيئة الإنتاج، فالبدء البارد (Cold start) قد يبطئ البحث ويُحبط المستخدمين. خطّط لارتفاعات الاستعلامات المفاجئة حتى يتمكن نظامك من التعامل مع الزيادات المفاجئة في حركة البحث. استخدم مبادئ الخدمة (service principals) مع رموز OAuth للمصادقة الآمنة والفعّالة. استخدم دائمًا أحدث إصدار من Python SDK للاستفادة من تحسينات الأداء. وإذا احتجت إلى إنتاجية أعلى، فوسّع نطاق نقطة النهاية أو وزّع العمل على عدة نقاط نهاية بالتوازي.
نصيحة: الفهرس المُعدّ جيدًا هو الأساس لتحسين البحث المتجهي في Azure.
المراقبة والتحسين
تحتاج إلى مراقبة نظام البحث لديك وتحسينه للحفاظ على أداء عالٍ، خاصةً مع أحمال العمل التي تضم مليارات المتجهات. يعرض الجدول أدناه بعض التقنيات الفعّالة:
| التقنية | الوصف |
|---|---|
| الفهارس متعددة المستويات | استخدم فهارس سريعة للبيانات النشطة، وضغط البيانات الباردة لتوفير المساحة. |
| التحكم في التوزيع المتفرّع (Fan-out) | أدر تفاعلات الشظايا (shards) والمجموعات لتقليل عدد القفزات الشبكية. |
| التكميم (Quantization) | قلّص حجم المتجهات باستخدام طرق مثل IVF-PQ لتناسب حدود الذاكرة. |
| ضبط مراكز التجميع (Centroid tuning) | اضبط عدد مراكز التجميع لتحقيق توازن بين الاستدعاء (recall) والعبء الإضافي. |
| حساب المسافة غير المتماثل (Asymmetric Distance Computation) | سرّع البحث عبر مقارنة الاستعلامات بدقة كاملة مع المتجهات المضغوطة. |
| التوجيه المقصود للاستعلامات | استخدم البيانات الوصفية والتجميع لتجنب عمليات البث غير الضرورية أثناء البحث. |
| تقليل حمولات الشبكة | انقل المعرّفات والدرجات فقط، لا المتجهات الكاملة، بين العقد. |
| التجميع الهرمي | اجمع النتائج محليًا لتقليل التنسيق وتثبيت زمن الاستجابة. |
| هيمنة الذاكرة | تأكد من أن المتجهات تتسع في الذاكرة لتحقيق أفضل أداء للبحث. |
| استخدام وحدات GPU حسب الحاجة | استخدم وحدات GPU للفهرسة عند الحاجة، ولكن تحقّق مما إذا كانت تحسّن إنتاجية البحث لديك فعليًا. |
| جودة الشبكة | راقب ظروف الشبكة، لأنها تؤثر في زمن استجابة البحث. |
ملاحظة: تساعدك المراقبة المنتظمة على اكتشاف المشكلات مبكرًا والحفاظ على سير عمل البحث بسلاسة.
المزالق الشائعة
قد تواجه بعض المزالق الشائعة عند إعداد نظام البحث لديك أو توسيعه في Azure. ومن الأخطاء الشائعة السماح للفهرس بالنمو أكثر من اللازم بالنسبة إلى وحدة بحث واحدة. فقد يؤدي ذلك إلى إبطاء الاستعلامات وجعل البحث أقل موثوقية. كما أن استخدام تضمينات كبيرة قد يضر بالأداء. احرص دائمًا على أن تكون التضمينات أصغر ما يمكن لحالة الاستخدام لديك.
ومن المزالق الأخرى تجاهل ارتفاعات الاستعلامات. فإذا لم تخطّط للزيادات المفاجئة في حركة البحث، فقد يفشل نظامك تحت الضغط. ويمكن أن يؤدي الاعتماد على نقاط نهاية تتقلص إلى صفر إلى تأخيرات البدء البارد، مما يبطئ البحث. كما أن عدم تحديث SDK أو عدم استخدام رموز OAuth قد يؤدي إلى مخاطر أمنية وضياع مكاسب الأداء.
تذكّر: تجنّب هذه المزالق للحفاظ على بحث سريع وآمن وموثوق.
باتباع أفضل الممارسات هذه، يمكنك بناء تجربة بحث قوية وفعّالة في Azure. ستتمكن من التعامل مع مجموعات البيانات الكبيرة بسهولة، وتقديم نتائج سريعة ودقيقة لمستخدميك.
تحلّون مشكلة المليار متجه في Azure AI Search باختيار الخوارزمية المناسبة لاحتياجاتكم. توفّر Diskann قابلية توسّع فعّالة من حيث التكلفة لمجموعات البيانات الضخمة، بينما يقدّم hnsw نتائج سريعة لأحمال العمل الأصغر. طابقوا الخوارزمية مع حمل العمل والحجم والميزانية. يساعدكم الجدول أدناه على اختيار نقطة النهاية الأفضل:
| نوع SKU | وصف حالة الاستخدام |
|---|---|
| نقاط النهاية القياسية | الأفضل للاحتياجات الحرجة من حيث زمن الاستجابة مع الفهارس التي تقل عن 320 مليون متجه. |
| نقاط النهاية المحسّنة للتخزين | مثالية لأكثر من 10 ملايين متجه، وتتحمّل بعض التأخير، وتتطلب كفاءة في التكلفة. |
- قدّروا احتياجاتكم من التخزين بالاختبار على عدد قليل من المستندات.
- خطّطوا للتحديثات وإجمالي حجم المحتوى.
توفّر Azure AI Search المرونة وتدعم ابتكارات Microsoft في مجال الذكاء الاصطناعي للمؤسسات.
الأسئلة المتداولة
ما الفرق الرئيسي بين HNSW وDiskANN؟
تستخدمون HNSW للبحث المتجهي في الذاكرة. أما DiskANN فيتيح لكم تخزين معظم الفهرس على أقراص SSD. لذلك يكون DiskANN أفضل للتعامل مع مليارات المتجهات دون تكاليف ذاكرة مرتفعة.
هل يمكن استخدام DiskANN للتطبيقات الفورية؟
نعم. يوفّر DiskANN بحثًا منخفض زمن الاستجابة، غالبًا أقل من 10 ملي ثوانٍ. ويمكنكم استخدامه في مهام البحث بالذكاء الاصطناعي في الوقت الفعلي، حتى مع مجموعات البيانات الكبيرة جدًا.
كيف تحدّدون الخوارزمية التي تستخدمونها في Azure AI Search؟
تختارون HNSW لمجموعات البيانات الأصغر التي تتسع في الذاكرة RAM. وتختارون DiskANN لمجموعات البيانات الضخمة التي تحتاج إلى توسّع فعّال من حيث التكلفة. فكّروا في حجم بياناتكم وعتادكم واحتياجاتكم من زمن الاستجابة.
هل يتطلّب DiskANN عتادًا خاصًا؟
لا. يمكنكم تشغيل DiskANN على خوادم قياسية مزوّدة بأقراص SSD. لا تحتاجون إلى أجهزة باهظة الثمن ذات ذاكرة عالية. وهذا يجعل التوسّع أسهل وأكثر توفيرًا.
كيف تحافظ Azure AI Search على أمان بياناتكم؟
تستخدم Azure AI Search التشفير وضوابط الوصول. أنتم تتحكّمون في من يستطيع الوصول إلى بياناتكم. وتساعدكم ميزات الأمان في Microsoft على حماية المعلومات الحساسة.
هل يمكنكم تحديث فهرس المتجهات دون توقّف؟
يمكنكم تحديث فهارس HNSW وDiskANN على حد سواء. ويدعم DiskANN التحديثات الفعّالة لمجموعات البيانات الكبيرة. وتُبقون نتائج البحث محدّثة دون إيقاف النظام.
ما أفضل الممارسات لتحسين أداء البحث المتجهي؟
استخدموا تضمينات (embeddings) أصغر، وأبقوا الفهرس ضمن وحدة بحث واحدة، وراقبوا زمن استجابة الاستعلامات. حدّثوا حزمة SDK دائمًا، وخطّطوا لارتفاعات حجم الاستعلامات للحفاظ على أداء عالٍ.
🎧 استمعوا إلى هذه الحلقة
هل تريدون شرحًا عمليًا لـ HNSW vs DiskANN for Vector Search in Azure AI Search؟ تفصّل هذه الحلقة الموضوع بلغة واضحة، وتبيّن لماذا يهم ذلك لـ Microsoft 365 وAzure وPower Platform والأمان والذكاء الاصطناعي والعمل الحديث.
استمعوا إلى هذه الحلقة إذا أردتم:
- فهم المفاهيم الأساسية وراء HNSW vs DiskANN for Vector Search in Azure AI Search
- معرفة مكانها ضمن منظومة تقنيات Microsoft الأوسع
- معرفة المجالات التي يمكن أن تحقق فيها مؤسستكم قيمة عملية
قد تعجبكم أيضًا حلقات M365 FM ذات الصلة:
- تحسين دقة Microsoft Copilot ما بعد البحث المتجهي
- Azure AI Search – شرح مبسّط
- Vector Databases - شرح مبسّط
- Microsoft Graph API Discovery للبحث الدلالي المؤسسي
- اجعل بحث SharePoint يعرض الملفات الصحيحة أولاً
اكتشفوا المزيد من الحوارات العملية حول Microsoft على M365 FM.
آخر مراجعة: يوليو 2026.
من يجب أن يستمع
هذه الحلقة موجّهة لمسؤولي Microsoft والمعماريين والمطورين ومختصي الأمان وقادة الأعمال الذين يحتاجون إلى أساس عملي قبل اتخاذ قرارات التنفيذ أو التشغيل أو الحوكمة.
ربما يعجبكم الاستماع أيضًا إلى
- Azure Resource Manager — خطوة تالية وثيقة الصلة لتوسيع نطاق هذا الموضوع.
- Infrastructure as Code — خطوة تالية وثيقة الصلة لتوسيع نطاق هذا الموضوع.
- Azure Policy — خطوة تالية وثيقة الصلة لتوسيع نطاق هذا الموضوع.