هر خط کدی که به محیط عملیاتی (production) میفرستید، به یک الگوریتم یاد میدهد که چگونه رفتار کند. این رفتار مانند موجی به بیرون منتشر میشود؛ تعیین میکند که وام چه کسی تأیید شود، کدام اسکن پزشکی در اولویت قرار گیرد و چه محتوایی فید کاربر را پر کند. شما به عنوان یک توسعهدهنده، صرفاً در حال سرهم کردن ویژگیها نیستید، بلکه در حال شکل دادن به نحوه تعامل این سیستمها با زندگی انسانها هستید.
این مسئولیت عمیقتر از عرضه یک نرمافزار کاربردی است. ساخت تکنولوژی به تنهایی کافی نیست؛ باید آن را مسئولانه بسازید. الگوریتمهای اخلاقمدار فراتر از عملکرد خوب در بنچمارکها هستند. آنها فعالانه از بروز آسیب جلوگیری میکنند و با گذشت زمان، اعتماد افرادی را که از آنها استفاده میکنند، جلب میکنند. این اعتماد شکننده است. یک انتخاب بیملاحظه در خط لوله آموزش (training pipeline) یا یک تنظیمات حریم خصوصی مبهم میتواند آن را از هم بپاشد. کد شما جامعه را شکل میدهد. انتخابهای شما باید اهمیت داشته باشند.
سنگینیِ آنچه میسازید
توسعهدهندگان آینده هوش مصنوعی را میسازند. شما تصمیم میگیرید که این سیستمها چگونه رفتار کنند. وقتی در میان فرآیند عیبیابی (debugging) غرق هستید و به منحنیهای خطا (loss curves) و معیارهای تأخیر (latency metrics) خیره شدهاید، فراموش کردن این قدرت آسان است. اما مدلهایی که آموزش میدهید، به زیرساخت تبدیل میشوند. آنها بر تصمیمات استخدامی، امتیازدهی اعتباری، ارزیابی ریسک کیفری و جایابی آموزشی تأثیر میگذارند.
آن را مانند مهندسی سازه تصور کنید. یک سازنده پل نمیتواند صرفاً بگوید که مصالح در دسترس بودند و محاسبات ریاضی درست به نظر میرسید. آنها باید بپرسند که آیا طراحی در برابر فشارهای دنیای واقعی دوام میآورد یا خیر، و آیا افرادی که از روی آن عبور میکنند در امان هستند یا نه. همین استاندارد در اینجا نیز صدق میکند. الگوریتمی که در یک آزمایش کنترلشده بینقص عمل میکند، ممکن است پس از مواجهه با واقعیتهای پیچیده انسانی، آسیبهای واقعی وارد کند. جلوگیری از آن آسیب، بخشی از شغل است؛ نه یک مسئله جانبی و نه مشکلی که فقط به تیم حقوقی مربوط باشد، بلکه هسته اصلی این حرفه است.
حریم خصوصی و امنیت دادهها
با آنچه به مدل میدهید شروع کنید. حریم خصوصی و امنیت دادهها، صرفاً چکلیستهای انطباق (compliance) نیستند که پس از عرضه محصول تیک بخورند؛ بلکه تصمیمات معماری هستند که باید از همان ابتدا بگیرید.
در طول جمعآوری دادهها، سوالات دشوار بپرسید. آیا واقعاً نیاز دارید مکالمات خام کاربران را برای بهبود مدل ذخیره کنید، یا میتوانید شناسهها را حذف کرده و از الگوهای تجمیعشده استفاده کنید؟ دادههای حساس را تا چه زمانی نگه میدارید؟ آیا راهی برای احترام به درخواستهای حذف داده ساختهاید، یا دادهها در مخزنی (bucket) قرار دارند که هیچکس نظارتی بر آن ندارد؟
امنیت سیستمهای هوش مصنوعی خطرات خاص خود را دارد. حملات تزریق دستور (Prompt injection) میتوانند یک مدل را فریب دهند تا از پروتکلهای حفاظتی خود چشمپوشی کند. حملات استخراج دادههای آموزشی (training data extraction) نیز اگر مدل در طول آموزش دچار بیشبرازش (overfit) شده باشد، میتوانند اطلاعات خصوصی را از میان وزنها (weights) بیرون بکشند. شما باید مانند یک مهاجم فکر کنید. دادهها را در حالت سکون (at rest) و در حال انتقال (in transit) رمزنگاری کنید. دسترسی به مجموعهدادههای آموزشی را محدود کنید. مشخص کنید چه کسی میتواند مدلهای عملیاتی را فراخوانی کند و آنچه میپرسند را ثبت (log) کنید. اینها وظایفی روزمره هستند، اما مرز میان اعتماد کاربر و تیتر اخبار درباره نشت دادهها را تشکیل میدهند.
پیشگیری از سوگیری در مجموعههای آموزشی
مدلها الگوهایی را که به آنها نشان میدهید یاد میگیرند. اگر دادههای آموزشی بازتابدهنده نابرابریهای تاریخی باشند، مدل آن نابرابری را با سرعت و مقیاسی وحشتناک خودکار میکند. پیشگیری از سوگیری در مجموعههای آموزشی، از اولین مرحله استخراج داده تا آخرین مرحله استقرار، نیازمند هوشیاری است.
این یعنی فراتر از دقت کلی (aggregate accuracy) را ببینید. یک مدل تشخیص پزشکی ممکن است در مجموع امتیاز خوبی بگیرد، اما در تصاویر پوستهای تیره بهطور مداوم شکست بخورد. یک ابزار استخدام ممکن است اگر دادههای آموزشی از دههها سوابق ارتقای شغلی همگن (homogenous) آمده باشد، سوگیریهای قدیمی را بازتولید کند. شما باید بازنمایی جمعیتشناختی را بازرسی کنید. باید نرخ خطا را در زیرگروهها تست کنید، نه فقط در کل جمعیت. تیمهای برچسبگذاری (annotation) متنوعی را به کار بگیرید تا برچسبهای ذهنی همگی از یک دیدگاه واحد نباشند.
پیشگیری از سوگیری همچنین به معنای توجه به زمینه (context) است. مدلی که بر اساس متن انگلیسی از منابع آمریکای شمالی آموزش دیده باشد، با اصطلاحات محلی بمبئی یا لاگوس دچار مشکل خواهد شد. این یک نقص در معماری نیست، بلکه نقصی در مجموعهداده است. با گسترش منابع، وزندهی به دادههای کمنماینده و اجرای تستهای تقابلی (adversarial tests) قبل از انتشار، آن را اصلاح کنید. با عدالت (fairness) مانند باگی برخورد کنید که آن را ردیابی، اولویتبندی و رفع میکنید.
شفافیت در تصمیمگیری
مردم حق دارند بدانند چه زمانی در حال صحبت با یک ماشین هستند و وقتی آن ماشین درباره آنها تصمیمی میگیرد، حق دارند توضیحی دریافت کنند. شفافیت در تصمیمگیری یعنی با احترام کافی با کاربران رفتار کنید و به آنها بگویید در پشت صحنه چه میگذرد.
برای توسعهدهندگان، این موضوع به انتخابهای عملی در محصول منجر میشود. اگر یک هوش مصنوعی درخواست وام را رد کند، متقاضی باید عوامل کلیدی پشت آن رد شدن را ببیند، نه یک پیام رد شدن کلی و عمومی. اگر یک سیستم مدیریت محتوا پستی را حذف کند، کاربر باید قانونی را که باعث این اتفاق شده درک کند. کارتهای مدل (model cards) منتشر کنید که موارد استفادهی هدفمند، محدودیتهای شناختهشده و عملکرد در گروههای مختلف جمعیت را به وضوح بیان کنند. سیستم ثبت وقایعی (logging) بسازید که به حسابرسان اجازه دهد نحوه اتخاذ تصمیمات حساس را ردیابی کنند.
شفافیت به معنای نمایش خام وزنهای احتمالات روی صفحه نیست. بلکه به معنای طراحی رابطهایی است که صادقانه ارتباط برقرار میکنند. کاربران نباید مجبور باشند حدس بزنند که آیا یک پاسخ توسط هوش مصنوعی تولید شده است یا خیر. آنها نباید مجبور باشند وقتی سیستم دچار خطا میشود، با یک جعبه سیاه (black box) بجنگند.
پاسخگویی در قبال خروجیهای مدل
مدلی که نمیتوان آن را زیر سوال برد، مدلی نیست که بتوان به آن اعتماد کرد. پاسخگویی در قبال خروجیهای مدل یعنی وقتی سیستم دچار خطا میشود، کسی در جایی بتواند مسئولیت آن را بپذیرد.
برای تصمیمات سرنوشتساز، نظارت انسانی را در سیستم بگنجانید. یک الگوریتم ممکن است تراکنشی را به عنوان کلاهبرداری علامتگذاری کند، اما یک فرد باید پیش از اعمال مسدودسازی، آن را بررسی کند. یک هوش مصنوعی ممکن است متون حقوقی را پیشنویس کند، اما یک متخصص واجد شرایط باید آن را تأیید نهایی کند. حلقههای بازخورد ایجاد کنید تا کاربران بتوانند خطاها را گزارش کنند و شما بتوانید نرخ اصلاحات را اندازهگیری کنید. مسیرهای شفاف برای ارجاع ایجاد کنید برای زمانی که