Эксперты компании 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 в пиковую нагрузку со стороны клиентов