আপনি প্রোডাকশনে যে প্রতিটি লাইন কোড পুশ করেন, তা একটি অ্যালগরিদমকে শিখিয়ে দেয় কীভাবে আচরণ করতে হবে। সেই আচরণের প্রভাব বহিরাগতভাবে ছড়িয়ে পড়ে। এটি নির্ধারণ করে কার লোন অনুমোদিত হবে, কোন মেডিকেল স্ক্যানটি অগ্রাধিকার পাবে এবং ব্যবহারকারীর ফিডে কী কন্টেন্ট থাকবে। একজন ডেভেলপার হিসেবে, আপনি কেবল ফিচারগুলো একত্রিত করছেন না। আপনি এই সিস্টেমগুলো মানুষের জীবনের সাথে কীভাবে মিথস্ক্রিয়া করবে তা গঠন করছেন।
সেই দায়িত্ব কেবল কার্যকরী সফটওয়্যার শিপ করার চেয়েও অনেক গভীর। প্রযুক্তি তৈরি করাই যথেষ্ট নয়। আপনাকে এটি দায়িত্বের সাথে তৈরি করতে হবে। নৈতিক অ্যালগরিদমগুলো কেবল বেঞ্চমার্কে ভালো পারফর্ম করার চেয়েও বেশি কিছু করে। তারা সক্রিয়ভাবে ক্ষতি প্রতিরোধ করে এবং সময়ের সাথে সাথে যারা এগুলো ব্যবহার করে তাদের কাছ থেকে বিশ্বাস অর্জন করে। সেই বিশ্বাস অত্যন্ত ভঙ্গুর। একটি ট্রেনিং পাইপলাইনে একটি অসতর্ক সিদ্ধান্ত বা একটি অস্পষ্ট প্রাইভেসী সেটিংস একে ভেঙে দিতে পারে। আপনার কোড সমাজ গঠন করে। আপনার সিদ্ধান্তগুলোর গুরুত্ব থাকা প্রয়োজন।
আপনি যা তৈরি করছেন তার গুরুত্ব
ডেভেলপাররা AI-এর ভবিষ্যৎ তৈরি করেন। আপনি সিদ্ধান্ত নেন এই সিস্টেমগুলো কীভাবে আচরণ করবে। যখন আপনি ডিবাগিং মোডে থাকেন, লস কার্ভ (loss curves) এবং ল্যাটেন্সি মেট্রিক্সের (latency metrics) দিকে তাকিয়ে থাকেন, তখন সেই ক্ষমতা ভুলে যাওয়া সহজ। কিন্তু আপনি যে মডেলগুলো প্রশিক্ষণ দেন তা অবকাঠামোতে পরিণত হয়। এগুলো নিয়োগের সিদ্ধান্ত, ক্রেডিট স্কোরিং, অপরাধমূলক ঝুঁকির মূল্যায়ন এবং শিক্ষাগত স্থান নির্ধারণে প্রভাব ফেলে।
এটিকে স্ট্রাকচারাল ইঞ্জিনিয়ারিংয়ের মতো ভাবুন। একজন ব্রিজ বিল্ডার কেবল বলতে পারেন না যে উপকরণগুলো সহজলভ্য ছিল এবং গণিত ঠিক ছিল। তাদের জিজ্ঞাসা করতে হবে যে ডিজাইনটি বাস্তব জগতের চাপের মুখে টিকে থাকে কি না, এবং এর ওপর দিয়ে হেঁটে যাওয়া মানুষগুলো নিরাপদ কি না। একই মানদণ্ড এখানেও প্রযোজ্য। একটি অ্যালগরিদম যা একটি নিয়ন্ত্রিত পরীক্ষায় নিখুঁতভাবে কাজ করে, সেটি বাস্তব জগতের জটিল মানুষের পরিস্থিতির মুখোমুখি হলে মারাত্মক ক্ষতি করতে পারে। সেই ক্ষতি প্রতিরোধ করা কাজের অংশ। এটি কোনো afterthought নয়। এটি কোনো লিগ্যাল টিমের সমস্যা নয়। এটি কাজের মূল অংশ।
ডেটা প্রাইভেসী এবং সিকিউরিটি
আপনি মডেলকে যা দিচ্ছেন তা দিয়ে শুরু করুন। ডেটা প্রাইভেসী এবং সিকিউরিটি হলো পণ্য শিপ করার পর টিক দেওয়ার মতো কোনো কমপ্লায়েন্স চেকবক্স নয়। এগুলো হলো প্রাথমিক পর্যায়ে আপনার নেওয়া আর্কিটেকচারাল সিদ্ধান্ত।
ডেটা সংগ্রহের সময় কঠিন প্রশ্ন করুন। মডেল উন্নত করার জন্য আপনার কি সত্যিই ব্যবহারকারীর কাঁচা কথোপকথন (raw conversations) সংরক্ষণ করার প্রয়োজন আছে, নাকি আপনি আইডেন্টিফায়ারগুলো বাদ দিয়ে অ্যাগ্রিগেটেড প্যাটার্ন ব্যবহার করতে পারেন? আপনি কতক্ষণ সংবেদনশীল ইনপুটগুলো রাখেন? আপনি কি ডেটা মুছে ফেলার অনুরোধ (deletion requests) মেনে চলার কোনো ব্যবস্থা তৈরি করেছেন, নাকি ডেটা এমন একটি বাকেটে (bucket) পড়ে আছে যা কেউ মনিটর করে না?
AI সিস্টেমের সিকিউরিটির নিজস্ব নির্দিষ্ট ঝুঁকি রয়েছে। Prompt injection attacks একটি মডেলকে তার সুরক্ষা ব্যবস্থা উপেক্ষা করতে প্ররোচিত করতে পারে। যদি মডেলটি প্রশিক্ষণের সময় overfit করে থাকে, তবে training data extraction attacks মডেলের weights থেকে ব্যক্তিগত তথ্য বের করে নিতে পারে। আপনাকে একজন প্রতিপক্ষের মতো চিন্তা করতে হবে। ডেটা at rest এবং in transit উভয় অবস্থাতেই এনক্রিপ্ট করুন। ট্রেনিং ডেটাসেটে অ্যাক্সেস সীমিত করুন। প্রোডাকশন মডেলগুলো কে কুয়েরি করতে পারে তা অডিট করুন এবং তারা কী জিজ্ঞাসা করছে তা লগ করুন। এগুলো সাধারণ কাজ মনে হতে পারে, কিন্তু এগুলো ব্যবহারকারীর বিশ্বাস এবং ডেটা ব্রিচ সংক্রান্ত খবরের মধ্যে একটি দেয়াল হিসেবে কাজ করে।
ট্রেনিং সেটে বায়াস প্রতিরোধ
মডেলগুলো সেই প্যাটার্নগুলো শেখে যা আপনি তাদের দেখান। যদি ট্রেনিং ডেটা ঐতিহাসিক বৈষম্য প্রতিফলিত করে, তবে মডেলটি সেই বৈষম্যকে ভয়ানক গতি এবং স্কেলে স্বয়ংক্রিয় করে তুলবে। ট্রেনিং সেটে বায়াস প্রতিরোধ করার জন্য প্রথম ডেটা সংগ্রহ থেকে শুরু করে চূড়ান্ত ডিপ্লয়মেন্ট পর্যন্ত সতর্কতার প্রয়োজন।
এর মানে হলো সামগ্রিক নির্ভুলতার (aggregate accuracy) বাইরে দেখা। একটি মেডিকেল ডায়াগনস্টিক মডেল সামগ্রিকভাবে ভালো স্কোর করতে পারে কিন্তু গাঢ় রঙের ত্বকের ছবির ক্ষেত্রে ক্রমাগত ব্যর্থ হতে পারে। একটি নিয়োগ সরঞ্জাম পুরনো পক্ষপাতিত্বের পুনরাবৃত্তি করতে পারে যদি ট্রেনিং ডেটা কয়েক দশকের সমজাতীয় পদোন্নতির ইতিহাস থেকে আসে। আপনাকে ডেমোগ্রাফিক রিপ্রেজেন্টেশন অডিট করতে হবে। আপনাকে শুধুমাত্র পুরো জনসংখ্যার নয়, বরং বিভিন্ন সাবগ্রুপের ক্ষেত্রে ত্রুটির হার পরীক্ষা করতে হবে। বৈচিত্র্যময় অ্যানোটেশন টিম অন্তর্ভুক্ত করুন যাতে বিষয়গত লেবেলগুলো (subjective labels) কেবল একটি দৃষ্টিভঙ্গি থেকে না আসে।
বায়াস প্রতিরোধ প্রসঙ্গের (context) সাথেও সম্পর্কিত। উত্তর আমেরিকান উৎস থেকে প্রাপ্ত ইংরেজি টেক্সটের ওপর প্রশিক্ষিত একটি মডেল মুম্বাই বা লাগোসের বাগধারা (idioms) বুঝতে হিমশিম খাবে। এটি আর্কিটেকচারের ত্রুটি নয়। এটি ডেটাসেটের ত্রুটি। উৎস সম্প্রসারণ করে, প্রতিনিধিত্বহীন ডেটাকে গুরুত্ব দিয়ে এবং রিলিজের আগে adversarial tests চালিয়ে এটি সমাধান করুন। Fairness বা ন্যায্যতাকে একটি bug হিসেবে বিবেচনা করুন যা আপনি track, triage এবং resolve করবেন।
সিদ্ধান্ত গ্রহণে স্বচ্ছতা
মানুষ যখন একটি মেশিনের সাথে কথা বলছে তা জানার অধিকার তাদের আছে, এবং সেই মেশিন যখন তাদের সম্পর্কে কোনো সিদ্ধান্ত নেয় তখন তার ব্যাখ্যা পাওয়ারও অধিকার তাদের আছে। সিদ্ধান্ত গ্রহণে স্বচ্ছতা মানে ব্যবহারকারীদের যথেষ্ট সম্মান দিয়ে জানানো যে পর্দার আড়ালে (under the hood) আসলে কী ঘটছে।
ডেভেলপারদের জন্য, এর অর্থ হলো ব্যবহারিক প্রোডাক্ট সংক্রান্ত সিদ্ধান্ত গ্রহণ। যদি কোনো AI ঋণ প্রত্যাখ্যান করে, তবে আবেদনকারীকে সেই প্রত্যাখ্যানের পেছনের মূল কারণগুলো দেখা উচিত, কেবল একটি সাধারণ প্রত্যাখ্যান বার্তা নয়। যদি কোনো কন্টেন্ট মডারেশন সিস্টেম কোনো পোস্ট সরিয়ে দেয়, তবে ব্যবহারকারীর বোঝা উচিত কোন নিয়মটি লঙ্ঘিত হয়েছে। মডেল কার্ড প্রকাশ করুন যা এর সম্ভাব্য ব্যবহারের ক্ষেত্র, জানা সীমাবদ্ধতা এবং বিভিন্ন জনগোষ্ঠীর ক্ষেত্রে এর কার্যকারিতা স্পষ্টভাবে ব্যাখ্যা করে। এমন লগিং ব্যবস্থা তৈরি করুন যা অডিটরদের উচ্চ-ঝুঁকিপূর্ণ সিদ্ধান্তগুলো কীভাবে নেওয়া হয়েছে তা অনুসরণ করতে সাহায্য করে।
স্বচ্ছতা মানে স্ক্রিনে কেবল কাঁচা প্রোবাবিলিটি ওয়েট (probability weights) প্রদর্শন করা নয়। এটি এমন ইন্টারফেস ডিজাইন করার বিষয় যা সততার সাথে তথ্য প্রদান করে। কোনো উত্তর AI-জেনারেটেড কি না, তা ব্যবহারকারীকে অনুমান করতে হবে না। সিস্টেম যখন কোনো ভুল করে, তখন ব্যবহারকারীকে একটি 'ব্ল্যাক বক্স'-এর বিরুদ্ধে লড়াই করতে হবে না।
মডেল আউটপুটের জন্য দায়বদ্ধতা
যে মডেলকে প্রশ্ন করা যায় না, তাকে বিশ্বাস করা যায় না। মডেল আউটপুটের দায়বদ্ধতা মানে হলো, সিস্টেম ব্যর্থ হলে কেউ না কেউ তার দায়িত্ব নিতে পারবে।
গুরুত্বপূর্ণ সিদ্ধান্তের ক্ষেত্রে মানুষের তদারকি (human oversight) নিশ্চিত করুন। একটি অ্যালগরিদম কোনো লেনদেনকে জালিয়াতি হিসেবে চিহ্নিত করতে পারে, কিন্তু লেনদেনটি স্থগিত করার আগে একজন মানুষের তা পর্যালোচনা করা উচিত। একটি AI আইনি ভাষা খসড়া করতে পারে, কিন্তু একজন যোগ্য পেশাদারকে তাতে স্বাক্ষর করতে হবে। ফিডব্যাক লুপ তৈরি করুন যাতে ব্যবহারকারীরা ভুল রিপোর্ট করতে পারেন এবং আপনি সংশোধনের হার পরিমাপ করতে পারেন। যখন... এর জন্য স্পষ্ট এসকেলেশন পাথ (escalation paths) তৈরি করুন।