ভূমিকা
TFX হল একটি Google-প্রোডাকশন-স্কেল মেশিন লার্নিং (ML) প্ল্যাটফর্ম যা TensorFlow-এর উপর ভিত্তি করে। এটি আপনার মেশিন লার্নিং সিস্টেমকে সংজ্ঞায়িত, লঞ্চ এবং নিরীক্ষণের জন্য প্রয়োজনীয় সাধারণ উপাদানগুলিকে একীভূত করতে একটি কনফিগারেশন ফ্রেমওয়ার্ক এবং ভাগ করা লাইব্রেরি সরবরাহ করে।
TFX 1.0
আমরা TFX 1.0.0 এর উপলব্ধতা ঘোষণা করতে পেরে আনন্দিত। এটি TFX-এর প্রাথমিক পোস্ট-বিটা রিলিজ, যা স্থিতিশীল পাবলিক API এবং আর্টিফ্যাক্ট প্রদান করে। আপনি নিশ্চিত হতে পারেন যে আপনার ভবিষ্যৎ TFX পাইপলাইনগুলি এই RFC- তে সংজ্ঞায়িত সামঞ্জস্যতার সুযোগের মধ্যে আপগ্রেড করার পরে কাজ করতে থাকবে৷
ইনস্টলেশন
pip install tfx
রাত্রিকালীন প্যাকেজ
TFX Google ক্লাউডে https://pypi-nightly.tensorflow.org- এ রাতের প্যাকেজগুলিও হোস্ট করে। সর্বশেষ রাতের প্যাকেজ ইনস্টল করতে, অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple --pre tfx
এটি TFX-এর প্রধান নির্ভরতা যেমন TensorFlow মডেল বিশ্লেষণ (TFMA), TensorFlow ডেটা ভ্যালিডেশন (TFDV), TensorFlow Transform (TFT), TFX বেসিক শেয়ার্ড লাইব্রেরি (TFX-BSL), ML মেটাডেটা (MLMD) এর জন্য রাতের প্যাকেজগুলি ইনস্টল করবে।
TFX সম্পর্কে
TFX হল একটি উৎপাদন পরিবেশে এমএল ওয়ার্কফ্লো তৈরি ও পরিচালনা করার একটি প্ল্যাটফর্ম। TFX নিম্নলিখিত প্রদান করে:
ML পাইপলাইন নির্মাণের জন্য একটি টুলকিট। TFX পাইপলাইনগুলি আপনাকে বিভিন্ন প্ল্যাটফর্মে আপনার ML ওয়ার্কফ্লো অর্কেস্ট্রেট করতে দেয়, যেমন: Apache Airflow, Apache Beam, এবং Kubeflow Pipelines।
মানক উপাদানগুলির একটি সেট যা আপনি একটি পাইপলাইনের একটি অংশ হিসাবে বা আপনার ML প্রশিক্ষণ স্ক্রিপ্টের একটি অংশ হিসাবে ব্যবহার করতে পারেন৷ TFX স্ট্যান্ডার্ড উপাদানগুলি আপনাকে সহজে একটি ML প্রক্রিয়া তৈরি করতে সাহায্য করার জন্য প্রমাণিত কার্যকারিতা প্রদান করে।
লাইব্রেরি যা অনেক স্ট্যান্ডার্ড উপাদানের জন্য বেস কার্যকারিতা প্রদান করে। আপনার নিজস্ব কাস্টম উপাদানগুলিতে এই কার্যকারিতা যোগ করতে আপনি TFX লাইব্রেরিগুলি ব্যবহার করতে পারেন, বা আলাদাভাবে ব্যবহার করতে পারেন।
TFX হল টেনসরফ্লো-এর উপর ভিত্তি করে একটি Google-প্রোডাকশন-স্কেল মেশিন লার্নিং টুলকিট। এটি আপনার মেশিন লার্নিং সিস্টেমকে সংজ্ঞায়িত, লঞ্চ এবং নিরীক্ষণের জন্য প্রয়োজনীয় সাধারণ উপাদানগুলিকে একীভূত করতে একটি কনফিগারেশন ফ্রেমওয়ার্ক এবং ভাগ করা লাইব্রেরি সরবরাহ করে।
TFX স্ট্যান্ডার্ড উপাদান
একটি TFX পাইপলাইন হল উপাদানগুলির একটি ক্রম যা একটি ML পাইপলাইন বাস্তবায়ন করে যা বিশেষভাবে পরিমাপযোগ্য, উচ্চ-পারফরম্যান্স মেশিন লার্নিং কাজের জন্য ডিজাইন করা হয়েছে। এর মধ্যে রয়েছে মডেলিং, প্রশিক্ষণ, সার্ভিং ইনফারেন্স, এবং অনলাইন, নেটিভ মোবাইল এবং জাভাস্ক্রিপ্ট টার্গেটে স্থাপনার ব্যবস্থাপনা।
একটি TFX পাইপলাইনে সাধারণত নিম্নলিখিত উপাদান থাকে:
ExampleGen হল একটি পাইপলাইনের প্রাথমিক ইনপুট উপাদান যা ইনপুট ডেটাসেটকে ইনজেস্ট করে এবং ঐচ্ছিকভাবে বিভক্ত করে।
StatisticsGen ডেটাসেটের জন্য পরিসংখ্যান গণনা করে।
SchemaGen পরিসংখ্যান পরীক্ষা করে এবং একটি ডেটা স্কিমা তৈরি করে।
ExampleValidator ডেটাসেটে অসঙ্গতি এবং অনুপস্থিত মানগুলি সন্ধান করে।
ট্রান্সফর্ম ডেটাসেটে ফিচার ইঞ্জিনিয়ারিং করে।
প্রশিক্ষক মডেল প্রশিক্ষণ.
টিউনার মডেলের হাইপারপ্যারামিটার টিউন করে।
মূল্যায়নকারী প্রশিক্ষণের ফলাফলের গভীর বিশ্লেষণ করে এবং আপনাকে আপনার রপ্তানিকৃত মডেলগুলিকে যাচাই করতে সাহায্য করে, নিশ্চিত করে যে সেগুলি উৎপাদনে ঠেলে দেওয়ার জন্য "যথেষ্ট ভাল"।
InfraValidator পরিকাঠামো থেকে মডেলটি আসলে পরিবেশনযোগ্য কিনা তা পরীক্ষা করে এবং খারাপ মডেলকে ধাক্কা দেওয়া থেকে বাধা দেয়।
পুশার মডেলটিকে পরিবেশনকারী পরিকাঠামোতে স্থাপন করে।
BulkInferrer লেবেলবিহীন অনুমান অনুরোধ সহ একটি মডেলে ব্যাচ প্রক্রিয়াকরণ করে।
এই চিত্রটি এই উপাদানগুলির মধ্যে ডেটা প্রবাহকে চিত্রিত করে:
TFX লাইব্রেরি
TFX লাইব্রেরি এবং পাইপলাইন উভয় উপাদানই অন্তর্ভুক্ত করে। এই চিত্রটি TFX লাইব্রেরি এবং পাইপলাইন উপাদানগুলির মধ্যে সম্পর্ককে চিত্রিত করে:
TFX বিভিন্ন পাইথন প্যাকেজ প্রদান করে যা লাইব্রেরি যা পাইপলাইন উপাদান তৈরি করতে ব্যবহৃত হয়। আপনি আপনার পাইপলাইনের উপাদানগুলি তৈরি করতে এই লাইব্রেরিগুলি ব্যবহার করবেন যাতে আপনার কোডটি আপনার পাইপলাইনের অনন্য দিকগুলিতে ফোকাস করতে পারে৷
TFX লাইব্রেরি অন্তর্ভুক্ত:
টেনসরফ্লো ডেটা ভ্যালিডেশন (TFDV) হল মেশিন লার্নিং ডেটা বিশ্লেষণ এবং যাচাই করার জন্য একটি লাইব্রেরি। এটি অত্যন্ত মাপযোগ্য এবং TensorFlow এবং TFX এর সাথে ভালভাবে কাজ করার জন্য ডিজাইন করা হয়েছে। TFDV অন্তর্ভুক্ত:
- প্রশিক্ষণ এবং পরীক্ষার ডেটার সারাংশ পরিসংখ্যানের পরিমাপযোগ্য গণনা।
- ডেটা বন্টন এবং পরিসংখ্যানের জন্য একজন দর্শকের সাথে একীকরণ, সেইসাথে ডেটাসেটগুলির জোড়ার দিকগত তুলনা (ফেসেট)।
- প্রয়োজনীয় মান, ব্যাপ্তি এবং শব্দভান্ডারের মতো ডেটা সম্পর্কে প্রত্যাশাগুলি বর্ণনা করতে স্বয়ংক্রিয় ডেটা-স্কিমা তৈরি।
- স্কিমা পরিদর্শন করতে আপনাকে সাহায্য করার জন্য একটি স্কিমা ভিউয়ার৷
- অসঙ্গতি শনাক্ত করতে অসঙ্গতি সনাক্তকরণ, যেমন অনুপস্থিত বৈশিষ্ট্য, সীমার বাইরের মান, বা ভুল বৈশিষ্ট্যের ধরন, কয়েকটি নাম।
- একটি অসামঞ্জস্য দর্শক যাতে আপনি দেখতে পারেন কোন বৈশিষ্ট্যগুলিতে অসামঞ্জস্য রয়েছে এবং সেগুলি সংশোধন করার জন্য আরও শিখতে পারেন৷
টেনসরফ্লো ট্রান্সফর্ম (টিএফটি) হল টেনসরফ্লো সহ ডেটা প্রিপ্রসেস করার জন্য একটি লাইব্রেরি। টেনসরফ্লো ট্রান্সফর্ম সেই ডেটার জন্য উপযোগী যার জন্য পূর্ণ-পাস প্রয়োজন, যেমন:
- গড় এবং মানক বিচ্যুতি দ্বারা একটি ইনপুট মান স্বাভাবিক করুন।
- সমস্ত ইনপুট মানগুলির উপর একটি শব্দভান্ডার তৈরি করে স্ট্রিংগুলিকে পূর্ণসংখ্যাতে রূপান্তর করুন।
- পর্যবেক্ষণ করা ডেটা বিতরণের উপর ভিত্তি করে বালতিতে ফ্লোটগুলিকে পূর্ণসংখ্যাতে রূপান্তর করুন।
টেনসরফ্লো টিএফএক্স-এর সাথে ট্রেনিং মডেলের জন্য ব্যবহার করা হয়। এটি প্রশিক্ষণ ডেটা এবং মডেলিং কোড গ্রহণ করে এবং একটি সংরক্ষিত মডেল ফলাফল তৈরি করে। এটি প্রিপ্রসেসিং ইনপুট ডেটার জন্য টেনসরফ্লো ট্রান্সফর্ম দ্বারা তৈরি একটি বৈশিষ্ট্য ইঞ্জিনিয়ারিং পাইপলাইনকেও সংহত করে।
KerasTuner মডেলের জন্য হাইপারপ্যারামিটার টিউন করার জন্য ব্যবহৃত হয়।
TensorFlow মডেল বিশ্লেষণ (TFMA) হল TensorFlow মডেলের মূল্যায়ন করার জন্য একটি লাইব্রেরি। এটি একটি EvalSavedModel তৈরি করতে TensorFlow এর সাথে ব্যবহার করা হয়, যা এর বিশ্লেষণের ভিত্তি হয়ে ওঠে। এটি ব্যবহারকারীদের তাদের প্রশিক্ষক দ্বারা সংজ্ঞায়িত একই মেট্রিক্স ব্যবহার করে বিতরণ করা পদ্ধতিতে প্রচুর পরিমাণে ডেটার উপর তাদের মডেলগুলি মূল্যায়ন করতে দেয়। এই মেট্রিক্সগুলি ডেটার বিভিন্ন স্লাইস দিয়ে গণনা করা যেতে পারে এবং জুপিটার নোটবুকে ভিজ্যুয়ালাইজ করা যেতে পারে।
TensorFlow মেটাডেটা (TFMD) মেটাডেটার জন্য মানক উপস্থাপনা প্রদান করে যা TensorFlow এর সাথে মেশিন লার্নিং মডেল প্রশিক্ষণের সময় উপযোগী। ইনপুট ডেটা বিশ্লেষণের সময় মেটাডেটা হাতে বা স্বয়ংক্রিয়ভাবে উত্পাদিত হতে পারে এবং ডেটা যাচাইকরণ, অনুসন্ধান এবং রূপান্তরের জন্য ব্যবহার করা যেতে পারে। মেটাডেটা সিরিয়ালাইজেশন ফরম্যাট অন্তর্ভুক্ত:
- ট্যাবুলার ডেটা বর্ণনাকারী একটি স্কিমা (যেমন, tf. উদাহরণ)।
- এই ধরনের ডেটাসেটের উপর সংক্ষিপ্ত পরিসংখ্যানের একটি সংগ্রহ।
এমএল মেটাডেটা (এমএলএমডি) হল এমএল ডেভেলপার এবং ডেটা সায়েন্টিস্ট ওয়ার্কফ্লোগুলির সাথে যুক্ত মেটাডেটা রেকর্ডিং এবং পুনরুদ্ধারের জন্য একটি লাইব্রেরি। প্রায়শই মেটাডেটা TFMD উপস্থাপনা ব্যবহার করে। MLMD SQL-Lite , MySQL , এবং অন্যান্য অনুরূপ ডেটা স্টোর ব্যবহার করে অধ্যবসায় পরিচালনা করে।
সাপোর্টিং টেকনোলজিস
প্রয়োজন
- Apache Beam হল একটি ওপেন সোর্স, ব্যাচ এবং স্ট্রিমিং ডেটা-সমান্তরাল প্রসেসিং পাইপলাইন উভয়কে সংজ্ঞায়িত করার জন্য ইউনিফাইড মডেল। TFX ডেটা-সমান্তরাল পাইপলাইন বাস্তবায়নের জন্য Apache Beam ব্যবহার করে। পাইপলাইনটি তখন বীমের সমর্থিত বিতরণকৃত প্রসেসিং ব্যাক-এন্ডগুলির মধ্যে একটি দ্বারা সঞ্চালিত হয়, যার মধ্যে রয়েছে Apache Flink, Apache Spark, Google Cloud Dataflow এবং অন্যান্য।
ঐচ্ছিক
Apache Airflow এবং Kubeflow-এর মতো অর্কেস্ট্রেটররা একটি ML পাইপলাইন কনফিগার, পরিচালনা, পর্যবেক্ষণ এবং রক্ষণাবেক্ষণকে সহজ করে তোলে।
অ্যাপাচি এয়ারফ্লো হল প্রোগ্রাম্যাটিকভাবে লেখক, সময়সূচী এবং কর্মপ্রবাহ নিরীক্ষণ করার একটি প্ল্যাটফর্ম। TFX কার্যের নির্দেশিত অ্যাসাইক্লিক গ্রাফ (DAGs) হিসাবে লেখক ওয়ার্কফ্লোতে এয়ারফ্লো ব্যবহার করে। এয়ারফ্লো শিডিয়ুলার নির্দিষ্ট নির্ভরতা অনুসরণ করার সময় কর্মীদের একটি অ্যারের উপর কার্য সম্পাদন করে। রিচ কমান্ড লাইন ইউটিলিটিগুলি ডিএজি-তে জটিল অস্ত্রোপচার করাকে স্ন্যাপ করে তোলে। সমৃদ্ধ ইউজার ইন্টারফেস উত্পাদনে চলমান পাইপলাইনগুলিকে কল্পনা করা, অগ্রগতি নিরীক্ষণ করা এবং প্রয়োজনে সমস্যা সমাধান করা সহজ করে তোলে। যখন ওয়ার্কফ্লোগুলিকে কোড হিসাবে সংজ্ঞায়িত করা হয়, তখন তারা আরও রক্ষণাবেক্ষণযোগ্য, সংস্করণযোগ্য, পরীক্ষাযোগ্য এবং সহযোগী হয়ে ওঠে।
Kubernetes-এ সহজ, বহনযোগ্য এবং মাপযোগ্য মেশিন লার্নিং (ML) কর্মপ্রবাহের স্থাপনার জন্য Kubeflow নিবেদিত। Kubeflow এর লক্ষ্য অন্যান্য পরিষেবাগুলি পুনরায় তৈরি করা নয়, বরং বিভিন্ন পরিকাঠামোতে ML-এর জন্য সেরা-প্রজাতির ওপেন-সোর্স সিস্টেমগুলি স্থাপন করার জন্য একটি সহজ উপায় প্রদান করা। কুবেফ্লো পাইপলাইনগুলি কুবেফ্লোতে পুনরুত্পাদনযোগ্য ওয়ার্কফ্লোগুলির রচনা এবং সম্পাদন করতে সক্ষম করে, পরীক্ষা-নিরীক্ষা এবং নোটবুক ভিত্তিক অভিজ্ঞতার সাথে সমন্বিত। Kubernetes-এর Kubeflow Pipelines পরিষেবাগুলির মধ্যে রয়েছে হোস্ট করা মেটাডেটা স্টোর, কন্টেইনার ভিত্তিক অর্কেস্ট্রেশন ইঞ্জিন, নোটবুক সার্ভার এবং UI যাতে ব্যবহারকারীদের স্কেলে জটিল ML পাইপলাইনগুলি বিকাশ, চালানো এবং পরিচালনা করতে সহায়তা করে৷ কুবেফ্লো পাইপলাইন SDK প্রোগ্রামগতভাবে পাইপলাইনগুলির উপাদানগুলি তৈরি এবং ভাগ করে নেওয়ার অনুমতি দেয়।
পোর্টেবিলিটি এবং ইন্টারঅপারেবিলিটি
TFX কে Apache Airflow , Apache Beam এবং Kubeflow সহ একাধিক পরিবেশ এবং অর্কেস্ট্রেশন ফ্রেমওয়ার্কগুলিতে বহনযোগ্য করার জন্য ডিজাইন করা হয়েছে। এছাড়াও এটি বিভিন্ন কম্পিউটিং প্ল্যাটফর্মে বহনযোগ্য, যার মধ্যে রয়েছে অন-প্রিমিস এবং ক্লাউড প্ল্যাটফর্ম যেমন Google ক্লাউড প্ল্যাটফর্ম (GCP) । বিশেষ করে, TFX সার্রাল পরিচালিত GCP পরিষেবাগুলির সাথে ইন্টারঅপারেটিং করে, যেমন প্রশিক্ষণ এবং পূর্বাভাসের জন্য ক্লাউড এআই প্ল্যাটফর্ম এবং ML জীবনচক্রের অন্যান্য বিভিন্ন দিকগুলির জন্য বিতরণ করা ডেটা প্রক্রিয়াকরণের জন্য ক্লাউড ডেটাফ্লো ।
মডেল বনাম সংরক্ষিত মডেল
মডেল
একটি মডেল হল প্রশিক্ষণ প্রক্রিয়ার আউটপুট। এটি প্রশিক্ষণ প্রক্রিয়ার সময় শেখা ওজনের ক্রমিক রেকর্ড। এই ওজনগুলি পরবর্তীতে নতুন ইনপুট উদাহরণগুলির জন্য ভবিষ্যদ্বাণী গণনা করতে ব্যবহার করা যেতে পারে। TFX এবং TensorFlow-এর জন্য, 'মডেল' সেই বিন্দু পর্যন্ত শেখা ওজন ধারণকারী চেকপয়েন্টকে বোঝায়।
মনে রাখবেন যে 'মডেল' টেনসরফ্লো কম্পিউটেশন গ্রাফের (যেমন একটি পাইথন ফাইল) সংজ্ঞাকেও উল্লেখ করতে পারে যা প্রকাশ করে যে কীভাবে একটি ভবিষ্যদ্বাণী গণনা করা হবে। দুটি ইন্দ্রিয় প্রসঙ্গের উপর ভিত্তি করে বিনিময়যোগ্যভাবে ব্যবহার করা যেতে পারে।
সংরক্ষিত মডেল
- একটি সংরক্ষিত মডেল কি : একটি সার্বজনীন, ভাষা-নিরপেক্ষ, হারমেটিক, একটি টেনসরফ্লো মডেলের পুনরুদ্ধারযোগ্য সিরিয়ালাইজেশন।
- কেন এটি গুরুত্বপূর্ণ : এটি উচ্চ-স্তরের সিস্টেমগুলিকে একটি একক বিমূর্ততা ব্যবহার করে টেনসরফ্লো মডেলগুলি তৈরি করতে, রূপান্তর করতে এবং ব্যবহার করতে সক্ষম করে।
SavedModel হল একটি TensorFlow মডেল উৎপাদনে পরিবেশন করার জন্য বা একটি নেটিভ মোবাইল বা জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনের জন্য প্রশিক্ষিত মডেল রপ্তানির জন্য প্রস্তাবিত সিরিয়ালাইজেশন ফর্ম্যাট৷ উদাহরণস্বরূপ, ভবিষ্যদ্বাণী করার জন্য একটি মডেলকে একটি REST পরিষেবাতে রূপান্তর করতে, আপনি মডেলটিকে একটি সংরক্ষিত মডেল হিসাবে সিরিয়ালাইজ করতে পারেন এবং টেনসরফ্লো সার্ভিং ব্যবহার করে এটি পরিবেশন করতে পারেন৷ আরও তথ্যের জন্য টেনসরফ্লো মডেল পরিবেশন করা দেখুন।
স্কিমা
কিছু TFX উপাদান আপনার ইনপুট ডেটার একটি বিবরণ ব্যবহার করে যাকে স্কিমা বলা হয়। স্কিমা হল schema.proto- এর একটি উদাহরণ। স্কিমা হল এক ধরনের প্রোটোকল বাফার , যা সাধারণত "প্রোটোবাফ" নামে পরিচিত। স্কিমা বৈশিষ্ট্য মানগুলির জন্য ডেটা প্রকারগুলি নির্দিষ্ট করতে পারে, সমস্ত উদাহরণে একটি বৈশিষ্ট্য উপস্থিত থাকতে হবে কিনা, অনুমোদিত মান ব্যাপ্তি এবং অন্যান্য বৈশিষ্ট্য। টেনসরফ্লো ডেটা ভ্যালিডেশন (TFDV) ব্যবহারের একটি সুবিধা হল যে এটি প্রশিক্ষণের ডেটা থেকে ধরন, বিভাগ এবং রেঞ্জ অনুমান করে স্বয়ংক্রিয়ভাবে একটি স্কিমা তৈরি করবে।
এখানে একটি স্কিমা প্রোটোবুফ থেকে একটি উদ্ধৃতি রয়েছে:
...
feature {
name: "age"
value_count {
min: 1
max: 1
}
type: FLOAT
presence {
min_fraction: 1
min_count: 1
}
}
feature {
name: "capital-gain"
value_count {
min: 1
max: 1
}
type: FLOAT
presence {
min_fraction: 1
min_count: 1
}
}
...
নিম্নলিখিত উপাদানগুলি স্কিমা ব্যবহার করে:
- টেনসরফ্লো ডেটা যাচাইকরণ
- টেনসরফ্লো ট্রান্সফর্ম
একটি সাধারণ TFX পাইপলাইনে টেনসরফ্লো ডেটা যাচাইকরণ একটি স্কিমা তৈরি করে, যা অন্যান্য উপাদানগুলি ব্যবহার করে।
TFX এর সাথে বিকাশ করা হচ্ছে
TFX আপনার স্থানীয় মেশিনে গবেষণা, পরীক্ষা-নিরীক্ষা এবং উন্নয়ন থেকে শুরু করে মেশিন লার্নিং প্রকল্পের প্রতিটি পর্যায়ের জন্য একটি শক্তিশালী প্ল্যাটফর্ম সরবরাহ করে। কোড ডুপ্লিকেশন এড়াতে এবং ট্রেনিং/সার্ভিং স্কুয়ের সম্ভাব্যতা দূর করার জন্য মডেল প্রশিক্ষণ এবং প্রশিক্ষিত মডেলের স্থাপনার জন্য আপনার TFX পাইপলাইন প্রয়োগ করার জন্য এবং প্রশিক্ষণ এবং অনুমান উভয়ের জন্য টেনসরফ্লো ট্রান্সফর্ম লাইব্রেরি ব্যবহার করে ট্রান্সফর্ম উপাদানগুলি ব্যবহার করার জন্য দৃঢ়ভাবে সুপারিশ করা হয়। এটি করার মাধ্যমে আপনি ধারাবাহিকভাবে একই প্রিপ্রসেসিং এবং বিশ্লেষণ কোড ব্যবহার করবেন এবং প্রশিক্ষণের জন্য ব্যবহৃত ডেটা এবং উত্পাদনে আপনার প্রশিক্ষিত মডেলগুলিতে খাওয়ানো ডেটার মধ্যে পার্থক্য এড়াবেন, সেইসাথে একবার সেই কোডটি লেখার মাধ্যমে উপকৃত হবেন।
ডেটা এক্সপ্লোরেশন, ভিজ্যুয়ালাইজেশন এবং ক্লিনিং
TFX পাইপলাইনগুলি সাধারণত একটি ExampleGen উপাদান দিয়ে শুরু হয়, যা ইনপুট ডেটা গ্রহণ করে এবং এটিকে tf.Examples হিসাবে ফর্ম্যাট করে। প্রায়শই এটি প্রশিক্ষণ এবং মূল্যায়ন ডেটাসেটগুলিতে ডেটা বিভক্ত হওয়ার পরে করা হয় যাতে প্রকৃতপক্ষে ExampleGen উপাদানগুলির দুটি কপি থাকে, প্রতিটি প্রশিক্ষণ এবং মূল্যায়নের জন্য। এটি সাধারণত একটি StatisticsGen উপাদান এবং একটি SchemaGen উপাদান দ্বারা অনুসরণ করা হয়, যা আপনার ডেটা পরীক্ষা করবে এবং একটি ডেটা স্কিমা এবং পরিসংখ্যান অনুমান করবে৷ স্কিমা এবং পরিসংখ্যানগুলি একটি ExampleValidator উপাদান দ্বারা গ্রাস করা হবে, যা আপনার ডেটাতে অসঙ্গতি, অনুপস্থিত মান এবং ভুল ডেটা প্রকারগুলি সন্ধান করবে৷ এই সমস্ত উপাদানগুলি TensorFlow ডেটা যাচাইকরণ লাইব্রেরির ক্ষমতাগুলিকে কাজে লাগায়৷
আপনার ডেটাসেটের প্রাথমিক অনুসন্ধান, ভিজ্যুয়ালাইজেশন এবং পরিষ্কার করার সময় টেনসরফ্লো ডেটা ভ্যালিডেশন (TFDV) হল একটি মূল্যবান টুল। TFDV আপনার ডেটা পরীক্ষা করে এবং ডেটার ধরন, বিভাগ এবং ব্যাপ্তি অনুমান করে এবং তারপর স্বয়ংক্রিয়ভাবে অসামঞ্জস্যতা এবং অনুপস্থিত মান সনাক্ত করতে সাহায্য করে। এটি ভিজ্যুয়ালাইজেশন টুলও প্রদান করে যা আপনাকে আপনার ডেটাসেট পরীক্ষা করতে এবং বুঝতে সাহায্য করতে পারে। আপনার পাইপলাইন সম্পূর্ণ হওয়ার পরে আপনি MLMD থেকে মেটাডেটা পড়তে পারেন এবং আপনার ডেটা বিশ্লেষণ করতে Jupyter নোটবুকে TFDV-এর ভিজ্যুয়ালাইজেশন টুল ব্যবহার করতে পারেন।
আপনার প্রাথমিক মডেল প্রশিক্ষণ এবং স্থাপনার পরে, TFDV আপনার নিয়োজিত মডেলগুলিতে অনুমান অনুরোধ থেকে নতুন ডেটা নিরীক্ষণ করতে এবং অসঙ্গতি এবং/অথবা প্রবাহের সন্ধান করতে ব্যবহার করা যেতে পারে। এটি বিশেষ করে টাইম সিরিজ ডেটার জন্য উপযোগী যা সময়ের সাথে সাথে প্রবণতা বা ঋতুগততার ফলে পরিবর্তিত হয় এবং যখন ডেটা সমস্যা হয় বা কখন মডেলগুলিকে নতুন ডেটাতে পুনরায় প্রশিক্ষণ দেওয়া প্রয়োজন তা জানাতে সাহায্য করতে পারে৷
ডেটা ভিজ্যুয়ালাইজেশন
TFDV (সাধারণত StatisticsGen, SchemaGen, এবং ExampleValidator) ব্যবহার করে আপনার পাইপলাইনের বিভাগের মাধ্যমে আপনি আপনার ডেটার প্রথম রান সম্পূর্ণ করার পরে আপনি Jupyter শৈলীর নোটবুকে ফলাফলগুলি কল্পনা করতে পারেন। অতিরিক্ত রানের জন্য আপনি সামঞ্জস্য করার সাথে সাথে এই ফলাফলগুলি তুলনা করতে পারেন, যতক্ষণ না আপনার ডেটা আপনার মডেল এবং অ্যাপ্লিকেশনের জন্য সর্বোত্তম হয়।
আপনি প্রথমে ML মেটাডেটা (MLMD) জিজ্ঞাসা করবেন এই উপাদানগুলির এই সম্পাদনের ফলাফলগুলি সনাক্ত করতে এবং তারপর আপনার নোটবুকে ভিজ্যুয়ালাইজেশন তৈরি করতে TFDV-তে ভিজ্যুয়ালাইজেশন সমর্থন API ব্যবহার করুন৷ এর মধ্যে রয়েছে tfdv.load_statistics() এবং tfdv.visualize_statistics() এই ভিজ্যুয়ালাইজেশনটি ব্যবহার করে আপনি আপনার ডেটাসেটের বৈশিষ্ট্যগুলি আরও ভালভাবে বুঝতে পারবেন এবং প্রয়োজনে প্রয়োজন অনুসারে পরিবর্তন করতে পারবেন।
উন্নয়ন এবং প্রশিক্ষণ মডেল
একটি সাধারণ TFX পাইপলাইনে একটি ট্রান্সফর্ম কম্পোনেন্ট অন্তর্ভুক্ত থাকবে, যা টেনসরফ্লো ট্রান্সফর্ম (TFT) লাইব্রেরির ক্ষমতাকে কাজে লাগিয়ে ফিচার ইঞ্জিনিয়ারিং করবে। একটি ট্রান্সফর্ম কম্পোনেন্ট একটি স্কিমাজেন উপাদান দ্বারা তৈরি স্কিমা ব্যবহার করে এবং আপনার মডেলকে প্রশিক্ষণ দিতে ব্যবহৃত বৈশিষ্ট্যগুলি তৈরি, একত্রিত এবং রূপান্তর করতে ডেটা রূপান্তর প্রয়োগ করে৷ অনুপস্থিত মানগুলি পরিষ্কার করা এবং প্রকারের রূপান্তরও ট্রান্সফর্ম কম্পোনেন্টে করা উচিত যদি কখনও এমন সম্ভাবনা থাকে যে এটি অনুমান অনুরোধের জন্য পাঠানো ডেটাতেও উপস্থিত থাকবে। TFX-এ প্রশিক্ষণের জন্য TensorFlow কোড ডিজাইন করার সময় কিছু গুরুত্বপূর্ণ বিবেচনা রয়েছে ।
একটি ট্রান্সফর্ম কম্পোনেন্টের ফলাফল হল একটি SavedModel যা আমদানি করা হবে এবং একটি প্রশিক্ষক উপাদান চলাকালীন TensorFlow-এ আপনার মডেলিং কোডে ব্যবহার করা হবে। ট্রান্সফর্ম কম্পোনেন্টে তৈরি করা সমস্ত ডেটা ইঞ্জিনিয়ারিং ট্রান্সফর্মেশন এই সেভডমডেল অন্তর্ভুক্ত করে, যাতে ট্রেনিং এবং ইনফরেন্স উভয় সময়েই একই কোড ব্যবহার করে অভিন্ন রূপান্তরগুলি সঞ্চালিত হয়। ট্রান্সফর্ম কম্পোনেন্ট থেকে SavedModel সহ মডেলিং কোড ব্যবহার করে, আপনি আপনার প্রশিক্ষণ এবং মূল্যায়ন ডেটা ব্যবহার করতে পারেন এবং আপনার মডেলকে প্রশিক্ষণ দিতে পারেন।
এস্টিমেটর ভিত্তিক মডেলগুলির সাথে কাজ করার সময়, আপনার মডেলিং কোডের শেষ বিভাগটি আপনার মডেলটিকে একটি SavedModel এবং একটি EvalSavedModel হিসাবে সংরক্ষণ করা উচিত৷ EvalSavedModel হিসাবে সংরক্ষণ করা নিশ্চিত করে যে প্রশিক্ষণের সময় ব্যবহৃত মেট্রিকগুলি মূল্যায়নের সময়ও উপলব্ধ থাকে (মনে রাখবেন যে এটি কেরাস ভিত্তিক মডেলগুলির জন্য প্রয়োজনীয় নয়)। একটি EvalSavedModel সংরক্ষণ করার জন্য আপনাকে আপনার প্রশিক্ষক উপাদানে TensorFlow মডেল বিশ্লেষণ (TFMA) লাইব্রেরি আমদানি করতে হবে।
import tensorflow_model_analysis as tfma
...
tfma.export.export_eval_savedmodel(
estimator=estimator,
export_dir_base=eval_model_dir,
eval_input_receiver_fn=receiver_fn)
মডেলের জন্য হাইপারপ্যারামিটার (যেমন, স্তরের সংখ্যা) টিউন করার জন্য প্রশিক্ষকের আগে একটি ঐচ্ছিক টিউনার উপাদান যোগ করা যেতে পারে। প্রদত্ত মডেল এবং হাইপারপ্যারামিটারের অনুসন্ধান স্থানের সাথে, টিউনিং অ্যালগরিদম উদ্দেশ্যের উপর ভিত্তি করে সেরা হাইপারপ্যারামিটারগুলি খুঁজে পাবে।
মডেল পারফরম্যান্স বিশ্লেষণ এবং বোঝা
প্রাথমিক মডেল বিকাশ এবং প্রশিক্ষণের পরে আপনার মডেলের কার্যকারিতা বিশ্লেষণ করা এবং সত্যিই বোঝা গুরুত্বপূর্ণ। একটি সাধারণ TFX পাইপলাইনে একটি মূল্যায়নকারী উপাদান অন্তর্ভুক্ত থাকবে, যা টেনসরফ্লো মডেল অ্যানালাইসিস (TFMA) লাইব্রেরির ক্ষমতাকে কাজে লাগায়, যা বিকাশের এই পর্যায়ের জন্য একটি পাওয়ার টুলসেট প্রদান করে। একটি মূল্যায়নকারী উপাদান আপনার উপরে রপ্তানি করা মডেলটি ব্যবহার করে এবং আপনাকে tfma.SlicingSpec
এর একটি তালিকা নির্দিষ্ট করার অনুমতি দেয় যা আপনি আপনার মডেলের কর্মক্ষমতা কল্পনা এবং বিশ্লেষণ করার সময় ব্যবহার করতে পারেন। প্রতিটি SlicingSpec
আপনার প্রশিক্ষণ ডেটার একটি স্লাইস সংজ্ঞায়িত করে যা আপনি পরীক্ষা করতে চান, যেমন শ্রেণীগত বৈশিষ্ট্যগুলির জন্য নির্দিষ্ট বিভাগ, বা সংখ্যাসূচক বৈশিষ্ট্যগুলির জন্য নির্দিষ্ট ব্যাপ্তি।
উদাহরণস্বরূপ, আপনার গ্রাহকদের বিভিন্ন বিভাগের জন্য আপনার মডেলের কর্মক্ষমতা বোঝার চেষ্টা করার জন্য এটি গুরুত্বপূর্ণ হবে, যা বার্ষিক কেনাকাটা, ভৌগলিক ডেটা, বয়স গোষ্ঠী বা লিঙ্গ দ্বারা ভাগ করা যেতে পারে। এটি বিশেষ করে লম্বা লেজ সহ ডেটাসেটের জন্য গুরুত্বপূর্ণ হতে পারে, যেখানে একটি প্রভাবশালী গোষ্ঠীর কর্মক্ষমতা গুরুত্বপূর্ণ, তবুও ছোট গোষ্ঠীগুলির জন্য অগ্রহণযোগ্য কর্মক্ষমতাকে মুখোশ করতে পারে। উদাহরণস্বরূপ, আপনার মডেল গড় কর্মচারীদের জন্য ভাল পারফর্ম করতে পারে কিন্তু নির্বাহী কর্মীদের জন্য খারাপভাবে ব্যর্থ হতে পারে এবং এটি জানা আপনার পক্ষে গুরুত্বপূর্ণ হতে পারে।
মডেল বিশ্লেষণ এবং ভিজ্যুয়ালাইজেশন
আপনি আপনার মডেলকে প্রশিক্ষণের মাধ্যমে আপনার ডেটার প্রথম দৌড় সম্পূর্ণ করার পরে এবং প্রশিক্ষণের ফলাফলগুলিতে মূল্যায়নকারী উপাদান (যা TFMA এর সুবিধা দেয়) চালানোর পরে, আপনি Jupyter শৈলীর নোটবুকে ফলাফলগুলি কল্পনা করতে পারেন। অতিরিক্ত রানের জন্য আপনি সামঞ্জস্য করার সাথে সাথে এই ফলাফলগুলি তুলনা করতে পারেন, যতক্ষণ না আপনার ফলাফল আপনার মডেল এবং অ্যাপ্লিকেশনের জন্য সর্বোত্তম হয়।
আপনি প্রথমে ML মেটাডেটা (MLMD) জিজ্ঞাসা করবেন এই উপাদানগুলির এই সম্পাদনের ফলাফলগুলি সনাক্ত করতে এবং তারপরে আপনার নোটবুকে ভিজ্যুয়ালাইজেশন তৈরি করতে TFMA-তে ভিজ্যুয়ালাইজেশন সমর্থন API ব্যবহার করুন৷ এর মধ্যে রয়েছে tfma.load_eval_results এবং tfma.view.render_slicing_metrics এই ভিজ্যুয়ালাইজেশনটি ব্যবহার করে আপনি আপনার মডেলের বৈশিষ্ট্যগুলি আরও ভালভাবে বুঝতে পারবেন এবং প্রয়োজনে প্রয়োজনে পরিবর্তন করতে পারবেন।
মডেল কর্মক্ষমতা যাচাইকরণ
একটি মডেলের কর্মক্ষমতা বিশ্লেষণের অংশ হিসাবে আপনি একটি বেসলাইনের (যেমন বর্তমানে পরিবেশন করা মডেল) এর বিপরীতে কর্মক্ষমতা যাচাই করতে চাইতে পারেন। মডেলের বৈধতা একটি প্রার্থী এবং বেসলাইন মডেল উভয়ই মূল্যায়নকারী উপাদানে পাস করে সঞ্চালিত হয়। মূল্যায়নকারী প্রার্থী এবং বেসলাইন উভয়ের জন্য মেট্রিক্স (যেমন AUC, ক্ষতি) গণনা করে এবং ভিন্ন মেট্রিক্সের একটি সংশ্লিষ্ট সেটের সাথে। থ্রেশহোল্ডগুলি তারপরে প্রয়োগ করা যেতে পারে এবং আপনার মডেলগুলিকে উত্পাদনে ঠেলে দেওয়ার জন্য ব্যবহার করা যেতে পারে।
একটি মডেল পরিবেশন করা যেতে পারে তা যাচাই করা
প্রশিক্ষিত মডেল স্থাপন করার আগে, আপনি মডেলটি সত্যিই পরিবেশন পরিকাঠামোতে পরিবেশনযোগ্য কিনা তা যাচাই করতে চাইতে পারেন। নতুন প্রকাশিত মডেল যাতে ভবিষ্যদ্বাণী পরিবেশন করতে সিস্টেমটিকে বাধা না দেয় তা নিশ্চিত করার জন্য উত্পাদন পরিবেশে এটি বিশেষভাবে গুরুত্বপূর্ণ। InfraValidator উপাদানটি একটি স্যান্ডবক্সযুক্ত পরিবেশে আপনার মডেলের একটি ক্যানারি স্থাপনা তৈরি করবে এবং ঐচ্ছিকভাবে আপনার মডেল সঠিকভাবে কাজ করে কিনা তা পরীক্ষা করার জন্য প্রকৃত অনুরোধ পাঠাবে।
স্থাপনার লক্ষ্যমাত্রা
একবার আপনি এমন একটি মডেল তৈরি এবং প্রশিক্ষিত করার পরে যা আপনি খুশি, এখন এটি এক বা একাধিক স্থাপনার লক্ষ্য(গুলি) যেখানে এটি অনুমান অনুরোধগুলি পাবে সেখানে স্থাপন করার সময়। TFX তিন শ্রেণীর স্থাপনার লক্ষ্যে স্থাপনা সমর্থন করে। সংরক্ষিত মডেল হিসাবে রপ্তানি করা হয়েছে এমন প্রশিক্ষিত মডেলগুলি এই স্থাপনার লক্ষ্যগুলির যে কোনও বা সমস্তটিতে স্থাপন করা যেতে পারে।
অনুমান: টেনসরফ্লো সার্ভিং
টেনসরফ্লো সার্ভিং (TFS) হল একটি নমনীয়, উচ্চ-কার্যক্ষমতা সম্পন্ন মেশিন লার্নিং মডেলের জন্য, উৎপাদন পরিবেশের জন্য ডিজাইন করা হয়েছে। এটি একটি সংরক্ষিত মডেল ব্যবহার করে এবং REST বা gRPC ইন্টারফেসের উপর অনুমানের অনুরোধ গ্রহণ করবে। এটি এক বা একাধিক নেটওয়ার্ক সার্ভারে প্রক্রিয়াগুলির একটি সেট হিসাবে সঞ্চালিত হয়, সিঙ্ক্রোনাইজেশন এবং বিতরণ করা গণনা পরিচালনা করতে বেশ কয়েকটি উন্নত আর্কিটেকচারের একটি ব্যবহার করে। TFS সমাধানগুলি বিকাশ এবং স্থাপন করার বিষয়ে আরও তথ্যের জন্য TFS ডকুমেন্টেশন দেখুন।
একটি সাধারণ পাইপলাইনে, একটি সংরক্ষিত মডেল যা একটি প্রশিক্ষক উপাদানে প্রশিক্ষিত হয়েছে তা প্রথমে একটি InfraValidator উপাদানে ইনফ্রা-ভ্যালিডেট করা হবে। InfraValidator একটি ক্যানারি TFS মডেল সার্ভার চালু করেছে প্রকৃতপক্ষে SavedModel পরিবেশন করার জন্য। বৈধতা পাস হলে, একটি পুশার উপাদান অবশেষে আপনার TFS পরিকাঠামোতে SavedModel স্থাপন করবে। এর মধ্যে একাধিক সংস্করণ এবং মডেল আপডেটগুলি পরিচালনা করা অন্তর্ভুক্ত।
নেটিভ মোবাইল এবং আইওটি অ্যাপ্লিকেশনে অনুমান: টেনসরফ্লো লাইট
TensorFlow Lite হল টুলের একটি স্যুট যা ডেভেলপারদের তাদের প্রশিক্ষিত TensorFlow মডেলগুলি নেটিভ মোবাইল এবং IoT অ্যাপ্লিকেশনগুলিতে ব্যবহার করতে সাহায্য করার জন্য নিবেদিত৷ এটি টেনসরফ্লো সার্ভিংয়ের মতো একই সেভড মডেলগুলি ব্যবহার করে এবং মোবাইল এবং আইওটি ডিভাইসে চলার চ্যালেঞ্জগুলির জন্য ফলাফলের মডেলগুলির আকার এবং কার্যকারিতা অপ্টিমাইজ করতে কোয়ান্টাইজেশন এবং ছাঁটাইয়ের মতো অপ্টিমাইজেশন প্রয়োগ করে৷ TensorFlow Lite ব্যবহার করার বিষয়ে আরও তথ্যের জন্য TensorFlow Lite ডকুমেন্টেশন দেখুন।
জাভাস্ক্রিপ্টে অনুমান: টেনসরফ্লো জেএস
TensorFlow JS হল একটি জাভাস্ক্রিপ্ট লাইব্রেরি যা ব্রাউজারে এবং Node.js-এ ML মডেল প্রশিক্ষণ ও স্থাপনের জন্য। এটি TensorFlow Serving এবং TensorFlow Lite-এর মতো একই SavedModels ব্যবহার করে এবং সেগুলিকে TensorFlow.js ওয়েব ফর্ম্যাটে রূপান্তর করে। TensorFlow JS ব্যবহার করার বিষয়ে আরো বিস্তারিত জানার জন্য TensorFlow JS ডকুমেন্টেশন দেখুন।
এয়ারফ্লো সহ একটি TFX পাইপলাইন তৈরি করা
বিস্তারিত জানার জন্য বায়ুপ্রবাহ কর্মশালা চেক করুন
Kubeflow দিয়ে একটি TFX পাইপলাইন তৈরি করা
সেটআপ
স্কেল এ পাইপলাইন চালানোর জন্য Kubeflow-এর একটি Kubernetes ক্লাস্টার প্রয়োজন। Kubeflow স্থাপনার নির্দেশিকা দেখুন যা Kubeflow ক্লাস্টার স্থাপনের বিকল্পগুলির মাধ্যমে গাইড করে।
TFX পাইপলাইন কনফিগার করুন এবং চালান
Kubeflow-এ TFX উদাহরণ পাইপলাইন চালানোর জন্য অনুগ্রহ করে ক্লাউড এআই প্ল্যাটফর্ম পাইপলাইন টিউটোরিয়ালের টিএফএক্স অনুসরণ করুন। টিএফএক্স উপাদানগুলি কুবেফ্লো পাইপলাইন রচনা করার জন্য কন্টেইনারাইজ করা হয়েছে এবং নমুনাটি বড় পাবলিক ডেটাসেট পড়ার জন্য পাইপলাইন কনফিগার করার ক্ষমতা এবং ক্লাউডে স্কেলে প্রশিক্ষণ এবং ডেটা প্রক্রিয়াকরণের পদক্ষেপগুলি সম্পাদন করার ক্ষমতাকে চিত্রিত করে।
পাইপলাইন কর্মের জন্য কমান্ড লাইন ইন্টারফেস
TFX একটি ইউনিফাইড CLI প্রদান করে যা Apache Airflow, Apache Beam, এবং Kubeflow সহ বিভিন্ন অর্কেস্ট্রেটরের পাইপলাইন তৈরি, আপডেট, চালানো, তালিকা এবং মুছে ফেলার মতো পাইপলাইন অ্যাকশনের সম্পূর্ণ পরিসরে সাহায্য করে। বিস্তারিত জানার জন্য, এই নির্দেশাবলী অনুসরণ করুন.