راهنمای استفاده‌ی مسئولانه از APIهای یادگیری ماشین

اصل متن توسط رویا پاکزاد و به زبان انگلیسی نوشته شده است. با تشکر از پ. برای ترجمه.ماه پیش، دوستی استوری‌­ا‌ی در اینستاگرامش منتشر کرد. استوری درباره­‌ی تحریم خرید یک محصول روشن­‌کننده‌­ی پوست در هندوستان بود با اسم تجاری «روشن و دوست­داشتنی» (Fair and Lovely). هدف تحریم چی بود؟ اینکه افکار عمومی رو با مساله‌­ی مهم­‌تری به نام رنگ گرایی (colorism) در هندوستان آشنا کنه.درسته من هندی نیستم، اما پیام این کمپین برام یادآور خاطرات مشابهی در ایران بود. بین فامیل هم با چنین محصولات «زیبایی»‌ای که ادعا می­‌کنه پوست مصرف کننده رو روشن­‌تر می­کنه روبه‌­رو شده بودم. سنم کم بود و فکر نمی­‌کردم واقعا چیز مهمی باشه. اما این روزها، مطرح شدن جنبش سیاهان در ایالات متحده (Black Lives Matter) باعث شده همه‌­ی کسانی که تو کشور خودشون با نوعی نژادپرستی یا رنگ­‌گرایی مواجه شده بودن هم به فکر فرو برن.ترجمه توییت دکتر لوکر: حذف کلمه‌­ی «روشن» از «روشن و دوست­‌داشتنی» و تولید دوباره­‌ی اون با نام جدید چیزی رو عوض نمی­کنه چون در نهایت باز هم این محصول به عنوان روشن کننده و به قیمت تحقیر شدن افراد با رنگ پوست­های متفاوت به فروش می­رسه.وقتی داشتم توییت‌­های مربوط به این کمپین رو میخوندم، به این فکر افتادم که شرکت سازنده‌‌‌ی کرم روشن‌کننده‌ی پوست، یعنی ‌‌یونیلور، برداشت و برخوردش با این توییت‌­ها چیه؟ آیا از ابزارهای تحلیل­گر رسانه‌­های مجازی –مبتنی بر تکنولوژی تشخیص احساسات– استفاده میکنه که بتونه درک سریعی از بازخورد مردم داشته باشه؟ چون میدونم جدیدا خیلی مرسومه که شرکت‌ها از ابزارهای تحلیل­گر متن استفاده کنن تا با توجه به چیزهایی که در رسانه­‌های مجازی مطرح می­شه رضایت مشتریان رو تخمین بزنن.من یک پژوهشگر امور تکنولوژی و حقوق بشر هستم. کار من درک تاثیرات اجتماعی و حقوق بشری تکنولوژی‌های دیجیتاله. به همین دلیل بود که تصمیم گرفتم از قضیه‌ی کمپین «روشن و دوست­‌داشتنی» برای بررسی APIهای معمول تحلیل­گر احساس استفاده کنم. به خصوص، این موضوع برام سوال بود که مثبت بودن عبارت «روشن و دوست­داشتنی» (Fair & Lovely) از نظر احساسی، تا چه حدی ممکنه ابزار تحلیل احساس را گمراه کنه و منجر به اشتباه در دسته‌­بندی احساس جمله­‌ها بشه، حتی اگه جمله از لحاظ احساسی اصلا بار معنایی مثبتی هم نداشته باشه.این سوال باعث شد که این پست رو بنویسم، مخصوصا برای توسعه­‌دهندگانی که از تکنولوژی­‌های یادگیری ماشین به عنوان خدمات (MLaaS) استفاده می­کنن و همینطور برای همکارانم که به تاثیرات اجتماعی و حقوق بشری تکنولوژی علاقه­‌مندن.من API تحلیل­گر لحن IBM (IBM Tone Analyzer API) و API تحلیل­گر احساس متن ParallelDots (ParallelDots Text Analysis Emotion API) رو انتخاب کردم و نتایجشون رو روی توییت­‌های مربوط به محصول «Fair & Lovely» شرکت یونیلور امتحان کنم. در ادامه توضیح می­دم که ارائه دهندگان این APIها چه سیاست­‌های حفظ حریم خصوصی‌ای دارن، شرایط خدمات اون­‌ها به چه صورته، چه مستنداتی از مدل‌های یادگیری ماشین‌شون ارایه میدن و در آخر بهتون می­گم که برای انتخاب API چه معیارهایی باید داشته باشین.خب، فرض می­کنیم شما یک توسعه­‌دهنده یا تحلیل­گر رسانه­‌های مجازی هستید، و شرکت یونیلور سراغتون اومده تا احساس مشتریاش رو از محتویات رسانه‌­های مجازی تحلیل کنید. چیکار می‌­کنید؟فرض می­‌کنیم شما مهارت، اطلاعات و داده‌ی لازم برای ساختن مدل یادگیری ماشین مخصوص این موضوع رو ندارید و نمی­‌خواید از مدل­های از پیش ساخته شده (pre-trained) هم استفاده کنید. در عوض ساده ­ترین مسیر رو انتخاب می­کنید: استفاده از API تحلیل­گر احساس حاضر و آماده که مدل اصلی‌اش توسط یه شرکت دیگه ساخته شده. حالا اگر شما جزو دسته‌ی آخر هستید، برای انتخاب و بکارگیری مسئولانه­‌ی این APIها چه معیاری دارید؟ای-پی-آی ها (API) قانونی دارند -- و قدرتی!اول از پایه شروع می­کنیم. رابط برنامه­‌نویسی کاربردی (API) به نرم­‌افزارهای مختلف کمک می­کنه با هم ارتباط برقرار کنن. API اجازه می­ده که یک اپلیکیشن درخواستی ارائه بده (درخواست دسترسی به داده یا خدمات) و یک اپلیکیشن دیگه به این درخواست پاسخ بده و اون دسترسی رو میسر کنه. برای مثال، اگه شما یک شرکتی مثل توییتر هستید و از پژوهشگران می­خواید که از داده­‌های شما برای کار پژوهش­ی‌شون استفاده کنن، با یک API اجازه‌­ی دسترسی به این داده‌­ها رو در اختیارشون میذارید یا مثلا اگر بخواید با استفاده از اینترنت اشیا (IoT) وسایل هوشمند خونه‌تون رو به هم متصل کنید تا با هم ارتباط برقرار کنن (مثلا لامپ هوشمند‌تون به رویدادهای سالنامه‌­ی گوگل‌­تون واکنش نشون بده) باید این خدمات رو از طریق API به هم مرتبط کنید.اما مثل هر جور تعاملی، باید بین این سرویس‌ها قبل از شروع تعامل قوانینی وجود داشته باشه. این قوانین از طریق سیاست­های API، سیاست­های مرتبط با توسعه‌­دهنده‌­ها و شرایط خدمات شرکت ارائه دهنده‌ی API وضع می­شه. اما این تعاملات و سیاست‌هایی که گاهی شامل دسترسی به اطلاعات شما هم میشه چی هستن؟ اصلا چرا باید مهم باشن؟ این مثال‌‌ها نشون میده که چرا همچین چیزی مهمه.１) داستان کمبریج آنالتیکا و فیسبوک رو یادتونه؟ (محض یادآوری، اطلاعات ۸۷ میلیون کاربر در اختیار کمبریج آنالتیکا قرار گرفت که با استفاده از اون رفتار و علایق سیاسی کاربران فیسبوک رو تحلیل کنه و در نهایت رو انتخاب‌های سیاسی‌شون تاثیر بذاره). خلاصه اینکه، دلیل اصلی این شکل تجاوز به حریم کاربران و اشتراک داده­‌ها، سواستفاده از APIهای دسترسی به داده‌‌های فیسبوک بود. نتیجه این شد که بعد از داستان کمبریج آنالتیکا فیسبوک دسترسی توسعه دهنده­‌ها به داده‌­ها رو با ایجاد تغییراتی در سیاست­‌های APIهاش محدود کرد.２) موقع استفاده از APIهای یادگیری ماشین به عنوان خدمات تحلیل­گر هم نگرانی­‌هایی وجود داره. در چنین موردی قضیه برعکس مثال بالاست. توسعه­‌دهنده­‌ها داده‌­هایی در اختیارشون هست و از شرکت­های بزرگ فناوری می­خوان که با دادن دسترسی به APIهای یادگیری ماشین، این داده‌­ها رو براشون تحلیل کنن (MLaaS). تحقیقات جوی بولاموینی (Joy Buolamwini) و تیمنیت گبرو (Timnit Gebru) روی مطالعات جنسیتی نشون داد که بسیاری از مدل‌‌های یادگیری ماشین تشخیص چهره تبعیض نژادی و جنسیتی قائل می­شن. در نتیجه‌­ی این مطالعات، شرکت­های بزرگ فناوری خدمات API شون رو برای سازمان­های آمریکایی محدود کردن (اما کسی نمیدونه که هنوز چه روابط تجاری با سایر کشورها دارن... ??‍♀️).اما مسئولیت­ توسعه‌­دهنده‌­هایی که می­خوان از این APIهای یادگیری ماشین شرکت‌­های فناوری استفاده کنن چیه؟ آیا راهنمایی وجود داره که بهشون کمک کنه APIهای یادگیری ماشین را برای حوزه­‌های خاص خودشون یه‌کمی مسئولانه‌تر و بادقت‌تر انتخاب کنن و به کار بگیرن؟تحلیل­ احساس: تحلیل­گر لحن IBM (IBM Tone Analyzer API) یا تحلیل­گر احساس ParallelDots (ParallelDots Text Analysis Emotion API)خب، برای اینکه از APIهای یادگیری ماشین مبتنی بر فضای ابری که حی و حاضر و به‌ وفور موجوده استفاده کنید، چه‌کار میکنید؟ یک حساب کاربری می­سازید و دسترسی به API به شما داده می­شه. داده­‌های ورودی رو وارد می­کنید، خدمات­‌دهنده‌ی ابری «جادو»ش رو روی اون­‌ها اجرا میکنه، و نتایج به عنوان داده خروجی در اختیار شما قرار می­گیره. خیلی راحت!‌ حتی لازم نیست دانشی از علوم داده و یادگیری ماشین داشته باشید تا بتونید این API رو با محصولتون تلفیق کنید. یا حداقل می­شه گفت این ادعاییه که شرکت­ها می­کنن تا خدماتشون رو در بازار ارائه کنن، مثل تصویر زیر:?ولی از شوخی گذشته، به‌ عنوان یک توسعه‌دهنده شما یک سری معیار برای انتخاب یک سرویس دارید: معیارهایی مثل دقت، هزینه، و سرعت. اما اگه بخواید بر اساس معیارهای دیگه‌­ای مثل حریم خصوصی، امنیت، عادلانه بودن، و شفافیت یه سرویس یادگیری ماشینی رو انتخاب کنید چطور؟ چه روندی رو طی می­کنید؟ چه چیزهایی رو چک می­کنید؟بیاید برگردیم به توییت­‌های «Fair & Lovely». من با فرض اینکه خودم یک توسعه‌دهنده باشم، چند صدتا توییت درباره­‌ی «Fair & Lovely» به زبان انگلیسی رو به کمک Twint جمع­‌آوری کردم. بعد رفتم سراغ RapidAPI که پلتفرمیه که به توسعه‌دهنده­‌ها کمک می­کنه APIهای مختلف رو مقایسه و انتخاب کنن، و تحلیل‌گر لحن IBM (IBM Tone Analyzer API) و تحلیل­‌گر متن ParallelDots (ParallelDots Text Analysis Emotion API) رو به عنوان بهترین گزینه­‌ها انتخاب کردم. هر دو سرویس تعهد می­دن که احساساتی مثل ترس، عصبانیت، لذت، شادی و غیره رو از توییت‌­ها برداشت کنن.بعد توی هر دو سرویس ثبت­‌نام کردم و اعتبار لازم برای حساب کاربر توسعه دهنده رو دریافت کردم. حساب کاربری رایگان IBM آی-بی-ام ۲۵۰۰ درخواست API در ماه رو می­پذیره، و ParallelDots برای ۱۰۰۰ درخواست در روز رایگانه.در نهایت، آزمایش زیر رو اجرا کردم. نتایج زیر از نوشته­‌های توییت­‌های «روشن و دوست­داشتنی» به عنوان داده ورودی و جمع‌­آوری خروجی API ها بدست اومده. که می­تونید توی این spreadsheet هم ببینیدش.لطفا به تفاوت چشمگیر نتایج بین دو سرویس توجه کنین.منبعهمچنین عبارت «Fair & Lovely» را به عبارت­های خنثی­‌تری مثل «your product» و «this product» تغییر دادم. نتیجه­‌ی خروجی تغییر کرد! هر چند که بر مبنای تحلیل آدمی‌زادی عملا این جمله‌ها و احساس ‌پشتشون یکی ‌هستن.منبعاگر من جای توسعه‌دهنده‌ی فرضی‌ داستانمون بودم با این نتایج غلط و غلوط دیگه از این ابزار­ها برای این مورد خاص استفاده نمیکردم. شما بگین که آیا جمله­‌ی «یونیلور، Fair & Lovely را متوقف کن، دادخواست را امضا کنید!» شاد و سرخوش به نظر می­رسه؟ ??‍♀️اما بیاین فرض کنیم توسعه‌­دهنده‌­ی فرضی ما هنوز فکر می­کنه استفاده از این ابزارها مفیده. در این صورت باید موارد زیر رو در نظر بگیریم. این رو هم بگم که این لیست خیلی ابتداییه و به هیچ وجه لیست کاملی نیست. اما حداقل به شما نشون می­ده به عنوان یک توسعه دهنده موقع تصمیم‌­گیری برای استفاده از یک ابزار دنبال چه چیزی بگردید.ثبت نام: سیاست­های حریم خصوصی (Privacy Policies) و شرایط خدمات‌­دهی (Terms of Service)موقع ثبت­‌نام برای دریافت حساب کاربری توسعه دهنده،‌ همیشه شرایط خدمات‌­دهی (ToS) و سیاست­های حریم خصوصی رو به طور کامل مطالعه کنید. به طور خاص، در مورد اینکه اطلاعات خودتون و اطلاعاتی که به عنوان داده­‌های ورودی به شرکت می­دین چطور استفاده می­شه به خوبی کنجکاو باشید. سرویسی به نام Polisis وجود داره که به شما کمک می­کنه سیاست­‌های خدمات­‌دهنده­‌های مختلف رو باهم مقایسه کنید (عالی نیست اما می­تونه بهتون کمک کنه).سیاست­های حریم خصوصی توسعه دهنده و سیاست­های مختص به هر محصول رو مطالعه کنید تا بفهمید این شرکت چه اطلاعاتی از شما --به عنوان دارنده‌­ی حساب کاربری-- جمع­‌آوری می­کنه، چطور از این اطلاعات محافظت می­کنه؟ آیا داده‌­­های در حال سکون و در حال حرکت رمزگذاری می­شن؟ آیا منظورشون از metadata رو درست تعریف کردن؟ آیا داده­‌هایی که شما به عنوان ورودی به اون­‌ها می­دین رو نگه­داری می­کنن؟ برای چه مدت؟ آیا فایل­های ورودی ذخیره می­شن؟در اینجا مقایسه­‌ای بین سیاست­های دو سرویس مورد نظر خواهیم داشت. (از اینجا به بعد، مقایسه‌­های من بین جزییات تحلیل­گر لحن IBM (IBM Tone Analyzer API) و تحلیل­گر متن ParallelDots (ParallelDots Text Analysis Emotion API در باکس‌­های خاکستری مانند زیر نشون داده میشه) تحلیل­گر لحن IBM (IBM Tone Analyzer API): وقتی حساب کاربر توسعه دهنده­‌تون رو می­سازید، IBM سیاستهای حریم خصوصی‌­اش رو به شما نشون می­ده که از بازدید وبسایت گرفته تا خدمات ابری رو شامل می­شه. بعضی از چیزایی که میگن یک مقدار مبهمه. برای مثال:«IBM ممکن است اطلاعات شخصی شما را با شرکای منتخب مطرح کند تا به کمک آن­ها به شما سرویس ارائه...» اما شرکاشون چه کسانی هستن؟یا «ما اطلاعات شخصی شما را بیش از زمانی که لازم باشد که به اهداف مورد نظر برسیم نگه­داری نمی­کنیم». «بیش از زمانی که لازم باشد» یعنی چه‌قدر؟ اگه می­خواین اطلاعات مخصوص به جمع‌­آوری داده و نگهداریشون توسط API تحلیل­گر لحن رو بدونید به قسمت مستندات (document page) مراجعه کنید. بعضی اطلاعات مفیدی که دادن این­هاست:. لیست­ درخواست­ها (request loggings) در تحلیل­گر لحن غیرفعال شده.. این سرویس داده­‌های مربوط به درخواست­‌ها و پاسخ­‌ها رو لیست­‌بندی یا ذخیره نمی­کنه. . این سرویس «اطلاعات کاربران را پردازش می­کند اما آن را ذخیره نمی­کند. کاربران تحلیل­گر لحن نیازی به احراز هویت، حفاظت و یا حذف اطلاعات خود از این سرویس ندارند». ParallelDots: وب سایت ParallelDots ادعا می­کنه این مجموعه «از داده­‌های شما محافظت می­کند و مفاد قرارداد GDPR را کلمه به کلمه اجرا می­کند». ولی توضیح بیشتری داده نشده. کدوم داده‌­ها؟ ابرداده‌­ها (metadata) یا اطلاعات توسعه دهنده یا اطلاعات کاربری؟ شرایط استفاده از خدمات ParallelDots می­گه «شما نمی­توانید از این سرویس به هدف مانیتورینگ،‌ بازدهی یا کارایی یا دیگر اهداف مقایسه­‌ی شرکت­ها با یکدیگر و رقابت استفاده کنید». این خیلی برای من عجیبه. این یعنی من همین الان با نوشتن این پست شرایط استفاده از خدماتشون رو نقض کردم؟مستندسازیاگه شرکتی مستنداتی مانند Model Card for Model Reporting رو برای یک مدل یادگیری ماشین به­‌خصوص تهیه کرده باشه، قبل از استفاده­‌ی سرویس اون رو مطالعه کنید. مستندات API رو مطالعه کنید و دنبال اطلاعات درباره‌­ی امنیت API، تحقیقات پیش-زمینه‌­ای، داده­‌های آموزشی، معماری و الگوریتم‌­ها و معیارها‌ی سنجش مدل بگردید.? امنیت APIدر چند سال گذشته مثال­‌های زیادی از درز اطلاعات استفاده شده در APIهای ناامن اتفاق افتاده. این وظیفه‌­ی تامین­‌کننده‌­ی API هست که نقاط ضعف امنیتی رو برطرف کنه، درخواست­های مشکوک رو شناسایی کنه و مخابره‌ها رو رمزگذاری کنه. حتما مطمئن بشید که تامین کننده­‌ی API این مسائل امنیتی رو رعایت کرده باشه- برای اطلاعات بیشتر درباره‌­ی امنیت APIها اینجا رو بخونید.در زیر مقایسه‌­ی دیگری بین امنیت API ها برای دو سرویس مورد نظرمون انجام شده:تحلیل‌گر متن IBM: پیشنهاد IBM به توسعه دهندگان اینه که از IBM Cloud Activity Tracker with LogDN برای مانیتورینگ فعالیت‌هایی که در حساب کاربری ابری اتفاق می‌افته استفاده کنند و فعالیت‌های مشکوک رو بررسی کنند. برای افتتاح حساب از شما خواسته میشه پسورد قوی‌ای انتخاب کنید و برای شما یک کد تایید فرستاده می‌شه تا به حساب کاربری توسعه دهنده‌تون تایید بشه. ParallelDots: اطلاعاتی راجع به امنیت API در صفحه مستنداتش موجود نیست. توسعه دهندگان موقع ثبت نام لازم نیست پسورد قوی‌ای انتخاب کنند،‌ البته ParallelDots برای شما یک ایمیل تاییدیه می‌فرسته تا حساب کاربری¬تون رو تایید کنه.? مدل دقیق و جامع.. اما برای چه گروهی؟ در داستان «روشن و دوست­داشتنی» زبان نقش بسیار مهمی رو ایفا میکنه. توییت­‌هایی که فقط به زبان انگلیسی نوشته شده نمی­تونه درک درستی از گفتگوهای مربوط به این کمپین که در هندوستان اتفاق افتاده به ما بده چون این محصول منحصر به یک زبان نیست.مستندات API مدنظرتون رو چک کنید و ببینید زبان دیگری رو پشتیبانی می­کنه یا خیر. اگه جواب مثبته، میزان دقتش برای زبان­های مختلف به چه شکله؟ سرویس دهنده­‌ها معمولا ادعا می‌­کنند که زبان­‌های مختلفی رو پشتیبانی می­کنند اما اطلاعاتی راجع به دقت مدل و معیارهای محاسبه برای هر زبان به‌خصوص رو ارائه نمی­دن. مستندات API و تحقیقات زمینه­‌ای رو زیر و رو کنید، تا بفهمید معیارهاشون برای هر زیرگروه چیه.در مورد موضوع مدنظرمون من این موارد رو پیدا کردم:تحلیل‌گر لحن IBM: این شرکت ۱۱ زبان پشتیبانی شده رو لیست کرده. البته،‌ هیچ اطلاعات دقیق‌تری راجع به دقت یا معیارهای دیگه‌ی محاسبه برای زبان‌های مختلف ارائه نشده. ParallelDots: این شرکت هم ۱۴ زبان پشتیبانی شده رو لیست کرده. و هیچ اطلاعات بیشتری درباره‌ی دقت یا معیارهای محاسبه برای زبان‌های مختلف ارائه نکرده.❗️باید و نباید‌های استفاده از مدل بعضی از شرکت­‌ها شما رو درباره­‌ی کاربردهای پیشنهادی خدماتشون راهنمایی می­کنند، مثلا میگن این محصول به درد آنالیز کامنت‌ها و ریووهای مربوط به محصولتون یا بازاریابی میخوره.‌ اما بعضی وقت­ها این کاربردها خطرناک یا غیراخلاقی اند و منجر به تبعیض بین گروه‌های اجتماعی مختلف، تجسس بیجا و نقض حریم خصوصی میشن. این شرکت­ها باید در مورد مواردی که توسعه دهنده نباید از خدمات اون‌­ها استفاده کنه هم شفاف عمل کنند (هر چند که این موضوع باید و نباید‌ها پیچیدگی‌های زیادی داره...)تحلیل‌گر متن IBM: موارد پیشنهادی استفاده ایناست: بررسی رضایت مشتری در فروم‌های پشتیبانی؛ بررسی رضایت مشتری در پاسخ‌های توییتر؛ پیش‌بینی و جفت کردن کسانی که در اپلیکیشن‌های زوج‌یابی آنلاین شرکت میکنن؛ پیش‌بینی احساسات و تشویق‌ها در سخنرانی‌های TED. چیزی درباره‌ی موارد عدم استفاده گفته نشده.سرویس ParallelDots: دو مورد پیشنهادی استفاده از این سرویس وجود داره: «شناسایی منتقدین و بدگویان به منظور بهبود خدمات برای آن‌ها» و «زیرنظر داشتن برند». چیزی درباره‌ی موارد عدم استفاده گفته نشده.⚖️ سوگیری و برابری در چند سال گذشته محققین و متخصصان راجع به به سوگیری‌ها و پیامدهای تبعیض‌­آمیز سیستم­های یادگیری ماشین هشدارهایی دادند. متخصصین این حوزه که معمولا روی fairness, accountability, and transparency in machine learning کار میکنن جعبه‌­ابزارهای (Toolkit) بیشماری ارائه کردن تا شرکت­‌ها بتونن موارد مربوط به حقوق کاربران رو در محصولات مبتنی بر یادگیری ماشین‌شون ارزیابی کرده و در مورد ریسک‌­های اجتماعی ممکن شفاف عمل کنند. در اینجا یه لیستی درست کردم از جعبه‌­ابزارها،‌ مقالات و نوآوری‌­های موجود در زمینه‌ی سوگیری و عدالت.تحلیل­گر متن IBM: IBM یک سری اطلاعات راجع به تحقیقات پیش‌­زمینه‌ای، روند جمع­‌آوری داده (داده‌­ی توییتر)،‌و روش تفسیر داده‌­ها در اختیار شما می­ذاره. البته اشاره‌­ای به پیامدهای تبعیض‌­آمیز محتمل نمی­کنه و هیچ اطلاعات دقیق­‌تری راجع به ساختار جمعیتی و اندازه‌­گیری بر اساس زیرگروه‌­های متفاوت (زبانی، جنسیتی، سنی و غیره) به ما نمی­ده. نکته­‌ی جالب: محققین IBM خودشون یکی از پیشگامان ارائه‌­ی جعبه ابزارهای fairness هستن (سری به IBM 360 بزنین). مثلا یکی از پیشنهادات خودشون این بوده که برای هر مدل ML از فکت­‌شیت استفاده بشه تا منبع داده‌ها ، جزییات مدل­‌ها، و موارد استفاده مشخص بشه. اما وقتی مدل و محصول خودشون رو می­‌بینی نشانی از همچین اطلاعاتی در صفحات محصول نیست. این داستان من رو یاد این شعر نظامی انداخت: عیب کسان منگر و احسان خویش دیده فرو کن به گریبان خویش ParallelDots: هیچ اطلاعاتی درباره‌­­ی سوگیری و رعایت عدالت پیدا نکردم.? نگهداری و به روز رسانیتحلیل‌گر متن IBM: این شرکت به طور مداوم خدمات خودش رو به روز رسانی می‌کنه و اطلاعاتی درباره‌ی آپدیت‌ها در اختیار شما می‌ذاره. البته در بعضی آپدیت‌ها از جملات مبهم و کلی‌ای مثل «همچنین در این آپدیت تغییرات داخلی انجام شد و بهبود یافت» استفاده شده، این تغییرات داخلی چی هستن؟ ParallelDots: نتونستم اطلاعاتی درباره‌ی به روز رسانی و نگهداری پیدا کنم.? فروم‌های توسعه‌­دهندگان فروم‌های توسعه دهندگان (در Slack Workspace، Stack Overflow، GitHub،‌ و غیره) به توسعه‌دهنده‌ها کمک می­کنند تا بازخوردها رو باهم به اشتراک بگذارن، با همدیگه و خدمات دهنده ارتباط برقرار کنن،‌ و راجع به مسائل مختلفی مثل حریم خصوصی،‌ امنیت،‌ سوگیری و عدالت، توضیح­‌پذیexplainabilitylity) یک محصول مشخص و در یک حوزه‌­ی خاص با هم مباحثه کنند.تحلیل‌گر متن IBM: IBM Watson یه Slack Workspace داره و فروم توسعه‌دهندگان Stack Overflow. صفحه‌ی GitHub تحلیل‌گر لحن رو می‌تونید اینجا ببینید. ParallelDots: این شرکت هم یک صفحه‌ی GitHub داره.پیشنهاداتپیشنهاداتی به توسعه دهندگان از APIهای یادگیری ماشین کورکورانه استفاده نکنید، مخصوصا وقتی سازوکارشون شفاف نیست. علاوه بر معیارهایی چون هزینه،‌ سرعت، و دقت معیارهای مربوط به سوگیری و عدالت، حریم خصوصی، امنیت و شفافیت و explainability و interoperability رو هم در نظر بگیرید. اگه در بخش مستندات چیزی راجع به سوگیری پیدا نکردید از سرویس­‌دهنده بخواین که اگر مدل رو بر اساس معیار‌های سوگیری ارزیابی کردن، مدارکش رو در اختیارتون بذارن. وظیفه‌­ی اون­هاست که این اطلاعات رو به صورت آنلاین منتشر کنن یا جزییاتش رو در اختیارتون بذارن. از قدرتتون در جایگاه توسعه‌دهنده و خریدار سرویس استفاده کنید، حتما توجه می­کنن!به موضوعی که می­خواین برای اون از ابزار استفاده کنید فکر کنید. چه کسی ممکنه از پیامدهای استفاده از اون API یادگیری ماشین برای محصول مورد نظر آسیب ببینه؟ به جنسیت، نژاد، مذهب، سن، زبان، لهجه،‌کشور، موقعیت اجتماعی-اقتصادی­شون فکر کنید (برای مطالعه­‌ی بیشتر درباره‌­ی گروه‌­های آسیب­‌پذیری که تحت حفاظت پیمان­‌نامه­‌های حقوق بشری هستند اینجا رو مطالعه کنید). در اینجا ابزارهای ارزیابی ML رو به روز رسانی می­کنم؛ ممکنه این لیست به روند ارزیابی شما کمک کنه.به دنبال مجموعه داده­‌ها و benchmark‌هایی باشید که بتونید از اون‌ها برای ارزیابی پیامدهای تبعیض‌­آمیز پروژه‌­های ML استفاده کنید (برای مثال Equity Evaluation Corpus یک مجموعه ­داده‌­ی نشان­‌شده است که برای سنجش وجود تبعیض در سیستم­های تحلیل احساس استفاده می­شه). با افرادی که در ساخت چنین benchmark هایی نقش دارن ارتباط بگیرید و از اون­ها برای بررسی مدل مد نظرتون در حوزه­ای که کار می‌کنید کمک بگیرید. برای پیدا کردن افرادی که روی این مسائل کار می­کنند به FAccT conference مراجعه کنید.وقتی متوجه شدید که سرویس API یادگیری ماشینی که باهاش کار می­کنید در حوزه‌­ی کاری بخصوص شما از نظر اخلاقی مشکلاتی داره، از طریق ساخت یک زیرگروه یا issue در صفحه‌­­ی GitHub اون شرکت،‌ یا Stack Overflow، و یا صفحات اجتماعی مختص توسعه‌دهندگان و پرداختن به موضوع مورد نظرتون،‌ توسعه‌­دهنده­‌های دیگه رو هم از این موضوع با خبر کنید. تقریبا تمام سرویس­‌دهندگان چنین پلتفرم­‌هایی دارن که توسعه­‌دهنده‌­ها بتونن اونجا مسائل‌شون رو باهم به اشتراک بگذارن. سرویس‌دهندگان معمولا میگن امتحان و بررسی ابزارهاشون برای تک تک حوزه­‌های مورد استفاده عملا غیر ممکنه، چون خدماتشون ابزاری با استفاده‌­ی عامه (general purpose). اما شما می­تونید بهشون اطلاع بدید که چه مشکلات اخلاقی‌ای حین استفاده از این ابزار تو حوزه‌­ی خاص شما وجود داشته. و با انتشار عمومی این اطلاعات می‌تونید به بقیه­‌ی توسعه‌­دهنده‌­هایی که می­خوان از این سرویس استفاده کنند هم کمک کنید.اگه تو نرم‌افزارتون از یک API یادگیری ماشین شرکت ثالث هم استفاده میکنید، در سیاست حریم خصوصی و شرایط خدمات این قضیه رو ذکر کنید. به ذکر جمله­‌ی «ما از خدمات دیگر شرکت­‌ها هم استفاده می­کنیم» بسنده نکنید. اطلاعاتی درباره­‌ی اون خدمات ثالث هم بدین. در مورد این که حضور این سرویس‌دهنده‌­ی ثالث چه تاثیری بر پردازش داده­‌ها داره به صورت شفاف توضیح بدین.پیشنهاداتی به سرویس­‌دهندگان API یادگیری ماشیندرسته که تمرکز این مقاله روی توسعه‌­دهندگان شخص ثالثه و نه روی سرویس‌دهندگان. اما برای اینکه بدونیم مسئولیت­‌های مهم سرویس‌­دهندگان در قبال اطلاع رسانی به توسعه دهندگان چیه، می­شه گفت:مستندسازی کنید و شفاف باشید!‌ معیارهای مربوط به سوگیری و عدالت رو در لا‌به‌لای یک کتابچه‌ی ۵۰۰ صفحه‌­ای پنهان نکنید. از زبان ساده‌تر و UI شفاف و با کارکرد آسان استفاده کنید که توسعه ­دهندگان رو حین مطالعه‌ی معیارهای مربوط به عدالت و حریم خصوصی راهنمایی کنه، اون هم قبل از اینکه در سرویس شما ثبت نام کنن.در صفحات اجتماعی و پورتال­‌های توسعه‌­دهندگان‌تون زیرگروه­‌هایی درباره­‌ی سوگیری، امنیت و حریم خصوصی API تون ایجاد کنید. اجازه بدین توسعه دهندگان از طریق این پورتال­‌ها درباره­‌ی این مسائل بحث کنن (برای مثال ایجاد یک Slack channel مخصوص در workspace توسعه دهندگان) و از توسعه‌­دهندگان بخواید تجربیاتشون رو در مورد مسائلی مثل تبعات اخلاقی و اجتماعی، سوگیری و عدالت، امنیت، و حریم خصوصی حین استفاده از سرویس شما به اشتراک بگذارن (بعضی نمونه­‌های خوب عبارتند از IBM 360 Slack Channel, Salesforce UI warnings ). هر نوع حساب کاربری توسعه دهنده (رایگان،‌ استاندارد، ویژه) میزان مسئولیت متفاوتی رو برای شما ایجاد می­کنه. برای نظارت سواستفاده‌­های احتمالی از سرویستون،‌ حفاظت حریم خصوصی‌اش رو ارتقا بدین. این مقاله چند راه حل امکان­‌پذیر رو بهتون ارائه می­ده: نظارت مسئولانه‌­ی سواستفاده از «هوش مصنوعی به عنوان یک خدمات».پیشنهاداتی به منتقدین ML و فعالان حوزه­‌ی حقوق بشر و تکنولوژیحرف­های زیادی درباره‌­ی دموکراتیزه کردن فناوری­های دیجیتال به گوش می­رسه. همینطور درباره‌­ی تعامل متقابل (interoperability) خدمات دیجیتال. این­ها خیلی خوبه. اما به همراهش نوع جدیدی از تعاملات،‌ جریان اطلاعات، و مالکیت و تسلط بر داده به وجود میاد.هدف این مقاله ایجاد آگاهی درباره­‌ی اهمیت این ارتباطات و نقش‌­آفرین­‌هاییه که معمولا نادیده گرفته می­شن. برای توسعه­‌دهنده‌­ها، که قبل از اینکه این APIها رو با نرم‌افزار خودشون تلفیق کنن،‌ به مسئولیت­‌های این کار فکر کنن. همینطور برای محققین سیاست‌گذاری‌های تکنولوژی که این مسائل را تشریح کنن و یک راهنمای عملی برای کمک به بازیگران به ظاهر کوچک این دنیای ­­داده-محور تهیه کنن.وقتی یک سرویس/محصول به خصوص رو نقد می­‌کنید با دقت روابط شخص ثالث رو بررسی کنید و پیامدهایی که ممکنه حقوق کاربران رو خدشه دار کنه شناسایی و ارزیابی کنید. حین کارتون توجه بیشتری به مسائلی مثل زنجیره­‌ی تامین داده و محصول داشته باشید و نقش و مسئولیت­‌های نقش‌­آفرینان مختلف اکوسیستم فناوری­‌های دیجیتال رو با دقت بررسی کنید.کار من تحقیق روی تاثیرات اجتماعی و حقوق بشری فناوری‌های جدیده. اگر سوالی داشتید برای من ایمیل بفرستید (rpakzad@taraazresearch.org) یا تو توییتر پیام بدید. خوشحال میشم باهاتون صحبت کنم. آدرس وبسایت ما هم اینجاست: taraazresearch.org