Build an ML vision analytics solution with Dataflow and Cloud Vision API

Last reviewed 2024-05-23 UTC

בארכיטקטורת ההפניה הזו תלמדו על תרחישי שימוש, חלופות עיצוב ושיקולי עיצוב כשמפעילים צינור (pipeline) של Dataflow לעיבוד קובצי תמונות באמצעות Cloud Vision ולאחסון התוצאות המעובדות ב-BigQuery. אפשר להשתמש בתוצאות המאוחסנות האלה לניתוח נתונים בקנה מידה גדול ולאימון מודלים של BigQuery ML.

מסמך הארכיטקטורה הזה מיועד למהנדסי נתונים ולמדעני נתונים.

ארכיטקטורה

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

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

כפי שמוצג בתרשים שלמעלה, המידע זורם באופן הבא:

  1. קליטה והפעלה: זה השלב הראשון בתהליך המערכת, שבו התמונות נכנסות למערכת. בשלב הזה מתרחשות הפעולות הבאות:

    1. לקוחות מעלים קובצי תמונות לקטגוריה של Cloud Storage.
    2. בכל העלאת קובץ, מערכת Cloud Storage שולחת באופן אוטומטי התראה על קלט על ידי פרסום הודעה ב-Pub/Sub.
  2. תהליך: השלב הזה מתרחש מיד אחרי שלב ההטמעה וההפעלה. לכל התראה חדשה על קלט, מתבצעות הפעולות הבאות:

    1. צינור הנתונים של Dataflow מאזין להודעות הקלט של הקבצים האלה, מחלץ את המטא-נתונים של הקובץ מההודעה של Pub/Sub ושולח את הפניה לקובץ אל Vision API לעיבוד.
    2. ‫Vision API קורא את התמונה ויוצר הערות.
    3. צינור הנתונים של Dataflow שומר את ההערות שנוצרו על ידי Vision API בטבלאות של BigQuery.
  3. אחסון וניתוח: זה השלב האחרון בתהליך. בשלב הזה, אפשר לבצע את הפעולות הבאות עם התוצאות שנשמרו:

    1. שליחת שאילתות לטבלאות BigQuery וניתוח ההערות המאוחסנות.
    2. משתמשים ב-BigQuery ML או ב-Vertex AI כדי ליצור מודלים ולבצע חיזויים על סמך ההערות המאוחסנות.
    3. מבצעים ניתוח נוסף בצינור Dataflow (לא מוצג בתרשים הזה).

המוצרים שהשתמשו בהם

ארכיטקטורת ההפניה הזו כוללת את המוצרים הבאים Google Cloud :

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

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

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

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

חלופות עיצוב

במקום לאחסן תמונות בקטגוריה של Cloud Storage, התהליך שיוצר את התמונות יכול לפרסם אותן ישירות במערכת העברת הודעות – למשל Pub/Sub – וצינור עיבוד הנתונים של Dataflow יכול לשלוח את התמונות ישירות אל Vision API.

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

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

שיקולים לגבי העיצוב

בקטע הזה מתוארים שיקולי התכנון של ארכיטקטורת ההפניה הזו:

אבטחה, פרטיות ותאימות

תמונות שהתקבלו ממקורות לא מהימנים עלולות להכיל תוכנה זדונית. מכיוון ש-Vision API לא מריץ שום דבר על סמך התמונות שהוא מנתח, תוכנות זדוניות שמבוססות על תמונות לא ישפיעו על ה-API. אם אתם צריכים לסרוק תמונות, אתם יכולים לשנות את צינור הנתונים של Dataflow כדי להוסיף שלב סריקה. כדי להשיג את אותה התוצאה, אפשר גם להשתמש במינוי נפרד לנושא Pub/Sub ולסרוק תמונות בתהליך נפרד.

מידע נוסף זמין במאמר בנושא אוטומציה של סריקת תוכנות זדוניות בקבצים שמועלים ל-Cloud Storage.

‫Vision API משתמש בניהול זהויות והרשאות גישה (IAM) לאימות. כדי לגשת אל Vision API, לגורם המאובטח צריכה להיות גישה מסוג Cloud Storage > צפייה באובייקט אחסון (roles/storage.objectViewer) לקטגוריה שמכילה את הקבצים שרוצים לנתח.

עקרונות והמלצות אבטחה שספציפיים לעומסי עבודה של AI ו-ML מפורטים במאמר AI and ML perspective: Security ב-Well-Architected Framework.

הוזלת עלויות

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

‫Vision API תומך בעיבוד אסינכרוני של קבוצות תמונות במצב אופליין לכל התכונות. הבקשה לא סנכרונית תומכת בעד 2,000 תמונות בכל אצווה. בתגובה, Vision API מחזיר קובצי JSON שמאוחסנים בקטגוריה של Cloud Storage.

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

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

עקרונות והמלצות לאופטימיזציה של עלויות שספציפיים לעומסי עבודה של AI ו-ML מפורטים במאמר AI and ML perspective: Cost optimization ב-Well-Architected Framework.

אופטימיזציה של הביצועים

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

לצינור Dataflow יש כמה פרמטרים שיכולים להשפיע על זמני האחזור של העיבוד. מידע נוסף על הפרמטרים האלה זמין במאמר פריסת פתרון לניתוח נתונים של ראייה ממוחשבת באמצעות Dataflow ו-Vision API.

עקרונות והמלצות לאופטימיזציה של ביצועים שספציפיים לעומסי עבודה של AI ו-ML מפורטים במאמר AI and ML perspective: Performance optimization ב-Well-Architected Framework.

פריסה

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

המאמרים הבאים

שותפים ביצירת התוכן

מחברים:

תורמי תוכן אחרים: