ML-এর জন্য ডেটা প্রিপ্রসেসিং: বিকল্প এবং সুপারিশ

এই দস্তাবেজটি একটি দুই-অংশের সিরিজের মধ্যে প্রথম যা তত্ত্বাবধানে শেখার কাজগুলিতে ফোকাস সহ মেশিন লার্নিং (ML) এর জন্য ডেটা ইঞ্জিনিয়ারিং এবং বৈশিষ্ট্য প্রকৌশলের বিষয় অন্বেষণ করে। এই প্রথম অংশটি Google ক্লাউডে একটি ML পাইপলাইনে ডেটা প্রি-প্রসেস করার সেরা অনুশীলনগুলি নিয়ে আলোচনা করে৷ নথিটি টেনসরফ্লো এবং ওপেন সোর্স টেনসরফ্লো ট্রান্সফর্ম ( tf.Transform ) লাইব্রেরি ব্যবহার করে ডেটা প্রস্তুত করতে, মডেলকে প্রশিক্ষণ দিতে এবং ভবিষ্যদ্বাণীর জন্য মডেল পরিবেশন করার উপর ফোকাস করে। এই দস্তাবেজটি ML-এর জন্য ডেটা প্রি-প্রসেস করার চ্যালেঞ্জগুলিকে হাইলাইট করে এবং এটি Google ক্লাউডে কার্যকরভাবে ডেটা রূপান্তর সম্পাদন করার বিকল্প এবং পরিস্থিতি বর্ণনা করে।

এই দস্তাবেজটি অনুমান করে যে আপনি BigQuery , Dataflow , Vertex AI , এবং TensorFlow Keras API-এর সাথে পরিচিত৷

দ্বিতীয় নথি, Google ক্লাউডের সাথে ML-এর জন্য ডেটা প্রিপ্রসেসিং , কীভাবে একটি tf.Transform পাইপলাইন বাস্তবায়ন করতে হয় তার জন্য ধাপে ধাপে টিউটোরিয়াল প্রদান করে।

ভূমিকা

ML আপনাকে স্বয়ংক্রিয়ভাবে ডেটাতে জটিল এবং সম্ভাব্য উপযোগী প্যাটার্ন খুঁজে পেতে সাহায্য করে। এই নিদর্শনগুলিকে একটি এমএল মডেলে ঘনীভূত করা হয় যা পরবর্তীতে নতুন ডেটা পয়েন্টগুলিতে ব্যবহার করা যেতে পারে—একটি প্রক্রিয়া যাকে বলা হয় ভবিষ্যদ্বাণী করা বা অনুমান করা

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

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

এই নথিটি বৈশিষ্ট্য প্রকৌশল ক্রিয়াকলাপের বিভিন্ন স্তরের গ্রানুলারিটির জন্য এই চ্যালেঞ্জগুলি নিয়ে আলোচনা করে: উদাহরণ-স্তর, পূর্ণ-পাস, এবং সময়-উইন্ডো সমষ্টি। এই দস্তাবেজটি Google ক্লাউডে ML-এর জন্য ডেটা রূপান্তর করার বিকল্পগুলি এবং পরিস্থিতিগুলিও বর্ণনা করে৷

এই দস্তাবেজটি TensorFlow Transform ( tf.Transform ), TensorFlow-এর একটি লাইব্রেরির একটি ওভারভিউও প্রদান করে যা আপনাকে ডেটা প্রিপ্রসেসিং পাইপলাইনের মাধ্যমে ইনস্ট্যান্স-লেভেল এবং পূর্ণ-পাস ডেটা ট্রান্সফর্মেশন উভয়ই সংজ্ঞায়িত করতে দেয়। এই পাইপলাইনগুলি Apache Beam এর সাথে কার্যকর করা হয়, এবং তারা এমন শিল্পকর্ম তৈরি করে যা আপনাকে ভবিষ্যদ্বাণী করার সময় একই রূপান্তর প্রয়োগ করতে দেয় যখন মডেলটি পরিবেশন করা হয়।

ML-এর জন্য ডেটা প্রিপ্রসেস করা হচ্ছে

এই বিভাগে ডেটা প্রিপ্রসেসিং অপারেশন এবং ডেটা প্রস্তুতির পর্যায়গুলি উপস্থাপন করা হয়েছে। এটি প্রিপ্রসেসিং ক্রিয়াকলাপগুলির প্রকার এবং তাদের গ্রানুলারিটি নিয়েও আলোচনা করে।

ফিচার ইঞ্জিনিয়ারিংয়ের তুলনায় ডেটা ইঞ্জিনিয়ারিং

এমএল-এর জন্য ডেটা প্রি-প্রসেসিং ডেটা ইঞ্জিনিয়ারিং এবং ফিচার ইঞ্জিনিয়ারিং উভয়ই জড়িত। ডেটা ইঞ্জিনিয়ারিং হল কাঁচা ডেটাকে প্রস্তুত ডেটাতে রূপান্তর করার প্রক্রিয়া। ফিচার ইঞ্জিনিয়ারিং তারপরে এমএল মডেলের দ্বারা প্রত্যাশিত বৈশিষ্ট্যগুলি তৈরি করতে প্রস্তুত ডেটা টিউন করে। এই পদগুলির নিম্নলিখিত অর্থ রয়েছে:

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

নিম্নলিখিত চিত্র, চিত্র 1, প্রি-প্রসেসড ডেটা প্রস্তুত করার সাথে জড়িত পদক্ষেপগুলি দেখায়:

ফ্লো ডায়াগ্রাম দেখা যাচ্ছে কাঁচা ডাটা প্রস্তুত ডাটা থেকে প্রকৌশলী বৈশিষ্ট্যে চলে যাচ্ছে।
চিত্র 1. কাঁচা ডেটা থেকে প্রস্তুত ডেটা থেকে প্রকৌশলী বৈশিষ্ট্য থেকে মেশিন লার্নিং পর্যন্ত ডেটার প্রবাহ।

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

প্রিপ্রসেসিং অপারেশন

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

কাঠামোগত ডেটার জন্য, ডেটা প্রিপ্রসেসিং ক্রিয়াকলাপগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

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

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

  • টেক্সট নথির জন্য: স্টেমিং এবং লেমেমাটাইজেশন , TF-IDF গণনা, এবং n-গ্রাম নিষ্কাশন, এম্বেডিং লুকআপ।
  • ছবির জন্য: ক্লিপিং, রিসাইজ, ক্রপিং, গাউসিয়ান ব্লার, এবং ক্যানারি ফিল্টার।
  • সব ধরনের ডেটার জন্য (পাঠ্য এবং ছবি সহ): ট্রান্সফার লার্নিং , যা সম্পূর্ণ প্রশিক্ষিত মডেলের সব-কিন্তু-শেষ স্তরগুলিকে একটি বৈশিষ্ট্য প্রকৌশল পদক্ষেপ হিসাবে বিবেচনা করে।

প্রিপ্রসেসিং গ্রানুলারিটি

এই বিভাগে তথ্য রূপান্তরের প্রকারের গ্রানুলারিটি নিয়ে আলোচনা করা হয়েছে। প্রশিক্ষণ ডেটাতে প্রয়োগ করা রূপান্তরগুলি ব্যবহার করে ভবিষ্যদ্বাণীগুলির জন্য নতুন ডেটা পয়েন্ট তৈরি করার সময় কেন এই দৃষ্টিকোণটি গুরুত্বপূর্ণ তা দেখায়৷

অপারেশন গ্রানুলারিটির উপর ভিত্তি করে প্রিপ্রসেসিং এবং ট্রান্সফর্মেশন অপারেশনগুলিকে নিম্নরূপ শ্রেণীবদ্ধ করা যেতে পারে:

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

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

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

    উদাহরণস্বরূপ, প্রশিক্ষণের জন্য একটি সাংখ্যিক বৈশিষ্ট্যকে স্বাভাবিক করার জন্য, আপনি সমগ্র প্রশিক্ষণ ডেটা জুড়ে এর গড় (μ) এবং এর মান বিচ্যুতি (σ) গণনা করেন। এই গণনাকে একটি পূর্ণ-পাস (বা বিশ্লেষণ ) অপারেশন বলা হয়। আপনি যখন ভবিষ্যদ্বাণীর জন্য মডেলটি পরিবেশন করেন, তখন ট্রেনিং-সার্ভিং স্কু এড়াতে একটি নতুন ডেটা পয়েন্টের মান স্বাভাবিক করা হয়। অতএব, প্রশিক্ষণের সময় গণনা করা μ এবং σ মানগুলি বৈশিষ্ট্য মান সামঞ্জস্য করতে ব্যবহৃত হয়, যা নিম্নলিখিত সহজ উদাহরণ-স্তরের অপারেশন:

    $$ value_{scaled} = (value_{raw} - \mu) \div \sigma $$

    পূর্ণ-পাস রূপান্তর নিম্নলিখিত অন্তর্ভুক্ত:

    • প্রশিক্ষণ ডেটাসেট থেকে গণনা করা সর্বনিম্ন এবং সর্বোচ্চ ব্যবহার করে MinMax স্কেলিং সংখ্যাসূচক বৈশিষ্ট্য।
    • প্রশিক্ষণ ডেটাসেটে গণনা করা μ এবং σ ব্যবহার করে স্ট্যান্ডার্ড স্কেলিং (জেড-স্কোর স্বাভাবিককরণ) সংখ্যাসূচক বৈশিষ্ট্য।
    • কোয়ান্টাইল ব্যবহার করে সংখ্যাসূচক বৈশিষ্ট্যগুলিকে বাকেটাইজ করা।
    • মধ্যমা (সংখ্যাসূচক বৈশিষ্ট্য) বা মোড (শ্রেণীগত বৈশিষ্ট্য) ব্যবহার করে অনুপস্থিত মানগুলিকে ইম্পুট করা।
    • একটি ইনপুট ক্যাটাগরিকাল বৈশিষ্ট্যের সমস্ত স্বতন্ত্র মান (শব্দভান্ডার) বের করে স্ট্রিং (নামমাত্র মান) পূর্ণসংখ্যা (সূচী) এ রূপান্তর করা।
    • TF-IDF-এর জন্য গণনা করার জন্য সমস্ত নথিতে (উদাহরণ) একটি শব্দের (বৈশিষ্ট্যের মান) উপস্থিতি গণনা করা।
    • একটি নিম্ন মাত্রিক স্থান (রৈখিকভাবে নির্ভরশীল বৈশিষ্ট্য সহ) তথ্য প্রজেক্ট করার জন্য ইনপুট বৈশিষ্ট্যগুলির PCA গণনা করা।

    μ, σ, min এবং max এর মত পরিসংখ্যান গণনা করতে আপনার শুধুমাত্র প্রশিক্ষণের ডেটা ব্যবহার করা উচিত। আপনি যদি এই ক্রিয়াকলাপগুলির জন্য পরীক্ষা এবং মূল্যায়ন ডেটা যোগ করেন, আপনি মডেলটিকে প্রশিক্ষণ দেওয়ার জন্য মূল্যায়ন এবং পরীক্ষার ডেটা থেকে তথ্য ফাঁস করছেন৷ এটি করা পরীক্ষা এবং মূল্যায়ন ফলাফলের নির্ভরযোগ্যতা প্রভাবিত করে। আপনি সমস্ত ডেটাসেটে সামঞ্জস্যপূর্ণ রূপান্তর প্রয়োগ করেন তা নিশ্চিত করতে, আপনি পরীক্ষা এবং মূল্যায়ন ডেটা রূপান্তর করতে প্রশিক্ষণ ডেটা থেকে গণনা করা একই পরিসংখ্যান ব্যবহার করেন।

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

  • প্রশিক্ষণের সময় ঐতিহাসিক একত্রীকরণ, কিন্তু ভবিষ্যদ্বাণীর সময় রিয়েল-টাইম সমষ্টি । এই পদ্ধতিতে সময়ের সাথে সাথে রিয়েল-টাইম মানগুলিকে সংক্ষিপ্ত করে একটি বৈশিষ্ট্য তৈরি করা জড়িত। এই পদ্ধতিতে, একত্রিত করা দৃষ্টান্তগুলিকে অস্থায়ী উইন্ডো ক্লজের মাধ্যমে সংজ্ঞায়িত করা হয়। উদাহরণস্বরূপ, আপনি এই পদ্ধতিটি ব্যবহার করতে পারেন যদি আপনি এমন একটি মডেলকে প্রশিক্ষিত করতে চান যা গত 5 মিনিটে, শেষ 10 মিনিটে, শেষ 30 মিনিটে এবং অন্যান্য সময়ে রুটের ট্রাফিক মেট্রিক্সের উপর ভিত্তি করে ট্যাক্সি ট্রিপের সময় অনুমান করে। বিরতি আপনি গত 3 মিনিটে গণনা করা তাপমাত্রা এবং কম্পনের মানগুলির চলমান গড়ের উপর ভিত্তি করে একটি ইঞ্জিন অংশের ব্যর্থতার পূর্বাভাস দিতেও এই পদ্ধতিটি ব্যবহার করতে পারেন। যদিও এই সমষ্টিগুলি প্রশিক্ষণের জন্য অফলাইনে প্রস্তুত করা যেতে পারে, সেগুলি পরিবেশনের সময় ডেটা স্ট্রিম থেকে রিয়েল টাইমে গণনা করা হয়।

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

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

Google ক্লাউডে ML পাইপলাইন

এই বিভাগে পরিচালিত পরিষেবাগুলি ব্যবহার করে Google ক্লাউডে TensorFlow ML মডেলগুলিকে প্রশিক্ষণ এবং পরিবেশন করার জন্য একটি সাধারণ এন্ড-টু-এন্ড পাইপলাইনের মূল উপাদানগুলি নিয়ে আলোচনা করা হয়েছে৷ এটি এছাড়াও আলোচনা করে যেখানে আপনি ডেটা প্রিপ্রসেসিং ক্রিয়াকলাপগুলির বিভিন্ন বিভাগ বাস্তবায়ন করতে পারেন এবং এই ধরনের রূপান্তরগুলি বাস্তবায়ন করার সময় আপনি যে সাধারণ চ্যালেঞ্জগুলির মুখোমুখি হতে পারেন। How tf.Transform কাজ করে বিভাগটি দেখায় কিভাবে TensorFlow Transform লাইব্রেরি এই চ্যালেঞ্জ মোকাবেলায় সাহায্য করে।

উচ্চ-স্তরের স্থাপত্য

নিম্নলিখিত চিত্র, চিত্র 2, টেনসরফ্লো মডেলের প্রশিক্ষণ এবং পরিবেশনের জন্য একটি সাধারণ ML পাইপলাইনের একটি উচ্চ-স্তরের আর্কিটেকচার দেখায়। ডায়াগ্রামে A, B, এবং C লেবেলগুলি পাইপলাইনের বিভিন্ন স্থানকে নির্দেশ করে যেখানে ডেটা প্রিপ্রসেসিং হতে পারে। এই পদক্ষেপগুলি সম্পর্কে বিশদ বিবরণ নিম্নলিখিত বিভাগে দেওয়া হয়েছে।

আর্কিটেকচার ডায়াগ্রাম ডেটা প্রক্রিয়াকরণের পর্যায়গুলি দেখাচ্ছে।
চিত্র 2. ML প্রশিক্ষণ এবং Google ক্লাউডে পরিবেশনের জন্য উচ্চ-স্তরের আর্কিটেকচার।

পাইপলাইন নিম্নলিখিত ধাপগুলি নিয়ে গঠিত:

  1. কাঁচা ডেটা আমদানি করার পরে, ট্যাবুলার ডেটা BigQuery-এ সংরক্ষণ করা হয় এবং অন্যান্য ডেটা যেমন ছবি, অডিও এবং ভিডিও ক্লাউড স্টোরেজে সংরক্ষণ করা হয়। এই সিরিজের দ্বিতীয় অংশে উদাহরণ হিসেবে BigQuery-এ সংরক্ষিত ট্যাবুলার ডেটা ব্যবহার করা হয়েছে।
  2. ডেটা প্রকৌশল (প্রস্তুতি) এবং বৈশিষ্ট্য প্রকৌশল ডেটাফ্লো ব্যবহার করে স্কেলে নির্বাহ করা হয়। এই এক্সিকিউশনটি এমএল-প্রস্তুত প্রশিক্ষণ, মূল্যায়ন এবং পরীক্ষার সেট তৈরি করে যা ক্লাউড স্টোরেজে সংরক্ষণ করা হয়। আদর্শভাবে, এই ডেটাসেটগুলি TFRecord ফাইল হিসাবে সংরক্ষণ করা হয়, যা TensorFlow গণনার জন্য অপ্টিমাইজ করা ফর্ম্যাট।
  3. একটি টেনসরফ্লো মডেল প্রশিক্ষক প্যাকেজ ভার্টেক্স এআই ট্রেনিং-এ জমা দেওয়া হয়, যা মডেলটিকে প্রশিক্ষণ দেওয়ার জন্য পূর্ববর্তী ধাপগুলি থেকে প্রি-প্রসেসড ডেটা ব্যবহার করে। এই ধাপের আউটপুট হল একটি প্রশিক্ষিত TensorFlow SavedModel যা ক্লাউড স্টোরেজে রপ্তানি করা হয়।
  4. প্রশিক্ষিত TensorFlow মডেলটি Vertex AI Prediction-এ একটি পরিষেবা হিসাবে স্থাপন করা হয়েছে যার একটি REST API রয়েছে যাতে এটি অনলাইন ভবিষ্যদ্বাণীর জন্য ব্যবহার করা যেতে পারে। একই মডেল ব্যাচ ভবিষ্যদ্বাণী কাজের জন্যও ব্যবহার করা যেতে পারে।
  5. মডেলটিকে একটি REST API হিসাবে মোতায়েন করার পরে, ক্লায়েন্ট অ্যাপস এবং অভ্যন্তরীণ সিস্টেমগুলি কিছু ডেটা পয়েন্ট সহ অনুরোধ পাঠিয়ে এবং ভবিষ্যদ্বাণী সহ মডেল থেকে প্রতিক্রিয়া প্রাপ্ত করার মাধ্যমে API চালু করতে পারে।
  6. এই পাইপলাইনটি অর্কেস্ট্রেটিং এবং স্বয়ংক্রিয় করার জন্য, আপনি ডেটা প্রস্তুতি, মডেল প্রশিক্ষণ এবং মডেল স্থাপনের পদক্ষেপগুলি আহ্বান করতে একটি শিডিউলার হিসাবে ভার্টেক্স এআই পাইপলাইন ব্যবহার করতে পারেন।

আপনি ভার্টেক্স এআই ফিচার স্টোর ব্যবহার করতে পারেন ভবিষ্যদ্বাণী করার জন্য ইনপুট বৈশিষ্ট্য সংরক্ষণ করতে। উদাহরণস্বরূপ, আপনি পর্যায়ক্রমে সর্বশেষ কাঁচা ডেটা থেকে প্রকৌশলী বৈশিষ্ট্যগুলি তৈরি করতে পারেন এবং সেগুলিকে Vertex AI বৈশিষ্ট্য স্টোরে সংরক্ষণ করতে পারেন৷ ক্লায়েন্ট অ্যাপগুলি Vertex AI ফিচার স্টোর থেকে প্রয়োজনীয় ইনপুট বৈশিষ্ট্যগুলি নিয়ে আসে এবং ভবিষ্যদ্বাণী পেতে মডেলে পাঠায়।

যেখানে প্রিপ্রসেসিং করতে হবে

চিত্র 2-এ, A, B, এবং C লেবেলগুলি দেখায় যে ডেটা প্রিপ্রসেসিং অপারেশনগুলি BigQuery, Dataflow বা TensorFlow-এ হতে পারে। নিম্নলিখিত বিভাগগুলি বর্ণনা করে যে এই বিকল্পগুলির প্রতিটি কীভাবে কাজ করে৷

বিকল্প A: BigQuery

সাধারণত, নিম্নলিখিত ক্রিয়াকলাপগুলির জন্য BigQuery-এ যুক্তি প্রয়োগ করা হয়:

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

BigQuery SQL স্ক্রিপ্টগুলি ডেটাফ্লো প্রিপ্রসেসিং পাইপলাইনের জন্য একটি উৎস ক্যোয়ারী হিসাবে ব্যবহার করা যেতে পারে, যা চিত্র 2-এ ডেটা প্রসেসিং ধাপ। উদাহরণস্বরূপ, যদি কানাডায় একটি সিস্টেম ব্যবহার করা হয়, এবং ডেটা গুদামে সারা বিশ্ব থেকে লেনদেন হয়, ফিল্টারিং BigQuery-এ শুধুমাত্র কানাডা প্রশিক্ষণের ডেটা পান। BigQuery-এ ফিচার ইঞ্জিনিয়ারিং সহজ এবং স্কেলযোগ্য, এবং ইন্সট্যান্স-লেভেল এবং ঐতিহাসিক একত্রীকরণ বৈশিষ্ট্য রূপান্তর বাস্তবায়নে সহায়তা করে।

যাইহোক, আমরা সুপারিশ করি যে আপনি শুধুমাত্র যদি আপনি আপনার মডেল ব্যাচ ভবিষ্যদ্বাণী (স্কোরিং) এর জন্য ব্যবহার করেন, অথবা যদি বৈশিষ্ট্যগুলি BigQuery-এ প্রি-কম্পিউট করা থাকে, কিন্তু অনলাইন ভবিষ্যদ্বাণীর সময় ব্যবহার করার জন্য Vertex AI বৈশিষ্ট্য স্টোরে সংরক্ষণ করা হয় তবেই আপনি বৈশিষ্ট্য প্রকৌশলের জন্য BigQuery ব্যবহার করুন। আপনি যদি অনলাইন ভবিষ্যদ্বাণীর জন্য মডেলটি স্থাপন করার পরিকল্পনা করেন, এবং যদি আপনার কাছে একটি অনলাইন বৈশিষ্ট্য স্টোরে ইঞ্জিনিয়ারড বৈশিষ্ট্য না থাকে, তাহলে আপনাকে অন্য সিস্টেমগুলি তৈরি করা কাঁচা ডেটা পয়েন্টগুলিকে রূপান্তর করতে SQL প্রিপ্রসেসিং অপারেশনগুলিকে প্রতিলিপি করতে হবে৷ অন্য কথায়, আপনাকে দুইবার লজিক প্রয়োগ করতে হবে: এক বার SQL-এ BigQuery-এ প্রশিক্ষণ ডেটা প্রিপ্রসেস করার জন্য এবং দ্বিতীয়বার অ্যাপের লজিক যা ভবিষ্যদ্বাণীর জন্য অনলাইন ডেটা পয়েন্ট প্রিপ্রসেস করতে মডেলটি ব্যবহার করে।

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

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

সম্পূর্ণ-পাস স্টেটফুল রূপান্তরগুলি BigQuery-এ বাস্তবায়নের জন্য উপযুক্ত নয়। আপনি যদি পূর্ণ-পাস রূপান্তরের জন্য BigQuery ব্যবহার করেন, তাহলে রাষ্ট্রীয় রূপান্তরগুলির জন্য প্রয়োজনীয় পরিমাণগুলি সঞ্চয় করার জন্য আপনার সহায়ক টেবিলের প্রয়োজন, যেমন সংখ্যাগত বৈশিষ্ট্যগুলি মাপতে উপায় এবং বৈচিত্র। আরও, BigQuery-এ SQL ব্যবহার করে পূর্ণ-পাস রূপান্তরের বাস্তবায়ন SQL স্ক্রিপ্টে জটিলতা তৈরি করে এবং প্রশিক্ষণ এবং স্কোরিং SQL স্ক্রিপ্টের মধ্যে জটিল নির্ভরতা তৈরি করে।

বিকল্প B: ডেটাফ্লো

চিত্র 2-এ দেখানো হিসাবে, আপনি Apache Beam-এ গণনাগতভাবে ব্যয়বহুল প্রিপ্রসেসিং অপারেশনগুলি বাস্তবায়ন করতে পারেন এবং ডেটাফ্লো ব্যবহার করে স্কেলে চালাতে পারেন। ডেটাফ্লো ব্যাচ এবং স্ট্রিম ডেটা প্রক্রিয়াকরণের জন্য একটি সম্পূর্ণরূপে পরিচালিত অটোস্কেলিং পরিষেবা। আপনি যখন Dataflow ব্যবহার করেন, তখন আপনি BigQuery-এর বিপরীতে ডেটা প্রসেসিংয়ের জন্য বাহ্যিক বিশেষায়িত লাইব্রেরিও ব্যবহার করতে পারেন।

ডেটাফ্লো ইনস্ট্যান্স-লেভেল ট্রান্সফর্মেশন এবং ঐতিহাসিক এবং রিয়েল-টাইম অ্যাগ্রিগেশন ফিচার ট্রান্সফর্মেশন করতে পারে। বিশেষ করে, যদি আপনার ML মডেলগুলি total_number_of_clicks_last_90sec এর মত একটি ইনপুট বৈশিষ্ট্য আশা করে, Apache Beam windowing ফাংশনগুলি রিয়েল-টাইম (স্ট্রিমিং) ইভেন্ট ডেটা (উদাহরণস্বরূপ, ইভেন্টে ক্লিক করুন) এর টাইম উইন্ডোর মানগুলিকে একত্রিত করার উপর ভিত্তি করে এই বৈশিষ্ট্যগুলি গণনা করতে পারে। রূপান্তরের গ্রানুলারিটির পূর্ববর্তী আলোচনায়, এটিকে "প্রশিক্ষণের সময় ঐতিহাসিক সমষ্টি, কিন্তু ভবিষ্যদ্বাণীর সময় বাস্তব-সময়ের সমষ্টি" হিসাবে উল্লেখ করা হয়েছিল।

নীচের চিত্র, চিত্র 3, কাছাকাছি রিয়েল-টাইম ভবিষ্যদ্বাণীগুলির জন্য স্ট্রিম ডেটা প্রক্রিয়াকরণে ডেটাফ্লো-এর ভূমিকা দেখায়৷

ভবিষ্যদ্বাণীর জন্য স্ট্রিম ডেটা ব্যবহার করার জন্য আর্কিটেকচার।
চিত্র 3. ডেটাফ্লোতে পূর্বাভাসের জন্য স্ট্রিম ডেটা ব্যবহার করে উচ্চ-স্তরের আর্কিটেকচার।

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

একই Apache Beam বাস্তবায়ন ব্যাচ-প্রসেস প্রশিক্ষণ ডেটাতে ব্যবহার করা যেতে পারে যা BigQuery এর মতো অফলাইন ডেটাস্টোর থেকে আসে এবং অনলাইন ভবিষ্যদ্বাণী পরিবেশনের জন্য স্ট্রিম-প্রসেস রিয়েল-টাইম ডেটা।

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

প্রয়োজনীয় পরিসংখ্যান স্কেলে গণনা করে পূর্ণ-পাস রূপান্তর সম্পাদন করতে ডেটাফ্লো ব্যবহার করা যেতে পারে। যাইহোক, এই পরিসংখ্যানগুলি ভবিষ্যদ্বাণী ডেটা পয়েন্টগুলিকে রূপান্তর করার জন্য ভবিষ্যদ্বাণীর সময় ব্যবহার করার জন্য কোথাও সংরক্ষণ করা দরকার। TensorFlow Transform ( tf.Transform ) লাইব্রেরি ব্যবহার করে, আপনি এই পরিসংখ্যানগুলিকে অন্য কোথাও সংরক্ষণ করার পরিবর্তে মডেলটিতে সরাসরি এম্বেড করতে পারেন। এই পদ্ধতিটি tf.Transform কিভাবে কাজ করে তা পরে ব্যাখ্যা করা হয়েছে।

বিকল্প সি: টেনসরফ্লো

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

  • input_fn ফাংশনে এবং serving_fn ফাংশনে ইনস্ট্যান্স-লেভেল ট্রান্সফরমেশন লজিক প্রয়োগ করা। input_fn ফাংশন একটি মডেল প্রশিক্ষণের জন্য tf.data.Dataset API ব্যবহার করে একটি ডেটাসেট প্রস্তুত করে। serving_fn ফাংশন ভবিষ্যদ্বাণীর জন্য ডেটা গ্রহণ করে এবং প্রস্তুত করে।
  • কেরাস প্রিপ্রসেসিং লেয়ার ব্যবহার করে বা কাস্টম লেয়ার তৈরি করে ট্রান্সফর্মেশন কোড সরাসরি আপনার টেনসরফ্লো মডেলে রাখুন।

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

যাইহোক, যেহেতু টেনসরফ্লো মডেল প্রতিটি ডেটা পয়েন্ট স্বাধীনভাবে বা একটি ছোট ব্যাচে প্রক্রিয়া করে, আপনি সমস্ত ডেটা পয়েন্ট থেকে একত্রিতকরণ গণনা করতে পারবেন না। ফলস্বরূপ, আপনার টেনসরফ্লো মডেলে পূর্ণ-পাস রূপান্তরগুলি প্রয়োগ করা যাবে না।

প্রিপ্রসেসিং চ্যালেঞ্জ

ডেটা প্রিপ্রসেসিং বাস্তবায়নের প্রাথমিক চ্যালেঞ্জগুলি নিম্নরূপ:

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

    যদি রূপান্তরগুলি নিজেই মডেলের অংশ হয়ে যায়, তাহলে উদাহরণ-স্তরের রূপান্তরগুলি পরিচালনা করা সহজ হতে পারে, যেমনটি পূর্বে বিকল্প C: TensorFlow- এ বর্ণিত হয়েছে। সেই ক্ষেত্রে, মডেল সার্ভিং ইন্টারফেস ( serving_fn ফাংশন) কাঁচা ডেটা আশা করে, যখন মডেলটি আউটপুট গণনা করার আগে এই ডেটাটিকে অভ্যন্তরীণভাবে রূপান্তর করে। রূপান্তরগুলি কাঁচা প্রশিক্ষণ এবং ভবিষ্যদ্বাণী ডেটা পয়েন্টগুলিতে প্রয়োগ করাগুলির মতোই৷

  • পূর্ণ-পাস রূপান্তর । আপনি আপনার টেনসরফ্লো মডেলে স্কেলিং এবং স্বাভাবিকীকরণ রূপান্তরের মতো ফুল-পাস রূপান্তরগুলি বাস্তবায়ন করতে পারবেন না। ফুল-পাস ট্রান্সফরমেশনে, কিছু পরিসংখ্যান (উদাহরণস্বরূপ, সাংখ্যিক বৈশিষ্ট্য স্কেল করার জন্য max এবং min মান) অবশ্যই প্রশিক্ষণের ডেটাতে আগে থেকে গণনা করা উচিত, যেমনটি বিকল্প B: ডেটাফ্লোতে বর্ণিত হয়েছে। নতুন কাঁচা ডেটা পয়েন্টগুলিকে ইনস্ট্যান্স-লেভেল ট্রান্সফর্মেশন হিসাবে রূপান্তর করার জন্য ভবিষ্যদ্বাণীর জন্য মডেল পরিবেশনের সময় ব্যবহার করার জন্য মানগুলিকে কোথাও সংরক্ষণ করতে হবে, যা প্রশিক্ষণ-সার্ভিং স্কু এড়িয়ে যায়। আপনার TensorFlow মডেলে পরিসংখ্যান সরাসরি এম্বেড করতে আপনি TensorFlow Transform ( tf.Transform ) লাইব্রেরি ব্যবহার করতে পারেন। এই পদ্ধতিটি tf.Transform কিভাবে কাজ করে তা পরে ব্যাখ্যা করা হয়েছে।

  • আরও ভাল প্রশিক্ষণ দক্ষতার জন্য সামনে ডেটা প্রস্তুত করা । মডেলের অংশ হিসাবে দৃষ্টান্ত-স্তরের রূপান্তরগুলি বাস্তবায়ন করা প্রশিক্ষণ প্রক্রিয়ার দক্ষতা হ্রাস করতে পারে। এই অবনতি ঘটে কারণ একই রূপান্তরগুলি প্রতিটি যুগে একই প্রশিক্ষণ ডেটাতে বারবার প্রয়োগ করা হয়। কল্পনা করুন যে আপনার কাছে 1,000টি বৈশিষ্ট্য সহ অশোধিত প্রশিক্ষণ ডেটা রয়েছে এবং আপনি 10,000টি বৈশিষ্ট্য তৈরি করতে উদাহরণ-স্তরের রূপান্তরের মিশ্রণ প্রয়োগ করেন৷ আপনি যদি এই রূপান্তরগুলিকে আপনার মডেলের অংশ হিসাবে প্রয়োগ করেন, এবং আপনি যদি মডেলটিকে কাঁচা প্রশিক্ষণের ডেটা খাওয়ান, এই 10,000টি অপারেশন প্রতিটি উদাহরণে N বার প্রয়োগ করা হয়, যেখানে N হল যুগের সংখ্যা। উপরন্তু, আপনি যদি এক্সিলারেটর (GPUs বা TPUs) ব্যবহার করেন, CPU সেই রূপান্তরগুলি সম্পাদন করার সময় তারা নিষ্ক্রিয় থাকে, যা আপনার ব্যয়বহুল এক্সিলারেটরগুলির একটি দক্ষ ব্যবহার নয়।

    আদর্শভাবে, বিকল্প B: ডেটাফ্লো-এর অধীনে বর্ণিত কৌশলটি ব্যবহার করে প্রশিক্ষণের আগে প্রশিক্ষণের ডেটা রূপান্তরিত হয়, যেখানে প্রতিটি প্রশিক্ষণের উদাহরণে 10,000 রূপান্তর ক্রিয়াকলাপ শুধুমাত্র একবার প্রয়োগ করা হয়। রূপান্তরিত প্রশিক্ষণ ডেটা মডেলে উপস্থাপন করা হয়। আর কোন রূপান্তর প্রয়োগ করা হয় না, এবং ত্বরণকারীরা সব সময় ব্যস্ত থাকে। উপরন্তু, Dataflow ব্যবহার করা আপনাকে সম্পূর্ণরূপে পরিচালিত পরিষেবা ব্যবহার করে স্কেলে প্রচুর পরিমাণে ডেটা প্রিপ্রসেস করতে সাহায্য করে।

    প্রশিক্ষণের তথ্য সামনের দিকে প্রস্তুত করা প্রশিক্ষণের দক্ষতা উন্নত করতে পারে। যাইহোক, মডেলের বাইরে রূপান্তর যুক্তি প্রয়োগ করা ( বিকল্প A: BigQuery বা বিকল্প B: Dataflow ) তে বর্ণিত পদ্ধতিগুলি প্রশিক্ষণ-সার্ভিং স্কুয়ের সমস্যার সমাধান করে না। আপনি প্রশিক্ষণ এবং ভবিষ্যদ্বাণী উভয়ের জন্য ব্যবহার করার জন্য ফিচার স্টোরে ইঞ্জিনিয়ারড বৈশিষ্ট্য সংরক্ষণ না করলে, ভবিষ্যদ্বাণীর জন্য আসা নতুন ডেটা পয়েন্টগুলিতে প্রয়োগ করার জন্য রূপান্তর যুক্তি অবশ্যই প্রয়োগ করা উচিত, কারণ মডেল ইন্টারফেস রূপান্তরিত ডেটা আশা করে। TensorFlow Transform ( tf.Transform ) লাইব্রেরি আপনাকে এই সমস্যাটির সমাধান করতে সাহায্য করতে পারে, যেমনটি নিম্নলিখিত বিভাগে বর্ণিত হয়েছে।

কিভাবে tf.Transform কাজ করে

tf.Transform লাইব্রেরি এমন রূপান্তরগুলির জন্য দরকারী যেগুলির জন্য একটি সম্পূর্ণ পাস প্রয়োজন৷ tf.Transform লাইব্রেরির আউটপুট একটি TensorFlow গ্রাফ হিসাবে রপ্তানি করা হয় যা ইনস্ট্যান্স-লেভেল ট্রান্সফরমেশন লজিক এবং পূর্ণ-পাস ট্রান্সফরমেশন থেকে গণনা করা পরিসংখ্যানকে প্রতিনিধিত্ব করে, প্রশিক্ষণ এবং পরিবেশনের জন্য ব্যবহার করা হবে। প্রশিক্ষণ এবং পরিবেশন উভয়ের জন্য একই গ্রাফ ব্যবহার করা তির্যক প্রতিরোধ করতে পারে, কারণ উভয় পর্যায়ে একই রূপান্তর প্রয়োগ করা হয়। এছাড়াও, tf.Transform লাইব্রেরি ডাটাফ্লোতে একটি ব্যাচ প্রসেসিং পাইপলাইনে স্কেলে চলতে পারে যাতে প্রশিক্ষণের ডেটা সামনের দিকে প্রস্তুত করা যায় এবং প্রশিক্ষণের দক্ষতা উন্নত করা যায়।

নিচের চিত্র, চিত্র 4, দেখায় কিভাবে tf.Transform লাইব্রেরি প্রিপ্রসেস করে এবং প্রশিক্ষণ এবং ভবিষ্যদ্বাণীর জন্য ডেটা রূপান্তর করে। প্রক্রিয়াটি নিম্নলিখিত বিভাগে বর্ণিত হয়েছে।

ডায়াগ্রাম অশোধিত ডেটা থেকে tf এর মাধ্যমে প্রবাহ দেখাচ্ছে। ভবিষ্যদ্বাণীতে রূপান্তর করছে।
চিত্র 4. ডেটা প্রিপ্রসেসিং এবং ট্রান্সফর্ম করার জন্য tf.Transform এর আচরণ।

প্রশিক্ষণ এবং মূল্যায়ন তথ্য রূপান্তর

আপনি tf.Transform Apache Beam API-এ বাস্তবায়িত রূপান্তর ব্যবহার করে কাঁচা প্রশিক্ষণ ডেটা প্রিপ্রসেস করেন এবং ডেটাফ্লোতে স্কেলে চালান। প্রিপ্রসেসিং নিম্নলিখিত পর্যায়ে ঘটে:

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

এই ধরনের একটি দ্বি-পর্যায়ের পদ্ধতি পূর্ণ-পাস রূপান্তরগুলি সম্পাদন করার পূর্বপ্রসেসিং চ্যালেঞ্জকে সম্বোধন করে।

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

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

রফতানি মডেলটিতে রূপান্তর সংযুক্ত করুন

যেমনটি উল্লেখ করা হয়েছে, tf.Transform পাইপলাইন দ্বারা উত্পাদিত transform_fn গ্রাফটি রফতানি টেনসরফ্লো গ্রাফ হিসাবে সংরক্ষণ করা হয়। রফতানি করা গ্রাফটি উদাহরণ-স্তরের ক্রিয়াকলাপ হিসাবে রূপান্তর যুক্তি এবং গ্রাফের ধ্রুবক হিসাবে পূর্ণ-পাস রূপান্তরগুলিতে গণনা করা সমস্ত পরিসংখ্যান নিয়ে গঠিত। যখন প্রশিক্ষিত মডেলটি পরিবেশন করার জন্য রফতানি করা হয়, তখন transform_fn গ্রাফটি তার serving_fn ফাংশনের অংশ হিসাবে সেভডমোডেলের সাথে সংযুক্ত থাকে।

এটি পূর্বাভাসের জন্য মডেলটি পরিবেশন করার সময়, মডেল পরিবেশনকারী ইন্টারফেসটি কাঁচা ফর্ম্যাটে ডেটা পয়েন্টগুলি প্রত্যাশা করে (এটি কোনও রূপান্তর করার আগে)। তবে মডেল অভ্যন্তরীণ ইন্টারফেসটি রূপান্তরিত ফর্ম্যাটে ডেটা প্রত্যাশা করে।

transform_fn গ্রাফ, যা এখন মডেলের অংশ, আগত ডেটা পয়েন্টে সমস্ত প্রিপ্রোসেসিং লজিক প্রয়োগ করে। এটি পূর্বাভাসের সময় উদাহরণ-স্তরের অপারেশনে সঞ্চিত ধ্রুবকগুলি (যেমন μ এবং σ এর মতো সংখ্যার বৈশিষ্ট্যগুলি স্বাভাবিক করতে) ব্যবহার করে। অতএব, transform_fn গ্রাফ কাঁচা ডেটা পয়েন্টকে রূপান্তরিত ফর্ম্যাটে রূপান্তর করে। চিত্র 4 -এ দেখানো হয়েছে, রূপান্তরিত ফর্ম্যাটটি মডেল অভ্যন্তরীণ ইন্টারফেসের দ্বারা প্রত্যাশিত যা চিত্র 4 -এ দেখানো হয়েছে।

এই প্রক্রিয়াটি প্রশিক্ষণ-সরবরাহকারী স্কিউয়ের প্রিপ্রোসেসিং চ্যালেঞ্জটি সমাধান করে, কারণ প্রশিক্ষণ এবং মূল্যায়ন ডেটা রূপান্তর করতে ব্যবহৃত একই যুক্তি (বাস্তবায়ন) পূর্বাভাস পরিবেশন করার সময় নতুন ডেটা পয়েন্টগুলিকে রূপান্তর করতে প্রয়োগ করা হয়।

প্রিপ্রোসেসিং বিকল্পের সংক্ষিপ্তসার

নিম্নলিখিত টেবিলটি এই নথিটি নিয়ে আলোচনা করা ডেটা প্রিপ্রোসেসিং বিকল্পগুলির সংক্ষিপ্তসার জানায়। টেবিলে, "এন/এ" এর অর্থ "প্রযোজ্য নয়"।

ডেটা প্রিপ্রোসেসিং বিকল্প উদাহরণ-স্তর
(রাষ্ট্রবিহীন রূপান্তর)

প্রশিক্ষণের সময় পূর্ণ-পাস এবং পরিবেশন করার সময় উদাহরণ-স্তরের (রাষ্ট্রীয় রূপান্তর)

প্রশিক্ষণ এবং পরিবেশনার সময় রিয়েল-টাইম (উইন্ডো) সমষ্টি (স্ট্রিমিং ট্রান্সফর্মেশনস)

বিগকুয়ারি (এসকিউএল)

ব্যাচ স্কোরিং: ঠিক আছে - প্রশিক্ষণ এবং ব্যাচের স্কোরিংয়ের সময় ডেটাগুলিতে একই রূপান্তর বাস্তবায়ন প্রয়োগ করা হয়।

অনলাইন ভবিষ্যদ্বাণী: প্রস্তাবিত নয় -আপনি প্রশিক্ষণের ডেটা প্রক্রিয়া করতে পারেন, তবে এটি প্রশিক্ষণ-সরবরাহকারী স্কিউয়ের ফলস্বরূপ কারণ আপনি বিভিন্ন সরঞ্জাম ব্যবহার করে ডেটা পরিবেশন করার প্রক্রিয়া করেন।

ব্যাচ স্কোরিং: প্রস্তাবিত নয়

অনলাইন ভবিষ্যদ্বাণী: প্রস্তাবিত নয়

যদিও আপনি উদাহরণস্বরূপ-স্তরের ব্যাচ/অনলাইন ট্রান্সফর্মেশনগুলির জন্য বিগকোয়ারি ব্যবহার করে গণনা করা পরিসংখ্যান ব্যবহার করতে পারেন তবে এটি সহজ নয় কারণ আপনাকে প্রশিক্ষণের সময় জনবহুল হিসাবে একটি পরিসংখ্যান স্টোর বজায় রাখতে হবে এবং ভবিষ্যদ্বাণী চলাকালীন ব্যবহার করতে হবে।

ব্যাচের স্কোরিং: এন/এ-এর মতো অ্যাগ্রিগেটগুলি রিয়েল-টাইম ইভেন্টগুলির ভিত্তিতে গণনা করা হয়।

অনলাইন ভবিষ্যদ্বাণী: প্রস্তাবিত নয় -আপনি প্রশিক্ষণের ডেটা প্রক্রিয়া করতে পারেন, তবে এটি প্রশিক্ষণ-সরবরাহকারী স্কিউয়ের ফলস্বরূপ কারণ আপনি বিভিন্ন সরঞ্জাম ব্যবহার করে ডেটা পরিবেশন করার প্রক্রিয়া করেন।

ডেটাফ্লো (অ্যাপাচি মরীচি)

ব্যাচ স্কোরিং: ঠিক আছে - প্রশিক্ষণ এবং ব্যাচের স্কোরিংয়ের সময় ডেটাগুলিতে একই রূপান্তর বাস্তবায়ন প্রয়োগ করা হয়।

অনলাইন ভবিষ্যদ্বাণী: ঠিক আছে - পরিবেশন সময়ে ডেটা ডেটাফ্লো দ্বারা গ্রাস করার জন্য পাব/সাব থেকে আসে। অন্যথায়, প্রশিক্ষণ-পরিবেশন করা স্কিউ ফলাফল।

ব্যাচ স্কোরিং: প্রস্তাবিত নয়

অনলাইন পূর্বাভাস: প্রস্তাবিত নয়

যদিও আপনি উদাহরণস্বরূপ স্তরের ব্যাচ/অনলাইন ট্রান্সফর্মেশনগুলির জন্য ডেটাফ্লো ব্যবহার করে গণনা করা পরিসংখ্যান ব্যবহার করতে পারেন তবে এটি সহজ নয় কারণ আপনাকে প্রশিক্ষণের সময় জনবহুল হিসাবে একটি পরিসংখ্যান স্টোর বজায় রাখতে হবে এবং ভবিষ্যদ্বাণী চলাকালীন ব্যবহার করতে হবে।

ব্যাচের স্কোরিং: এন/এ-এর মতো অ্যাগ্রিগেটগুলি রিয়েল-টাইম ইভেন্টগুলির ভিত্তিতে গণনা করা হয়।

অনলাইন পূর্বাভাস: ঠিক আছে - একই অ্যাপাচি মরীচি রূপান্তর প্রশিক্ষণ (ব্যাচ) এবং পরিবেশন (স্ট্রিম) এর সময় ডেটাগুলিতে প্রয়োগ করা হয়।

ডেটাফ্লো (অ্যাপাচি বিম + টিএফটি)

ব্যাচ স্কোরিং: ঠিক আছে - প্রশিক্ষণ এবং ব্যাচের স্কোরিংয়ের সময় ডেটাগুলিতে একই রূপান্তর বাস্তবায়ন প্রয়োগ করা হয়।

অনলাইন ভবিষ্যদ্বাণী: প্রস্তাবিত -এটি প্রশিক্ষণ-সরবরাহকারী স্কিউ এড়ায় এবং সামনের দিকে প্রশিক্ষণের ডেটা প্রস্তুত করে।

ব্যাচ স্কোরিং: প্রস্তাবিত

অনলাইন ভবিষ্যদ্বাণী: প্রস্তাবিত

উভয় ব্যবহার প্রস্তাবিত কারণ ট্রান্সফর্মেশন লজিক এবং প্রশিক্ষণের সময় গণিত পরিসংখ্যানগুলি একটি টেনসরফ্লো গ্রাফ হিসাবে সংরক্ষণ করা হয় যা পরিবেশন করার জন্য রফতানি মডেলের সাথে সংযুক্ত থাকে।

ব্যাচের স্কোরিং: এন/এ-এর মতো অ্যাগ্রিগেটগুলি রিয়েল-টাইম ইভেন্টগুলির ভিত্তিতে গণনা করা হয়।

অনলাইন পূর্বাভাস: ঠিক আছে - একই অ্যাপাচি মরীচি রূপান্তর প্রশিক্ষণ (ব্যাচ) এবং পরিবেশন (স্ট্রিম) এর সময় ডেটাগুলিতে প্রয়োগ করা হয়।

টেনসরফ্লো *
( input_fn এবং serving_fn )

ব্যাচ স্কোরিং: প্রস্তাবিত নয়

অনলাইন ভবিষ্যদ্বাণী: প্রস্তাবিত নয়

উভয় ক্ষেত্রে প্রশিক্ষণের দক্ষতার জন্য, সামনের দিকে প্রশিক্ষণের ডেটা প্রস্তুত করা ভাল।

ব্যাচ স্কোরিং: সম্ভব নয়

অনলাইন ভবিষ্যদ্বাণী: সম্ভব নয়

ব্যাচের স্কোরিং: এন/এ-এর মতো অ্যাগ্রিগেটগুলি রিয়েল-টাইম ইভেন্টগুলির ভিত্তিতে গণনা করা হয়।

অনলাইন ভবিষ্যদ্বাণী: সম্ভব নয়

* টেনসরফ্লো সহ, ক্রসিং, এম্বেডিং এবং ওয়ান-হট এনকোডিংয়ের মতো রূপান্তরগুলি feature_columns কলাম হিসাবে ঘোষণামূলকভাবে সম্পাদন করা উচিত।

এরপর কি