ভেক্টর অনুসন্ধান 2.0 এর ভূমিকা

1. ভূমিকা

শেষ আপডেট: ২০২৬-০৩-০৪

ভেক্টর সার্চ , অথবা ভেক্টর ডাটাবেস, আধুনিক এআই সিস্টেমের জন্য একটি মৌলিক প্রযুক্তি হয়ে উঠেছে। তথ্যকে উচ্চ-মাত্রিক এম্বেডিং হিসেবে উপস্থাপন করে যা শব্দার্থিক অর্থ ধারণ করে, এটি ব্যবহারকারীর অভিপ্রায় বোঝে এমন শব্দার্থিক অনুসন্ধান থেকে শুরু করে প্রাসঙ্গিক বিষয়বস্তু প্রকাশকারী সুপারিশ ইঞ্জিন, পুনরুদ্ধার-অগমেন্টেড জেনারেশন (RAG) এবং বাস্তব, হালনাগাদ তথ্যে LLM প্রতিক্রিয়াগুলিকে ভিত্তি করে তৈরি করে এমন AI এজেন্ট পর্যন্ত সবকিছুকে শক্তিশালী করে। গুগল সহ প্রধান প্রযুক্তি কোম্পানিগুলি প্রতিদিন কোটি কোটি অনুসন্ধান, সুপারিশ এবং ভিত্তি প্রক্রিয়া করার জন্য বিশাল স্কেলে এই প্রযুক্তির উপর নির্ভর করে।

তবুও উৎপাদন-প্রস্তুত ভেক্টর অনুসন্ধান তৈরি করা এখনও চ্যালেঞ্জিং। গুগল সম্প্রতি ভার্টেক্স এআই ভেক্টর অনুসন্ধান 2.0 প্রকাশ করেছে যা পরিবর্তন করে - একটি সম্পূর্ণরূপে পরিচালিত পরিষেবা যা নকশা এবং পরিচালনাগত জটিলতা দূর করার জন্য ডিজাইন করা হয়েছে যা দলগুলিকে ধীর করে দেয়।

26136405e588dcfd.png সম্পর্কে

ভেক্টর অনুসন্ধান কেন মনে হয় তার চেয়ে কঠিন?

ধারণাটি সহজ। বাস্তবায়ন? এখানেই জিনিসগুলি জটিল হয়ে ওঠে।

61df16b7d734ee87.png সম্পর্কে

এম্বেডিং জেনারেশন। ভেক্টর সার্চের জন্য আপনার ডেটাকে সংখ্যাসূচক উপস্থাপনায় (এমবেডিং) রূপান্তর করতে হবে যা শব্দার্থিক অর্থ ধারণ করে। এর অর্থ হল আপনাকে একটি এম্বেডিং API কল করতে হবে, আপনার অনুরোধগুলিকে ব্যাচ করতে হবে, হারের সীমা পরিচালনা করতে হবে এবং ভেক্টরগুলি সংরক্ষণ করতে হবে। প্রতিবার আপনার ডেটা পরিবর্তন হলে, আপনি পাইপলাইনটি পুনরায় চালান। অনুসন্ধান শুরু করার আগে আপনাকে এটির অবকাঠামো তৈরি করতে হবে।

ফিচার স্টোর। অনেক ভেক্টর সার্চ প্রোডাক্ট শুধুমাত্র একটি ভেক্টর ইনডেক্স প্রদান করে যা প্রতিটি সার্চের জন্য আইটেম আইডির একটি তালিকা প্রদান করে। ব্যবহারকারীদের সম্পূর্ণ সার্চ ফলাফল পরিবেশন করার জন্য, আপনার একটি পৃথক ফিচার স্টোর বা কী-ভ্যালু স্টোরের প্রয়োজন যেখানে আপনি প্রকৃত আইটেম ডেটা - নাম, দাম, বিভাগ, চিত্রের URL মিলিসেকেন্ডে - পুনরুদ্ধার করতে পারবেন। অনেক ক্ষেত্রে, আপনাকে মূল্য, বিভাগ বা প্রাপ্যতার মতো আইটেম বৈশিষ্ট্যগুলিতে জটিল ফিল্টারিং প্রয়োগ করতে হবে। এর অর্থ হল দুটি ভিন্ন পরিষেবা তৈরি এবং রক্ষণাবেক্ষণ করা: একটি ভেক্টর সার্চের জন্য, একটি ডেটা পুনরুদ্ধার এবং ফিল্টারিংয়ের জন্য। প্রতিটি আপডেট এবং কোয়েরির জন্য উভয় সিস্টেম অ্যাক্সেস এবং সিঙ্ক করার প্রয়োজন হয়।

সূচক টিউনিং। লক্ষ লক্ষ আইটেম দিয়ে আনুমানিক নিকটতম প্রতিবেশী (ANN) সূচক তৈরি করতে, সেরা পারফরম্যান্স পেতে আপনাকে বিশেষজ্ঞ সিদ্ধান্ত নিতে হবে: প্রতিটি সূচক নোডে কতগুলি আইটেম রাখা উচিত? ল্যাটেন্সির বিপরীতে রিকলের ভারসাম্য বজায় রাখতে প্রতি কোয়েরিতে সূচকের কত শতাংশ স্ক্যান করা উচিত? আপনার ডেটাসেটের সাথে কোন শার্ড সাইজের মিল আছে? এগুলি হল ML অবকাঠামোগত সিদ্ধান্ত যার আপনার প্রকৃত পণ্যের সাথে কোনও সম্পর্ক নেই।

হাইব্রিড সার্চ। সিমান্টিক সার্চ উদ্দেশ্য বোঝার ক্ষেত্রে অসাধারণ - ব্যবহারকারীরা "সৈকতের জন্য পুরুষদের পোশাক" অনুসন্ধান করলে "বোর্ড শর্টস" খুঁজে বের করে। কিন্তু এটি "SKU-12345" এর মতো পণ্য কোডগুলিতে ব্যর্থ হয় যার কোনও শব্দার্থিক অর্থ নেই এবং নতুন তৈরি শব্দ বা ব্র্যান্ড নামগুলির সাথে লড়াই করে যা এম্বেডিং মডেল কখনও দেখেনি। কীওয়ার্ড সার্চ এই ক্ষেত্রে পরিচালনা করে কিন্তু শব্দার্থিক প্রেক্ষাপট মিস করে। ব্যবহারকারীদের উভয়েরই প্রয়োজন, যে কারণে হাইব্রিড সার্চ অপরিহার্য হয়ে উঠেছে। তবে এটি তৈরি করা তুচ্ছ নয়। আপনার ভেক্টর সার্চ ইঞ্জিন ছাড়াও টোকেনাইজেশন, ইনভার্টেড ইনডেক্স বা স্পার্স এম্বেডিং সহ একটি পূর্ণ-পাঠ্য সার্চ ইঞ্জিন প্রয়োজন। তারপর আপনাকে উভয় ইঞ্জিনে সমান্তরাল কোয়েরি চালাতে হবে, তাদের বিভিন্ন স্কোরিং সিস্টেম স্বাভাবিক করতে হবে এবং রেসিপ্রোকাল র‍্যাঙ্ক ফিউশনের মতো কৌশলগুলির সাথে ফলাফল একত্রিত করতে হবে।

ভেক্টর সার্চ ২.০ কীভাবে এই সমস্যাগুলি সমাধান করে

গুগল ক্লাউডে ভেক্টর সার্চ ২.০ সরাসরি এই প্রতিটি চ্যালেঞ্জ মোকাবেলা করে:

eb385a0369369374.png সম্পর্কে

43d893d0a2bf1fe1.png সম্পর্কে

এই কর্মশালায়, আমরা TheLook ই-কমার্স ডেটাসেট থেকে ১০,০০০ ফ্যাশন পণ্য ব্যবহার করে একটি সম্পূর্ণরূপে পরিচালিত হাইব্রিড অনুসন্ধান তৈরি করব।

ভেক্টর সার্চ ২.০ কী?

ভেক্টর সার্চ ২.০ হল গুগল ক্লাউডের সম্পূর্ণরূপে পরিচালিত, স্ব-টিউনিং ভেক্টর ডাটাবেস যা গুগলের স্ক্যানএনএন (স্কেলেবল নিয়েরেস্ট নেবারস) অ্যালগরিদমের উপর নির্মিত - একই প্রযুক্তি যা গুগল সার্চ, ইউটিউব এবং গুগল প্লেকে শক্তিশালী করে।

মূল পার্থক্যকারী

  • শূন্য সূচক থেকে বিলিয়ন-স্কেল সূচক : kNN (k-Nearest Neighbors) ব্যবহার করে শূন্য সূচক সময় নিয়ে অবিলম্বে উন্নয়ন শুরু করুন, তারপর উৎপাদনের জন্য Google-স্কেল ANN (আনুমানিক নিকটতম প্রতিবেশী) সূচক ব্যবহার করে মিলিসেক ল্যাটেন্সি সহ কোটি কোটি ভেক্টরে স্কেল করুন - সব একই API এবং একই ডেটাসেট সহ।
  • ইউনিফাইড ডেটা স্টোরেজ : ভেক্টর এম্বেডিং এবং ব্যবহারকারীর প্রদত্ত ডেটা উভয়ই একসাথে সংরক্ষণ করুন (কোনও আলাদা ডাটাবেস বা ফিচার স্টোরের প্রয়োজন নেই)
  • অটো-এম্বেডিং : ভার্টেক্স এআই এম্বেডিং মডেল ব্যবহার করে স্বয়ংক্রিয়ভাবে সেমান্টিক এম্বেডিং তৈরি করে
  • বিল্ট-ইন ফুল-টেক্সট সার্চ : নিজে স্পার্স এম্বেডিং তৈরি না করেই একটি বিল্ট-ইন ফুল-টেক্সট সার্চ প্রদান করে। আপনি একটি কাস্টমাইজড ফুল-টেক্সট সার্চের জন্য ভেক্টর সার্চের সাথে আপনার নিজস্ব স্পার্স এম্বেডিং (যেমন, BM25, SPLADE) ব্যবহার করতে পারেন।
  • হাইব্রিড অনুসন্ধান : বুদ্ধিমান RRF র‍্যাঙ্কিংয়ের মাধ্যমে একটি একক কোয়েরিতে শব্দার্থিক এবং কীওয়ার্ড/টোকেন-ভিত্তিক অনুসন্ধান একত্রিত করুন।
  • স্ব-টিউনিং : ম্যানুয়াল কনফিগারেশন ছাড়াই স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করা কর্মক্ষমতা
  • এন্টারপ্রাইজ-রেডি : অন্তর্নির্মিত স্কেলেবিলিটি, নিরাপত্তা এবং সম্মতি

মূল স্থাপত্য

ভেক্টর সার্চ ২.০ এর তিনটি প্রধান উপাদান রয়েছে:

  1. সংগ্রহ : আপনার ডেটার জন্য স্কিমা-প্রয়োগকৃত কন্টেইনার
  2. ডেটা অবজেক্ট : ডেটা এবং ভেক্টর এম্বেডিং সহ পৃথক আইটেম
  3. সূচী : kNN দিয়ে তাৎক্ষণিক নিকটতম প্রতিবেশী আপনার ডেটা অনুসন্ধান করুন। কম বিলম্বের জন্য নিকটতম প্রতিবেশী অনুসন্ধানের জন্য একটি ANN সূচক ব্যবহার করুন।
  • দ্রুত শুরু করুন : শূন্য সেটআপ সময় নিয়ে অবিলম্বে kNN ব্যবহার করুন - ডেভেলপমেন্ট এবং ছোট ডেটাসেটের জন্য উপযুক্ত
  • স্কেল টু প্রোডাকশন : ScaNN অ্যালগরিদম দ্বারা চালিত সাব-সেকেন্ড ল্যাটেন্সি সহ বিলিয়ন-স্কেল অনুসন্ধানের জন্য ANN সূচক ব্যবহার করুন।

আসুন প্রতিটি ধারণা ব্যবহারিক উদাহরণ সহকারে অন্বেষণ করি!

2. দ্যলুক ফ্যাশন অনুসন্ধান তৈরি করা

কল্পনা করুন একজন গ্রাহক আপনার ই-কমার্স সাইটে এসে "সৈকতের ছুটির জন্য কিছু সুন্দর" টাইপ করেন। ঐতিহ্যবাহী কীওয়ার্ড অনুসন্ধানের মাধ্যমে, তারা কোনও ফলাফল পান না — আপনার ক্যাটালগের কোনও পণ্যেই ঠিক এই শব্দগুলি নেই। হতাশ হয়ে তারা চলে যান।

এবার অন্যরকম অভিজ্ঞতা কল্পনা করুন। একই প্রশ্নে সানড্রেস, সাঁতারের পোশাকের কভার-আপ এবং ফ্লোয় শর্টস - এমন পণ্যের কথা বলা হয়েছে যা গ্রাহকের মনের সাথে পুরোপুরি মিলে যায়, যদিও কোনওটির শিরোনামেই "সৈকত" শব্দটি নেই। ভেক্টর অনুসন্ধানের মাধ্যমেই অভিজ্ঞতা অর্জন করা সম্ভব।

ভেক্টর সার্চ ২.০ কীভাবে এটি সম্ভব করে তা প্রদর্শনের জন্য, আমরা TheLook ব্যবহার করে একটি পণ্য অনুসন্ধান ব্যবস্থা তৈরি করব, যা ২৬টি বিভাগে ৩০,০০০ ফ্যাশন আইটেম সহ একটি বাস্তবসম্মত ই-কমার্স ডেটাসেট। প্রতিটি পণ্যের এমন বৈশিষ্ট্য রয়েছে যা আপনি যেকোনো বাস্তব ক্যাটালগে পাবেন:

40d8ed36e05881be.png সম্পর্কে

অনুসন্ধানের চ্যালেঞ্জগুলি আমরা সমাধান করব

প্রকৃত গ্রাহকরা ডাটাবেস যেভাবে আশা করে সেভাবে অনুসন্ধান করে না। তারা যেভাবে চিন্তা করে সেভাবে অনুসন্ধান করে:

a76cbe51798283d7.png সম্পর্কে

ভেক্টর সার্চ ২.০ একটি সমন্বিত স্থাপত্যের মাধ্যমে চারটি চ্যালেঞ্জের সমাধান করে।

ভেক্টর অনুসন্ধান 2.0 ডেটা আর্কিটেকচার

কোডে ডুব দেওয়ার আগে, আসুন জেনে নিই কিভাবে ভেক্টর সার্চ ২.০ আপনার ডেটা সংগঠিত করে। আর্কিটেকচারটি তিনটি মূল ধারণার উপর কেন্দ্রীভূত: সংগ্রহ, ডেটা অবজেক্ট এবং সূচী।

8eed6976638d4cf0.jpeg সম্পর্কে

একটি সংগ্রহ আপনার ডেটা কাঠামোকে সংজ্ঞায়িত করে — আপনি কোন ক্ষেত্রগুলি সংরক্ষণ করতে চান এবং কোনগুলি এম্বেড করা উচিত। ডেটা অবজেক্ট হল একটি সংগ্রহে সংরক্ষিত প্রকৃত আইটেম (পণ্য, নথি, ছবি), প্রতিটির নিজস্ব ডেটা এবং স্বয়ংক্রিয়ভাবে তৈরি ভেক্টর অথবা আপনার নিজস্ব ভেক্টর থাকে। একটি সূচক স্কেলে কোয়েরিগুলিকে অপ্টিমাইজ করে, কোটি কোটি আইটেম জুড়ে মিলিসেক ল্যাটেন্সি সক্ষম করে। আপনি শূন্য সেটআপ সময়ের সাথে ডেভেলপমেন্টের জন্য একটি সূচক ছাড়াই শুরু করতে পারেন, তারপর যখন আপনার উৎপাদন কর্মক্ষমতা প্রয়োজন তখন একটি যোগ করতে পারেন।

দ্যলুক সার্চ তৈরি করা: ধাপে ধাপে

এবার চলুন একটি কার্যকরী পণ্য অনুসন্ধান ব্যবস্থা তৈরি করি। আমরা TheLook থেকে ১০,০০০ ফ্যাশন আইটেম লোড করব, অটো-এম্বেডিং সক্ষম করব এবং সিমেন্টিক, কীওয়ার্ড এবং হাইব্রিড অনুসন্ধান চালাব - সবকিছুই প্রায় ৫০ লাইন কোডে।

ওপেন নোটবুক: ভার্টেক্স এআই ভেক্টর সার্চ 2.0 এর ভূমিকা

হাইব্রিড অনুসন্ধান কার্যকর

ভেক্টর সার্চ ২.০ তিনটি সার্চ মোড সমর্থন করে: সিমেন্টিক সার্চ (এমবেডিংয়ের মাধ্যমে উদ্দেশ্য বোঝে), টেক্সট সার্চ (কীওয়ার্ড ম্যাচিং), এবং হাইব্রিড সার্চ (উভয়কেই একত্রিত করে)। হাইব্রিড সার্চ বেশিরভাগ ব্যবহারের ক্ষেত্রে সেরা ফলাফল প্রদান করে — ব্যবহারকারীরা "সৈকতের জন্য পুরুষদের পোশাক" অনুসন্ধান করলে সিমেন্টিক সার্চ "বোর্ড শর্টস" খুঁজে পায়, যখন টেক্সট সার্চ নিশ্চিত করে যে পণ্য কোডের মতো সঠিক মিল মিস করা হয়নি।

c279a1b2a12a8b2d.png

টাস্ক টাইপ এম্বেডিং কেন গুরুত্বপূর্ণ

উপরের কোডে task_type প্যারামিটারগুলি লক্ষ্য করুন: পণ্য সূচী করার সময় RETRIEVAL_DOCUMENT, এবং অনুসন্ধান করার সময় QUESTION_ANSWERING। এটি ইচ্ছামত নয় - এটি এম্বেডিং মডেলকে একটি সুপারিশ মডেলের মতো কাজ করতে দিয়ে অনুসন্ধানের মান উন্নত করার একটি মূল কৌশল।

বেশিরভাগ ভেক্টর অনুসন্ধান ব্যবহারের ক্ষেত্রে সাধারণ মিলের উপর নির্ভর করে, কিন্তু এটি প্রায়শই উৎপাদন-স্তরের অনুসন্ধানের মান প্রদান করতে ব্যর্থ হয় কারণ প্রশ্ন এবং উত্তরগুলি এম্বেডিং স্পেসে সহজাতভাবে একই রকম হয় না। "সৈকত ছুটির জন্য কী ভালো?" এবং "বোর্ড শর্টস" এর ভিন্ন ভিন্ন শব্দার্থবিদ্যা রয়েছে, তবুও তাদের মিল থাকা উচিত। টাস্ক টাইপ এম্বেডিংগুলি অসমমিত সম্পর্কের জন্য এম্বেডিং মডেলটি অপ্টিমাইজ করে এই সমস্যার সমাধান করে: ডকুমেন্টগুলি কোয়েরিগুলির চেয়ে আলাদাভাবে এম্বেড করা হয়, একটি এম্বেডিং স্পেস তৈরি করে যেখানে প্রাসঙ্গিক মিলগুলি একসাথে ক্লাস্টার করে — সুপারিশের ক্ষমতা যোগ করে, ব্যবহারকারীর অভিপ্রায়ের উপর ভিত্তি করে প্রাসঙ্গিক আইটেমগুলি খুঁজে বের করে।

807608c0806b2f3c.png সম্পর্কে

টাস্ক-নির্দিষ্ট এম্বেডিং ব্যবহার করলে জেনেরিক এম্বেডিংয়ের তুলনায় অনুসন্ধানের মান 30-40% উন্নত হতে পারে। এটি কীভাবে কাজ করে সে সম্পর্কে আরও জানতে, টাস্ক টাইপ এম্বেডিং নোটবুকটি দেখুন।

শূন্য থেকে বিলিয়ন স্কেল পর্যন্ত

স্কেলে উৎপাদনের জন্য, ভেক্টর সার্চ ২.০ গুগলের স্ক্যানএনএন (স্কেলেবল নিয়েরেস্ট নেবারস) অ্যালগরিদম দ্বারা চালিত ANN (আনুমানিক নিয়েরেস্ট নেবার) সূচক অফার করে — যা গুগল সার্চ, ইউটিউব এবং গুগল প্লে-এর পিছনে একই প্রযুক্তি। ANN বিশাল গতি বৃদ্ধির জন্য সামান্য পরিমাণে নির্ভুলতা (~৯৯%) ট্রেড করে: কোটি কোটি ভেক্টরের সাথেও ১০ মিলিসেকেন্ডের নিচে ল্যাটেন্সি।

6d412a551119495b.jpeg সম্পর্কে

সম্পূর্ণ ছবি

মাত্র পাঁচটি ধাপে — ১ থেকে ৪ ধাপ পর্যন্ত মাত্র ৫ মিনিট সময় লেগেছে — আমরা একটি উৎপাদন-প্রস্তুত পণ্য অনুসন্ধান ব্যবস্থা তৈরি করেছি:

e2a176d9dec3a2a8.jpeg সম্পর্কে

ভেক্টর সার্চ ২.০ অবকাঠামোগত জটিলতা দূর করে যা সাধারণত ভেক্টর সার্চ গ্রহণকে ধীর করে দেয়। আপনি আপনার পণ্যের উপর মনোযোগ দিন; প্ল্যাটফর্মটি এম্বেডিং, ইনডেক্সিং এবং স্কেলিং পরিচালনা করে।

৩. অভিনন্দন

অভিনন্দন, আপনি ভেক্টর অনুসন্ধান 2.0 দিয়ে আপনার প্রথম অ্যাপ্লিকেশনটি সফলভাবে তৈরি করেছেন!

আরও পড়া