MesaTEE GBDT-RS开源:模型兼容XGBoost 预测更快捷 数据更安全

栏目: 数据库 · 发布时间: 5年前

内容简介:GBDT(Gradient Boosting Decision Tree,梯度提升决策树)是工业界广泛应用的机器学习算法,而XGBoost则是著名华人学者陈天奇发起并被工业界广泛应用的开源GBDT工具包。GBDT/XGBoost在各项机器学习比赛中屡屡夺冠,是机器学习领域最常用的方法/工具之一。随着数据安全和隐私保护越来越收到各界的关注,如何在公有云和数据离岸等场景保护数据不泄漏、不被滥用成为业界共同关心的急迫问题。自然的,业界急切的需要一个能够保障数据安全的GBDT解决方案。随着Intel SGX为代表的

MesaTEE GBDT-RS开源:模型兼容XGBoost 预测更快捷 数据更安全

GBDT(Gradient Boosting Decision Tree,梯度提升决策树)是工业界广泛应用的机器学习算法,而XGBoost则是著名华人学者陈天奇发起并被工业界广泛应用的开源GBDT工具包。GBDT/XGBoost在各项机器学习比赛中屡屡夺冠,是机器学习领域最常用的方法/工具之一。

随着数据安全和隐私保护越来越收到各界的关注,如何在公有云和数据离岸等场景保护数据不泄漏、不被滥用成为业界共同关心的急迫问题。自然的,业界急切的需要一个能够保障数据安全的GBDT解决方案。随着Intel SGX为代表的硬件可信执行环境(TEE)技术的发展,数据代码的完整性和保密性可得到芯片级的安全保障支持。而在软件层面,百度安全实验室首创的Hybrid Memory Safety(HMS)技术可在软件架构上保障使用系统的内存安全。百度安全实验室MesaTEE项目结合硬件TEE和HMS技术,从软硬件两个维度保护机器学习的数据和代码,确保敏感数据和机密模型不泄漏,提供下一代安全的大数据/机器学习解决方案。

将GBDT与HMS/TEE结合,百度安全实验室和北京大学计算机所信息安全实验室合作,基于Rust语言,在开源项目MesaTEE GBDT-RS中实现了GBDT算法。MesaTEE GBDT-RS兼容XGBoost的模型,同时还符合MesaTEE内存安全的要求,并能直接运行在SGX环境中。另外,MesaTEE GBDT-RS提供了令人惊讶的高速预测性能:在SGX环境下,GBDT-RS单线程预测性能甚至能达到XGBoost 正常环境8线程的2倍以上。

通过使用MesaTEE GBDT-RS和百度MesaTEE Rust SGX SDK等 工具 链,开发者可以创建能在SGX中运行的内存安全的机器学习程序,保护模型和数据。在云计算场景下,即使云计算环境里的操作系统、虚拟机管理器(VMM)、或相邻的其他虚拟机被攻破或作恶,模型和数据的完整性和保密性都能得到高安全性保障。使用者还可以远程验证执行环境,确保代码符合预期,并通过可信信道传递模型和数据。

MesaTEE GBDT-RS开源地址:https://github.com/mesalock-linux/gbdt-rs

MesaTEE GBDT-RS开源:模型兼容XGBoost 预测更快捷 数据更安全 MesaTEE GBDT-RS特点介绍

下面与XGBoost对比,介绍MesaTEE GBDT-RS (下面简称GBDT-RS)的特点

  • 安全:GBDT-RS基于 纯Rust编写 ,且 不包含unsafe语句 。因此,Rust编译器保证了GBDT-RS的内存安全性。开发者在使用GBDT-RS时,无需担心内存破坏漏洞导致的模型和数据泄漏。

  • 易审计:GBDT-RS只包含 约2000行代码,代码整洁小巧,依赖少 。任何质疑者都可以快速容易地对代码进行审计,建立信任关系。而XGBoost包含上万行代码,且依赖其他C/C++开源项目,审计困难。

  • 高性能:GBDT-RS已验证支持200维 x 500万,或35维 x 1186万的数据进行训练。单线程单棵决策树的训练速度可达到XGBoost单线程的 70% 左右;预测速度可达XGBoost的 4~10倍在SGX中使用GBDT-RS单线程预测,甚至可比非SGX环境下的XGBoost多线程预测快

  • 易用性:GBDT-RS支持回归和分类两种任务,支持多线程并发预测。同时,GBDT-RS 兼容XGBoost的模型 ,可使用XGBoost的模型进行回归、分类、多分类等多种预测。

  • 支持SGX :GBDT-RS支持在SGX中训练和预测,支持在SGX环境中使用XGBoost的模型。开发者可以非常容易地使用百度的 rust-sgx-sdk ,编译在SGX中运行GBDT-RS的程序,让数据和模型都能得到高安全性保障。

MesaTEE GBDT-RS开源:模型兼容XGBoost 预测更快捷 数据更安全 性能测试

我们分别测试了模型训练,正常环境下的预测,以及SGX环境下的预测。

模型训练

数据集:35维x1186万条数据

环境:linux, i7-8086K, 64G内存,非SGX

MesaTEE GBDT-RS开源:模型兼容XGBoost 预测更快捷 数据更安全

非SGX环境下的预测

模型:32维,10000棵决策树,树深为6,由XGBoost训练

数据集:1万条,10万条

环境:i7-8086K/Linux,i7-8850H/macOS,Intel J5005/Linux

MesaTEE GBDT-RS开源:模型兼容XGBoost 预测更快捷 数据更安全

在1万条数据上,GBDT-RS 快4-10倍 ,在10万条数据上,GBDT-RS 快3.6-7.7倍

SGX环境预测

模型:32维,10000棵决策树,树深为6,由XGBoost训练

数据集:1万条,10万条

环境:Intel J5005(4核4线程)/Linux,XGBoost正常环境,GBDT-RS正常环境+SGX环境

MesaTEE GBDT-RS开源:模型兼容XGBoost 预测更快捷 数据更安全

  • 在1万条数据上测试,SGX会带来约 13% 的性能损失,但仍比单线程XGBoost 快8.7倍 ,比8线程XGBoost快 2.1倍

  • 在10万条数据上测试,SGX依旧比XGBoost单线程 快2倍 。若将batch设为10000后,减少内存切换的开销,SGX可比单线程XGBoost 快9.6倍 ,比8线程XGBoost 快2.3倍

更多内容请移步:

  • gbdt-rs项目主页:https://github.com/mesalock-linux/gbdt-rs

*点击“阅读原文”进入gbdt-rs主页

MesaTEE GBDT-RS开源:模型兼容XGBoost 预测更快捷 数据更安全


以上所述就是小编给大家介绍的《MesaTEE GBDT-RS开源:模型兼容XGBoost 预测更快捷 数据更安全》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Building Websites with Joomla!

Building Websites with Joomla!

H Graf / Packt Publishing / 2006-01-20 / USD 44.99

This book is a fast paced tutorial to creating a website using Joomla!. If you've never used Joomla!, or even any web content management system before, then this book will walk you through each step i......一起来看看 《Building Websites with Joomla!》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具