পাঠ ২২ · ৫৭-এর মধ্যে · মডিউল ৬
Home / AI Courses / AI Ethics / ক্যাপাবিলিটি vs অ্যালাইনমেন্ট

ক্যাপাবিলিটি বনাম অ্যালাইনমেন্ট — মূল পার্থক্য

Capability vs Alignment — the key distinction
৭ মিনিট পড়া মধ্যম · Intermediate Python কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • ক্যাপাবিলিটি ও অ্যালাইনমেন্টের সুনির্দিষ্ট, পৃথক সংজ্ঞা
  • দুই-অক্ষ চিত্রায়ন এবং চারটি সম্ভাব্য কোয়াড্রেন্টের অর্থ
  • কেন "ক্ষমতা" ভুল-অ্যালাইনমেন্টের পরিণতিকে বাড়িয়ে তোলে, কমায় না
  • একটি সত্যিকারের কোড দিয়ে কয়েকটি হাইপোথেটিক্যাল সিস্টেমকে কোয়াড্রেন্টে শ্রেণিবদ্ধ করা

১ · দুটি সম্পূর্ণ ভিন্ন প্রশ্ন

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

Ethics in Computing & AI Safety কোর্সের সাথে সম্পর্ক

এই বিভাজনটি Ethics in Computing & AI Safety কোর্সেও সংক্ষিপ্তভাবে আলোচিত হয়েছে; এই পাঠ এবং এই কোর্সের বাকি M6 মডিউল এটি আরও গভীরে নিয়ে যাবে — স্পেসিফিকেশন গেমিং (L24), গুডহার্টস ল (L25), ও করিজিবিলিটি (L26) সবকিছুই এই মৌলিক পার্থক্য থেকেই শুরু হয়।

২ · দুই-অক্ষ চিত্র — চারটি কোয়াড্রেন্ট

ক্যাপাবিলিটি ও অ্যালাইনমেন্টকে দুটো স্বতন্ত্র অক্ষ হিসেবে কল্পনা করলে যেকোনো সিস্টেম এই দ্বি-মাত্রিক জায়গার যেকোনো বিন্দুতে থাকতে পারে — একটি অক্ষে উচ্চ স্কোর অন্য অক্ষের স্কোর সম্পর্কে কিছুই নিশ্চিত করে না।

ক্যাপাবিলিটি বাড়ছে → অ্যালাইনমেন্ট বাড়ছে → সীমিত ক্ষমতা, উচ্চ অ্যালাইনমেন্ট নিরাপদ, কিন্তু উপযোগও সীমিত উচ্চ ক্ষমতা, উচ্চ অ্যালাইনমেন্ট কাঙ্ক্ষিত অবস্থা — শক্তিশালী ও অভিপ্রেত সীমিত ক্ষমতা, নিম্ন অ্যালাইনমেন্ট কম উপযোগ, কম ঝুঁকিও — দ্রুত চোখে পড়ে উচ্চ ক্ষমতা, নিম্ন অ্যালাইনমেন্ট সর্বোচ্চ উদ্বেগ — ক্ষমতা এখানে ক্ষতির গুণক
ক্যাপাবিলিটি ও অ্যালাইনমেন্ট দুটো স্বতন্ত্র অক্ষ। নিচে-ডানে (উচ্চ ক্ষমতা + নিম্ন অ্যালাইনমেন্ট) হলো সবচেয়ে বিপজ্জনক কোয়াড্রেন্ট — সিস্টেম যত বেশি কার্যকর, ভুল লক্ষ্যে অগ্রসর হওয়ার পরিণতিও তত বড়।
সীমিত ক্ষমতা / উচ্চ অ্যালাইনমেন্ট
যা চায় তাই করার চেষ্টা করে, কিন্তু কার্যকরভাবে তেমন কিছুই করতে পারে না — ঝুঁকি কম, উপযোগও কম।
উচ্চ ক্ষমতা / উচ্চ অ্যালাইনমেন্ট
কাঙ্ক্ষিত লক্ষ্য — শক্তিশালী এবং নির্মাতার প্রকৃত উদ্দেশ্যের সাথে সামঞ্জস্যপূর্ণ।
উচ্চ ক্ষমতা / নিম্ন অ্যালাইনমেন্ট
সবচেয়ে বিপজ্জনক — যা "বলা হয়েছে" তা অত্যন্ত কার্যকরভাবে করে, কিন্তু যা "উদ্দেশ্য ছিল" তা নয়।

৩ · কেন ক্ষমতা ঝুঁকির "গুণক"

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

৪ · একটি সত্যিকারের ক্লাসিফিকেশন

নিচের কোডে কয়েকটি কাল্পনিক (illustrative) সিস্টেমকে ০-১০ স্কেলে ক্যাপাবিলিটি ও অ্যালাইনমেন্ট স্কোর দেওয়া হয়েছে (এগুলো বাস্তব বেঞ্চমার্ক নয়, শুধু ধারণা স্পষ্ট করার জন্য), এবং একটি সাধারণ থ্রেশহোল্ড-ভিত্তিক ফাংশন প্রতিটিকে সত্যিই গণনা করে চারটি কোয়াড্রেন্টের একটিতে বসিয়ে দিচ্ছে।

Python
# কয়েকটি কাল্পনিক AI সিস্টেম -- capability ও alignment স্কোর ০-১০ স্কেলে (illustrative, বাস্তব বেঞ্চমার্ক নয়)
systems = [
    {"name": "সাধারণ নিয়ম-ভিত্তিক অটো-রিপ্লাই বট",     "capability": 2.0, "alignment": 8.5},
    {"name": "এনগেজমেন্ট-অপ্টিমাইজড সুপারিশ ইঞ্জিন",     "capability": 9.0, "alignment": 3.0},
    {"name": "ভালোভাবে অডিট করা মেডিকেল ট্রায়াজ সহায়ক",  "capability": 8.5, "alignment": 8.0},
    {"name": "আন্ডার-ট্রেইনড প্রোটোটাইপ চ্যাটবট",         "capability": 3.0, "alignment": 4.0},
    {"name": "অতি-ক্যাপাবল কিন্তু অপ্রমাণিত এজেন্ট",       "capability": 9.5, "alignment": 4.5},
]

THRESHOLD = 5.0

def classify(capability, alignment):
    cap_level = "উচ্চ" if capability >= THRESHOLD else "সীমিত"
    align_level = "উচ্চ" if alignment >= THRESHOLD else "নিম্ন"
    if cap_level == "উচ্চ" and align_level == "নিম্ন":
        risk_note = "সর্বোচ্চ উদ্বেগ"
    elif cap_level == "উচ্চ" and align_level == "উচ্চ":
        risk_note = "কাঙ্ক্ষিত অবস্থা"
    elif cap_level == "সীমিত" and align_level == "উচ্চ":
        risk_note = "নিরাপদ, সীমিত উপযোগ"
    else:
        risk_note = "কম উপযোগ, কম ঝুঁকি"
    return cap_level, align_level, risk_note

print(f"{'সিস্টেম':38s}{'ক্যাপ.':>7s}{'অ্যালা.':>8s}   কোয়াড্রেন্ট")
print("-" * 80)
for s in systems:
    cap_level, align_level, risk_note = classify(s["capability"], s["alignment"])
    print(f"{s['name']:38s}{s['capability']:7.1f}{s['alignment']:8.1f}   {cap_level}-ক্যাপ/{align_level}-অ্যালা -- {risk_note}")

high_risk = [s["name"] for s in systems if classify(s["capability"], s["alignment"])[2] == "সর্বোচ্চ উদ্বেগ"]
print(f"\n'সর্বোচ্চ উদ্বেগ' কোয়াড্রেন্টে পড়া সিস্টেম: {len(high_risk)}টি")
for name in high_risk:
    print(f"  - {name}")

    
লক্ষ্য করুন — "এনগেজমেন্ট-অপ্টিমাইজড সুপারিশ ইঞ্জিন" ও "অতি-ক্যাপাবল কিন্তু অপ্রমাণিত এজেন্ট" দুটোই উচ্চ-ক্যাপাবিলিটি রেঞ্জে আছে, কিন্তু অ্যালাইনমেন্ট স্কোর কম হওয়ায় দুটোই "সর্বোচ্চ উদ্বেগ" কোয়াড্রেন্টে পড়ে যাচ্ছে — এদিকে সীমিত-ক্ষমতার "প্রোটোটাইপ চ্যাটবট"-এর অ্যালাইনমেন্টও কম হলেও, সীমিত ক্ষমতার কারণে এটি একই মাত্রার উদ্বেগের বিষয় নয়। classify() ফাংশনটি প্রতিবার সত্যিকারের স্কোর দুটো তুলনা করে সিদ্ধান্ত নিচ্ছে — কোনো লেবেল হার্ডকোড করা নেই।
মূল কথা · Key takeaway

"সিস্টেমটি কতটা শক্তিশালী?" আর "সিস্টেমটি কি আমরা যা চাই তাই করছে?" — এই দুটো সম্পূর্ণ ভিন্ন প্রশ্ন, এবং একটির উত্তর অন্যটি নির্ধারণ করে না। এই বিভাজনটিই পরবর্তী পাঠের (L23) "অ্যালাইনমেন্ট প্রবলেম"-এর সুনির্দিষ্ট সংজ্ঞার ভিত্তি তৈরি করে।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ একটি সিস্টেমের ক্যাপাবিলিটি বাড়ালে কি স্বয়ংক্রিয়ভাবে তার অ্যালাইনমেন্টও বাড়ে?

না — বরং প্রায়ই বিপরীতটি ঘটতে পারে। একটি বেশি ক্যাপাবল সিস্টেম তার দেওয়া অবজেক্টিভের অসম্পূর্ণতা বা দুর্বলতা আরও কার্যকরভাবে "কাজে লাগাতে" সক্ষম হয় (L24-এ এটি সত্যিকারের গণনা দিয়ে দেখানো হবে) — তাই ক্যাপাবিলিটি বাড়ানো নিজে থেকে অ্যালাইনমেন্টের কোনো নিশ্চয়তা দেয় না, বরং ভুল-অ্যালাইনমেন্ট থাকলে তার পরিণতি আরও বড় করে তোলে।

প্র ০২ কোড সেলে "কম উপযোগ, কম ঝুঁকি" কোয়াড্রেন্টকে কেন সবচেয়ে কম জরুরি ধরা হয়েছে, যদিও এটিও "নিম্ন-অ্যালাইনমেন্ট"?

কারণ ক্ষতির সম্ভাবনা শুধু অ্যালাইনমেন্টের উপর নির্ভর করে না, ক্যাপাবিলিটির উপরও নির্ভর করে। একটি সীমিত-ক্ষমতার সিস্টেম তার ভুল লক্ষ্য কার্যকরভাবে অর্জনই করতে পারবে না — তাই এর প্রকৃত ক্ষতির পরিমাণ সীমিত থাকে, এমনকি অ্যালাইনমেন্ট কম হলেও। ঝুঁকি নির্ধারণ করতে দুই অক্ষই একসাথে দেখতে হয়, শুধু একটি নয়।

প্র ০৩ উপরের কোডে THRESHOLD = 5.0 একটি একক কাটঅফ ব্যবহার করছে। বাস্তব-জগতে এই বাইনারি (উচ্চ/নিম্ন) পদ্ধতির সীমাবদ্ধতা কী হতে পারে?

বাস্তবে ক্যাপাবিলিটি ও অ্যালাইনমেন্ট উভয়ই ধারাবাহিক (continuous) মাত্রা — একটি একক কাটঅফ ৪.৯ ও ৫.১ স্কোরের মধ্যে একটি কৃত্রিম, তীক্ষ্ণ সীমারেখা টেনে দেয়, যদিও বাস্তবে দুটো স্কোর প্রায় সমান। এই সরলীকরণ একটি পাঠদানমূলক ডেমোর জন্য উপযোগী, কিন্তু একটি প্রকৃত অডিট প্রক্রিয়ায় স্কোরগুলোকে ধারাবাহিক পরিমাপ হিসেবেই বিবেচনা করা উচিত, শুধু বাইনারি লেবেল হিসেবে নয়।

অনুশীলন

  1. চিন্তা করুন: যদি একটি নতুন সিস্টেম capability=6.0, alignment=5.0 দিয়ে যোগ করা হয় (থ্রেশহোল্ডের ঠিক সীমানায়), classify() ফাংশন এটিকে কোন কোয়াড্রেন্টে বসাবে বলে আপনার ধারণা?

    যেহেতু >= ব্যবহার করা হয়েছে, alignment=5.0 ঠিক থ্রেশহোল্ডের সমান হওয়ায় এটি "উচ্চ" হিসেবে গণ্য হবে — তাই সিস্টেমটি "উচ্চ ক্যাপাবিলিটি / উচ্চ অ্যালাইনমেন্ট" অর্থাৎ "কাঙ্ক্ষিত অবস্থা" কোয়াড্রেন্টে পড়বে, যদিও বাস্তবে এটি সীমানার একদম প্রান্তে — এটাই দেখায় কেন সীমানার কাছাকাছি স্কোরগুলোকে অতিরিক্ত আত্মবিশ্বাসের সাথে ব্যাখ্যা করা উচিত নয়।

  2. পরীক্ষা করুন: উপরের কোড সেলে THRESHOLD = 5.0-কে THRESHOLD = 6.5-এ পরিবর্তন করে Run চেপে দেখুন কতটি সিস্টেম "সর্বোচ্চ উদ্বেগ" কোয়াড্রেন্টে পড়ে তা কীভাবে বদলায়।

    থ্রেশহোল্ড বাড়ালে "উচ্চ ক্যাপাবিলিটি" হিসেবে গণ্য হওয়া সিস্টেমের সংখ্যা কমতে পারে (কিছু সিস্টেম যাদের ক্যাপাবিলিটি ৫.০-৬.৪৯-এর মধ্যে ছিল তারা এখন "সীমিত" হয়ে যাবে), ফলে "সর্বোচ্চ উদ্বেগ" কোয়াড্রেন্টে পড়া সিস্টেমের সংখ্যাও কমতে বা বদলাতে পারে — এটি দেখায় থ্রেশহোল্ড নির্বাচন নিজেই একটি গুরুত্বপূর্ণ, প্রভাব-ফেলা সিদ্ধান্ত।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

আগের পাঠ
অডিটেবিলিটি ও AI ডকুমেন্টেশন — মডেল কার্ড ও ডেটাশিট