লাভ:
- একটি ডেটা পাইপলাইন সেট আপ করার ক্ষমতা (সংগ্রহ, বৈধতা, পরিষ্কার, রূপান্তর, বিভাজন, সংস্করণ) এবং পাইপলাইনের শুরুতে স্কিমা বৈধতা স্থাপন করার ক্ষমতা
- ডেটা ফাঁস রোধ করতে ক্ষেত্রের অর্থ এবং বিভাগের উপর ভিত্তি করে অনুপস্থিত মান এবং লেবেলিংয়ের সিদ্ধান্ত নেওয়ার ক্ষমতা (গ্রুপ এবং টেম্পোরাল)
- ডেটা সংস্করণ এবং এলোমেলোতার বীজ ঠিক করে একটি পুনরুত্পাদনযোগ্য ডেটা বেস তৈরি করার ক্ষমতা
প্রতিটি মেশিন লার্নিং সিস্টেমের আসল শক্তি ডেটাতে নিহিত, মডেল নয়। অভিজ্ঞ প্রকৌশলীরা জানেন: "আবর্জনা ভিতরে, আবর্জনা আউট" — এমনকি সবচেয়ে উন্নত মডেল খারাপ ডেটা খাওয়ানো খারাপ ফলাফল দেবে। এই ইউনিটে, আমরা ডেটা পাইপলাইন স্থাপন করি (ডেটা পাইপলাইন: ধাপের শৃঙ্খল যা মডেল প্রশিক্ষণের জন্য কাঁচা ডেটা প্রস্তুত করে) শেষ থেকে শেষ এবং শিখি যে এই লাইনের কোন ধাপে আমরা নিরাপদে কৃত্রিম বুদ্ধিমত্তা ব্যবহার করতে পারি।
ডেটা লাইনের ধাপ
একটি ডেটা লাইন সাধারণত এই স্টপের মধ্য দিয়ে যায়:
- সংগ্রহ (ইনজেশন): উৎস থেকে ডেটা টেনে আনা (ডাটাবেস, API, লগ ফাইল, ইভেন্ট স্ট্রীম)।
- বৈধকরণ: ডেটা প্রত্যাশিত স্কিমা, প্রকার এবং ব্যাপ্তির সাথে সামঞ্জস্যপূর্ণ কিনা তা পরীক্ষা করা হচ্ছে।
- পরিষ্কার করা: অনুপস্থিত মান, সদৃশ রেকর্ড, বহিরাগত, এবং অসঙ্গতিগুলি পরিচালনা করা।
- রূপান্তর: কাঁচা ডেটাকে বৈশিষ্ট্যে পরিণত করা — যেমন একটি শ্রেণীগত পরিবর্তনশীলকে একটি সংখ্যায় রূপান্তর করা, একটি তারিখ থেকে "সপ্তাহের দিন" তৈরি করা।
- বিভক্ত করা: প্রশিক্ষণ, বৈধতা এবং পরীক্ষার সেটে আলাদা করা।
- ভার্সনিং: রেকর্ডিং কোন মডেলকে কোন ডেটা দিয়ে প্রশিক্ষণ দেওয়া হয়েছিল।
কৃত্রিম বুদ্ধিমত্তা কোড ড্রাফ্ট এবং ধারণা তৈরি করে সময় বাঁচায়, বিশেষ করে ধাপ 2, 3 এবং 4 তে। কিন্তু কোন রেকর্ড বাতিল করতে হবে, কোন মানটি অনুপস্থিত পূরণ করতে হবে এবং কীভাবে, সেই প্রকৌশলী যে ডেটা জানে তার সিদ্ধান্ত; কারণ অনুপযুক্ত পরিষ্কার মডেলের মধ্যে একটি লুকানো পক্ষপাত ইনজেক্ট করতে পারে।
ডেটা যাচাইকরণ: লাইনের প্রাথমিক প্রতিরক্ষা
সবচেয়ে ব্যয়বহুল ত্রুটিগুলি উত্পাদনে শুরু হয় না, তবে যেখানে যাচাইকরণের পদক্ষেপটি এড়িয়ে যায়৷ স্কিমা বৈধতা স্বয়ংক্রিয়ভাবে চেক করে যে ডেটার প্রতিটি ইনকামিং ব্যাচ প্রত্যাশিত কাঠামোর সাথে সঙ্গতিপূর্ণ কিনা। উদাহরণস্বরূপ, বয়সের কলাম কি 0-120 এর মধ্যে, ইমেল ক্ষেত্রটি কি খালি, কলামের সংখ্যা কি পরিবর্তিত হয়েছে?
টিপ: লাইনের শুরুতে যাচাইকরণটি রাখুন। দুর্নীতিগ্রস্ত ডেটা যত তাড়াতাড়ি ধরা পড়বে, তা ঠিক করা তত সস্তা। উত্পাদনে ধরা পড়া একটি স্কিমা ত্রুটি প্রশিক্ষণ পর্বে ধরা একটির চেয়ে বহুগুণ বেশি ব্যয়বহুল।
নিম্নলিখিত ডেটা স্কিমার জন্য প্যান্ডেরা (বা মহান প্রত্যাশা) সহ একটি বৈধতা স্কিম লিখুন। কলাম এবং নিয়ম:- user_id: পূর্ণসংখ্যা, শূন্য হতে পারে না, অনন্য- বয়স: পূর্ণসংখ্যা, 0-120- থেকে হতে পারে না- সাইনআপ_তারিখ: তারিখ, ভবিষ্যতে হতে পারে না- দেশ: শ্রেণীবদ্ধ, সেট থেকে {TR, DE, US, UK}- ব্যালেন্স: দশমিক, ঋণাত্মক হতে পারে না প্রতিটি নিয়মের জন্য একটি অর্থপূর্ণ ত্রুটি বার্তা তৈরি করুন। কোডের শেষে ভাঙ্গা লাইনের উদাহরণ সহ পরীক্ষাটি দেখান।
পরিচ্ছন্নতা: মানুষই সিদ্ধান্ত নেয়
অনুপস্থিত মান প্রতিটি ডেটা সেটের একটি বাস্তবতা। পরিচালনার উপায়:
- মুছে ফেলা: খুব বেশি হারে অনুপস্থিত একটি সারি/কলাম বাতিল করা। কিন্তু তথ্যের ক্ষতি এবং পক্ষপাতের ঝুঁকি রয়েছে।
- ইম্পুটেশন: গড়, মাঝামাঝি, সর্বাধিক ঘন ঘন মান, বা মডেল-ভিত্তিক ভবিষ্যদ্বাণী সহ ইম্পুটেশন।
- পতাকা: একটি পৃথক পতাকা কলামে তথ্য "অনুপস্থিত" সংরক্ষণ করা - কখনও কখনও অনুপস্থিত নিজেই সংকেত হয়৷
কোনটি সঠিক তা সমস্যার উপর নির্ভর করে। একটি মেডিকেল ডেটা সেটে, "রক্তের মান পরিমাপ করা হয়নি" তথ্য মুছে ফেলার পরিবর্তে সংরক্ষণ করা উচিত; কারণ এমনকি ডাক্তারের পরিমাপ নিতে অস্বীকার করা একটি সংকেত। AI আপনাকে বিকল্প এবং কোড দিতে পারে; আপনি বেছে নিন কোনটি ক্ষেত্রের বাস্তবতার সাথে খাপ খায়।
দুর্বল প্রম্পট / শক্তিশালী প্রম্পট
দুর্বল প্রম্পট: "অনুপস্থিত মান পূরণ করুন।"
শক্তিশালী প্রম্পট: "নিম্নলিখিত কলামগুলিতে অনুপস্থিত মান রয়েছে: আয় (12% অনুপস্থিত, ডান-তির্যক বন্টন), শেষ_লগইন (30% অনুপস্থিত)। মধ্যম দিয়ে আয় পূরণ করার পরামর্শ দিন, তবে কেন মধ্যমা এবং মানে নয় তা ব্যাখ্যা করুন। শেষ_লগইনের জন্য, অনুপস্থিত মানটি তাৎপর্যপূর্ণ হতে পারে (ব্যবহারকারী কখনই লগইন করার পরিবর্তে genlelogin-এর পরিবর্তে ফ্ল্যাগ-ইন করার কথা বিবেচনা করতে পারে না); পক্ষপাত লিখুন উভয় পদ্ধতি মডেলে যোগ করবে।"
পার্থক্য: শক্তিশালী প্রম্পট বিতরণ তথ্য এবং এলাকার অর্থ দেয়; কৃত্রিম বুদ্ধিমত্তা যান্ত্রিক ভরাটের পরিবর্তে সিদ্ধান্ত সমর্থন করে।
লেবেলিং: গুণমান পরিমাপ করা হয়
তত্ত্বাবধানে শেখার ক্ষেত্রে (যে শিক্ষার উদাহরণগুলি সঠিক উত্তর সহ দেওয়া হয়েছে), মডেলটি যা শিখে তা হল লেবেল (লেবেল: প্রতিটি উদাহরণের সঠিক উত্তর)। লেবেলের গুণমান একটি সিলিং সেট করে — যদি লোকেরা অসংলগ্নভাবে লেবেল করে, তাহলে মডেলটি অসঙ্গতিপূর্ণভাবে শেখে।
আন্তঃ টীকাকারী চুক্তি সেই হার পরিমাপ করে যে হারে বিভিন্ন লোক একই নমুনায় একই লেবেল দেয়; এটি একটি সহগ দ্বারা প্রকাশ করা হয় যেমন কোহেনের কাপ্পা। কম সম্মতি নির্দেশ করে কাজটি অস্পষ্ট বা নির্দেশ দুর্বল।
কৃত্রিম বুদ্ধিমত্তা দুটি উপায়ে লেবেল করতে সাহায্য করে: (1) টীকা নির্দেশিকা খসড়া করা, (2) প্রাক-লেবেলিং এবং শুধুমাত্র মানুষ এটি সংশোধন করে। কিন্তু LLM-এর সাথে প্রাক-লেবেলিংয়ের একটি সমস্যা রয়েছে: মডেলের পদ্ধতিগত ত্রুটি পুরো লেবেল সেটে ফাঁস করতে পারে। তাই মানুষ সবসময় কিছু এলএলএম লেবেল চেক করে।
মনোযোগ: LLM দ্বারা উত্পাদিত লেবেলগুলিকে "গ্রাউন্ড ট্রুথ" হিসাবে বিবেচনা করবেন না। একজন মানুষের সাথে একটি নমুনা পরীক্ষা করুন এবং এলএলএম-মানব ফিট পরিমাপ করুন। কমপ্লায়েন্স কম হলে, প্রাক-লেবেলিং ভালোর চেয়ে বেশি ক্ষতি করবে।
ডেটা বিভাজন: ফুটো প্রতিরোধ
প্রশিক্ষণ/বৈধকরণ/পরীক্ষায় ডেটা বিভক্ত করার সময় সবচেয়ে বিপজ্জনক ভুল হল ডেটা ফাঁস: প্রশিক্ষণে পরীক্ষার তথ্য মিশ্রিত করা। উদাহরণ:
- একই ব্যবহারকারীর রেকর্ড প্রশিক্ষণ এবং পরীক্ষা উভয় ক্ষেত্রেই পড়ে (গ্রুপ লিক)।
- প্রশিক্ষণে ভবিষ্যত এবং টাইম সিরিজে পরীক্ষায় অতীত ব্যবহার করা (টেম্পোরাল লিকেজ)।
- সমস্ত ডেটা থেকে স্কেলিং (স্বাভাবিককরণ) পরামিতি গণনা করা এবং তারপরে ভাগ করা।
সময়ের সাথে জড়িত সমস্যাগুলির জন্য অস্থায়ী বিভাজন অপরিহার্য: অতীতের সাথে প্রশিক্ষণ, ভবিষ্যতে পরীক্ষা। এলোমেলো বিভাজন একটি "ভবিষ্যত" সুবিধা দেয় যা কখনই উৎপাদনে ঘটবে না এবং মেট্রিক্সকে স্ফীত করে।
ডেটা সংস্করণ এবং প্রজননযোগ্যতা
"আমরা এই মডেলটিকে কোন ডেটা দিয়ে প্রশিক্ষণ দিয়েছি?" কয়েক মাস পরে প্রশ্নের উত্তর দিতে সক্ষম হওয়া গুরুতর এমএল ইঞ্জিনিয়ারিংয়ের বৈশিষ্ট্য। ডেটা সংস্করণ একটি আইডি (হ্যাশ বা সংস্করণ ট্যাগ) সহ প্রতিটি ডেটা স্ন্যাপশট সংরক্ষণ করে। কোডের মত ডিভিসি (ডেটা ভার্সন কন্ট্রোল) সংস্করণ ডেটার মতো টুল।
একটি মডেলের ফলাফল পুনরুত্পাদন করতে, তিনটি জিনিস স্থির করতে হবে: ডেটা সংস্করণ, কোড সংস্করণ এবং এলোমেলো বীজ। এই ত্রয়ী ছাড়া "আমি একই ফলাফল পেয়েছি" বলা সম্ভব নয়। আমরা ইউনিট 11 এ প্রজননযোগ্যতা গভীর করব; কিন্তু ডাটা পাইপলাইনে বীজ ঠিক করা এখান থেকে শুরু হয়।
তিনটি মিনি কেস
কেস 1 - দিনের স্কিমা বৈধতা সংরক্ষণ করা হয়েছে৷ যখন একটি দল একটি আপস্ট্রিম সিস্টেম মূল্য ক্ষেত্রকে পেনিস থেকে লিরাতে রূপান্তর করে, তখন সমস্ত দাম 100 গুণ কমে যায়। স্কিমা বৈধতা ব্যাচটিকে "পরিসীমার বাইরে মূল্য" হিসাবে প্রত্যাখ্যান করেছে এবং মডেলটিকে দূষিত ডেটার সাথে প্রশিক্ষিত করা হয়নি। যাচাই ব্যতীত, ভুল ভবিষ্যদ্বাণী সহ শুধুমাত্র উৎপাদনে ত্রুটি লক্ষ্য করা যাবে।
কেস 2 - ভুল ফিলিং এর পক্ষপাত। একটি ক্রেডিট মডেলে, অনুপস্থিত আয়ের মানগুলি গড় দিয়ে পূর্ণ করা হয়েছিল। কিন্তু অনুপস্থিত আয় প্রধানত নিম্ন-আয়ের গোষ্ঠীর মধ্যে ছিল; গড় কৃত্রিমভাবে "সমৃদ্ধ" এই গ্রুপ, এবং মডেল তাদের একটি অন্যায্যভাবে উচ্চ সীমা প্রস্তাব. মধ্যমা + অনুপস্থিত পতাকার সাথে সমস্যা সমাধান করা হয়েছে।
কেস 3 - টেম্পোরাল লিকেজ। একটি চাহিদা পূর্বাভাস মডেল পরীক্ষা সেটে দুর্দান্ত লাগছিল (95% নির্ভুলতা) কিন্তু উৎপাদনে বিপর্যস্ত। কেন: এলোমেলো বিভাজনের কারণে, মডেলটি ভবিষ্যত দেখেছিল। টেম্পোরাল বিনিং-এ স্যুইচ করার ফলে পরীক্ষার নির্ভুলতা 78%-এ নেমে এসেছে — কিন্তু সেটাই ছিল আসল কার্যকারিতা এবং এটিকে উৎপাদনে রাখা হয়েছে।
অনুলিপিযোগ্য টেমপ্লেট
নিম্নলিখিত ডেটাসেটকে তিনটি সেটে বিভক্ত করুন: প্রশিক্ষণ/বৈধতা/পরীক্ষা। সীমাবদ্ধতা: এটি একটি টাইম সিরিজ; TEMPORAL স্প্লিটিং ব্যবহার করুন (অতীতে ট্রেন, ভবিষ্যতে পরীক্ষা)। ব্যাচ লিকেজ প্রতিরোধ করুন: শুধুমাত্র একটি ক্লাস্টারে একই `customer_id` আছে। শুধুমাত্র প্রশিক্ষণ সেট থেকে স্কেলিং পরামিতি গণনা করুন, তারপর সবার জন্য প্রয়োগ করুন। প্রতিটি ধাপে কোডে কতগুলি লাইন বাকি আছে তা মুদ্রণ করুন এবং একটি দাবী যোগ করুন যা কোন ফাঁসের জন্য পরীক্ষা করে।
এই লেবেলিং টাস্কের জন্য একটি খসড়া টীকা নির্দেশিকা লিখুন। টাস্ক: [যেমন লেবেল গ্রাহক পর্যালোচনা ইতিবাচক/নেতিবাচক/নিরপেক্ষ]সীমারেখার ক্ষেত্রে স্পষ্ট করুন: ব্যঙ্গাত্মক, মিশ্র আবেগ, কীভাবে পণ্যের সাথে সম্পর্কহীন পর্যালোচনাকে লেবেল করবেন? 5টি উদাহরণ দিন এবং 3টি কঠিন এজ কেস দিন যা ট্যাগার জুড়ে ধারাবাহিকতা বাড়াবে৷
এই ডেটা পাইপলাইনের জন্য একটি পুনরুত্পাদনযোগ্যতা চেকলিস্ট তৈরি করুন:- কীভাবে ডেটা সংস্করণ ঠিক করা উচিত?- কোন এলোমেলোতার বীজ কোথায় সেট করা উচিত?- কোন মেটাডেটা (ডেটা হ্যাশ, সারি গণনা, তারিখ) লগ করা উচিত? আমার কোডবেস: [ভাষা/লাইব্রেরি]
ডেটা ফাঁসের জন্য এই ক্লিনআপ কোডটি পরীক্ষা করুন। বিশেষভাবে এটি দেখুন: স্কেলিং/এনকোডিং পরামিতি বিভক্ত করার আগে গণনা করা হয়? কোন পরিসংখ্যান সব তথ্য বা শুধু প্রশিক্ষণ থেকে গণনা করা হয়? কোড: [কোড]
সিদ্ধান্ত টেবিল: অনুপস্থিত মান কৌশল
স্ট্যাটাস
প্রস্তাবিত পদ্ধতি
কেন
সংখ্যাসূচক, তির্যক বন্টন
মধ্যমা দিয়ে পূরণ করুন
গড় outliers দ্বারা প্রভাবিত হয়
সংখ্যাসূচক, প্রতিসম
গড় দিয়ে পূরণ করুন
তথ্য রক্ষা করে
ঘাটতি উল্লেখযোগ্য হতে পারে
ফ্ল্যাগ কলাম + পূরণ করুন
অভাব একটি সংকেত
অনুপস্থিত হার > 60%
কলাম মূল্যায়ন/বর্জন করুন
আওয়াজ খুব বেশি
শ্রেণীবদ্ধ
"অজানা" বিভাগ
কৃত্রিম সংখ্যাগরিষ্ঠতা তৈরি করে না
সাধারণ ভুল
- যাচাইকরণ এড়িয়ে যাচ্ছে। স্কিমা নিয়ন্ত্রণ ছাড়াই, দূষিত ডেটা নীরবে লুকিয়ে থাকে।
- বিভক্ত করার আগে স্কেলিং। এটি শিক্ষায় পরীক্ষার পরিসংখ্যান ফাঁস করে।
- টাইম সিরিজে এলোমেলো বিভাজন ব্যবহার করা। এটা জাল উচ্চ মেট্রিক উত্পাদন.
- LLM লেবেলগুলোকে অন্ধভাবে বিশ্বাস করা। পদ্ধতিগত ত্রুটি ডেটা জুড়ে ছড়িয়ে পড়ে।
- ডেটা সংস্করণ সংরক্ষণ করা হচ্ছে না। আপনি ফলাফল পুনরুত্পাদন করতে পারবেন না.
- গড় সঙ্গে যান্ত্রিক ভরাট. এটি ক্ষেত্রের অর্থ উপেক্ষা করে, পক্ষপাত যোগ করে।
সংক্ষেপে
ডেটা পাইপলাইন হল ML সিস্টেমের ভিত্তি এবং মডেলের চেয়ে বেশি প্রচেষ্টার যোগ্য৷ শীর্ষে যাচাইকরণ রাখুন; ডোমেইন জ্ঞান দিয়ে পরিষ্কার এবং লেবেল করার সিদ্ধান্ত নিন; বগিতে ফুটো (গ্রুপ এবং টেম্পোরাল) প্রতিরোধ করুন; ডেটা সংস্করণ এবং বীজ ঠিক করুন। AI এই লাইনে কোড এবং ধারনা তৈরি করে, কিন্তু কোন ডেটা প্রসেস করবেন এবং কীভাবে করবেন তা সিদ্ধান্ত নেওয়া আপনার উপর নির্ভর করে — কারণ এখানে প্রতিটি ভুল সিদ্ধান্ত মডেলের মধ্যে লুকানো ত্রুটি হিসাবে চলে যায়।
আবেদন টাস্ক
আপনার নিজের ডেটাসেটে একটি বৈধতা স্কিম (প্যান্ডেরা/গ্রেট এক্সপেক্টেশন) লিখুন এবং ইচ্ছাকৃতভাবে একটি খারাপ সারি যোগ করুন এবং দেখান যে এটি ধরা পড়েছে। তারপরে ডেটা সাময়িকভাবে বা ব্যাচওয়াইসে বিভক্ত করুন, শুধুমাত্র প্রশিক্ষণ থেকে স্কেলিং পরামিতিগুলি গণনা করুন এবং একটি দাবির সাথে কোনও ফাঁস নেই তা যাচাই করুন৷ একটি মেটাডেটা ফাইলে ডেটা সংস্করণ এবং সারি গণনা লিখুন।
চেকলিস্ট
- [ ] স্কিমা বৈধতা লাইনের শীর্ষে চলে।
- [ ] আমি ক্ষেত্রের অর্থের উপর ভিত্তি করে অনুপস্থিত মান কৌশলটি বেছে নিয়েছি, আমি যান্ত্রিকভাবে এটি পূরণ করিনি।
- [ ] আমি লেবেলের গুণমান পরিমাপ করেছি (সম্মতি); আমি মানব-চেক LLM ট্যাগ.
- [ ] আমি প্যানে গ্রুপ এবং টেম্পোরাল ফুটো প্রতিরোধ করেছি।
- [ ] স্কেলিং/এনকোডিং শুধুমাত্র প্রশিক্ষণ সেট থেকে গণনা করা হয়।
- [ ] ডেটা সংস্করণ, সারি এবং বীজ রেকর্ড করা হয়েছে।