Как в oneFactor ускорили безопасное обучение ML-алгоритмов в 19 раз с помощью Intel Xeon Gen3 и SGX 2.0

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!



Эксперты компании oneFactor протестировали процессоры Intel Xeon Ice Lake с технологией Intel SGX 2.0 для оценки ускорения процесса машинного обучения на собственной платформе SmartMachine по сравнению с процессорами Intel предыдущего поколения. Результат был получен более чем впечатляющий: ускорение полного цикла обучения составило от 8 до 19 раз в зависимости от размера подаваемых на вход данных. В этой статье oneFactor поделится методикой и деталями тестирования.

О компании oneFactor


oneFactor – разработчик платформы SmartMachine для конфиденциального совместного машинного обучения на глобальном графе клиентских связей, которая дает возможность быстро создавать максимально точные сервисы. Технология, лежащая в основе платформы, была запатентована компанией еще в 2019 году.

SmartMachine позволяет конфиденциально объединять данные нескольких компаний и индустрий с использованием аппаратного решения Intel SGX. Платформа запущена в промышленную эксплуатацию в конце 2020 года. С марта 2021 года технология oneFactor позволяет не только исполнять обученные модели в анклаве, но также выполнять их тренировки внутри анклава Intel SGX. На данный момент к SmartMachine уже подключен ряд крупнейших по объему розничного кредитования российских банков.

Тестовый сценарий


Один из основных сценариев работы платформы SmartMachine — безопасный тренинг моделей с использованием алгоритмов машинного обучения.

Для обучения используются зашифрованные датасеты в бинарном формате со случайными данными, которые генерируются скриптом на сервере и сохраняются в папку с датасетами /var/ds/1. Приложение с обучающим анклавом запускается в докер-контейнере и монтирует эту папку с датасетами в файловую систему контейнера.


Cценарий обучения

Для проведения бенчмарка выбран следующий сценарий обучения:
  1. Загрузка файла выборки targets от клиента платформы SmartMachine
  2. Подготовка датасетов с фичами для обучения
  3. Обучение модели
  4. Получение модели и оценка её качества.
  5. Расчёт результата для выборки targets.

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

Конфигурации тестовых стендов




Диаграмма взаимодействия компонент

Конфигурация ноды тестового кластера на платформе oneFactor на базе Intel CPU c SGX версии 1.0:
CPU Intel Xeon E3-1270v5 3.6 ГГц
RAM 64 ГБ DDR4 2133 MHz
HDD 2 × 480 ГБ SSD Intel DC S3500 Series
OS Ubuntu 18.04 5.4.0-66-generic
Вывод тестового приложения по определению параметров SGX процессора, установленного на сервере:

Extended feature bits (EAX=07H, ECX=0H)
eax: 0 ebx: 29c6fbf ecx: 0 edx: 9c002600
sgx available: 1
sgx launch control: 0

CPUID Leaf 12H, Sub-Leaf 0 of Intel SGX Capabilities (EAX=12H,ECX=0)
eax: 1 ebx: 0 ecx: 0 edx: 241f
sgx 1 supported: 1
sgx 2 supported: 0

MaxEnclaveSize_Not64: 1f
MaxEnclaveSize_64: 24 (16 MB)


Конфигурация сервера на базе Intel Ice Lake CPU c SGX версии 2.0, предоставленного компанией Intel, для проведения бенчмарка:
CPU 2x Intel Ice Lake Xeon, 18 ядер, 2.5 ГГц
RAM 378 ГБ DDR4 2933 MHz
HDD 1 x M.2 NVMe 2TB
OS Ubuntu 18.04 5.4.0-66-generic
Вывод тестового приложения по определению параметров SGX процессора, установленного на сервере:

Extended feature bits (EAX=07H, ECX=0H)
eax: 0 ebx: f3bfb7ef ecx: 40417f5e edx: bc040412
sgx available: 1
sgx launch control: 1

CPUID Leaf 12H, Sub-Leaf 0 of Intel SGX Capabilities (EAX=12H,ECX=0)
eax: 463 ebx: 1 ecx: 0 edx: 381f
sgx 1 supported: 1
sgx 2 supported: 1

MaxEnclaveSize_Not64: 1f
MaxEnclaveSize_64: 38 (256 GB)


Ключевая функциональность в SGX 2.0 с точки зрения дальнейшего развития платформы oneFactor — значительно увеличен максимально возможный размер анклава. Поддержка SGX 2.0 реализована в новых процессорах компании Intel — семействе Ice lake.

Результаты тестирования и выводы


Для обучения использовалось датасеты суммарным объёмом 3.6, 7.2 и 11 Гигабайт. Размеры результирующего датасета на котором обучались модели составляли 20 х 1500000, 20 х 3000000 и 20 х 4500000 соответственно (Матрицы N x M, где N — количество столбцов и M — количество строк). В среднем итераций/шагов обучения — 100-150.


Общий объем датасетов, Гб Время исполнения
сценариев тренировки, с.
Время загрузки датасетов, с. Время тренировки моделей, с.
SGX 1.0 SGX 2.0 SGX 1.0 SGX 2.0 SGX 1.0 SGX 2.0
3,6 787,7 91,1 96,5 48,7 202,3 13,9
7,2 1499,8 162,1 192,7 94,9 288,2 18,9
11 4320,2 224,4 306 142,1 1942,5 23,2
Тесты показали, что использование процессоров Intel Xeon Ice Lake позволяет ускорить обучение алгоритмов на платформе SmartMachine компании oneFactor в 8-19 раз в зависимости от размера подаваемых на вход данных по сравнению с процессорами Intel Xeon предыдущего поколения.

Так, время, требуемое на одну итерацию обучения, включающую загрузку данных в анклав, их подготовку и преобразование, а также само обучение, при размере обучающей выборки 3,6 Гигабайт составило 787 секунд для SGX1 и 91 секунду для SGX2. При размере обучающей выборки равной 11 Гигабайт данное время составило уже 4320 секунд для SGX1 и 224 секунды для SGX2.

Полученные по результатам тестов показатели демонстрируют, что выигрыш по времени увеличивается при росте размеров обучающей выборки: при 3,6 Гб подаваемых на обучение выигрыш составил 8,6 раз; при 11 Гб подаваемых на обучение выигрыш составил уже 19 раз. Также следует учитывать, что для получения промышленной модели платформа SmartMachine производит в среднем 150 итераций и это даёт значительный выигрыш по времени обучения при использовании новых CPU ICX с поддержкой SGX2.

Таким образом, с точки зрения продуктов oneFactor, можно сделать следующие выводы.
  • Ключевая компонента платформы SmartMachine, которая обеспечивает безопасное обучение алгоритмов машинного обучения, успешно работает на новых процессорах семейства Ice Lake Intel CPU с поддержкой SGX 2.0.
  • Использование Intel SGX 2.0 позволит ускорить обучение моделей от 8 до 19 раз на одной итерации и существенно уменьшит TTM (time-to-market) по созданию новых моделей на платформе oneFactor.
  • Использование Intel SGX 2.0 упростит процедуру масштабирования платформы oneFactor в пиковую нагрузку со стороны клиентов
Источник: https://habr.com/ru/company/intel/blog/560598/


Интересные статьи

Интересные статьи

Группа М.Видео-Эльдорадо в начале 2021 года представила стратегию Hacking Retail. За 5 лет мы планируем увеличить общий товарооборот вдвое до 1 млрд рублей и в три раза расширить ассо...
Инкапсуляция и отделение внутренних компонентов от public, вероятно, является одним из наиболее недооцененных методов программирования, когда речь идет о обеспечении длит...
С конца прошлого года мы используем в инфраструктуре облака серверы Dell с процессорами Intel Xeon Gold 6254. Они себя достаточно хорошо зарекомендовали с точки зрения баланса производи...
Всем привет! В этой статье пойдет речь о том как ускорить запись большого объема информации в реляционную базу данных для приложений, написанных с использованием Spring Boot. При запис...
Как анимировать элемент «details» с помощью WAAPI Доброго времени суток, друзья! В данной статье я покажу, как можно анимировать нативный элемент «details» с помощью Web Animati...