В Android 12 появился механизм дистанционного обучения облачных ИИ-моделей. Год спустя Google наконец опубликовала документ с разъяснением концепции архитектуры, используемой для этой функции и ряда других, родственных.
- Введение
- Применение PCC
- Страхи вокруг PCC
- Архитектура Private Compute Core
- Практическое применение
- Выводы
Введение
4 октября 2021 года компания Google официально объявила о выпуске Android 12 — крупного обновления своей мобильной ОС. Помимо косметических улучшений там появился ряд новых функций, одна из них — механизм обеспечения конфиденциальности и безопасности персональных мобильных данных Private Compute Core (PCC).
Как утверждал разработчик, назначение механизма PCC состоит в том, чтобы обеспечить обработку и передачу через защищённый канал в облако Google персональных данных, получаемых с микрофона и камеры мобильного устройства. Такая потребность была объяснена тем, что Google нужно проводить машинное обучение для ИИ-модели, которая потом будет выполнять на пользовательских устройствах ряд новых интересных функций.
Формально это выглядит крайне заманчиво. Но сразу возникает вопрос: как осуществлять обучение на пользовательских данных, если люди не давали согласия на их отторжение от своего устройства?
Google оправдывалась тем, что обеспечивает защищённость пользовательских данных в канале их передачи в облако путём изоляции информационных потоков в самостоятельных процессах. Их работа поддерживается за счёт функций реализованных в составе фреймворка AOSP (Android Open Source Project), а для управления применяются общедоступные API-интерфейсы Android.
На первый взгляд всё выглядит безобидно. Но появление ссылки на AOSP заставило сомневаться тех, кто занимается вопросами безопасности.
Напомним, AOSP представляет собой готовый набор базовых программных компонентов, которые используются разработчиками прикладного ПО и вендорами оборудования. Исходный код AOSP открыт, что даёт всем желающим возможность его проверить и служит гарантией отсутствия там незадекларированных функций.
Однако разработчики аппаратных средств добавляют в систему свои низкоуровневые драйверы, которые взаимодействуют с AOSP для поддержки соответствующего оборудования. Это необходимо для адаптации ОС Android для работы с ним. Например, Qualcomm адаптирует так Android для поддержки установленного чипсета (SoC).
При этом AOSP не имеет каких-либо ограничений на его распространение. Например, компания Huawei, потеряв доступ к американским технологиям, всё равно сохранила возможность использования AOSP. Это объясняется тем, что вся «специальная начинка», в том числе для безопасности, размещается в дополнительных компонентах, таких как Google Mobile Services (GMS), где хранится набор средств для поддержки мобильных платежей, голосовых команд, доступа к облачному хранилищу. Этот набор уже требует лицензирования и недоступен для Huawei.
Подведём промежуточный итог. Прошлогодний анонс Private Compute Core и его связь с AOSP вызвали определённую озабоченность среди безопасников отсутствием полной информации о сохранности персональных данных. Чтобы устранить возникшие сомнения, Google выпустила «Private Compute Core Architecture» — официальный документ для разработчиков, содержащий подробную информацию о применяемой архитектуре.
Рисунок 1. Концепция работы механизма Private Compute Core
Применение PCC
Возможности PCC уже используются Google для реализации ряда функций на Android. Наиболее яркая среди них — это Live Translate.
Само название функции Live Translate несколько сбивает с толку. В арсенале Google уже есть ряд инструментов, которые осуществляют автоматический перевод с использованием обученной ИИ-модели. Но в данном случае речь идёт о новой, эксклюзивной функции, доступной пока только на смартфонах Google Pixel 6 и Pixel 6 Pro, оснащённых чипом Google Tensor.
Что может делать Live Translate на Pixel 6? Эта функция позволяет переводить «на лету» живые разговоры и песни. Не надо копировать и вставлять текст в окно облачного сервиса Google Translate, перевод осуществляется синхронно и текст сразу появляется на экране смартфона. Точно так же можно смотреть видео на любом иностранном языке и сразу в режиме реального времени получать субтитры с переводом. Аналогичные возможности доступны и для телефонных разговоров.
Помимо Live Translate, Google использует механизм PCC для следующих сервисов:
- Live Caption — добавляет заголовки к медиафайлам;
- Now Playing — распознаёт слова песни и выводит на экран её название и имя исполнителя;
- Smart Reply — предлагает подходящие ответы на сообщения в чатах.
Рисунок 2. Архитектура решения Smart Reply
Страхи вокруг PCC
Но… настало время обсудить риски. Очевидно, что при переводе необходимо каким-то образом обращаться к облачным сервисам Google для использования обученной ИИ-модели. Кажется, что содержимое личных разговоров должно неизбежно попадать в распоряжение Google, ведь ИИ-модель должна учиться на пользовательских данных, а не на какой-то абстракции.
Google успокаивает: «Нет! Пользовательские данные остаются защищёнными благодаря Private Compute Core».
Архитектура Private Compute Core
Главная идея обеспечения конфиденциальности и безопасности в механизме Private Compute Core (PCC) состоит в использовании изолированных процессов. В них происходят обработка и передача потоков конфиденциальных данных. Сами процессы создаются уже имеющимися средствами AOSP и контролируются через общедоступные API-интерфейсы Android. По сути, Google создаёт своеобразную «песочницу» на системном уровне.
Рисунок 3. Архитектура решения Live Caption
Как же тогда происходит машинное обучение ИИ-модели, если для её наполнения нужны реальные пользовательские данные, а не хеши или что-то подобное?
Google называет это «децентрализованным обучением». Она утверждает, что для каждого конкретного телефона можно выстроить свою индивидуальную модель и предоставить гарантию того, что личные данные никогда не покинут телефон пользователя.
Разъяснения этого процесса выглядят, правда, несколько расплывчато. Google выбрала решение в стиле «нового поколения». Это комикс.
Рисунок 4. Категории данных, обрабатываемых с помощью PCC
Согласно предложенной Google модели, данные для проведения машинного обучения могут покинуть устройство только через специально созданную ею «песочницу». Данные не только передаются в зашифрованном виде, но ещё и анонимизируются. Такое решение не позволяет посторонним извлечь их и восстановить их персональную принадлежность.
Данные в обезличенном и зашифрованном виде собираются со многочисленных устройств и передаются в облако Google. Расшифровка осуществляется не индивидуально, а совокупно. Полученные данные, уже не зашифрованные, но всё ещё анонимизированные, поступают в канал для машинного обучения. Там происходит выявление закономерностей.
Google гарантирует, что данные отдельных участников не могут быть извлечены из совокупности. Для этого применяются специальные средства защиты, позволяющие скрыть их уникальные признаки.
Обученная модель отправляется обратно пользователям в виде небольших фрагментов кода. Пользователи используют эти данные и отправляют через «песочницу» новые порции для обратной связи, т. е. для выполнения следующего цикла переобучения ИИ-модели в облаке Google.
В результате формируется статичная ИИ-модель, которая работает на пользовательских устройствах.
Практическое применение
Недавно Anti-Malware.ru сообщал, что Google решила проблему распознавания рукописных медицинских документов, написанных неразборчивым почерком. На конференции в Индии был представлен сервис, который сканирует рецепты и переводит их на понятный язык.
Очевидно, что работа ИИ в данном случае мало отличается от процедуры, например, распознавания голоса; более того, она проще. В чём же тогда проблема, из-за которой такой сервис появляется значительно позднее, чем служба распознавания устной речи? Главная задача, требующая решения, — это обеспечение безопасности распознанных персональных данных при передаче в облако и обратно.
Хотя Google не называла эту проблему при анонсе нового сервиса, очевидно, что его практическое внедрение стало возможным именно благодаря вышеописанным улучшениям мобильной ОС.
Выводы
Новый механизм Google PCC позволяет дистанционно обучать в облаке ИИ-модель, которая используется для поддержки работы ряда новых функций на смартфонах с ИИ-чипсетом Tensor. Хотя обучение выполняется на «живых» пользовательских данных, они не могут быть скомпрометированы, потому что не покидают пользовательское устройство в исходном виде.