Эксперты компании 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ценарий обучения
Для проведения бенчмарка выбран следующий сценарий обучения:
- Загрузка файла выборки targets от клиента платформы SmartMachine
- Подготовка датасетов с фичами для обучения
- Обучение модели
- Получение модели и оценка её качества.
- Расчёт результата для выборки 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 |
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 |
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 |
Так, время, требуемое на одну итерацию обучения, включающую загрузку данных в анклав, их подготовку и преобразование, а также само обучение, при размере обучающей выборки 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 в пиковую нагрузку со стороны клиентов