«Нетоксичный алгоритм». Интервью с участниками хакатона «Прожектор 2021» о том, как вылечить сексизм переводчиков и чатботов

Интервью с участниками хакатона «Прожектор 2021» Изображение: Наталья Ямщикова

Слово «наука» по смыслу ближе к слову «мужчина», чем к слову «женщина», а к слову «женщина» близко слово «беспомощность». Это не языковой факт, а вывод, который делают алгоритмы, обучаясь на исторически накопленных языковых данных. Затем гендерные стереотипы воспроизводятся в автоматических переводчиках, чатботах и, например, при анализе вашего резюме. 

Принято считать, что лучшая защита от токсичности для алгоритма – обучение на нейтральных наборах данных, в которых никаких стереотипов нет. Но найти такие данные почти невозможно. Участники хакатона Теплицы и «Новой газеты» «Прожектор 2021» Михаил Кузнецов, Артем Покрой и Тимофей Коржебин предложили другой, более простой и универсальный подход к «лечению», а точнее даже – «воспитанию» алгоритмов. Ольга Тараканова расспросила Михаила Кузнецова, лидера команды, как работает их «Нетоксичный алгоритм», какие у проекта перспективы и ограничения.

– Михаил, у вас получилось создать на хакатоне нетоксичный алгоритм?

– Мы не верили, что можно создать гендерно-нейтральную языковую модель, обучая ее на романах Льва Толстого. Мы думали, что необходим  гендерно-нейтральный набор данных. Мы искали медицинские энциклопедии, базы научных статей, консультировались с одними из лучших специалистов по обработке естественного языка в телеграм-сообществе NLP in English. Но, обучаясь вроде бы на нейтральных данных, модель все равно выдавала стереотипы. Это был инсайт для нас: предвзятости существуют, даже когда мы их не замечаем.

Михаил Кузнецов (справа), лидер команды «Нетоксичный алгоритм». Фото: из архива Михаила.

К концу первого дня хакатона мы решили улучшить функцию регуляризации. На написание кода потратили всю ночь, с субботы на воскресенье не спали, но к утру получили первый технический результат. Почему на Толстом? Это классика не только русской и мировой литературы, но и машинного обучения – толстенная книга, в которой текста достаточно, чтобы обучить полноценную модель. И если наша функция справилась с таким стереотипным текстом, то и на других должна сработать.

– Расскажите, как и почему алгоритмы усваивают стереотипы, существующие в обществе?

– Алгоритмы обучаются на датасетах, которые считаются грамматически корректными и из которых можно вытянуть смысловые связи между словами. Есть несколько подходов к обработке естественного языка с помощью машинного обучения. Расскажу про word2vec, которым пользовались мы. 

Word2vec-модель фактически представляет собой словарь, в котором каждое слово – это вектор. Вектор – математические понятие, n-мерный набор чисел. Например, двухмерный. Представим, что у нас есть координатная плоскость, как в школе. Вектор – это два числа, координата по оси x и координата по оси y. Вектор слова – такой же набор чисел, только в нем не два числа, а, скажем, 200, как у нас в алгоритме. 

Между словами в векторной форме можно находить расстояние. Хороший пример, который всегда приводят на вводных лекциях по NLP (natural language processing, обработка естественного языка): возьмем слово Париж, вычтем из него Францию, прибавим Британию – и получим Лондон. То есть мы вычли окраску страны, получили общее понятие «столица», прибавили другую страну и получили вектор другой столицы. 

Устанавливая расстояния между словами, можно просить модель анализировать или достраивать предложения. Слова, которые стоят рядом в предложении, как правило, находятся близко друг к другу и в пространстве словаря. 

Сексизм алгоритмов в реальном мире – выдача в Google по запросу CEO (генеральный директор, но в английском это грамматически гендерно-нейтральное слово). Скриншот автора.

Проблема в том, что иногда подобный анализ заставляет алгоритм делать неадекватные выводы. Яркий кейс – HR-робот от Amazon, который принимал на работу преимущественно мужчин [А еще автоматически отвергал резюме, в которых фигурировало слово «женский». – Прим. О.Т.]. Более повседневный пример – автоматический перевод, в котором слово physicist с английского на русский, скорее всего, будет переведено как «физик» и «он». В исторических наборах данных, на которых переводчики обучались, слова типа «физик», «инженер», «наука» ближе к слову «мужчина».

– Какие существуют подходы к очистке алгоритмов от стереотипов? Чем отличается тот, что предложили вы?

– Для того чтобы обучить модель делать что-то полезное, необходимо почистить и привести в нормальную форму данные. Приведу интересный кейс с ботом от Microsoft, который выпустили учиться на сырых данных из Twitter’а (вычислительные мощности Microsoft это позволяют). Спустя несколько часов эта модель превратилась в кого-то вроде постпубертатного подростка-фашиста, который наезжает на всех подряд; Microsoft’у пришлось извиняться. Или гипотетический пример: если бы мы обучали автоматические переводчики на переводах, в которых используется ненормативная лексика, они и сами выдавали бы тексты в гораздо более, скажем так, вольной форме. То есть обучение алгоритмов на wild data, на сырых данных, может привести к воспроизводству не только стереотипов, но и других языковых привычек. 

Чтобы объяснить, как не допустить стереотипов в алгоритмах, я бы хотел провести аналогию, технически не во всех аспектах корректную, но рабочую. Модель машинного обучения можно в чем-то сравнить с ребенком. Когда мы говорим о «чистке», это похоже на такую идею: чтобы хорошо воспитать ребенка, мы будем закрывать ему глаза на все нехорошее и говорить, что этого не существует. 

Наш же подход заключается в том, что мы показываем: да, что-то плохое действительно существует, но так лучше не делать. Может быть, у Льва Толстого женщина более хрупкое существо, но в наше время мы понимаем, что это стереотип. Технически то, что мы разработали, называется штрафующей функцией, или функцией регуляризации. 

Слайд из презентации проекта «Нетоксичный алгоритм» демонстрирует близость между разными словами (слева) к словам «мужчина» и «женщина» до и после работы регуляризирующей функции.

– Как вы определили, за близость между какими словами нужно штрафовать модель, а какие слова должны остаться рядом?

– Мы не считаем себя специалистами в этике и поэтому не можем сказать, какие слова действительно должны считаться гендерно окрашенными, а какие нет. Могу привести пример с медицинскими терминами, которые описывают, скажем, вторичные половые признаки. С одной стороны, логично сказать, что они гендерно окрашенные, с другой, это же просто научная терминология. 

В рамках эксперимента на хакатоне же мы считали гендерно окрашенными понятийные слова, то есть те, которые затруднительно определить, не обращаясь к гендерному признаку: отец, мать, дочь, сын, актер, актриса. В дальнейшем мы планируем консультироваться со специалистами из областей этики, социологии, лингвистики. В крупных компаниях, которые работают в сфере машинного обучения, обязательно есть специальные отделы этики. 

– То есть вы воспользовались логикой от противного: если слово не понятийное, то оно не должно быть близко к слову «мужчина» или слову «женщина».

– Да. 

– Есть контексты, в которых гендерно окрашенные связи между словами уместны. Например, женское письмо – литературные тексты, написанные женщинами и осмысляющие специфически женский опыт. В них, может быть, даже будет связь «женщина – кухня» или «женщина – объект», но эта связь будет предметом критики. А еще будет много менее очевидных и потому ценных и интересных ассоциаций. Насколько ваш проект открыт к усложнению с привлечением специфических наборов данных и эксперток – то есть что возможно на техническом уровне? И какие у вас самих планы по развитию «Нетоксичного алгоритма»?

– Это действительно сложный комплексный вопрос – как формализовать понятия вроде «опыта». Но полагаю, что это возможно, если усложнять штрафующую функцию и логику ее работы. Как конкретно, пока говорить сложно – нужны консультации со специалистами как из сфер этики и социологии, так и по машинному обучению.

Сейчас мы планируем написать научную статью в области машинного обучения о той функции, которую мы предложили на хакатоне. Мы также хотим проверить, сработает ли штрафующая функция, если использовать другие подходы к машинному обучению, не только word2vec. Word2vec хорош для того, чтобы проверить гипотезу. Он не требует больших вычислительных мощностей и датасетов. 

Во время хакатона мы сами не были уверены, что наша функция сработает. Мы предполагали, что попытка подкорректировать пространство смыслов во время обучения нанесет всей модели вред и что обучать ее нужно все-таки на гендерно-нейтральных датасетах. Но в итоге удалось додумать функцию так, что модель показала нестереотипичные результаты после обучения на «Анне Карениной» и «Войне и мире», которые, мягко говоря, не назовешь непредвзятыми по гендерному признаку текстами. 

Артем Покрой (слева), Тимофей Коржебин (справа), участники команды «Нетоксичный алгоритм». Фото: Виктор Гохович.

И все же пока мы не знаем, как наша функция поведет себя с другими техническими реализациями машинного обучения, например, с архитектурой Transformer. Возможность применять функцию с разными подходами важна, потому что в области машинного обучения все развивается настолько стремительными темпами, что методы, которыми пользовались два года назад, уже считаются устаревшими.

– Поскольку проблема гендерного баланса стоит в IT-индустрии не только на уровне алгоритмов, но и на уровне людей, спрошу: а в вашей команде есть женщины?

– В нашей команде не было женщин. Мы сформировали эту команду достаточно давно: «Прожектор» был нашим первым взрослым хакатоном (нам всем по 18 лет), но мы участвовали во многих школьных, гиковских хакатонах. В этом смысле мы, может быть, закрыты и консервативны. Сплотились и с тех пор так и ходим.

Но есть интересный момент. У меня есть знакомая, Анастасия Гисина, которая состоит в команде Russian Hack Team, до 18 лет она поучаствовала в десятках хакатонах и большинство из них выиграла. Когда я увидел Настю в чате «Прожектора» и подумал, что она будет участвовать наравне с нами, то сразу решил: «Мы не сможем победить». А еще к нам в группу – я учусь в МИФИ на направлении «Программная инженерия» – недавно перевелась девушка, Полина Белова, которая делает проекты с нейросетями, и мы стали активно общаться. Я хочу вовлечь ее в нашу работу, звать на хакатоны. Всегда приятно общаться с идейными и интересными людьми.

Подробнее о проекте «Нетоксичный алгоритм»: