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

בלוג · Mirko Peters

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

By ·

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

איך DiskANN עובד

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

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

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

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

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

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

תהליך החיפוש

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

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

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

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

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

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

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

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

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

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

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

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

שקלו את הנקודות הבאות לגבי diskann:

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

היתרון של diskann הוא היכולת שלו לעבד וקטורים מקוונטזים, דבר שדוחס את הנתונים ומשפר את החיפוש החסכוני בזיכרון. אפשר להשתמש ב-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 וקוונטיזציה סקלרית. אפשר להשתמש באחזור דו-שלבי ליעילות. במערכי נתונים שמעל 500 מיליון וקטורים נדרשים אחזור היררכי וארכיטקטורות רב-שכבתיות. משתמשים בקוונטיזציה אגרסיבית לנתונים קרים.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

חומרה ועלות

החומרה והתקציב משחקים גם הם תפקיד מרכזי. 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
דיוק מקצה לקצה0.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 ואשכולות כדי להפחית קפיצות ברשת.
Quantizationלצמצם את גודל הווקטורים בעזרת שיטות כמו IVF-PQ כדי להתאים למגבלות זיכרון.
כוונון Centroidלהתאים את מספר ה-centroids כדי לאזן בין recall לתקורה.
חישוב מרחק אסימטרילהאיץ חיפוש על ידי השוואת שאילתות ברזולוציה מלאה לווקטורים דחוסים.
ניתוב שאילתות מכווןלהשתמש במטא-דאטה ובאשכול כדי להימנע משידורים מיותרים במהלך החיפוש.
מזעור עומסי רשתלהעביר בין הצמתים רק מזהים וציונים, ולא וקטורים מלאים.
צבירה היררכיתלצבור תוצאות באופן מקומי כדי להפחית תיאום וליצב את ההשהיה.
שליטת הזיכרוןלוודא שהווקטורים נכנסים לזיכרון כדי להשיג את ביצועי החיפוש הטובים ביותר.
שימוש מצבי ב-GPUלהשתמש ב-GPU לאינדוקס במידת הצורך, אבל לבדוק אם הם מסייעים לתפוקת החיפוש.
איכות הרשתלנטר את מצב הרשת, מכיוון שהוא משפיע על ההשהיה בחיפוש.

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

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

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

מלכודת נוספת היא התעלמות מעליות פתאומיות בעומס. אם אינכם מתכננים לעליות פתאומיות בתעבורת החיפוש, המערכת עלולה להיכשל תחת לחץ. הסתמכות על נקודות קצה שמתכווננות לאפס עלולה לגרום להשהיות של הפעלה קרה, שמאטות את החיפוש. אי-עדכון ה-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
  • לראות how זה משתלב במערכת הטכנולוגיות הרחבה של Microsoft
  • ללמוד היכן זה יכול ליצור ערך מעשי לארגון שלכם

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

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

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

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

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

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

Entities in this article

DiskANN Azure AI Search Vector search Hybrid search Microsoft Azure Cold start Embeddings Semantic model

Related articles

RSS