M365Con 2027 – כנס אונליין חינמי · 11–22 Jan 2027 · 120 sessions→ m365con.net

בלוג · Mirko Peters

כיבוש בעיית מיליארד הווקטורים ב-Azure AI Search

By ·

ברוכים הבאים לצלילה מעמיקה אל אחד האתגרים הדחופים ביותר בבינה מלאכותית ארגונית מודרנית: הרחבת חיפוש וקטורי למיליארדי רשומות. אם עבדתם עם מערכות RAG (retrieval-augmented generation), מנועי חיפוש סמנטי או עוזרים מבוססי בינה מלאכותית, ייתכן שנתקלתם בקצב המהיר שבו הנתונים מצטברים. כשארגונים קולטים מיליוני מסמכים, תמונות ואינטראקציות של משתמשים, ולעיתים מיליארדים, ארכיטקטורות חיפוש מסורתיות מתחילות להת

Automatically translated with AI from the original post. Read the English original

ברוכים הבאים לצלילה מעמיקה אל אחד האתגרים הדחופים ביותר בבינה מלאכותית ארגונית מודרנית: הרחבת חיפוש וקטורי למיליארדי רשומות. אם עבדתם עם מערכות RAG (retrieval-augmented generation), מנועי חיפוש סמנטי או עוזרים מבוססי בינה מלאכותית, ייתכן שנתקלתם בקצב המהיר שבו הנתונים מצטברים. כשארגונים קולטים מיליוני מסמכים, תמונות ואינטראקציות של משתמשים, ולעיתים מיליארדים, ארכיטקטורות חיפוש מסורתיות מתחילות להתפרק תחת העומס. לכן הבנת המנגנונים של אינדוקס וקטורי בקנה מידה של מיליארדים כבר אינה אופציונלית לאדריכלים ולמפתחים; היא הכרחית להישרדות.

בפוסט הבלוג המקיף הזה נפרק את האתגרים הטכניים של מרחבים וקטוריים רב-ממדיים, נשווה בין שני אלגוריתמי האינדוקס המבוססי-גרפים המובילים בתעשייה, Hierarchical Navigable Small World (HNSW) ו-DiskANN של מיקרוסופט, ונבחן כיצד Azure AI Search מאפשר לכם לטפל בעומסים האלה ביעילות. בין אם אתם מכווננים פרמטרים של זיכרון, שולטים בעלויות תשתית החומרה או מבקשים למקסם את ה-recall בחיפוש, המדריך הזה יספק את מפת הדרכים הטכנית שאתם צריכים. לפירוט אודיו של המושגים האלה, כדאי להאזין לפרק הפודקאסט הקשור HNSW vs DiskANN for Vector Search in Azure AI Search ב-M365 FM.

בעיית מיליארד הווקטורים ב-Azure AI Search

אתגרים בחיפוש וקטורי בקנה מידה של מיליארדים

אתם נתקלים בבעיית מיליארד הווקטורים כשצריך לאנדקס ולחפש בתוך מערכי נתונים עצומים בבינה מלאכותית ארגונית. טיפול במיליארדי וקטורים מציב אתגרים טכניים ייחודיים. יש לבנות מערכות אינדוקס יעילות שיכולות לעבד נתונים בקנה מידה גדול בלי להאט. עדכונים בזמן אמת חשובים, כי אתם רוצים שתוצאות החיפוש ישארו עדכניות ורלוונטיות. ניהול הטמעות (embeddings) רב-ממדיות חיוני גם לתוצאות חיפוש מדויקות.

כשעובדים עם מערכי נתונים בקנה מידה של מיליארדים, נתקלים במספר מגבלות:

  • ממדיות גבוהה מגדילה את עלויות החישוב ויכולה להאט את ביצועי החיפוש.
  • הפער הסמנטי בין ייצוגים וקטוריים לבין המשמעות בעולם האמיתי עלול לגרום לאי-דיוקים.
  • איסוף אשפה (garbage collection) נעשה קשה, וקשה להסיר מידע מיושן מהאינדקסים.
  • איכות הווקטורים תלויה במודל ההטמעה שבחרתם, וזה משפיע על דיוק החיפוש.
  • קנה מידה מגדיל את דרישות הזיכרון ויכול להאריך את זמני החיפוש.
  • בעיית ההתנעה הקרה (cold start) הופכת חיפוש פריטים חדשים לקשה בלי ייצוגים וקטוריים טובים.
  • יכולת ההסבר נמוכה, ולכן הבנה מדוע תוצאת חיפוש מופיעה עלולה להיות מאתגרת.

האתגרים האלה הופכים את בעיית מיליארד הווקטורים לאחת הקשות ביותר בבינה מלאכותית מודרנית.

מדוע בחירת האלגוריתם חשובה

בחירת האלגוריתם משפיעה ישירות על האופן שבו אתם פותרים את בעיית מיליארד הווקטורים. אם תבחרו באלגוריתם כמו HNSW, תקבלו גישה מהירה וחיפוש יעיל למערכי נתונים גדולים. עם זאת, תזדקקו לכמות גדולה של RAM, מה שעלול להגדיל את העלויות. אלגוריתמים אחרים, כמו KNN ממצה (exhaustive KNN), מציעים דיוק גבוה אך דורשים הרבה יותר חישוב, ולכן מתאימים יותר למערכי נתונים קטנים. האלגוריתם הנכון עוזר לאזן בין מהירות, דיוק וצריכת משאבים. אפשר לייעל את הביצועים ליישום הספציפי שלכם על ידי התאמת האלגוריתם לצרכים. ההחלטה הזו קובעת עד כמה תצליחו להתמודד עם מערכי נתונים עצומים וכמה תוציאו על חומרה.

סקירה כללית של Azure AI Search

Azure AI Search מספק לכם פלטפורמה עוצמתית להתמודדות עם בעיית מיליארד הווקטורים. ניתן לעבד מראש את הנתונים באמצעות כלי ניקוי והעשרה מתקדמים, מה שמשפר את איכות הווקטורים לפני האינדוקס. הפלטפורמה מארגנת את המידע במסד נתונים וקטורי שתוכנן למשימות אחזור ולצרכי חיפוש מודרניים. תוכלו ליהנות מיכולות חיפוש ואחזור חזקות, כולל עיבוד שפה טבעית להבנה סמנטית. האבטחה חזקה, עם הצפנה ובקרות גישה להגנה על הנתונים שלכם.

Azure AI Search משתלב בצורה חלקה עם שירותים אחרים של Microsoft Azure ועם פלטפורמות של צד שלישי. אפשר להשתמש בחיפוש היברידי, המשלב חיפוש לפי מילות מפתח וחיפוש וקטורי כדי להשיג את התוצאות הטובות ביותר. כוונון דירוג ורלוונטיות מאפשר לך לשלוט באופן שבו תוצאות החיפוש מוצגות, כך שהן יהיו שימושיות יותר למשתמשים שלך. הפלטפורמה מציעה גם חוויות חיפוש חכמות, כגון השלמה אוטומטית והצעת תוצאות. מבוסס על התשתית הגלובלית של Azure, Azure AI Search מספק את קנה המידה והאמינות שאתם צריכים למערכי נתונים עצומים ולפרויקטים רחבי היקף.

אינדקס מבוסס גרף: HNSW ו-DiskANN

Graph-Based Index: HNSW and 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:
    • מותאם לפעולות בזיכרון, ומספק השהיה נמוכה וזיכרון החזרה גבוה (high recall).
    • משתמש במבנה גרף רב-שכבתי המבוסס על רשתות עולם קטן (small-world).
    • משתמש באסטרטגיית גיזום להסרת קשתות מיותרות ולעידוד גיוון.
    • תהליך החיפוש כולל ירידה בין שכבות, החל מקישורים דלילים ארוכי טווח וכלה בחיפוש בקרן בשכבת הבסיס.

אפשר לראות ש-HNSW וגם DiskANN משתמשים באינדקס מבוסס גרף, אבל התכנון שלהם מתאים לצרכים שונים. HNSW מתאים במיוחד כשאפשר לשמור הכול בזיכרון. DiskANN מאפשר להגיע לקנה מידה של מיליארדי וקטורים בעזרת SSD, ולכן הוא אידיאלי לעומסי עבודה ארגוניים ב-Azure AI Search.

איך DiskANN עובד

ארכיטקטורה היברידית של זיכרון ו-SSD

נתקלים בגישה ייחודית כשמשתמשים ב-DiskANN לחיפוש על פני מיליארד וקטורים. DiskANN משלב זיכרון ואחסון SSD לכדי ארכיטקטורה היברידית. התכנון הזה מאפשר לאחסן את רוב אינדקס הווקטורים שלכם על גבי כונני SSD, שעלותם נמוכה מזו של RAM. בזיכרון נשמרים רק נתוני הניווט החיוניים. כך אפשר להרחיב את החיפוש למיליארדי וקטורים בלי להזדקק לחומרה יקרה.

DiskANN משתמש בשתי טכניקות מרכזיות כדי לייעל את האחסון והמהירות:

  • גרף Vamana: משתמשים במבנה הזה לניווט יעיל באינדקס.
  • כימות מוצר (PQ): וקטורים נדחסים בזיכרון, מה שמפחית את השימוש ב-RAM.

ביצוע השאילתה ב-DiskANN מתבצע בשני שלבים. בשלב הראשון, DiskANN משתמש בווקטורים דחוסי PQ שבזיכרון כדי לזהות במהירות קבוצת מועמדים. בשלב הזה אין צורך לקרוא מהדיסק. בשלב השני, DiskANN שולף מ-SSD וקטורים בדיוק מלא עבור קבוצת המועמדים, ולאחר מכן מחשב מרחקים מדויקים כדי לאתר את ההתאמות הטובות ביותר. התהליך הזה מספק זיכוי גבוה (recall) וזמן תגובה נמוך, תוך שמירה על דרישות זיכרון נמוכות.

טיפ: הארכיטקטורה ההיברידית של DiskANN, שמשלבת זיכרון ו-SSD, מאפשרת חיפוש בקנה מידה של רשת על חומרה סטנדרטית. אפשר לאחסן אינדקסים של וקטורים על גבי SSD במקום ב-RAM, וזה הופך יישומים בקנה מידה גדול לזולים יותר.

תהליך החיפוש

החיפוש ב-DiskANN מתחיל בניווט בגרף Vamana באמצעות וקטורים דחוסים שבזיכרון. שלב זה עוזר לאתר מועמדים מבטיחים במהירות. בשלב הזה נמנעות קריאות מהדיסק, וכך התהליך מואץ. לאחר שיש קבוצת מועמדים, DiskANN עובר לשלב הבא.

שולפים מ-SSD וקטורים בדיוק מלא עבור כל מועמד, ומחשבים את המרחקים המדויקים בין השאילתה לבין המועמדים. תהליך הדו-שלבי הזה מבטיח תוצאות מדויקות מבלי להאט את החיפוש. מתקבל זיכוי גבוה, מכיוון ש-DiskANN בודק לעומק את המועמדים הטובים ביותר. זמן התגובה נשאר נמוך, כי רוב העבודה מתבצעת בזיכרון.

תהליך החיפוש של DiskANN מתאים מאוד למערכי נתונים עצומים. אפשר לטפל במיליארדי וקטורים בלי צורך בכמויות זיכרון גדולות במיוחד. מקבלים תוצאות מהירות ואמינות גם כשהנתונים גדלים. זו הסיבה ש-DiskANN הוא בחירה חזקה לעומסי עבודה של AI ארגוני ב-Azure AI Search.

שלבמה עושיםהיתרון
שלב 1: ניווטשימוש בווקטורים דחוסי PQ שבזיכרון כדי לאתר מועמדיםחיפוש מהיר, ללא קריאות מהדיסק
שלב 2: עידוןשליפת וקטורים בדיוק מלא מ-SSD וחישוב מרחקיםזיכוי גבוה, זמן תגובה נמוך

ניתן לראות שהארכיטקטורה ההיברידית של DiskANN ותהליך החיפוש שלו עוזרים לפתור את בעיית מיליארד הווקטורים ביעילות. אפשר להרחיב את החיפוש, להפחית עלויות ולשמור על ביצועים ככל שהנתונים גדלים.

חוזקות וחולשות

יתרונות וחסרונות של HNSW

בוחרים לעיתים קרובות ב-HNSW לאחזור וקטורים מכיוון שהוא מספק מהירות חיפוש ברמה הגבוהה ביותר ו-recall גבוה. כשמכוונים את HNSW כראוי, מקבלים תוצאות מהירות והתאמות מדויקות. אפשר להתמודד היטב עם נתוני וקטורים רב-ממדיים, וזה חשוב לעומסי עבודה מודרניים של AI. יש גם יתרון בהוספות incremental, כך שאפשר לעדכן את האינדקס בלי לבנות הכול מחדש.

זוהי סקירה מהירה של החוזקות והחולשות של HNSW:

חוזקותחולשות
מהירות חיפוש ברמה הגבוהה ביותר ו-recall גבוה כשמכווננים כראוי.צריכת זיכרון גבוהה, מכיוון שנשמרים קישורי גרף לכל וקטור.
מתמודד היטב עם נתונים רב-ממדיים.זמן בנייה ארוך של האינדקס עם פרמטרי בנייה באיכות גבוהה.
תומך בהוספות incremental בצורה יעילה.מחיקה מורכבת של אלמנטים עלולה לפגוע בביצועים עם הזמן.

מסתבר שמדרגים את HNSW ביעילות, מכיוון שהוא משתמש ב-O(N log N) לבניית האינדקס. בנייה מקבילית מאפשרת לנצל מעבדים מרובי ליבות, וזה מזרז את התהליך. צריכת הזיכרון גדלה באופן ליניארי עם גודל מערך הנתונים, כך שאפשר לחזות את צורכי האחסון. עם זאת, חייבים לשמור את כל הגרף ב-RAM, וזה מגביל את יכולת ההרחבה במערכי נתונים של מיליארדי וקטורים.

יתרונות וחסרונות של DiskANN

פונים ל-DiskANN כשצריך להרחיב את אחזור הווקטורים מעבר למה ש-RAM יכול להכיל. DiskANN מותאם לשימוש ב-SSD, מה שמפחית עלויות חומרה ומאפשר לנהל מערכי נתונים עצומים. מקבלים דיוק גבוה וזמן תגובה נמוך בזכות שילוב של חיפושים בזיכרון עם קריאות SSD בבאצ'ים. DiskANN תומך בעדכונים בזמן אמת ובחיפוש היברידי, כך שאפשר לסנן ולאחזר וקטורים ביעילות.

כדאי לשים לב לנקודות הבאות לגבי DiskANN:

  • מדרגיות חסכונית באמצעות שימוש ב-SSD במקום ב-RAM.
  • דיוק גבוה וזמן תגובה נמוך בקנה מידה גדול, באמצעות חיפושים בזיכרון וקריאות SSD.
  • עדכונים בזמן אמת וחיפוש היברידי, שמשלב וקטורים וסינון.
  • בניית האינדקס איטית, מכיוון שבניית הגרף של Vamana דורשת עומס חישובי גבוה.
  • הביצועים תלויים בתפוקה ובזמן האחזור של ה-SSD.
  • עדכונים יקרים יותר בהשוואה למבני נתונים בזיכרון כמו HNSW.
  • המימוש וההתאמה הנכונה דורשים אופטימיזציה קפדנית.

אתם נהנים מהיכולת של DiskANN לטפל בוקטורים מכומתים (quantized), דבר שמכווץ את הנתונים ומשפר את החיפוש היעיל בזיכרון. ניתן להשתמש ב-DiskANN לעומסי עבודה של מיליארדי וקטורים, בלי לדאוג למגבלות RAM.

יעילות בזיכרון ובאחסון

יש לקחת בחשבון את יעילות הזיכרון והאחסון כשבוחרים בין HNSW ל-DiskANN לאחזור וקטורי. HNSW מתאים היטב למערכי נתונים שנכנסים ל-RAM של השרת. אתם מקבלים גישה מהירה וביצועים גבוהים, אבל לא ניתן לחרוג ממגבלות הזיכרון. DiskANN מאפשר להרחיב את גודל מערך הנתונים עד לקיבולת הדיסק, תוך חילופי מסוים במהירות לטובת אחסון. רוב האינדקס מאוחסן ב-SSD, מה שהופך את DiskANN לאידיאלי למערכי נתונים וקטוריים מסיביים.

תכונהHNSWDiskANN
יעילות זיכרוןיעיל מאוד למערכי נתונים שנכנסים למטמון (RAM) של השרת.מתוכנן למערכי נתונים גדולים מכדי להיכנס ל-RAM.
יעילות אחסוןמוגבל לכמות ה-RAM הזמינה.מרחיב את גודל מערך הנתונים עד לקיבולת הדיסק, תוך חילופי מסוים במהירות לטובת אחסון.
אופטימיזציית ביצועיםמנצל גישה מהירה לזיכרון לשם מהירות.ממזער את הפגיעה בביצועים הנובעת מאחסון בדיסק איטי יותר.
התאמה למערך הנתוניםמתאים למערכי נתונים שנכנסים ל-RAM.מתאים למערכי נתונים מסיביים שחורגים מקיבולת ה-RAM.

אתם משתמשים בוקטורים מכומתים גם ב-HNSW וגם ב-DiskANN, כדי לצמצם את צורכי האחסון ולשפר את מהירות האחזור. הארכיטקטורה ההיברידית של DiskANN מאפשרת להרחיב את חיפוש הוקטורים תוך שמירה על עלויות נמוכות. ניתן להשיג חיפוש יעיל בזיכרון לאחזור בקנה מידה גדול, במיוחד כשעובדים עם וקטורים מכומתים ואחסון ב-SSD.

השוואת אלגוריתמי חיפוש וקטורי

Vector Search Algorithm Comparison

ביצועים בקנה מידה

יש למדוד את ביצועי אלגוריתם חיפוש הוקטורים ככל שמערך הנתונים גדל. גם HNSW וגם DiskANN שואפים לספק recall ומהירות גבוהים, אבל האסטרטגיות שלהם שונות. HNSW מתבסס על גרפים בזיכרון, כלומר מתקבל חיפוש שכנים קרובים מהיר כשהוקטורים נכנסים ל-RAM. DiskANN משתמש בגישה היברידית של זיכרון ו-SSD, כך שניתן להרחיב את ביצועי החיפוש בלי לדאוג למגבלות הזיכרון.

כשמריצים חיפוש שכנים קרובים על מיליוני וקטורים, HNSW מספק אחזור מהיר והשהיה נמוכה. ניתן לכוונן פרמטרים לטובת recall ומהירות. DiskANN שומר על recall ומהירות גבוהים גם כשמערך הנתונים מתרחב. רוב האינדקס מאוחסן ב-SSD, מה שמאפשר לעבוד עם מיליארדי וקטורים. החיפוש מתבצע בשני שלבים כדי לאזן בין מהירות לדיוק: השלב הראשון מוצא מועמדים בזיכרון, והשלב השני מדייק את התוצאות באמצעות ה-SSD.

שני האלגוריתמים מספקים recall ומהירות גבוהים, אבל DiskANN מאפשר להרחיב את ביצועי החיפוש מעבר למגבלות ה-RAM.

יכולת הרחבה למיליארדי וקטורים

מתעוררים אתגרים חדשים כשמערך הנתונים גדל ממיליוני למיליארדי וקטורים. HNSW מתאים היטב עד כ-50 מיליון וקטורים. ניתן להשתמש ב-HNSW כאלגוריתם חיפוש הוקטורים ברירת המחדל ולכוונן את הפרמטרים לטובת recall. כשמגיעים ל-50 עד 500 מיליון וקטורים, מיישמים sharding ו-scalar quantization, ויש לשקול אחזור דו-שלבי ליעילות. במערכי נתונים שמעל 500 מיליון וקטורים נדרש אחזור היררכי וארכיטקטורות רב-שכבתיות. לנתונים קרים משתמשים בכימות אגרסיבי.

טווח מספר הוקטוריםאסטרטגיית HNSW
1-50 מיליוןלהשתמש ב-HNSW כאלגוריתם ברירת המחדל, לוודא שהוקטורים נכנסים ל-RAM ולכוונן את הפרמטרים לטובת recall.
50-500 מיליוןליישם sharding, להפעיל scalar quantization ולשקול אחזור דו-שלבי ליעילות.
מעל 500 מיליוןלהשתמש באחזור היררכי, בארכיטקטורות רב-שכבתיות ובכימות אגרסיבי לנתונים קרים.

DiskANN משנה את כללי המשחק בחיפוש וקטורי בקנה מידה של מיליארדים. רוב האינדקס מאוחסן ב-SSD, כך שאין צורך לדאוג למגבלות RAM. משתמשים ב-product quantization לכיווץ וקטורים ושומרים את נתוני הניווט בזיכרון. ניתן להרחיב את חיפוש השכנים הקרובים למיליארדי וקטורים בלי לפגוע בביצועי החיפוש. DiskANN תומך בחיפוש משוער מבוסס אשכולות ובאחזור היברידי, מה שעוזר לנהל מערכי נתונים מסיביים.

DiskANN מאפשר להרחיב את אלגוריתם חיפוש הוקטורים למיליארדי וקטורים, וזה הופך אותו לאידיאלי לעומסי עבודה ארגוניים.

זמן תגובה לשאילתות ותפוקה

אתם מקפידים על זמן התגובה (latency) ועל התפוקה (throughput) כשמריצים חיפוש וקטורי בקנה מידה גדול. HNSW מספק זמני תגובה נמוכים לחיפוש שכנים קרובים, משום שהוא שומר את הגרף כולו בזיכרון. אתם מקבלים תגובות מהירות ותפוקה גבוהה עבור מערכי נתונים שנכנסים ל-RAM. כשמערך הנתונים גדל, זמן התגובה עולה, ואז צריך לפצל את הנתונים לשרדים (shards) או להשתמש בארכיטקטורות רב-שכבתיות.

DiskANN משתמש בתהליך חיפוש דו-שלבי. תחילה מחפשים בוקטורים דחוסים שנמצאים בזיכרון, וכך מתבצעת בחירת המועמדים במהירות. לאחר מכן מדייקים את השאילתה על ידי שליפת וקטורים בדיוק מלא מ-SSD. הגישה הזו שומרת על זמן תגובה נמוך ועל תפוקה גבוהה, גם עבור מערכי נתונים בקנה מידה של מיליארדים. אפשר לייעל את האחזור על ידי קיבוץ קריאות מ-SSD ושימוש במבני ניווט יעילים.

עם DiskANN משיגים recall גבוה ומהירות גבוהה, גם כשנפח השאילתות גדל. אין צורך לדאוג למגבלות זיכרון, ולכן אפשר להגדיל את ביצועי החיפוש עבור יישומים ארגוניים.

עם DiskANN מקבלים זמן תגובה ותפוקה אמינים, וזו בחירה חזקה לחיפוש שכנים קרובים בקנה מידה גדול.

השפעה על עלויות ומשאבים

יש לקחת בחשבון את העלות ואת השפעת המשאבים בבחירת אלגוריתם חיפוש וקטורי עבור Azure AI Search. האופן שבו כל אלגוריתם משתמש בזיכרון ובאחסון משפיע על התקציב ועל היכולת שלכם להגדיל את המערכת.

DiskANN בולט בעומסי עבודה של מיליארדי וקטורים. אפשר לאחסן את רוב האינדקס על גבי SSD, שעלותם נמוכה מעלות RAM. התכנון הזה מאפשר להגדיל את המערכת from אלפי וקטורים למיליארדים, בלי עלייה משמעותית בעלויות הזיכרון. DiskANN מתאים היטב לעומסי עבודה של AI בסביבת ייצור, כי הוא משתמש ב-SSD בצורה יעילה ושומר בזיכרון רק את הנתונים החשובים ביותר.

HNSW מתאים בעיקר למערכי נתונים בגודל בינוני. יש צורך לשמור את האינדקס כולו ב-RAM, ודרישה זו מגבילה את מידת ההרחבה האפשרית. אם מערך הנתונים גדל מדי, עלולות לנבוע מכך עלויות תפעול גבוהות. בנוסף, HNSW מוגבל ל-2,000 ממדים, מה שעלול לצמצם את מקרי השימוש.

סוג אינדקסמתאים לעומסי עבודה של מיליארדי וקטוריםדרישות זיכרוןעלויות תפעול
DiskANNכן, תוכנן לביצועי SSDמתרחב מאלפי וקטורים למיליארדיםמומלץ לעומסי עבודה של AI בסביבת ייצור
HNSWלא, מתאים למערכי נתונים בינונייםדורש שהאינדקס ייכנס ל-RAMמוגבל ל-2,000 ממדים

טיפ: אם אתם רוצים לנהל עלויות ולהרחיב את החיפוש למיליארדי וקטורים, ל-DiskANN יש יתרון ברור. אפשר להשתמש ב-SSD בעלות סבירה ולשמור על דרישות זיכרון נמוכות.

מקרי שימוש בעולם האמיתי

אפשר לראות את הערך של האלגוריתמים האלה ביישומים אמיתיים. ארגונים רבים משתמשים ב-DiskANN וב-HNSW לסוגים שונים של בעיות חיפוש וקטורי.

  • אפשר להשתמש בשיטה היברידית חסכונית לחיפוש שכנים קרובים משוער (approximate nearest neighbor). הגישה הזו משלבת אחסון על SSD עם מבני גרף בזיכרון.
  • אפשר לפרוס את DiskANN עבור מערכי נתונים סטטיים, כמו קורפוסים מחקריים, שבהם הנתונים לא משתנים לעיתים קרובות.
  • אפשר לבחור ב-DiskANN לפריסות רגישות לעלות. הוא מתאים היטב ליישומים בקנה מידה של מיליארדים, שבהם צריך לשלוט בהוצאות.
  • אפשר להשתמש ב-DiskANN לשאילתות שיכולות לסבול זמני תגובה של פחות מ-10 מילישניות. מהירות כזו מספיקה למשימות חיפוש ארגוניות רבות.
  • אפשר לשלב את HNSW עם קבצי היפוך על דיסק (HNSW-IF) לחיפוש היברידי. השיטה הזו משיגה recall גבוה ושומרת על זמן תגובה נמוך.
מקרה שימושתיאור
מערכי נתונים סטטייםאידיאלי לקורפוסים מחקריים שבהם הנתונים לא משתנים לעיתים קרובות.
פריסות רגישות לעלותמתאים ליישומים בקנה מידה של מיליארדים, שבהם העלות היא שיקול מרכזי.
שאילתות שסובלות השהיהמתאים היטב לשאילתות שיכולות לסבול זמני תגובה של פחות מ-10 אלפיות השנייה.

הערה: ארגונים רבים משיגים recall של 90% בזמן תגובה של 10 אלפיות השנייה בעזרת שיטות היברידיות. ביצועים כאלה עונים על הצרכים של רוב יישומי החיפוש ה-AI הארגוניים.

אפשר להתאים את בחירת האלגוריתם לעומס העבודה. אם צריך להרחיב, לנהל עלויות ולשמור על זמן תגובה נמוך, DiskANN מעניק את הגמישות והיעילות שאתם צריכים.

מתי להשתמש ב-HNSW או ב-DiskANN

בחירת האלגוריתם הנכון לעומס העבודה שלכם ב-Azure AI Search יכולה לשנות מאוד את המהירות, העלות והדיוק. יש לבחון את הנתונים, החומרה ותדירות השינויים בנתונים. נפרט את קריטריוני ההחלטה העיקריים, כדי שתוכלו לבחור בכלי המתאים ביותר לצרכי החיפוש הוקטורי שלכם.

קריטריוני החלטה

גודל מערך הנתונים

תחילה בדקו את גודל מערך הנתונים שלכם. אם אתם עובדים עם מיליוני וקטורים, HNSW מספק תוצאות חיפוש מהירות ומדויקות. הוא עובד הכי טוב כאשר הנתונים נכנסים לזיכרון. כאשר מערך הנתונים גדל למיליארדי וקטורים, DiskANN הופך לבחירה העדיפה. הוא משתמש ב-SSD לאחסון רוב האינדקס, כך שלא צריך לדאוג לאזול מזיכרון RAM.

קריטריוןHNSWDiskANN
גודל מערך נתוניםמתאים למיליוני וקטוריםמצטיין במיליארדי וקטורים

רואים שHNSW מתאים לעומסי עבודה קטנים יותר, ו-DiskANN מטפל במערכי נתונים עצומים בלי לאבד ביצועים.

חומרה ועלות

החומרה והתקציב שלכם also ממלאים תפקיד מרכזי. HNSW דורש הרבה זיכרון RAM מכיוון שהוא שומר את כל הגרף בזיכרון. זה יכול להתייקר ככל שמסד נתוני הוקטורים גדל. DiskANN עוזר לחסוך כסף על ידי אחסון רוב האינדקס ב-SSD, שעולה פחות מ-RAM. אתם צריכים רק מספיק זיכרון עבור חלק הניווט של האינדקס.

קריטריוןHNSWDiskANN
תשתיתדרישות RAMמפחית עלויות זיכרון

אם אתם רוצים לשמור על עלויות נמוכות ועדיין לחפש במיליארדי וקטורים, DiskANN נותן יתרון ברור.

צורכי השהיה

כדאי לחשוב על המהירות שבה אתם צריכים לקבל תוצאות חיפוש. HNSW מספק השהיה נמוכה מאוד כי הוא מחפש בזיכרון. אפשר לקבל תוצאות בתוך כמה מילישניות בודדות אם הנתונים נכנסים ל-RAM. DiskANN מאזן בין מהירות להיקף. הוא משתמש בתהליך חיפוש דו-שלבי, כך שגם עם מערכי נתונים עצומים התוצאות נשארות מהירות. ברוב יישומי הארגונים, DiskANN שומר על זמני שאילתה מתחת ל-10 מילישניות.

  • HNSW הכי מתאים לעומסי עבודה שבהם כל מילישנייה חשובה.
  • DiskANN עובד היטב כאשר צריך לחפש במערכי נתונים גדולים במהירות, ואתם יכולים לקבל עלייה קטנה בהשהיה.

דפוסי עדכון

תדירות השינוי בנתונים משפיעה על הבחירה שלכם. HNSW עובד היטב עבור נתונים סטטיים או כאלה שמשתנים לאט. אם אתם מעדכנים וקטורים לעיתים קרובות, ייתכן שתצטרכו לבנות את האינדקס מחדש, וזה לוקח זמן. DiskANN מסתגל טוב יותר לעדכונים תכופים. הוא שומר על דיוק ועל recall יציבים, גם כשמוסיפים או משנים וקטורים לעיתים קרובות.

תכונהHNSWDiskANN
זמן השהיה בעדכוןדורש בנייה מחדש מלאה של האינדקסמסתגל לשינויים בצורה יעילה
Recallגבוה, אך מושפע משינוייםדיוק יציב בעת שינויים תכופים

אם האפליקציה שלכם צריכה לטפל בהרבה עדכונים, DiskANN נותן לכם גמישות רבה יותר.

תרחישים לדוגמה

אפשר להשתמש בתרחישים מהעולם האמיתי כדי לעזור לכם להחליט איזה אלגוריתם מתאים לצרכים שלכם.

מדדHNSWDiskANN
Average Recall0.60.7
End-to-End Accuracy0.9720.933
Robustness-0.2@100.9980.984
Robustness-0.90.840.81
  • HNSW נותן recall גבוה ותפוקת שאילתות מהירה. במערכי נתונים כמו SIFT1M אפשר להגיע לכ-95% recall ב-10 בעוד 1-2 מילישניות לשאילתה על CPU.
  • DiskANN מציג Average Recall גבוה יותר, כלומר הוא מוצא יותר התאמות אמיתיות במערכי נתונים גדולים. הוא שומר על דיוק גבוה גם כשהנתונים גדלים.
  • HNSW עובד הכי טוב במערכות המלצות או במנועי חיפוש שבהם צריך דיוק מירבי ומהירות.
  • DiskANN מתאים לחיפוש בקנה מידה גדול, כמו חיפוש במיליארדי תמונות או מסמכי מוצרים, כאשר צריך לאזן בין מהירות, עלות והיקף.

HNSW בולט בעומסי עבודה שדורשים את החיפוש המהיר ביותר האפשרי על מערכי נתונים קטנים יותר. DiskANN מתבלט כאשר צריך לחפש בכמויות עצומות של מידע בלי לחרוג מהתקציב.

מעבר ושילוב גישות היברידיות

אין צורך לבחור באלגוריתם אחד לכל המצבים. ארגונים רבים מתחילים עם HNSW למערכי נתונים קטנים. ככל שמסד נתוני הוקטורים גדל, הם עוברים ל-DiskANN כדי לטפל בכמות גדולה יותר של נתונים ולשמור על עלויות נמוכות. אפשר גם להשתמש בגישה היברידית. לדוגמה, ייתכן שתשמרו את הוקטורים הפופולריים או העדכניים ביותר בזיכרון עם HNSW, ואת הוקטורים הישנים או הפחות בשימוש ב-SSD עם DiskANN.

  • התחילו עם HNSW לאב-טיפוס מהיר ולעומסי עבודה קטנים.
  • עברו ל-DiskANN כאשר מערך הנתונים חוצה את מגבלות הזיכרון.
  • שלבו את שתי השיטות כדי לקבל את האיזון הטוב ביותר בין מהירות להיקף.

טיפ: בדקו את עומסי העבודה באופן קבוע. ככל שהנתונים והצרכים משתנים, אפשר להתאים את הגישה כדי להשיג את הביצועים והערך הטובים ביותר.

על ידי הבנת גודל מערך הנתונים, החומרה, צורכי ההשהיה ודפוסי העדכון, תוכלו לבחור בצורה חכמה בין HNSW ל-DiskANN. זה עוזר לבנות מערכת חיפוש וקטורי שמתאימה ליעדים שלכם וגדלה יחד עם העסק.

שיטות עבודה מומלצות לחיפוש וקטורי ב-Azure

טיפים לתצורת אינדקס

ניתן להשיג ביצועים גבוהים ב-Azure AI Search על ידי מעקב אחר כמה טיפים חשובים בתצורה. התחילו בוידוא שגודל האינדקס נכנס בתוך יחידת חיפוש וקטורי אחת. כך שומרים על חיפוש מהיר ואמין. מומלץ לצמצם ככל האפשר את גודל ה-embeddings. embeddings קטנים משפרים את זמני השאילתות ומגדילים את מספר השאילתות לשנייה. השתמשו בשאילתות Approximate Nearest Neighbor ליעילות, שכן הן מאיצות את החיפוש מבלי לפגוע בדיוק באופן משמעותי.

שמרו על מספר התוצאות לשאילתה בטווח שבין 10 ל-100. טווח זה מפחית את זמן ההשהיה ומשאיר את החיפוש מגיב. הימנעו משימוש בנקודות קצה של מודלים שמצמצמות קיבולת לאפס בסביבת ייצור. הפעלות קרות (cold starts) עלולות להאט את החיפוש ולתסכל משתמשים. תכננו לעליות פתאומיות בעומס השאילתות, כדי שהמערכת תוכל לעמוד בגידולים חדים בתעבורת החיפוש. השתמשו ב-service principals עם אסימוני OAuth לאימות מאובטח ויעיל. תמיד השתמשו בגרסה העדכנית ביותר של ה-Python SDK כדי ליהנות משיפורי ביצועים. אם אתם צריכים תפוקה גבוהה יותר, הגדילו את נקודת הקצה או פזרו את העומס על פני מספר נקודות קצה במקביל.

טיפ: אינדקס שמוגדר היטב הוא הבסיס לחיפוש וקטורי מותאם ב-Azure.

ניטור ואופטימיזציה

יש לנטר ולמטב את מערכת החיפוש שלכם כדי לשמור על ביצועים גבוהים, במיוחד בעומסי עבודה של מיליארדי וקטורים. הטבלה שלהלן מציגה כמה טכניקות יעילות:

טכניקהתיאור
אינדקסים מרובי שכבותהשתמשו באינדקסים מהירים לנתונים חמים, ודחסו נתונים קרים כדי לחסוך במקום.
בקרת Fan-outנהלו את האינטראקציות בין shards לבין אשכולות כדי לצמצם קפיצות ברשת.
קוונטיזציהצמצמו את גודל הווקטורים בשיטות כמו IVF-PQ כדי להתאים למגבלות הזיכרון.
כוונון מרכזים (Centroid tuning)התאימו את מספר המרכזים כדי לאזן בין recall לתקורה.
חישוב מרחק אסימטריהאיצו את החיפוש על ידי השוואת שאילתות בדיוק מלא לוקטורים דחוסים.
ניתוב שאילתות מכווןהשתמשו במטא-דאטה ובקלסטרינג כדי להימנע משידורים מיותרים במהלך החיפוש.
צמצום מטעני רשתהעבירו בין הצמתים רק מזהים וציונים, ולא וקטורים מלאים.
צבירה היררכיתצברו תוצאות באופן מקומי כדי לצמצם תיאום ולייצב את זמן ההשהיה.
שליטה של הזיכרוןודאו שהווקטורים נכנסים לזיכרון לביצועי חיפוש מיטביים.
שימוש מצבי ב-GPUהשתמשו ב-GPU לאינדוקס במידת הצורך, אך בדקו אם הם משפרים את התפוקה של החיפוש.
איכות הרשתנטרו את מצב הרשת, שכן היא משפיעה על זמן ההשהיה בחיפוש.

הערה: ניטור קבוע עוזר לאתר בעיות מוקדם ולשמור על חיפוש שפועל בצורה חלקה.

מלכודות נפוצות

עלולות להיתקל במספר מלכודות נפוצות בעת הקמה או הרחבה של מערכת החיפוש שלכם ב-Azure. טעות אחת היא לתת לאינדקס לגדול יתר על המידה עבור יחידת חיפוש אחת. הדבר עלול להאט את השאילתות ולהפוך את החיפוש לפחות אמין. שימוש ב-embeddings גדולים עלול לפגוע בביצועים גם הוא. שמרו תמיד על ה-embeddings קטנים ככל האפשר עבור מקרה השימוש שלכם.

מלכודת נוספת היא התעלמות מעליות פתאומיות בעומס. אם אינכם מתכננים לגידולים חדים בתעבורת החיפוש, המערכת עלולה להיכשל תחת לחץ. הסתמכות על נקודות קצה שמצמצמות קיבולת לאפס עלולה לגרום להשהיות של הפעלה קרה, שמאטות את החיפוש. אי-עדכון ה-SDK או אי-שימוש באסימוני OAuth עלולים להוביל לסיכוני אבטחה ולהחמצת שיפורי ביצועים.

זכרו: הימנעו from המלכודות האלה כדי לשמור על חיפוש מהיר, מאובטח ואמין.

על ידי ביצוע שיטות העבודה המומלצות האלה, תוכלו לבנות חוויית חיפוש חזקה ויעילה ב-Azure. תוכלו לעבד מערכי נתונים גדולים בקלות ולספק תוצאות מהירות ומדויקות למשתמשים שלכם.


אתם פותרים את בעיית מיליארד הווקטורים ב-Azure AI Search על ידי בחירת האלגוריתם המתאים לצרכים שלכם. DiskANN מעניק לכם מדרגיות חסכונית למערכי נתונים עצומים, בעוד ש-HNSW מספק תוצאות מהירות לעומסי עבודה קטנים יותר. אתם מתאימים את האלגוריתם לעומס העבודה, להיקף ולתקציב שלכם. הטבלה שלהלן עוזרת לכם לבחור את נקודת הקצה המתאימה ביותר:

סוג SKUתיאור מקרה שימוש
נקודות קצה סטנדרטיותמתאימות במיוחד לצרכי השהיה קריטיים באינדקסים עד 320 מיליון וקטורים.
נקודות קצה מותאמות אחסוןאידיאליות עבור יותר מ-10 מיליון וקטורים, כשמקובלת השהיה מסוימת ונדרשת יעילות עלות.
  • הערכו את צורכי האחסון שלכם על ידי בדיקה עם מספר מסמכים קטן.
  • תכננו לעדכונים ולנפח התוכן הכולל.

Azure AI Search מעניק לכם גמישות ותומך בחידושים של Microsoft לבינה מלאכותית ארגונית. כדי לחבר את כל התובנות הטכניות האלה לארכיטקטורת ענן בעולם האמיתי, הקפידו להאזין לפרק הפודקאסט המלווה HNSW vs DiskANN for Vector Search in Azure AI Search.

שאלות נפוצות

מהו ההבדל העיקרי בין HNSW ל-DiskANN?

משתמשים ב-HNSW לחיפוש וקטורי בזיכרון. DiskANN מאפשר לאחסן את רוב האינדקס על כוננים מסוג SSD. לכן DiskANN מתאים יותר לטיפול במיליארדי וקטורים בלי עלויות זיכרון גבוהות.

האם אפשר להשתמש ב-DiskANN ביישומים בזמן אמת?

כן. DiskANN מספק חיפוש עם השהיה נמוכה, לרוב פחות מ-10 מילישניות. אפשר להשתמש בו למשימות חיפוש AI בזמן אמת, גם עם מערכי נתונים גדולים מאוד.

איך מחליטים איזה אלגוריתם להשתמש בו ב-Azure AI Search?

בוחרים ב-HNSW למערכי נתונים קטנים יותר שנכנסים לזיכרון RAM. בוחרים ב-DiskANN למערכי נתונים מסיביים שדורשים הרחבה משתלמת מבחינת עלויות. כדאי לשקול את גודל הנתונים, החומרה וצרכי ההשהיה.

האם DiskANN דורש חומרה מיוחדת?

לא. אפשר להריץ את DiskANN על שרתים רגילים עם כוננים מסוג SSD. אין צורך במכונות יקרות עם זיכרון גדול. כך קל יותר להרחיב את המערכת ולהפוך אותה למשתלמת יותר.

איך Azure AI Search שומר על אבטחת הנתונים שלכם?

Azure AI Search משתמש בהצפנה ובבקרות גישה. אתם שולטים בשאלה מי יכול לגשת לנתונים שלכם. תכונות האבטחה של Microsoft עוזרות לכם להגן על מידע רגיש.

האם אפשר לעדכן את אינדקס הוקטורים בלי השבתה?

אפשר לעדכן גם אינדקסים של HNSW וגם של DiskANN. DiskANN תומך בעדכונים יעילים למערכי נתונים גדולים. כך תוצאות החיפוש נשארות עדכניות, בלי להוציא את המערכת משירות.

אילו שיטות עבודה מומלצות קיימות לאופטימיזציה של ביצועי חיפוש וקטורי?

השתמשו ב-embeddings קטנים יותר, שמרו על האינדקס בתוך יחידת חיפוש אחת, ונטרו את ההשהיה של השאילתות. עדכנו תמיד את ה-SDK שלכם, ותכננו לקראת עליות פתאומיות בשאילתות כדי לשמור על ביצועים גבוהים.


🎧 האזינו לפרק הזה

רוצים הסבר מעשי על HNSW מול DiskANN לחיפוש וקטורי ב-Azure AI Search? הפרק הזה מפרק את הנושא בשפה ברורה ומראה למה זה חשוב עבור Microsoft 365, Azure, Power Platform, אבטחה, AI ועבודה מודרנית.

האזינו לפרק הזה אם תרצו:

  • להבין את המושגים המרכזיים מאחורי HNSW מול DiskANN לחיפוש וקטורי ב-Azure AI Search
  • לראות איך זה משתלב במערכת הטכנולוגיות הרחבה של Microsoft
  • ללמוד היכן זה יכול ליצור ערך מעשי לארגון שלכם

ייתכן שתהנו גם מפרקי M365 FM קשורים אלה:

גלו עוד שיחות מעשיות על Microsoft ב-M365 FM.

נבדק לאחרונה: יולי 2026.

למי כדאי להאזין

הפרק מיועד למנהלי Microsoft, לארכיטקטים, למפתחים, לאנשי אבטחה ולמנהיגים עסקיים שצריכים בסיס מעשי לפני קבלת החלטות על יישום, תפעול או ממשל.

🎧 כדאי גם להאזין ל

Entities in this article

DiskANN Azure AI Search Vector search Retrieval-augmented generation (RAG) Cold start Embeddings Semantic model

Related articles

RSS