4. Эмбеддинги



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



5. Конфиденциальные вычисления



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



6. Федеративное обучение



Но, в конце-концов, зачем вам передавать сами данные, чтобы построить модель? Передавайте модель (параметры модели, настраиваемые при обучении). Обучив модель на своих данных, вы можете свободно передавать владельцам других данных параметры самой модели, а они могут передавать параметры модели, обученной на их данных, вам. Простейшая такая схема - обучить модель у себя, передать модель партнерам и забрать уже доученную на их данных. Но в целом подход более общий, а детали реализации могут немного отличаться. Например, вы можете делать обучение модели в некоторой общей песочнице, которая умеет обращаться к данным нескольких сторон, получая значения текущих ошибок моделей, но не получая сами данные. Общая концепция федеративного обучения в том, что фактического обмена данными не происходит, но модель при обучении использует данные всех участвующих сторон.



Если как-то сравнивать все эти подходы, то наиболее жизнеспособные и перспективные, на мой взгляд, последние четыре. Они приведены исходя из моей субъективной оценки "возрастания секьюрности". Но всегда нужно помнить, что как бы секьюрно вы ни обменивались данными с компанией-партнером, какие-то данные нельзя передавать даже в преобразованном и как угодно зашифрованном виде. Например, в телекоме закон о тайне связи категорически запрещает любые манипуляции с содержанием звонков или сообщений между клиентами, и основывать на этом работу моделей недопустимо не только с моральной точки зрения, но и с точки зрения российского законодательства (а за соблюдением следят соответствующие органы). Деятельность банков и медучреждений в вопросах данных тоже регулируется. Свободней всего себя чувствуют интернет-компании: пока что любые их действия с данными ограничиваются только законом о персональных данных, здравым смыслом и заботой о своей репутации. Но посмотрим, как ситуация изменится через 10-15 лет.