- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
ai-guidebook-fsi-2020-v1-cn
经过多年演进,人工智能(Artificial Intelligence,AI)正进入一个发展新阶段。越来越多的企业在选择这一给人类经济与社会生活带来颠覆性影响的技术,来开启数字化转型的新篇章。尤其当我们把目光投向金融行业时更不难发现,在过去的十余年中,堪为这一行业风向标的巨头们正将更多资金投入大数据、机器人和云计算服务领域,这些举措也受到投资者的热捧。来自新浪财经的报道这样写道 :
时间倒回到 2000 年。华尔街投行高盛在纽约总部的美国股票交易柜台雇用了 600 名交易员,根据投资银行大客户的订单买卖股票。如今,他们只剩下了 3 个股票交易员。
根 据 美 国 财 经 媒 体 Business Insider 的 统 计, 高 盛 目 前33000 名全职员工中,超过 9000 名员工是程序员和工程师。近几年在公开场合,高盛 CEO 反复强调,高盛的定位已经今时不同往日,高盛是一家技术公司。
……
时间倒回到 2000 年。华尔街投行高盛在纽约总部的美国股票交易柜台雇用了 600 名交易员,根据投资银行大客户的订单买卖股票。如今,他们只剩下了 3 个股票交易员。
根 据 美 国 财 经 媒 体 Business Insider 的 统 计, 高 盛 目 前33000 名全职员工中,超过 9000 名员工是程序员和工程师。近几年在公开场合,高盛 CEO 反复强调,高盛的定位已经今时不同往日,高盛是一家技术公司。
……
华尔街上另一家巨头摩根大通也采取了类似的做法。摩根大通很早就设立了技术中心,聘用约 4 万名技术人员专门研究大数据、机器人和云基础设施,技术预算达 96 亿美元,占其总收入 9%。去年,该公司还宣布使用全球首创的机器人来进行他们的全球股票算法交易。在此之前,摩根大通在欧洲研发的人工智能项目 LOXM 早就已经在交易中尝到了甜头。华尔街上另一家巨头摩根大通也采取了类似的做法。摩根大通很早就设立了技术中心,聘用约 4 万名技术人员专门研究大数据、机器人和云基础设施,技术预算达 96 亿美元,占其总收入 9%。去年,该公司还宣布使用全球首创的机器人来进行他们的全球股票算法交易。在此之前,摩根大通在欧洲研发的人工智能项目 LOXM 早就已经在交易中尝到了甜头。
那么,AI 何以成为金融行业新的宠儿?究其原因,我们不难发现,其实是因为 AI 与金融行业在诸多特性上天然契合。首先,AI 与金融都构建在海量的数据之上,这为 AI 的模型训练与预测推理提供了丰沃土壤;其次,AI 可以大幅降低传统金融行业用于客户关系维护的成本;同时,AI 也能帮助金融企业展开更多的精准狙击,进一步提升业务质量;而更为重要的是,拥有众多创新基因的金融业务与 AI 结合,可为行业发展带来更大空间,为业务创新带来更多可能。
展开查看详情
1 . 英特尔中国 2020金融行业 AI实战手册
2 . contents 目录 趋势篇 06 * 人工智能持续驱动金融行业创新 实战篇 12 基于大数据 +AI 的高效实时 48 * 维护数据安全,打破数据孤岛 金融反欺诈解决方案 为 AI 应用提供更丰富数据源 13 英特尔与金融用户合作探索利用 RNN 模型学习用户行为特征 49 * 借助联邦学习方法,探索多源数据在 AI 中的应用 18 中国银联应用案例 58 * 中国平安应用案例 20 基于 AI 的高效信贷逾期风险预测解决方案 60 * 先进内存产品与创新算法模型 推动高可用、 21 英特尔与金融用户协作利用 AI 模型开展信贷逾期风险预测 低 TCO 的金融 AI 解决方案落地 61 * 基于金融数据特征的 AI 落地解决方案 29 某大型商业银行应用案例 68 * 第四范式创新算法在某商业银行应用案例 30 基于 AI 的金融行业精准营销策略 70 * 巧妙运用 “新芯” 动力,以知识图谱助力金融行业 31 基于 AI 的金融行业精准营销策略探索 挖掘更多高价值信息 38 中国人寿上海数据中心应用案例 71 * 知识图谱在金融行业的应用 40 万事达卡应用案例 77 * 合合信息知识图谱在某商业银行应用案例 42 加速 AI 影像分析能力, 80 * 端到端统一大数据 AI 平台,助力金融行业实施 推动 AI 赋能保险行业 大数据到深度学习的 “无缝切换” 版本说明: 43 AI 加速保险行业影像分析 81 * 基于金融大数据的深度学习方法探索 《2020 英特尔中国金融行业 AI 实战手册》除对 2019 年版本的内容进行详细修订外,还在内容上增补了以下内容: 46 中国平安应用案例 87 * 某商业银行应用案例 • 英特尔® 傲腾™ 持久内存结合创新算法与数据库产品,面向金融数据提供高可用、低 TCO 的 AI 落地解决方案; • 英特尔® 软件防护扩展技术为金融行业带来基于硬件环境的安全机制,使用户能够借助联邦学习方法,探索多源数据在 AI 中的应用; • 英特尔多种先进软硬件产品为基于深度学习的知识图谱提供整体性支撑,为金融行业用户提供挖掘深度高价值信息的能力; 技术篇 • 英特尔端到端的统一的大数据 AI 平台,助力金融行业大数据平台与 AI 能力建设。 硬件产品 软件和框架 92 * 第二代英特尔 ® 至强 ® 可扩展处理器 97 开源的、统一的大数据分析 +AI 平台 Analytics Zoo 主编: 俞巍 陈治文 94 英特尔® 傲腾™ 持久内存 98 * 英特尔® 数据分析加速库 作者(排名不分先后 , 按姓氏首字母排序): 96 英特尔® 傲腾™ 固态盘与基于英特尔® QLC 3D NAND 99 英特尔® 深度神经网络库 胡英 乐鹏飞 李志强 吴国安 夏磊 袁超 臧战 赵玉萍 Parviz Peiravi 技术的英特尔® 固态盘 100 * 面向英特尔® 架构优化的 Caffe、TensorFlow、Python、PyTorch 曹津 龚毅敏 鲁懿 陆礼明 沈飞廉 孙宇 王东方 魏剑 伊红卫 朱乐骏 104 OpenVINO ™ 工具套件 此外,本手册的编撰工作也得到了各合作伙伴以及诸多英特尔同事们给予的大力支持帮助,在此表示感谢。 注:* 部分为 2020 年版本更新内容 106 * 英特尔® 软件防护扩展 V.2020.001
3 . 趋势篇 4 5
4 . 经过多年演进,人工智能(Artificial Intelligence,AI)正进 那么,AI 何以成为金融行业新的宠儿?究其原因,我们不难 入一个发展新阶段。越来越多的企业在选择这一给人类经济与 发现,其实是因为 AI 与金融行业在诸多特性上天然契合。首先, 社会生活带来颠覆性影响的技术,来开启数字化转型的新篇章。 AI 与金融都构建在海量的数据之上,这为 AI 的模型训练与预 尤其当我们把目光投向金融行业时更不难发现,在过去的十余 测推理提供了丰沃土壤;其次,AI 可以大幅降低传统金融行 年中,堪为这一行业风向标的巨头们正将更多资金投入大数据、 业用于客户关系维护的成本;同时,AI 也能帮助金融企业展 机器人和云计算服务领域,这些举措也受到投资者的热捧。来 开更多的精准狙击,进一步提升业务质量;而更为重要的是, 1 英 自新浪财经的报道这样写道 : 拥有众多创新基因的金融业务与 AI 结合,可为行业发展带来 英 特 更大空间,为业务创新带来更多可能。 特 尔 尔 人工智能持续驱动 中 时间倒回到 2000 年。华尔街投行高盛在纽约总部的美国股票 中 国 以银行为例,通过与 AI 融合,即可以依托庞大的业务数据, 国 交易柜台雇用了 600 名交易员,根据投资银行大客户的订单 金 以智能的方式驱动数据分析与预测方法创新,进而获得新的洞 金 融 买卖股票。如今,他们只剩下了 3 个股票交易员。 融 察,拥抱更为灵敏、高效的商业模式,并规避诸如贷款逾期、 行 行 金融行业创新 业 违规欺诈等风险,在未来竞争中占得先机。 业 根 据 美 国 财 经 媒 体 Business Insider 的 统 计, 高 盛 目 前 AI AI 实 33000 名全职员工中,超过 9000 名员工是程序员和工程师。 实 战 近几年在公开场合,高盛 CEO 反复强调,高盛的定位已经今 然而,从数据分析到 AI 应用并不能一蹴而就。如下图所示, 战 手 手 时不同往日,高盛是一家技术公司。 企业在数据分析技术的演进上,一般会经历在规模和成熟度上 册 册 递增的五个阶段。这五个阶段分别是:描述性、诊断性、预测 …… 性、方案制定和认知性。成熟的 AI 能力,适用于以上数据分 趋 实 华尔街上另一家巨头摩根大通也采取了类似的做法。摩根大通 析的各个阶段,是把数据分析推向更高成熟度和更大规模的重 趋 战 势 势 很早就设立了技术中心,聘用约 4 万名技术人员专门研究大数 要动力。 篇 篇 据、机器人和云基础设施,技术预算达 96 亿美元,占其总收 入 9%。去年,该公司还宣布使用全球首创的机器人来进行他 近年来,AI 的算力、算法以及数据能力都获得了快速突破, 6 7 们的全球股票算法交易。在此之前,摩根大通在欧洲研发的人 包括: 工智能项目 LOXM 早就已经在交易中尝到了甜头。 • 算力提升: 在摩尔定律的推动下,芯片制程技术和架构创 新正使计算力不断取得突破,满足了机器智能对于计算密集 自我学习与完全自动化的企业 认知 高 发 级 展 模拟驱动的分析与决策 方案 分 预见 预测 析 曲线 分析 运 诊断 洞察 现 营 状 分 描述 反思 析 资料来源:Forrester Research 图 1-1-1 企业数据分析技术的演进 1 相关媒体报道请参见 http://finance.sina.com.cn/world/2018-05-22/doc-ihawmaua4464623.shtml 6
5 . 型算法的需求。例如,通过人工神经网络进行深度学习的概 本地的前提下,安全合规接入多方数据。进而,一方面帮助用 通过引入联邦学习等新的联合学习方法,AI 可以横向聚合更 如下图所示,风险与合规主要包括了应对欺诈风险、信用风险、 念已经存在了至少 20 年,但直到最近几年,当计算技术提 户以多源多维度的用户行为数据,来提供个性化定价策略;另 多的训练数据来提升模型精度,从而带动跨地域、跨领域的企 宏观风险、反洗钱以及合规政策文件分析等,AI 技术应用主 升到能够满足 AI 所需的高精度、高速度的运算能力时,将 一方面,通过多源的安全大数据,有效识别恶意骗保行为。一 业级数据合作,以 “合作共赢” 的方式使各参与方都能从不断 要涉及机器学习、基于深度学习的人脸识别和语音识别以及知 这些计算密集型算法付诸实践应用才成为可能。 些数据表明,基于联邦学习方法建立的保险数据模型具有更丰 提升的 AI 能力中获益。 识图谱等。客户体验主要包括智能投顾、智能理赔、智能客服、 富的风险特征体系,可使行业定价准确率获得大幅提升。 身份识别、农牲识别等,AI 技术应用主要涉及基于深度学习的 • 创新推动:AI 发展仅靠计算力和数据来推动,还是远远不 在后端,比如在行业的合规以及 IT、财务等支持职能中,存在 人脸识别和语音识别、行为模式识别、NLP 以及机器人技术等。 英 够的。驱动其向应用迈进的关键动力,毫无疑问是创新,正 通过以上算力、算法和数据处理技术进步, AI 正成为金融企 大量高度重复性的工作。AI 的重要应用之一,正是要逐步接 营销决策主要包括客户画像、精准营销、智能推荐、征信评分、 英 特 是它推动 AI 跨越了从研究到主流使用的临界点。实践已经 业开展高质量数据分析和业务预测的重要手段。得益于 AI 技 手这些重复性的工作。所以,AI 在后端支持流程中,也存在 资金流向监控以及量化分析等,AI 技术应用主要涉及深度学习、 特 尔 证明,每一次 AI 算法的创新,都预示着更多的应用可能性, 术的不断发展,在金融行业的前端、中台和后端,都已经有了 大量应用机会和潜力。 机器学习等。智慧运营主要包括网点智能布局、单据识别、智 尔 中 中 国 并吸引更多的创新者加入到应用开发行列中来。比如,20 相对成熟的应用方案。 能运维等,AI 技术主要涉及基于深度学习的图像识别、知识 国 金 世纪 90 年代的神经网络创新,驱动了对 AI 的重新阐述和 总之,围绕着前、中、后三端的 AI 能力,金融行业中的 AI 应 图谱等。 金 融 研究,并在 2009 年和 2012 年,分别在语音识别和图像识 在前端,感知类技术(计算机视觉、语音识别、自然语言处理 用场景众多,目前主要聚焦在风险 & 合规、客户体验、营销 融 行 行 业 别等领域获得了突破性进展,这也成为当前 AI 创新发展的 等)不断走向成熟,有代表性的应用已有客服聊天机器人、自 决策和智慧运营四个方向。 业 AI 催化剂。 动身份识别等。 AI 实 实 战 风险 & 合规 客户体验 营销决策 智慧运营 战 手 同时,数据洪流的到来,也驱动金融行业 AI 迎来高速发展浪潮。 客服聊天机器人能够遵循与客户交互的标准路径,借助机器 手 欺诈风险 智能投顾 客户画像 网点智能布局 册 一方面,物联网 (IoT)的广泛应用、智能互联设备的快速普 学习算法,观察对话并理解客户的意图,在遇到困难时将问 册 及,带来了越来越多的结构化和非结构化数据。有研究表明, 题发送给人工处理,并对人工答复加以学习,从而持续提升 信用风险 智能理赔 (车险 / 医保) 精准营销 单据识别 到 2020 年,物联网中智能、互联设备产生的数据可达 40 ZB 客户服务质量、降低服务成本。而自动身份识别则是通过语 趋 宏观风险 智能客服 资金流向监控 智能运维 趋 势 (1ZB=10 万亿亿字节)2。如此海量的数据,无疑为金融领 音识别、面部识别等方式,分析用户声音、眼部、面部特征, 势 身份识别 篇 域 AI 算法的训练,以及发掘全新洞察奠定了基石。另一方面, 对用户进行身份验证。此类 AI 验证方法比原来的安全问题或 反洗钱 (人脸,声纹) 量化分析 篇 面向不同类别金融数据的处理和运用,也出现了更多的方法论 密码验证效率更高,而且无需用户默记密码,可让客户体验 合规政策文件分析 农牲识别 8 和硬件产品。例如,面对金融数据普遍的高维特性,企业已经 大为改善。 9 可以选择更有针对性的高维算法、高性能实时特征数据库,以 图 1-1-2 金融行业人工智能应用场景 及具有更好落盘性能和更高容量的存储设备来构建 AI 应用, 在中台,AI 可以提高基于信息的分析决策效率,帮助用户更加 降低 TCO 并提升处理效能。 快速地抓住商机。既有的商业智能(Business Intelligence, BI)和传统的数据分析方法,往往停留在趋势分析、原因挖掘、 值得一提的是,虽然高质高量的数据能给 AI 核心竞争力带来 数据挖掘与预测层面。而 AI 的引入,既延伸了分析的广度, 巨大提升已成为共识,但在金融行业,为了规避数据泄露风险, 也提高了分析的深度。AI 可以通过不断学习和完善,提高建 企业往往会构建一系列严密的防护措施,由此也引发了严重的 议的相关性和特异性,实现 “个性化分析”,为风险管理、营销、 数据孤岛问题。为了让多源数据的交互、传输和聚合更具安全 服务等提供基于智能化的分析和决策。 性,联邦学习等新的联合学习方法,正帮助用户在确保数据安 全的前提下,建立起更多安全可信的多源数据协同训练方案, 例如,AI 可以基于社交网络的信用评分,优化现有分数或为无 确保为 AI 应用提供更丰富的数据源,以提升其精度。 信用记录的人员进行评分;也可以通过自然语言分析(Natural Language Processing,NLP)方法生成分析报告,还可以分 现在,基于可信执行环境(Trusted Execution Environment, 析与评估财务数据。同时,AI 还可以开展动态欺诈检测,从实 TEE),典型如英特尔® 软件防护扩展(Intel® Software Guard 时复杂交易中发现和规避风险;更可以通过客户行为研究,提 在下一章 “实战篇” 中,我们将围绕金融反欺诈、风险预测、客户营销、智能推荐、智能核保等多个场景, Extensions,英特尔® SGX)技术构建的联邦学习方案,已在 供个性化的财务健康建议。此外,金融企业还可以通过 AI, 结合与中国银联、中国人寿上海数据中心、万事达卡、第四范式、中国平安以及合合信息等合作伙伴的 保险定价、信贷风控、销量预测等多个金融领域落地实例化。 根据客户和产品 DNA,实现个性化营销,提供独一无二的个 经典案例,来详细阐述实战中的 AI 应用部署情况,揭示其所涉及的技术细节,尤其是英特尔相关技术与 以保险定价为例,方案可以在保护各合作方用户隐私数据不出 性化服务。 产品在这些真实场景中的应用和优化方案,以及硬件、软件配置的最佳实践推荐。 2 相关媒体报道请参阅:https://cloud.tencent.com/info/5a0335164080e583fd6a2d4a735e7def.html
6 . 实战篇 10 11
7 . 英特尔与金融用户合作探索利 段时间就要耗费大量资源来总结业务,更新规则。而随着业务 场景的增多,交易规则复杂度也不断提升,使风控系统的资源 用 RNN 模型学习用户行为特征 消耗和监控时延持续增加。为此,金融机构开始尝试利用 AI 能 力,构建更为高效的金融反欺诈模型,这一 AI 能力建设依托 反欺诈模型演进 于机器学习、深度学习等多种方法。 在与金融客户的合作实践中,我们发现现有金融行业反欺诈应 英 用模型设计往往存在以下问题: 与基于规则的方法相比, AI反欺诈方案具有更高的客观性及准 英 特 • 学习用户行为的算法缺乏足够的应用实践; 确性,引人注目之点就是能够实施 “对规则的自我学习”。通俗 特 尔 • 传统深度学习方法对数据量的要求大,但金融企业无法针对 来讲,基于规则的方法是预先告诉系统,A方法、B方法是错 尔 中 中 国 算法给出每个用户行为模式的历史交易数据; 的,错了就告警。而机器学习、深度学习方法则是将大量历史 国 基于大数据 +AI 的 金 • 数据非平衡性(Imbalance ratio)状况严重,即绝大多数训 数据作为学习样本,并通过大量的计算单元进行训练,从而得 金 融 练数据都源自正常交易行为,正常/非正常数据比例大概是 到一个评估模型。当新的交易进入这一模型时,系统能自我判 融 行 行 业 10 万 ~100 万比 1。 别交易的合法性。 业 高效实时金融反欺诈解 AI AI 实 传统上,金融企业与机构往往采用基于规则的方式来构建其风 实 战 战 控反欺诈模型,其特征就是不断建立、更新基于用户行为特征 金融行业人工智能场景 手 手 册 可根据交易特征识别伪卡、套现以及虚假 册 的规则库。当交易发生时,系统会通过规则引擎来监测该笔交 决方案 商户等欺诈 易潜在的风险。 决策树 随机森林 实 实 战 例如一个常常出国的商务人士,在交易规则库中,他出现大笔 逻辑回归 神经网络 战 篇 海外交易行为是正常的,对于一个很少离开居住地使用信用卡 GBDT XGBoost 篇 的老年人,他的正常交易行为可能是小额、本地和多笔的特性, 12 当其出现大额交易情况时,这一异常交易特征就会被规则引擎 支持向量机 朴素贝叶斯 13 所匹配,并引起警觉。而当该账户屡次出现异地不正常大额交 易记录,这个账户可能就会被风控系统列入监控范围,并实施 基于交易序列分析的算法(账户级别) 后续的核查工作。 可根据账户的异常交易行为发现盗刷等 欺诈交易,也可以进行客户画像建模 专家 隐马尔科夫 Apriori 数据 FP-Growth BLAST-SSAHA 数据 特征 规则 图 2-1-2 当前反欺诈模型中常见算法 模型 提取 算法 数据 如图 2-1-2 所示,现在,机器学习中一些优秀的分类算法,例 图 2-1-1 传统反欺诈模型方案 如逻辑回归(Logistic Regression,LR)、随机森林(Random Forest,RF)以 及 梯 度 提 升 决 策 树(Gradient Boosting 基于规则的风控系统固然有效,但其作为一种反向系统,需要 Decision Tree,GBDT)等分类算法都已被反欺诈模型广泛地 规则库不断通过已有业务案例进行总结。这意味着用户每隔一 采用。
8 . 基于 RNN 的深度学习方法 模型实现及优化 或者用户也可在现有 Python 环境中安装 wheel,并建议使用 如上述代码所示,在进行 tf.ConfigProto() 初始化时,我们也 英特尔® Python 分发包。在 Python2.7 和 Python3.6 中安装 可 以 通 过 设 置 intra_op_parallelism_threads 参 数 和 inter_ 深度学习方法是反欺诈 AI 应用中常用的方案,递归神经网络 RNN 深 度 学 习 方 法 可 以 使 用 Keras、TensorFlow 等 深 度 1.13.1 版本的命令分别为: op_parallelism_threads 参数,来控制每个操作符 op 并行计 (Recurrent Neural Networks,RNN)是金融反欺诈模型中 学 习 框 架 予 以 实 现。Keras 的 后 端 可 以 是 多 种 框 架, 例 如 算的线程个数。二者的区别在于 : 常见的深度学习模型之一。典型的 RNN 结构如下图 2-1-3 所示, TensorFlow、Theano、CNTK 等等。以下算法模型的开发, • intra_op_parallelism_threads 控制运算符 op 内部的并行, RNN 会对每一个时刻的输入,结合当前模型的状态,给出一个 选择 TensorFlow 作为 Keras 的后端为例展开描述。可通过修 当运算符 op 为单一运算符,并且内部可以实现并行时,如 输出,从图中可以看出,RNN 的主体结构 A 的输入除了来自 改 $HOME/.keras/keras.json 内相关部分来进行设置: 英 矩阵乘法,reduce_sum 之类的操作,可以通过设置 intra_ 英 输入层的 X,还有一个循环,来提供当前时刻的状态,同时 A 特 op_parallelism_threads 参数来并行 , intra 代表内部。 特 尔 的状态也会从当前步传递到下一步。 ■ 面向英特尔® 架构的TensorFlow优化方法 尔 • inter_op_parallelism_threads 控制多个运算符 op 之间的 中 中 面向英特尔® 架构平台对 TensorFlow 开展一系列优化,可以 并行计算,当有多个运算符 op,并且它们相互独立,运算符 国 ■ 面向英特尔® 架构优化的 TensorFlow的安装 国 金 有效地提升模型工作效率。这些优化方法包括:调整处理器核 和运算符之间没有直接的路径 Path 相连。TensorFlow 会 金 TensorFlow 是目前深度学习领域的主流框架之一,可以帮助 融 X A Y 心数量,引入非统一内存访问架构(Non- Uniform Memory 尝试并行地对其进行计算,使用由 inter_op_parallelism_ 融 行 深度学习开发者更高效地利用计算资源,构建深度学习模型。 行 Access Architecture,NUMA)技术以及英特尔® MKL-DNN。 threads 参数来控制数量的一个线程池。 业 为充分利用英特尔® 架构和实现更高性能,目前 TensorFlow 业 AI 优化步骤如下: AI 图 2-1-3 典型的 RNN 结构 框架已使用面向深度神经网络的英特尔® 数学核心函数库 实 通常而言,intra_op_parallelism_threads 设置为单个处理器 实 战 (Intel® Math Kernel Library for Deep Neural Networks, ■ 环境变量设置 战 手 的物理核心数量,而 inter_op_parallelism_threads 则设置为 手 在实践中,RNN还有两种重要的变种,即长短期记忆(Long 英特尔® MKL-DNN)进行了全面优化。 首先,需要对环境变量进行设置,命令包括:清空系统的缓存 册 1 或者 2。 册 Short-Term Memory,LSTM)和门控循环单元(Gated (cache),将处理器设置为性能优先的模式,即运行在最高 Recurrent Unit,GRU),LSTM可以通过3个特别的 “门” 结构 Anaconda 是一个开源的 Python 发行版本,其可以帮助用户 频率,打开处理器的睿频加速。设置命令如下所示: 利用 NUMA 特征来控制处理器计算资源的使用 实 实 ■ 设计,来避免经典RNN网络结构中的长期依赖问题,进而大幅 使 用 英 特 尔® MKL-DNN 构 建 TensorFlow( 从 TensorFlow 战 度提升记忆时长。LSTM 中的 “门” 是Sigmod神经网络和位乘 v1.9 开始支持该功能),以便为英特尔® 架构处理器提供更高 数据中心使用的服务器,通常都是配置两颗或以上处理器, 战 篇 性能。如果用户目前使用 Conda 软件包管理器管理环境和软 多数都采用 NUMA 技术使众多服务器像单一系统那样运转。 篇 法的结合体,以Sigmod为激活函数的全连接神经网络层会输 处理器访问它自己的本地存储器的速度比非本地存储器快一 出一个0到1之间的值,描述当前可通过该结构的输入信息量, 件包,只需在虚拟环境中安装 Anaconda.org 中的 TensorFlow 14 些。为了在这样的系统中获得更好的计算性能,需要通过一 15 当Sigmod输出为1时,全部信息都可通过;反之当Sigmod输 软件包。 些特定指令来加以控制。numactl 就是用于控制进程与共享 出为0时,任何信息都无法通过。而GRU是LSTM的改进版,其 存储的一种技术机制,它是 Linux 系统中广泛使用的计算资 将LSTM的3个 “门” 结构合并为2个,在计算当前新信息的方法 在Anaconda中安装TensorFlow命令如下: 源控制方法。具体使用方法如下所示: 时和LSTM有所不同。 • KMP_BLOCKTIME 设置为 1,是设置某个线程在执行完当前 任务并进入休眠之前需要等待的时间,通常设置为 1 毫秒; 基于 RNN 的深度学习方法在基于序列的分析工作中,一直有 • KMP_AFFINITY 设置为 Compact,是表示在该模式下,线 如果用户的 Anaconda 通道并非默认的最高优先级通道,也可 着良好的表现。借助序列标记技术,RNN 深度学习方法可用于 程绑定按计算核心的计算要求优先,先绑定同一个核心,再 使用如下命令获取面向英特尔® 框架优化的 TensorFlow。 分析不同账户的实时行为状态。 依次绑定同一个处理器上的下一个核心。此种绑定适用于线 程之间具有数据交换或有公共数据的计算情况,优势在于可 图 2-1-4 NUMA 特征来控制处理器计算资源的使用 但单一的深度学习方法在对大量交易数据进行欺诈侦测建模 以充分利用多级缓存的特点; 时,效果却并不理想。究其原因,是因为 RNN 等神经网络虽 除上述安装方法外,面向英特尔® 架构优化的 TensorFlow 还 • OMP_NUM_THREADS 设置为 20 是将并行执行线程的数 然能学习到交易序列间的特征关联,但对单笔交易内的特征学 使用 Python 命令执行 numactl 命令如下: 可作为 wheel 和 docker 映像,或者 Conda 软件包分发。 量设定为一定的物理核心数。 习能力不足,达不到预期的目标。 另外,用户也可以通过 PIP,在现有 Python 环境中安装面向 ■ 测试代码中添加线程控制 例如在反欺诈侦测中,“午夜发生的大额场外交易” 这样的特征 英特尔® 架构优化的 TensorFlow,命令如下: 命 令 中表 示 test.py 在 执 行的 时候 只使 用了处 理 器 #CPU0 添加线程控制的代码如下: 组合可能是非常可疑的交易行为,而单独的 “场外”、“大额” 和 中 的 0-19 和 40-59 核,所 使 用 的 内 存 也 只 使 用 了处 理 器 “午夜” 却都是常见特征。这一类特征组合,通过单一的深度学 #CPU0 对应的近端内存。 习方法很可能无法获得良好的训练结果。
9 . ■ Keras/TensorFlow 实现多层 LSTM/GRU 在中间层,框架并没有直接使用 GRU 网络的输出作为直 ■ 英特尔® Python分发包的安装 3. 不同于图像和语音等数据容易重新标注的情形,欺诈数据很 在 keras 中实现多层的 LSTM/GRU 的代码如下: 接的欺诈侦测判别,而是将其作为序列间特征学习的一 可通过执行以下不同命令,在python3/python2环境下安装 难被生成出来并被标注。所以我们还是采用随机打乱次序并多 环,将学习得到的序列间特征与原先的交易内特征相结 英特尔® Python分发包核心包: 次训练欺诈样本,但却仅需单次使用正常样本,以便进一步解 合,形成最终交易特征向量, 决非平衡的问题。 最后在此基础之上,为进一步地将时序特征进行融合学 ■ 提升算法准确性的方法 英 习。在框架的最后,这一架构还叠加了一个顶层的 RF 模 英 或安装英特尔® Python分发包完整包: ■ 不同方法组合的次序和准确性有相关性: 特 型,作为最终的欺诈判别分类器。 特 尔 特征内提取特性的算法与特征间提取特性的算法进行结合时, 尔 中 不同的次序会导致不同的准确性,我们的测试表明,在 2 个特 中 国 ■ 软件栈 国 征内提取特性的方法之间,加入特征间提取特性的方法所获得 金 *更多面向英特尔® 架构优化的TensorFlow的技术细节,请参阅本手册 “三明治” 多层反欺诈侦测模型软件栈如图2-1-6所示, 金 融 技术篇相关介绍。 的准确性是最高的。 融 激活应用环境: 行 底层是由英特尔® 至强® 金牌处理器(6000系列)为基 行 在 Linux/MacOS 下: 业 础构建的硬件基础设施。其上,是RedHat Linux操作系 三明治的结构使用旁路加强特征重用: 业 AI “三明治” 多层反欺诈侦测模型 ■ AI 统(Centos7.4 Kernel 3.10.0-957.12.1.el7.x86_64), 实 和 Densenet 算法一样,“三明治” 结构也构建了不同方法之间 实 ■ 模型简介 并由虚拟化软件创建虚拟机。虚拟机上部署了英特尔® 战 的连接关系,这种使用旁路的方法,使其可以通过加强特征重 战 手 “GBDT—>GRU—>RF”三层架构如图2-1-5所示,首先,这一框 MKL-DNN或英特尔® MKL,并安装有面向英特尔® MKL- 在 Windows 下 : 手 用,来提升整体的训练效果。 册 架将针对单一深度学习方法(例如RNN)在单笔交易内特征 DNN的优化的TensorFlow1.10以及英特尔® Python分 册 学习能力上的不足,通过英特尔提供的Analytics Zoo工具, 发包。在顶层部署了欺诈检测应用。 软件配置建议 实 在框架的前端引入GBDT模型进行特征优化,并将优化后的特 实 使用 Conda 命令安装额外的软件包,例如 sympy 等: 战 征与人工特征相结合,作为GRU网络的输入,以此来学习序 欺诈检测应用 对训练数据流程化建模和多层反欺诈模型构建的验证工作,可 战 篇 列间的特征,并且将单笔交易内的特征时序化。这一过程可 面向英特尔® MKL-DNN 以参考以下基于英特尔® 架构平台的软件配置。 篇 英特尔® Python分发包 优化的TensorFlow 以对数据实施有效的过滤,从而为后续的GRU模型提供真正 16 有用的数据。 英特尔® MKL / 英特尔® MKL-DNN 以上过程,详情请参阅: 17 名称 规格 虚拟机 https://software.intel.com/zh-cn/articles/using-intel-distribution- 操作系统 Centos7.4 for-python-with-anaconda Linux 内核 3.10.0-957.12.1.el7.x86_64 操作系统:Linux 工作负载 GRU 英特尔® 至强® 金牌处理器(6000系列) *更多英特尔® Python分发包的技术细节,请参阅本手册技术篇相关 编译器 GCC5.4 图 2-1-6 “三明治” 多层反欺诈侦测模型软件栈 介绍。 库 英特尔® MKL-DNN最新版本 “Within & Between” 架构 1 框架 面向英特尔® 架构优化的 TensorFlow 发布版 ■ 针对数据非平衡性的处理办法 Hadoop发行版 Cloudera CDH-5.9.0. 或更高版本 数据非平衡性是反欺诈应用中经常碰到的问题。在一些场景中, Spark 版本 Apache Spark-2.1.0. 或更高版本 维度 维度 Anylitics Zoo 欺诈样本和正常样本的比例高达 10 万 -100 万比 1。基于这 其他软件配置 “Within & Between” 架构 2 英特尔® Python 分发包 一数据不平衡状况,在采样和训练时,可以基于以下的原则: 选择匹配的模型 转换 1. 由于正常样本的数据量非常大,正常的采样就可以满足训练 随机森林 对于正常样本的需要; 2. 在训练的时候,我们把欺诈样本数据的权重提高。 “Within & Between” 架构 k 单笔交易向量 单笔交易向量优化 图 2-1-5 GBDT—>GRU—>RF “三明治” 结构反欺诈模型 3 3 三明治结构反欺诈模型技术详情请参阅:Transaction Fraud Detection Using GRU-centered Sandwich-structured Model
10 . 中国银联应用案例 为此,银联基于 Hadoop 构建了海量数据存储平台,并引入 智能风控分析模型 API 智能营销分析模型 API Analytics Zoo 等来对训练数据进行流程化建模。针对学习历史 业务场景 伪卡盗刷 恶意套现 洗钱风险评级 商户信用评分 背景 交易数据不足的问题,利用建模过程,平台可从少量的原始字 API 服务 MCC 套码 违规移机 黄牛名单查询 公安交易协查 智能运营分析模型 API 段中衍生出了几百个特征因子,归纳成当笔 / 上笔交易、长短时 伴随金融业务的高速扩张,其风险指数也在不断上升。尤其在 统计以及可信特征变量等 6 大维度,并通过这些特征工程来帮 银行卡、信用卡等领域,欺诈损失率正随着欺诈损失金额的增 助模型进行更好的学习。而后,银联基于 “GBDT—>GRU—>RF” 算法模型层 算法库 特征工程库 业务模型库 长而逐年上升。因此,反欺诈正成为金融行业实施风控的重要 英 三层架构模型,在上百个节点组成的训练集群上开展其反欺诈 英 方向。 特 侦测模型的构建,并取得了良好的效果。 数据池 交易数据 设备数据 信息安全和风险情报 持卡人关联数据 特 尔 尔 中 在风险形式上,传统风险与新型风险也正相互交织。除了层出 中 国 通过多方位的测评,全新的多层反欺诈模型无论是在召回率, 国 不穷的传统金融欺诈手段,例如信用欺诈、盗刷欺诈、恶意套 基础技术支撑 大数据 人工智能 区块链 物联网 TEE 云计算 金 还是在准确率方面都达到预期效果,与传统机器学习方法,或 金 融 现以及保险业骗保等,伴随互联网时代出现的个人信息泄露、 融 单一的 RNN 方法相比,F1 值(F1 Score,一种准确率和召回 图 2-1-8 中国银联电子支付研究院智能分析服务平台架构图 行 钓鱼网站、欺诈黑产化等问题,也带来更高频化、精准化的的 行 业 率的加权平均值,用于衡量侦测模型的性能表现)有了质的提 业 金融欺诈犯罪。 AI 升,超过了业务部署的临界点。 AI 实 可以为伪卡、套现等欺诈侦测场景提供底层模型支撑,而业务 小结 实 战 为应对这一问题,各类金融机构也制定了众多缜密的反欺诈手 人员则不需要深入研究这些复杂的模型,只需要根据数据规范 战 手 如图 2-1-7 所示,左图中,与其他机器学习、深度学习模型, 手 段来予以反制。随着信息化技术的进步,尤其是 AI 技术的不 调用上层 API 即可。 针对基于机器学习的方法对序列化交易特征学习能力的不足, 册 或者多层模型相比,GBDT—>GRU—>RF “三明治” 结构反欺诈 册 断突破,越来越多的 AI 能力正与金融风控系统相结合,构成 以及单一深度学习模型对单笔交易内特征学习能力的限制,银 模型有着最优的精度 - 召回(Precision–Recall,PR)曲线(最 更有效的反欺诈模型。 在银联的训练集群中,全部采用了基于英特尔® 至强® 处理器 联联合英特尔提出多层机器学习 + 深度学习模型,以技术创新 上部曲线为 GBDT—>GRU—>RF “三明治” 结构反欺诈模型测试 实 的平台。该平台不仅在内核、高速缓存等方面表现优异,而且 大幅提升反欺诈模型的性能。 实 战 值)。在右图中,可以看出,随着数据非平衡率(Imbalance 战 作为一家提供专业银行与支付服务,发卡量和交易量市场份额 能以多项硬件增强技术助力提升框架性能。除了基本的计算能 篇 ratio)的增加,GBDT—>GRU—>RF “三明治” 结构反欺诈模型的 力支撑,平台还为银联AI反欺诈模型的构建提供了以下能力: 在这一创新过程中,英特尔不仅为这一新型的反欺诈模型提供 篇 世界第一的金融机构,中国银联(以下简称 “银联”)正不遗余 F1 值下降最为缓慢。 力地引入 AI 技术能力,开展高效金融反欺诈模型的构建。在 • 支持高度不规则的计算,如树构建、熵计算、树遍历、缩 了高性能处理器产品作为算力引擎,还提供了多样化、可扩展、 18 减等; 全方位的技术支撑,为三明治结构欺诈侦测模型中每一个层面 19 本案例中,中国银联与英特尔一起,共同开展基于深度学习的 反欺诈技术研究。 GBDT—>GRU—>RF GBDT—>GRU—>RF • 支持常规计算,如 GRU、非线性激活、批处理规范化等。 所用的方法,都提供了有针对性的优化手段和工具,从而帮助 GRU—>GBDT+RF RF GBDT+RF—>GRU GRU GRU 整个反欺诈模型进一步提升了效率。 GBDT+RF 通过结合在基于规则、机器学习等反欺诈模型中汲取的经验, GBDT 同时,英特尔® 至强® 处理器/英特尔® 至强® 可扩展处理器所集 RF SVM 中国银联基于 “三明治” 结构的多层模型,以及基于英特尔® 架 LR 成的英特尔® 高级矢量扩展512(英特尔® AVX-512)技术,为银 基于英特尔® 至强® 处理器/英特尔® 至强® 可扩展处理器的硬件 准确率 F1 构的多方位优化,构建高效的欺诈侦测方案。目前,该方案 联 “三明治” 结构反欺诈模型提供了出色的并行计算能力。 平台为中国银联反欺诈模型成功构建、应用提供的强劲算力, 已在伪卡/套现欺诈侦测等场景中进行了实测,并获得良好 以及英特尔提供的多项优化措施,用户在未来也可选择性能更 效果。 强、在AI领域有着更多优化方法的第二代英特尔® 至强® 可扩展 处理器等更新硬件产品,来构建其性能更优的解决方案。 (a) (b) 解决方案 0.2 0.4 0.6 0.8 1609 1610 1611 1612 召回率 非平衡率 中国银联采用 GBDT—>GRU—>RF “三明治”结构,构建了高效 图 2-1-7 GBDT—>GRU—>RF “三明治” 结构反欺诈模型评估效果 的 反 欺 诈 模 型。 首 先, 银 联 基 于 Analytics Zoo 以 及 Spark pipeline 对数据进行流程化建模。通常地,AI 训练模型需要针 对用户的每条交易和行为进行分析,即通过算法学习到每个持 在完成流程化建模和多层反欺诈侦测模型构建后,银联将其进 卡人的消费行为模式,去分析是否异常,并在发现异常交易行 行了封装和整合,并以 API 接口的方式提供端到端的智能分析 为时启动拦截动作,但这需要系统引入海量的交易数据。同时, 解决方案,从而更好地为业务人员提供服务。如图 2-1-8 所示, 训练模型要学习到用户的历史交易行为,每个人至少需要数百 用户通过 API 接口等方式提供入参,即可获得经过智能模型运 笔非正常交易数据供模型学习所用。 算分析后的结果指标。以三明治结构的欺诈侦测模型为例,其
11 . 英特尔与金融用户协作利用 AI • 人工投入大,预测时间长。每个月银行工作人员都要逐月预 测当月到期以及后面三个月到半年即将到期的贷款逾期风 模型开展信贷逾期风险预测 险,层层上报并等待决策处理,整个过程需要将近一个月; 占用了贷款管理中风险控制的宝贵处理时间。 信贷逾期风险挑战 • 人工预测质量良莠不齐。有的工作人员很有经验,预测准确; 信贷是金融机构最重要的资产业务之一,随着各类商业银行信 有的则经验不足,无法将风险消弭在襁褓之中; 英 贷业务规模的不断扩张,逐渐增加的不良贷款不仅正逐渐侵蚀 • 多种因素影响预测。在人工预测的过程中,会受到市场环 英 特 着银行的利润,而且还会占用宝贵的信贷额度,影响银行的放 境的多变性、经济活动的周期性以及银行、企业两侧信息 特 尔 贷能力,使优质的项目无法获得信贷支持。 的不对称性等因素的干扰,进而影响风险预测的时效性和 尔 中 中 准确性。 基于 AI 的高效 国 国 金 更为严重的是,当不良贷款超过一定限度,就会极大地影响业 金 融 务经营与运转,为银行带来风险。 此外,不良贷款的大量发 同时,人工预测除了准确性无法得到保障之外,这一工作也缺 融 行 行 业 生还会诱发社会道德风险,如果处理不良贷款的力度过大又可 乏完整的知识体系,无法逐步通过经验的积累来提升预测的效 业 信贷逾期风险预测 AI 能会引起企业连锁倒闭破产,增加财政风险和社会危机的几率。 率和准确率,因而就无法形成良性闭环。 AI 实 实 战 战 手 来自中国银行保险监督管理委员会银(下简称 “银保监会”)的 随着信贷业务的不断扩张,商业银行传统基于人工的风险预测 手 册 数据显示,截止 2018 年四季度末,中国商业银行不良贷款余 方式也承受着越来越大的挑战。 册 解决方案 额 2.03 万亿元人民币,不良贷款率 1.83%4。因此,对信贷 业务实施高效的贷前贷后风险管控,就成为银行构建风控系统 以上的问题,以及来自银保监会对于每月逾期情况的监察,无 实 实 战 的重要内容。 疑给银行带来了极大的成本和管理压力。因此,银行希望将自 战 篇 己丰沛的业务数据资源利用起来,通过 AI 构建更有效的信贷 篇 目前,商业银行针对信贷逾期风险预测主要有两类应用场景, 逾期风险预测系统。而要构建完整的信贷逾期风险预测 AI 架 20 一类是在贷款前就进行的贷前风险评估,其主要关注预测结果 构,实现高准确率、低延时以及可解释的贷款逾期预测方案, 21 的时效性和可解释性 ; 另一类是针对贷款发放后的贷后风险预 就需要针对业务数据和环境数据进行分析和预测。 测,其主要关注预测结果的准确率和可解释性。 前者,也就是业务数据,是金融机构对企业用户的金融资产状 对于贷前风险预测,商业银行在发放贷款前,主要是通过对企 况、未来流水、资金用途等数据的记录。目前,业界通常采用 业所在行业发展特点以及企业实际经营、资产负债、信用状况 机器学习或者深度学习的方法来构建预测模型;而后者,即环 等进行多方位的人工调研,以此评估贷款发放的风险等级。但 境数据,对其则可以采用 NLP 的方法进行研究和预测。 这类方式通常效率低,需要耗费大量的人工时间,且伴有明显 的主观判断的问题。 在英特尔与金融用户的合作探索中,双方合作构建了基于 LSTM 和传统机器学习的混合模型,来应对用户在准确性和可 针对贷后风险预测,商业银行通常会通过人工方式,定期或不 解释性两方面的需求。同时,也针对环境数据的 NLP 模型的 定期地根据借款企业所属行业及经营特点,进行现场或非现场 构建进行了探索。 检查,通过与贷款人沟通,对借款企业的财务信息、经营状况 的分析以及贷款资金的流向监测,来掌握可能造成违约风险和 信贷逾期风险预测模型的架构设计 信用风险的因素,防止违约贷款。 ■ 基于机器学习方法 基于树的机器学习方法是在信贷逾期风险预测模型上常用的技 囿于人力与成本问题,这种人工方式只能每月或每季度进行一 术,其预测结果通常具备较好的可解释性。其中 XGBoost 是 次,遇到问题也只能依赖经验层层上报,等待风险管理部门决 一种重要的机器学习模型,是 boosting 的集成学习,由大量 策后采取行动。因而面临以下几个主要问题: 4 数据源引自银保监会官方网站: http://www.cbrc.gov.cn/chinese/newShouDoc/CDF5FDDEDAE14EFEB351CD93140E6554.html
12 . 分类回归树(Classification And Regression Tree,CART) 集 ■ 基于RNN/LSTM的深度学习方法 信贷逾期风险预测模型的算法实现 ■ 数据的预处理和特征工程 合而成的强分类器。 深度学习方法也是信贷逾期风险预测中日益广泛应用的方案, 数据的预处理和特征工程会根据具体的任务和数据而做不同的 信贷逾期风险预测模型训练数据 其中 RNN 是一种经典的深度学习模型。在典型的 RNN 结构中, 处理,例如进行 One-hot 编码以及数据标准化。One-hot 编 信贷逾期风险预测模型训练数据一般包括了几年内客户在银行 CART 回归树是在二叉树上不断根据特征进行分叉,例如当前 每一个输入结合当前模型的状态都会得到输出,RNN 的主体 码可以将类别型的变量转换成数值变量;而数据的标准化主要 所做的贷款交易数据,以及当月客户本身的经营状况的量化数 树节点 J 是基于 a 个特征值进行分叉,则特征值小于 b 的样 结构 A 的输入除了来自输入层的 X, 还有一个循环来提供当前 是为了加速模型的训练和收敛速度。 据。此外,人工评判的业务逻辑也会被作为高级的特征,加入 本划分为左子树,大于 y 的样本划分为右子树: 时刻的状态。同时 A 的状态也会从当前一步传递到下一步。 到数据集中进行训练。 英 英 特 LSTM 是 RNN 重要的衍伸模型,其可以通过特别的 “门” 结构 特 尔 ■ 信贷逾期风险预测模型软件平台 尔 设计来避免经典 RNN 结构中的长期依赖问题,使其大幅度提 中 中 CART 回归树实质就是在该特征维度上对样本空间进行划分, 分 布 式 机 器 学 习 社 区(Distributed Machine Learning 国 升记忆时长。基于 LSTM 的深度学习方法很适合运用在基于序 国 金 典型 CART 回归树产生的目标函数为: 列的分析工作中,也就是说,银行可以利用过去一段时间内, Community, DMLC)现在已经发布了基于英特尔® Python 分 金 融 发包和面向英特尔® 架构优化的 TensorFlow 深度学习框架构 融 围绕贷款发放后的一系列特征,例如企业经营情况、账户流水 行 行 建的 XGBoost 开源包。XGBoost 开源包提供一个 wrapper 类, 类别型变量转换成数值型变量之后,会将原有的类别型变量删 业 等,来预测未来一段时间内贷款可能面临的逾期风险。 业 AI 允许模型可以与 Scikit-Learn 框架中的其他分类器或回归器协 除,并对整个数据集进行标准化处理: AI 回到 XGBoost,其核心思想,就是通过不断进行特征分裂来 实 同使用。 实 生成新的分叉树,每添加一个树,其实就是学习一个新函数来 但纯粹的深度学习方法存在着过程缺乏可解释性的缺陷,而银 战 战 手 拟合上次预测的残差。因此,XGBoost 目标函数可以定义为: 行等金融机构往往需要对推理得到的结果进行解释,也就是需 手 册 要理解模型依据哪些信息和条件获得了特定的预测输出结果。 XGBoost 可以通过英特尔® Python 分发包加速训练和推理过 册 程。英特尔® Python 分发包内置了英特尔针对数据分析和机器 这样的解释能够为金融客户在改善业务流程、改进客户体验等 学习的加速库(Intel® Data Analytics Acceleration Library, 实 当有 k 个样本,其第 n 轮的模型预测结果为 : 方面提供指导。深度学习方法对于用户往往呈现的是黑盒状态 , ■ XGBoost 模型及训练 实 Intel® DAAL),该加速库可以加速机器学习过程,并且充分利 战 这使得可解释的深度学习方法成为今后深度学习方法实施优化 ■ XGBoost 模型实现 战 篇 的重要方向。 用英特尔 ® 架构的硬件资源。 篇 XGBoost 模型可以直接采用 XGBoost 开源包进行部置,或 与 GBDT 等机器学习方法相比,XGBoost 有着如下的优势: 通过对原生 XGBoost 的包装类来实现,这种方式可以采用 22 ■ 机器学习与深度学习集成方案 ■ 面向英特尔® 架构优化的 TensorFlow 23 • XGBoost 支持并行计算,可以充分利用处理器的多线程能 SKlearn 风格的编程方式,更为简单易用。 作为领先的深度学习框架,TensorFlow 已经广泛应用到不 力,尤其当其工作在英特尔® 架构平台上时,可以有效利用 为提升可解释性和准确性,需考虑采用其他方法。模型融合就 同行业的 AI 应用中。如何让 TensorFlow 框架在基于英特尔 ® 英特尔®AXV-512 等最新指令集带来的强大并行计算能力; 是一种非常有效的技术,可以在大部分的机器学习任务中提高 架构的平台上发挥最佳性能,就是面向英特尔® 架构优化的 • XGBoost 在其代价函数中引入了正则化项,可以有效地控 回归或者分类的准确性,并可以直接使用不同模型的结果文件 TensorFlow 进行优化的方向。其优化主要从三个层面进行: 制模型的复杂度,防止模型过拟合; 进行融合,也可以使用一个模型的预测结果作为另一个模型的 1)英特尔® MKL-DNN 的集成; • XGBoost 支持列抽样(column subsampling)方式,不仅 特征进行训练,然后得到新的预测结果。不同类型的模型学习 2)计算图的优化; 能够防止过拟合,还能降低计算复杂度; 训练的原理不同,所学到的知识也不一样,对其进行融合,可 3)Kernel 的优化。 • GBDT 在进行优化时只用到一阶导数信息,而 XGBoost 则 以提升训练的效果。例如,通过将树模型 XGBoost 和 LSTM 对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导 深度学习模型融合的方式,能使预测能力得到进一步增强,同 通过以上三个层面的优化,可以确保最常用的运算能在优化过 数,有着更好的预测效果。 时又使模型具备可解释性。模型融合的整体结构如下图: 的 MKL-DNN 基元上进行,并且可以通过算子融合的方式来 机器学习和深度学习的融合 优化计算图,另外还可以优化多个线程库,使它们能共存,而 因此,XGBoost 机器学习模型已经被广泛地运用到信贷逾期 不是互相争夺处理器资源。通过这些软件层面的优化,在不改 风险预测的解决方案中,使用 XGBoost 进行贷款风险的经典 第三方信 XGBOOST 用数据集 变神经网络模型的情况下训练和推理的整体性能获得了显著提 预测步骤如图 2-2-1 所示,分为数据导入、数据清洗与准备、 升,具体请参考下文中的 “XGBoost 模型及训练” 介绍。 模型建立、模型评估以及模型效果对比等几个主要步骤: 多层 风险预测 贷款业务 集成 LSTM 数据集 ... *更多英特尔® MKL-DNN的技术细节,请参阅本手册技术篇相关 模型 数据 数据清洗 模型 模型 效果 介绍。 导入 & 准备 建立 评估 交易 对比 多层 数据集 LSTM 图 2-2-1 使用 XGboost 进行贷款风险预测 图 2-2-2 模型融合的整体结构
13 . 得到: 以下两个参数可以一起调整, reg_alpha L1/L0正则的惩罚系数 reg_lambda L2 正则的惩罚系数 ■ XGBoost 参数调优 第二步:定义一个基本的 XGBRegressor(可以将需要调整的 英 英 特 参数都列出,方便后面调整),通过调用上面定义的函数得到 特 XGBoost 的超参非常多,可以把所有的参数分为以下三类: 尔 树的数目: 尔 1) 通用参数:宏观函数控制,这部分的参数基本不需要调整; 中 中 国 2) Booster 参数:控制每一步的 Booster(tree/regression) 的 国 得到: 金 相关参数,需要仔细调整,会影响最终的性能; 金 融 融 3) 学习目标参数:控制训练目标的表现,一般随任务而确定, 行 行 业 且一般不需要调整。 逐个调整需要优化的参数,得到最终的最优参数:gamma 业 AI 所以需要调整的参数主要与 Booster 相关,参见下表: AI 实 实 战 战 手 参数 说明 手 册 树的最大深度。树越深通常模型越复 册 max_depth 杂,更容易过拟合 learning_rate 学习率或收缩因子 实 n_estimators 弱分类器数目 得到: 实 战 gamma 节点分裂所需的最小损失函数下降值 战 得到: 篇 叶子结点需要的最小样本权重 篇 min_child_weight (hessian)和 最后再用优化的全部参数来调整一下树的数目, 24 subsample 构造每棵树的所用样本比例 25 colsample_bytree 构造每棵树的所用特征比例 第三步:根据各个参数的意义分组调整,开始可以将参数调整 colsample_bylevel 树在每层每个分裂的所用特征比例 的步长放大进行粗调,等结果出来后可以减小步长进行细调: reg_alpha L1/L0正则的惩罚系数 得到: reg_lambda L2正则的惩罚系数 subsample 构造每棵树的所用样本比例 可以通过网格搜索的方式来逐步调整以上表格列出的 Booster colsample_bytree 构造每棵树的所用特征比例 参数,网格搜索由于需要通过交叉验证的方式来选取最优参数, colsample_bylevel 树在每层每个分裂的所用特征比例 当多个参数同时优化时会非常耗时,所以需要逐个或者对相 关参数逐组来优化。在调整中,可以通过 XGBoost 自带的 cv 函数来调整树的数目,用 XGBRegressor 或者 XGBClassifier (XGBoost 的 Sklearn 包 , 回归和分类问题的调整策略一致) ■ 模型训练和推理 和 GridSearchCV 调整其他参数。 模型的超参全部确定后,就可以通过指定 XGBooster 的参数 生成 Booster 来训练模型,通过不同任务的相应评估标准来评 下面,首先定义一个函数用于调整最优树的数目: 估模型的训练效果。 得到:
14 . 模型训练和验证(可以通过 Tensorboard 来监测多个需要观 贷款逾期风险混合预测模型 察的参数),同时将训练好的模型保存下来: ■ 模型简介 基于LSTM和传统机器学习的贷款逾期风险混合预测模型,融 合了机器学习和深度学习两类方法的优点,既通过深度学习保 障了预测的准确性,又通过机器学习的方法来提供了预测的可 解释性;同时,这一混合模式还可以使用面向英特尔® 架构优 英 英 特 ■ 使用面向英特尔® 架构优化的TensorFlow实现 化的TensorFlow和英特尔® Python分发包等先进工具和产品 特 尔 LSTM 来实施优化。因此可以为商业银行等金融机构提供高效的预测 尔 中 服务。 中 实现方法 国 国 金 面向英特尔® 架构优化的TensorFlow集成了英特尔® MKL- 金 融 DNN, 能够在英特尔® 架构的硬件上充分利用硬件资源,通过 这一模型的基本结构与工作流程如图 2-2-3 所示,首先,是 融 行 特征分析和数据预处理。在这一步骤,来自金融机构本地大数 行 业 矢量化、并行化,以及利用英特尔® 深度学习加速技术(VNNI 业 据平台的数据,或者第三方提供的数据(例如征信机构的数据) AI 指令集)等多种优化手段,实现对LSTM等网络模型的加速。 AI 实 会在系统中进行处理,这包括了对缺失数据的处理、对数据范 实 战 围的处理、对数据不平衡性的处理以及对数据重要特征的分析。 战 手 ■ 模型架构的定义 手 同时,随着数据集容量的增加和复杂化,该模型还可以使用不 册 可以采用 2 层 LSTM 网络来构建网络结构,其中一层的 LSTM 册 同的预处理工具包和新模型来应对各种类型的数据输入。 网络是由一个基本的 LSTM 层加一层 Dropout 组成,LSTM 实 的输出后接了三层的全连接网络。 实 第二步,是利用深度学习模型(LSTM)和传统机器学习模型 战 战 篇 (XGBoost/RF)分别对样本数据进行训练和推理,并得到各 篇 自相关的结果;而后,混合模型会将分别对结果进行加权处理, 26 更新权值并做出预测。 27 方案的最后一步,是将本轮的预测结果重新导入模型头部,根 据预测效果更新特征值和权值,并进行下一轮的预测。 定义损失函数和优化器,最小化损失函数: 1. 特征分析和预处理 2. LSTM和ML结合 随机森林 3. 更新权值,做出预测 处理 贷款业务 缺失值 数据集 定制化的 LSTM 1 处理 2 数据扩展 模型结 第三方信 果集成 3 用数据 处理不平 衡数据 4 ■ 模型推理 特征重要 ... ... ■ 模型训练 性分析 模型的推理阶段通过测试集数据给出模型的最终推断效果, 根据训练服务器的配置,设置训练的系统配置参数: 需要首先载入之前保存的模型: 4. 监控预测效果,更新特征和权值 图 2-2-3 基于 LSTM 和传统机器学习的混合模型
15 . 软硬件配置建议 该商业银行用户基于混合模型构建的训练和推理集群,全部基 于英特尔® 架构平台。英特尔® 架构处理器平台不仅在内核、 以上信贷逾期风险预测模型的构建,可以参考以下基于英特尔® 信贷预期风险预测应用 高速缓存等方面表现优异,还能以大量的硬件增强技术助力提 架构平台的环境进行配置: 升框架性能。例如,英特尔® 至强® 处理器和英特尔® 至强 ® 使用英特尔® MKL-DNN 英特尔® Python 优化的TensorFlow 分发包 存储:HBase、HDFS 硬件配置 可扩展处理器所具备的英特尔® AVX-512,可以为 XGBoost 模型提供出色的并行计算能力。 英特尔® MKL-DNN/MKL 名称 规格 英 处理器 双路英特尔® 至强® 金牌 6230 处理器或更高 英 操作系统:RedHat 特 操作系统:RedHat 基础频率 2.10GHz 特 尔 VMware ESXi 核心/线程 16/32 小结 尔 中 中 HT On 国 人工智能(AI)平台 数据平台 利用多样化的 AI 方法为金融用户提供适合的解决方案,是英 国 金 Turbo On 金 英特尔® 以太网 特尔结合自身技术能力,面向行业推出量身定制解决方案的有 融 英特尔® 至强® 英特尔® 以太网融合网络 英特尔® 至强® 融合网络适配器 内存 192G (16G DDR4 2666MHz x12) 融 金牌 6130 处理器 适配器X710- DA2 金牌 6130 处理器 行 X710- DA2 硬盘 英特尔® DC S3320数据中心级固态盘 480GB 益尝试。基于 LSTM 和传统机器学习的混合预测模型,不仅在 行 业 BIOS SE5C620.86B.00.01.0013.030920180427 预测准确性上获得了令人满意的效果,也充分满足了用户对于 业 AI 图 2-2-4 贷款逾期风险混合预测模型软件栈 AI 预测过程可解释性的要求。 实 软件配置 实 战 战 手 名称 规格 英特尔不仅为这一新型的混合预测提供了高性能处理器产品, 手 册 操作系统 CentOS Linux release 7.4.1708 (Core) 册 ■ 软件栈 其次,在离线系统中,来自外部数据子系统和在线系统的部分 还 提 供 了 面 向 英 特 尔® 架 构 优 化 的 TensorFlow 和 英 特 尔® Linux内核 3.10.0-957.12.1.el7.x86_64 贷款逾期风险混合预测模型软件栈如图 2-2-4 所示,在左 数据将被汇入一个数据集市(Data Mart),而后这些数据在 Python 分发包等多样化的软件优化能力,从而有力地提升了 工作负载 LSTM/XGBoost 实 侧,其底层是由英特尔® 至强 ® 金牌 6130 处理器和英特尔® 得到清洗之后,进入离线的模型训练和算法部署流程,经训练 它的工作效率。目前,该混合预测模型已在某商业银行用户处 实 编译器 GCC 5.4 战 以太网融合网络适配器 X710-DA2 构建的硬件基础设施;其 后的模型算法将被导入在线子系统的预测系统中。 得到了实践部署,为用户带去了高效、准确的信贷逾期风险预 战 库 英特尔® MKL最新版本 篇 上是 AI 能力层,由 VMware ESXi 提供虚拟化环境,安装有 测能力。未来,双方还计划进一步探索利用 NLP 模型面向大 篇 框架 面向英特尔® 架构优化的TensorFlow发布版 RedHat Linux 操作系统(CentOS Linux release 7.4.1708), 而在在线子系统中,其前置系统首先会将部分数据推给数据 其他软件配置待 英特尔® Python分发包 环境数据展开分析和预测,并使预测的效果更为全面和准确。 28 集市用于模型训练,其它数据则通过数据推送系统,进入由 29 并部署了英特尔® MKL-DNN 或英特尔® MKL、面向英特尔 ® 架构优化的 TensorFlow1.10 以及英特尔® Python 分发包。 Storm 集群构建的分布式实时计算系统进行预测调度等步骤。 虽然在已有的案例方案中,采用了基于英特尔® 至强® 处理器 之后,数据就会进入预测系统进行推理预测,得到的结果将被 某大型商业银行应用案例 / 英特尔® 至强® 可扩展处理器的服务器。在未来,用户还可 在右侧,底层是由英特尔® 至强 ® 金牌 6130 处理器和英特尔 ® 以太网融合网络适配器 X710-DA2 构建的硬件基础设施;其 送到测试平台进行验证,最后的结果经由名单管理模块以及风 选择性能更强,且在 AI 领域有着更多优化措施的第二代英特尔® 成效 上是数据层,安装有 RedHat Linux 操作系统(CentOS Linux 险标签生成模块,再返回离线子系统的算法部署和模型训练模 至强® 可扩展处理器,来构建其解决方案。 块,进行算法迭代。 来自该用户的实际部署验证表明,最终的混合方案可以有效地 release 7.4.1708), 并 部 署 有 Apache HBase 分 布 式 数 据 提升预测的准确率,并大幅降低预测时延。数据显示,与人工 库以及 Hadoop 分布式文件系统(Hadoop Distributed File 预测方案相比,LSTM 方法的准确性提升 1 倍,而混合模型方 System,HDFS),提供分布式数据存储读写能力。在 AI 能 案的预测准确率能够提升 2 倍以上,同时预测时延则缩短到了 力层和数据层之上,部署了贷款逾期风险混合预测应用。 风险标签生成 2 天(预测效率提升 10 倍以上)。另外,在在线预测方案(可 名单管理 放贷风险预测)中,每笔预测时间均小于 1 秒,显著提升了客 ■ 系统架构 测试平台 户满意度。 在实际的系统建设中,如图 2-2-5 所示,贷款逾期风险混合 服务接口 预测系统 算法部署 预测方案可由如下方式构建。整个系统从左至右分为外部数据 Storm 集群 模型训练 数据规划 处理子系统、在线系统以及离线系统。首先,对于外部数据, 数据监控 数据推送 数据清洗 系统通过统一的数据接口汇入数据规划与监控平台,而后由一 数据接口 前置系统 数据集市 个服务接口将部分数据送至离线系统。 准确率 召回率 时延 在线 离线 外部数据 基础设施 人工预测 RNN(LSTM) 模型 RNN(LSTM) 与经典机器学习模型的混合模型 图 2-2-6 不同预测方案结果比对 图 2-2-5 贷款逾期风险混合预测方案系统架构
16 . 基于 AI 的金融行业精准营销策 观看的电影 5;而 YouTube 上的这一数字为 60%6;另还有数 据表明基于深度学习的推荐系统在推荐质量方面正获得越来越 略探索 多的认可 7。 背景介绍 推荐模型一般可分为三类,即协同过滤、基于内容和混合系统。 一直以来,金融行业都是积极利用AI能力加速业务发展、提升 基于协同过滤的推荐算法基于用户大概率会选择与曾经购买过 英 营销效率的典范。这源于:首先,金融行业企业往往具备完备 的商品类似的产品,其通过学习用户与商品的历史交互,利用 英 特 的信息化系统,并重视业务数据的采集和积累,由此积累了海 显式的(例如用户先前的评级)或隐式的反馈(例如用户购买 特 尔 量的数据,为AI应用提供了坚实的基础;其次,银行、保险、 后的评价)来提出建议。这一方式不需要进行特征值筛选,比 尔 中 中 基于 AI 的金融行业 国 证券等金融类业务都是基于数据展开,大量繁琐的数据处理工 较适合作为最初的模型。 国 金 作,亟需AI来助力提升效率;另外,深度学习的快速发展,使 金 融 AI与金融行业的融合有了更多的应用场景。这其中,基于AI的 而基于内容的推荐算法,其原理是假定用户通常会喜欢某项内 融 行 行 金融行业精准营销策略正受到越来越多的关注。 容与所关注过的产品相似的产品,比如你买了某理财产品 A, 精准营销策略 业 业 AI 基于内容的推荐算法发现理财产品 B,与你之前购买的理财产 AI 实 金融行业较高的信息化水平和数据优势,推动业内企业加速进 品 A 有类似的收益率或年限,就会向你推荐。这一方法可以 实 战 战 手 行各类推荐系统的构建,以 “千人千面”、“全用户画像” 等方式, 避免推荐系统的冷启动问题,而其不足在于可能会重复推荐, 手 册 推动精准营销和个性化营销等重要应用的实施。利用海量结构 同时这一算法也依赖大量特征值分析。 册 化 / 非结构化数据,金融企业正构建一系列营销决策模型,对 终端用户的行为喜好、使用体验以及购买意图等做出深入分析, 目前,深度学习正越来越多地被用于构建高效率的推荐模型。 实 实 战 进而推测市场前景,为相关金融产品或商业交易提供个性化建 传统的机器学习算法在以前的解决方案中起着至关重要的作 战 篇 议,为金融企业营销创新提供新鲜动力。 用,但随着模型和特征工程的日趋复杂,近年来,人们也提出 篇 了许多基于深度学习的神经推荐模型,以进一步提高营销活动 30 为 迎 接 这 一 趋 势, 多 家 金 融 行 业 企 业 在 与 英 特 尔 的 合 作 的有效性。 31 探 索 过 程 中, 通 过 英 特 尔 开 源 的 “ 大 数 据 分 析 +AI” 平 台 Analytics Zoo,已经利用神经协同过滤(Neural Collaborative ■ 推荐系统构建过程 Filtering,NCF)模型、宽深(Wide and Deep,WAD)等深 如图 2-3-1 所示,推荐系统的构建过程可由以下几个主要步 度学习模型,构建了高效的业务推荐系统。 骤组成:数据清洗、特征工程、建模、评估调优。 推荐系统 评估调优 ■ 常见的推荐系统 数据清洗 特征工程 建模 评估 训练数据 / 验 数据分布检验 特征选择 证数据划分 超参优化 推荐系统 (Recommender System,RS)是一种信息过滤工 发布 空值处理 特征转换 模型选择 超参优化 具,能引导企业以个性化的方式从大量可能的选项中发现消费 异常值处理 增维降维 算法实现 模型结构微调 者的偏好,从而改善客户消费体验、提升企业的营销效果,并 模型融合 在目标营销产品 / 计划的准确性方面发挥重要作用。例如,如 图 2-3-1 推荐系统构建过程 果商家提供优惠给购买潜力最高的消费者,那么这一措施无疑 是更有效的。 • 一般来说,原始数据往往都会包含各种脏数据,其会很大程 度上影响模型训练和预测的准确度。数据清洗过程就是通过 现在,推荐系统已经成为许多行业拓展销售和服务的关键工具。 对数据进行重新审查和校验,来保证数据一致性。数据清洗 例如,有 80% 的用户在 Netflix 上通过推荐来选择接下来要 主要包括了数据分布检验、异常值处理和空值处理等功能; 5 Carlos A Gomez-Uribe and Neil Hunt. 2016. Netflix 推荐系统:算法、商业价值和创新。管理信息系统的 ACM 事务 (TMIS) 6, 4 (2016), 13. 6 James Davidson, Benjamin Liebald, Junning Liu, Palash Nandy, Taylor Van Vleet, Ullas Gargi, Sujoy Gupta, Yu He, Mike Lambert, Blake Livingston, and Dasarathi Sampath. 2010. The YouTube Video Recommendation System. 第四届 ACM 推荐系统会议录第 29 页至第 29 页 (RecSys ‘10). 7 Shuai Zhang, Lina Yao, and Aixin Sun. Deep learning-based Recommender System: A Survey and New Perspectives. arXiv preprint arXiv:1707.07435, 2017.
17 . • 特征工程过程是从数据中抽取出对结果预测有用的信息,并 同时,Analytics Zoo 还提供了丰富的端到端分析能力和 AI 支 密集:预测 深分量模型是与神经协同过滤模型类似的多层感知器,它是通 密集 进行维度转换,最终形成特征向量,其包括了特征选择,特 持,包括: 过深度学习获得一系列向量,并用这些向量作为特征的一部分 合并:对象堆叠 征转换和增维 / 降维等主要功能; • 易于使用的高级分析流水线 API(例如传输学习支持、自动 参与到训练中。通过深分量模型产生的特征有以下优点:一方 • 建模过程包括了模型的选择、模型训练和算法实现; 编程操作、Spark DataFrame、MLPipelines、在线模型服 密集 : 激活 面其可以弥补人为提取特征造成的维度限制,提高预测准确 随机失活 • 评估与调优包括了超参优化、模型结构的调优,以及交叉验 务 API 等); 多层 性;另一方面其特征是由深度学习框架自动生成,无需人力干 密集 神经 证和模型融合等工作。调优之后,还需要根据调优结果进行 • 用于图像、文本、3D 图像等的常见特征工程操作; 通用矩阵分解 网络 随机失活 预,可提高训练效率。但由于深分量模型产生的向量是隐性特 合并:计算样本 密集 英 判断,回到初始的数据清洗和特征工程部分。 • 大量内置深度学习模型(例如对象检测、图像分类、文本分 张量乘积 征,这使得预测过程往往缺乏明确的可解释性。 英 合并:对象堆叠 特 类、推荐、异常检测、文本匹配、序列到序列等); 特 嵌入层 尔 尔 中 Analytics Zoo • 丰富的参考用例(例如异常检测、情绪分析、欺诈检测、图 随机失活 随机失活 随机失活 随机失活 中 压平 压平 压平 压平 国 像相似性等)。 国 Analytics Zoo 是由英特尔开源的、统一的 “大数据分析 +AI” 嵌入(矩阵 嵌入(矩阵 嵌入(多层神 嵌入(多层神 金 分解项目) 分解项目) 经网络用户) 经网络用户) 金 融 平 台, 它 可 以 无 缝 地 将 TensorFlow、Keras、PyTorch 、 用户索引 项目索引 用户索引 项目索引 融 利用 Analytics Zoo,企业用户可以获得以下优势: 选择 选择 选择 选择 窄化 行 BigDL、Ray、Spark 以及 Flink 等软件与框架集成到一个统一 行 业 • 分析存储在同一大数据集群上的大量数据(HDFS、Apache 业 用户配对与统计功能 的体系,并扩展到大型 Apache Hadoop/Spark 集群,用于深 AI HBase 和 Apache Hive 等),而不是移动或复制数据; AI 实 度学习所需的分布式训练或预测。 实 • 将深度学习功能添加到现有的分析应用程序和机器学习流水 图 2-3-3 神经协同过滤(NCF)模型的示例 战 战 手 线中,而不是重建它们; 手 Analytic Zoo 可在基于英特尔® 至强® 可扩展处理器的集群 图 2-3-4 宽深模型图 册 • 利用现有的大数据集群和基础设施(资源分配,负载管理和 NCF 利用引入深度神经网络来解决这一问题,它可以使用深 册 上运行,来满足企业深度学习的需求。它允许用户直接在 企业级的监控); 度神经网络(DNN)从数据中学习交互函数,从而消除 MF 模 既 有 的 大 数 据 基 础 设 施, 例 如 Apache Hadoop/Spark 上 因 此,WAD 模 型 通 过 将 宽 分 量 模 型 和 深 分 量 模 型 进 行 结 • 在训练阶段进行交叉验证时,深度学习算法会产生指数性增 型的限制。如图 2-3-3 所示,其利用 Embedding Layer 将输 实 开 发 和 运 行 深 度 学 习 应 用 程 序。 通 过 使 用 Plain Old Java 合, 以 求 获 得 更 具 效 率 的 推 荐 系 统。WAD 模 型 使 用 了 实 战 长的隐藏嵌入特征,并自动执行内部特征选择和优化,从 入层的稀疏表示映射为一个新的潜在向量,然后分别将用户输 战 Object(POJO)、本 地 Java API 或 Scala/Python 模 型 加 载 SparseTensor,以及为稀疏数据计算明确设计的一些层,例 篇 而显著减少特征工程工作量;在构建模型时,算法只关注 入和商品输入送入多层神经网络结构。在左侧,模型使用了一 篇 API,Analytic Zoo 可 以 无 缝 集 成 到 Web 服 务( 如 Spark 如 SparseLinear, SparseJoinTable 等。 一些预先定义的滑动特征和自定义重叠特征,删除大部分 个通用矩阵分解(GMF)结构用于处理线性交互;在右侧,则 Streaming,Kafka 等)中。 32 LongTime Variable(LTV)预计算工作,能够节省大量时 使用多层神经网络(MLP)进行处理非线性交互。最后使两者 33 Analytics Zoo 对 WAD 模 型 提 供 了 良 好 的 支 持, 具 备 间和资源; 相互融合,从而获得更好的推荐效果。现在,通过 Analytics 通过 Analytics Zoo,用户可以进行以下工作: DataFrame 和 弹 性 分 布 式 数 据 集(Resilient Distributed • 传统的机器学习(ML)方法严重依赖于人机学习专家来优 Zoo,用户就可以轻松构建 NCF 模型。 • 使用 Spark 进行数据处理和分析; Datasets,RDD)两种接口,用于数据准备和训练,并为用 化模型,而 Analytics Zoo 提供了更多选项来找到一个更佳 • 使用TensorFlow、Keras 或 PyTorch进行深度学习模型开发; 户的不同场景提供了应用灵活性。另外,Analytics Zoo 中的 的、更稳健的执行配置,大幅提升了自动模型优化的能力; ■ 宽深模型 • 在 Spark 和 BigDL 上进行分布式训练 / 推理; WAD 模型还允许 Spark 1.5 兼容到最新版本。 • 由于 Analytic Zoo 可以作为英特尔® 至强® 处理器上的标准 宽深学习模型是 2016 年提出的一个 DNN-Linear 混合模型, Spark 程序运行,因此部署或操作成本为零。 其分为宽分量模型和深分量模型两个部分,如图 2-3-4 中模 基于 Analytics Zoo 的模型实现 式右侧部分所示,宽分量模型是一个单层感知器,是一个广义 * 更多 Analytic Zoo 技术细节,请参阅本手册技术篇相关介绍。 ■ 神经协调过滤模型系统实现 线性模型。与传统推荐系统通过基于离散特征的线性算法来进 行推荐的方式相比,宽分量模型通过获得用户的历史行为数据, 以下部分将阐述如何在基于 Spark 的 Analytics Zoo 和 BigDL 几种典型的 AI 推荐深度学习模型 例如点击哪些页面,购买过哪些商品,然后通过编码构成离散 上构建一个基于显式反馈的 NCF。 ■ 神经协同过滤(NCF)模型 特征并进行计算。 系统环境如下: NCF8 模型是目前常见的基于深度学习的推荐算法之一 9。如 • Python 2.7/3.5/3.6 前所述,协同过滤算法依赖于显性反馈与隐形反馈。但在实践 宽分量模型推荐方式对于大规模的稀疏数据有很好的效果,而 • JDK 8 中,显性反馈往往并不明显,更多得到的是隐形反馈。对于隐 且对模型具有很强的解释性。以逻辑回归(LR)为例,每个 • Spark 1.6.0/2.1.1/2.1.2/2.2.0 ( 与编译 Analytics Zoo 的 性反馈数据,可以使用矩阵分解(MF)来抽象为推荐问题。 离散特征都可以对应模型中的一个权重值,特征的权重值与特 Spark 版本要保持一致 ) 但传统的 MF 模型作为潜在因素(latent factor)的线性模型, 征对结果的影响息息相关。但宽分量模型的特征衍生需要大量 • Analytics Zoo 0.5.0 虽然可以反应用户与商品之间的互动关系,但不能真实地反应 人为干涉和专家经验的介入,且预测效果较差。 • Jupyter Notebook 4.1 图 2-3-2 Analytics Zoo 提供丰富的端到端分析能力和 AI 支持 用户是否喜欢该商品。 8 关于 NCF 技术描述,请参阅:https://www.comp.nus.edu.sg/~xiangnan/papers/ncf.pdf 9 Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu, and Tat-Seng Chua. 2017. Neural Collaborative Filtering. In Proceedings of the 26th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 173–182.
18 . ■ 下载或安装 Analytics Zoo 本案例中使用的数据集是 movieens-1M11,其包含了 6,000 将原始数据转换为 RDD12 格式的样本。在本例中,直接使用 通 过 pip 安 装 analytics-zoo 或 者 下 载 预 编 译 包(prebuilt 个用户对 4,000 部电影的 100 万个评分,有五个等级。我们 了 BigDL 的优化器来训练模型,它要求以 RDD 格式提供数 package),请参考:https://analytics-zoo.github.io/master/ 将尝试将每对(用户、电影)划分为 5 个类,并使用平均绝对 据。以下示例中是一个 BigDL 数据结构,它可以分别使用 2 #PythonUserGuide/install/(也可以在 https://analytics-zoo. 误差评估算法的效果。 个 numpy 数 组、feature 和 label 构 建。 此 处 的 API 接 口 是 github.io 主页的左侧索引里,选择 User Guide —>Python —> Sample.from_ndarray(feature, label) ,用于将标签从 1 开始 参考文献: Install) 转换为零。 • 一种电影推荐的 Keras 实现方法,详见:https://github.com/ 英 ririw/ririw.github.io/blob/master/assets/Recommending movies. 英 特 通过PIP安装后运行 特 ipynb 以及 http://blog.richardweiss.org/2016/09/25/movie- 尔 尔 用户可以轻松地使用以下命令来运行示例: embeddings.html ■ 编译模型 中 中 国 • NCF 相关论文,详见 :https://www.comp.nus.edu.sg/~xiangnan/ 根据特定的优化器、损失和评估指标编译模型,优化器会在 国 金 papers/ncf.pdf 训练集上尽量减少神经网络相对于其权重 / 偏差的损失。要在 金 融 融 行 BigDL 中创建优化器,至少要指定以下参数,包括 model(神 行 请参阅如下地址了解更多PIP安装后的运行指南: 导入必要的库: 业 经网络模型)、criteria(丢失函数)、traing_dd(训练数据集) 业 AI https://analytics-zoo.github.io/master/#PythonUserGuide/ 以及 batch size。 AI 实 run/#run-after-pip-install 实 战 将数据随机分为序列(80%)和验证(20%)。 战 手 通过预编译包安装后运行 有关创建高效优化器的详细信息,请参阅以下编程指南和优化器手册。 手 册 编程指南:https://bigdl-project.github.io/master/#Programming 册 对本地模式(master=local[*])或集群模式下的 spark 运行以 Guide/optimization/ 下命令: 优化器:https://bigdl-project.github.io/master/#APIGuide/ 实 实 Optimizers/Optimizer/ 战 战 篇 篇 34 初始化NN上下文,可以得到一个用于优化BigDL性能配置的 35 SparkContext: 请参阅如下地址了解更多非PIP安装后的运行指南: ■ 收集日志 https://analytics-zoo.github.io/master/#PythonUserGuide/ ■ 数据准备:下载并读入1M大小的 movielens 数据: 可以通过 tensorboard 来查看摘要: run/#run-without-pip-install ■ 构建模型 ■ 基于显式反馈的 NCF 实现 在 Analytics Zoo 中, 可 以 轻 松 地 调 用 Neuracf API 来 构 建 NCF 模型——只需要根据数据指定用户计数、项目计数和类编 下文将描述如何建立一个神经网络推荐系统和一个基于显式反 数据中每条记录的格式为(userid、movieid、rating_score)。 号,然后根据需要添加隐藏层,还可以选择在网络中包含矩阵 馈的 NCF。可以使用推荐系统的 API 在 Analytics Zoo 中构建 ■ 训练模型 用户 ID 的范围在 1 到 6,040 之间,电影 ID 的范围在 1 到 3,952 分解。该模型中可以输入 BigDL 的优化器,或 Analytics Zoo 模型,并使用相应的优化器来训练模型。 之间,评级以五星级为单位(仅限全星级),记录用户数和电 中的 NNClassifier。在以下案例中,演示了如何使用 BigDL 的 影数,供以后使用。 优化器。 系统(推荐系统:原则、方法和评价 10)通常通过系统界面提 示用户为项目提供评分,以构建和改进模型。推荐的准确性取 决于用户提供的评级数量。 ■ 预测 NCF 利用多层感知器学习用户 - 项目的交互功能,同时 NCF 可 Analytics Zoo 模 型 使 用 model.predict(val-rdd)API 对 给 以在其框架下表达和推广矩阵分解。includeMF(布尔型)是 定的数据进行推理。返回 RDD 结果,通过 Predict_class 类返 为用户提供的,用于构建一个具有或不具有矩阵分解的 NCF。 回预测标签: 10 12 详情请参阅:http://www.sciencedirect.com/science/article/pii/S1110866515000341 RDD 样本具体描述请参阅:https://bigdl-project.github.io/master/#APIGuide/Data/#sample 11 数据集详见 https://grouplens.org/datasets/movielens/1m/
19 . 绘制准确率: 宽深模型共享的特殊数据特征信息及其特征生成。在这里,我 们将职业性别作为广泛的基础部分,将年龄和性别作为广泛的 交叉部分,将流派和性别作为指标,将用户 ID 和项目 ID 用于 嵌入。 在 Analytics Zoo 中,提供了 3 个独特的 API 来预测用户项目 英 英 特 对,并为用户或给定的候选项目提出推荐: 宽深网络实施案例 特 尔 将评级数据转换为数据帧,将用户和项目数据读取为数据帧。 尔 在下文中,将使用 Analytics Zoo 的推荐 API 建立一个宽度线 中 中 将标签从 1 开始转换为零: 国 性模型和一个深度神经网络,即宽深网络,并使用 BigDL 优 国 金 化器来训练网络。宽深模型结合了记忆强度和广义化,可被用 金 融 融 于一般大尺度回归和分类问题,其中包括突发输入特征(例如, 行 行 业 带有大量可能特征值的类别特征)。 业 AI 系统环境如下: 将数据转换为样本的 RDD,可以直接使用 BigDL 的优化器来 AI 实 实 为每个用户推荐 3 个项目,在 RDD 特性中给出候选项: • Python 2.7/3.5/3.6 训练模型,它要求以 RDD(sample)格式提供数据。一个示 战 战 手 • DK 8 例是一个 BigDL 数据结构,其可以分别使用 2 个 numpy 数 手 册 • Spark 1.6.0/2.1.1/2.1.2/2.2.0 ( 需要与用来编译 Analytics 组、feature 和 label 构建。API 接口是 sample.from ndarray 册 Zoo 的 Spark 版本保持一致 ) (feature,label)。宽深模型需要两个输入张量,一个是宽 实 • Analytics Zoo 0.5.0 模型的稀疏张量,另一个是深模型的密集张量。 实 战 • Jupyter Notebook 4.1 战 篇 下载或安装 Analytics Zoo 请参见第 38 页的运行指南。 篇 为每个项目推荐 3 个用户,在 RDD 特性中给出候选项: 36 ■ 初始化 37 导入所需库 链接并转换数据。例如,性别将被用作分类特征,职业和性别 将被用作交叉特征: ■ 创建宽深模型 在 AnalyticsZoo 中,通过调用宽深 API 可以轻松构建宽深模 ■ 评估 型,仅需要根据数据指定模型类型、类编号以及特性的列信息, 绘制训练和验证损失曲线: 还可以更改网络中的其他默认参数,如隐藏层。该模型可以输 入 BigDL 的优化器,或 AnalyticsZoo 的 NNClassifier。以下 示例演示了如何使用 BigDL 的优化器: 初始化 NN 上下文,可以得到一个用于优化 BigDL 性能配置的 SparkContext: ■ 数据准备 下载并读入 movielens 1M 评级数据,并了解维度:
20 . 为每个用户推荐 3 个项目,在 RDD 特性中给出候选项: 软硬件配置建议 应用案例 以上基于AI的精准营销策略模型的构建,可以参考以下基于 英特尔® 架构的平台,环境配置如下: 中国人寿上海数据中心实现寿险业务再发现 背景 硬件配置 作为保费收入超过 4,000 亿元人民币的超大型保险企业旗下 名称 规格 重要一员,中国人寿上海数据中心正力图建设先进 AI 能力, 英 ■ 创建并优化训练模型: 处理器 双路英特尔® 至强® 处理器E5-2650 v4或更高 英 助力业务人员高效地向不同客户推荐个性化的险种,从而解决 特 为每个项目推荐 3 个用户,在 RDD 特性中给出候选项: 特 基础频率 2.20GHz 尔 因业务规模和险种规模不断扩大带来的问题。 尔 中 基础频率 12/24 中 国 HT BIOS 默认设置 (enabled 或 disabled 皆可) 国 此前,营销人员只能通过个人从业经验和目前公司的主推险种, 金 Turbo BIOS 默认设置 (enabled 或 disabled 皆可) 金 融 内存 384G (32G DDR4 2666MHz x12) 来给客户推荐,而很少考虑到客户自身的需求。这样就带来两 融 行 个问题,首先是客户的需求并没有得到真正满足;其次是可能 行 硬盘 21TB 业 业 BIOS 出厂设置,或后续升级的任何版本 会导致撤单或退保行为,为公司营收造成损失。 AI AI 实 其他硬件配置 10GbE 网络带宽 实 ■ 绘制收敛曲线: 战 训练网络,直到完成,并得到一个训练完成的模型: 营销人员在进行险种推荐时,缺乏良好的方法论是造成这一问 战 手 软件配置 手 题的主要原因。尤其是对于没有经验的年轻营销员来说,更容 册 册 名称 规格 易产生误导式的推销。因此,中国人寿上海数据中心计划以数 Ubuntu 14.04 LTS 据为支撑,构建基于 AI 的推荐模型,支持营销人员通过更有 实 操作系统 *最新支持的操作系统版本,请参考 效率地进行险种推荐,提升客户满意度。 实 https://analytics-zoo.github.io/ 战 战 Linux内核 3.14 篇 篇 工作负载 Analytics Zoo based NCF, WAD, ALS model ■ 方案与成效 training & model inference. 38 编译器 gcc 4.8 中国人寿上海数据中心业务推荐系统平台架构如图 2-3-5 所 39 示。该平台基于 Analytics Zoo 搭建,其中大数据平台采用 Analytics Zoo- bigdl_0.6.0-spark_2.2.0 ■ 预测和推荐 库 (已含英特尔® MKL) 了 CDH 5.10 版 本, 通 过 Sqoop 将 业 务 系 统 中 的 数 据 导 入 Analytics Zoo 模 型 使 用 model.predict(val-rdd)API 来 基 • Spark MLlib 2.2.0 HDFS,数据清洗和部分预处理使用 Hive/Impala 进行 , 也可 于给定数据进行推理。返回 RDD 结果。Predict_class 类返回 框架 Analytics Zoo,BigDL 绘制精度: 以使用 Python、Scala 进行数据预处理,然后把处理好的数 • Hadoop发行版本:Cloudera Distributed 预测标签。 Hadoop(CDH)5.12.1 据存入 IMPALA 或者 HIVE。然后,使用 Spark On Hive 以结 其他软件配置 • Spark版本:2.2 构化形式读取数据,调用 BigDL 进行模型训练。 • Java 平台,标准版开发工具包(JDK)1.8 数据预处理 模型训练 BIGDL IMPALA HIVE SPARK 数据存储 在 Analytics Zoo 中,提供了 3 个独特的 API 来预测用户项目 HDFS 对,并为用户或给定的候选项目提出推荐: SQOOP 业务系统 图 2-3-5 中国人寿上海数据中心业务推荐系统平台架构
21 . 基于深度学习的中国人寿上海数据中心业务推荐系统主要采用 这些步骤通过将平台构建在 Analytics Zoo 上,借助其具备 • 与万事达卡其他企业信息化模块兼容性差,例如无法利用现 • 不同的合格消费者:675,000 了 NCF 模型,如前文 NCF 模型相关介绍所述,模型分为左右 的大量高级分析流水线 API 和特性,对 Spark DataFrame、 有的 ETL、数据仓库和其他分析相关的数据技术与工具集; • 用于基准的目标商家(优惠或广告系列):2,000 两个部分,左侧的是通用矩阵分解,对输入向量进行乘法运算; MLPipelines 等提供有力支持,有效提升整个流程的工作效率。 • 数据需要在不同模块之间频繁复制,I/O 性能成为瓶颈。 • 已知交易:14 亿(原始数据 53 GB) 右侧的模型是多层神经网络,将输入的 user 和 item 的特征拼 • 消费时间:12 -24 个月作为训练,1-2 个月作为验证 接在一起,进行多层的变换,而后在上层将两个模型的结果整 中国人寿上海数据中心通过两个主要的指标对推荐系统的效 为 应 对 这 些 挑 战, 万 事 达 卡 与 英 特 尔 开 展 合 作, 引 入 合,并通过 sigmoid 方法将这些特征转化成为最终的用户倾向 果进行了评估,两个指标分别是命中率(Hit Rate)和归一化 Analytics Zoo “大数据分析 +AI” 平台,构建基于深度学习的 万事达卡推荐系统的深度学习模型与 ALS 模型的对比效果主 英 值。在本案例中,NCF 参数设置为: 折扣累积增益(Normalized Distributed Cumulative Gain, 推荐算法。基于最新的研究和行业实践,方案选择了 NCF 和 要基于以下四个指标: 英 特 • Embedding 初始化为均值是 0, 方差为 0.01 的正态分布; NDCG)。在本案例中,如图 2-3-7 所示,中国人寿上海数据 宽 深 WAD 模 型 作 为 推 荐 的 两 个 候 选 模 型, 来 自 Analytics 1. ROC 曲线下面积(ROC AUG) 特 尔 • Batch Size 设为 2800; 中心推荐系统的 Hit Rate 为 99.8%,NDCG 达到了 0.66,这 Zoo 的 Keras 风格 API 也被用于基于 Python 和 Scala 构建深 2. 精确度与召回率曲线下面积(PR AUC) 尔 中 中 国 • 调优方法为 Adam; 一结果超过了预期的数值,因此可以认为,该推荐系统具有良 度学习模型。 3. 精准度与召回率 国 金 好的效果。 4. 每位客户的前 20% 精准度 金 融 模型的输出是每个用户对每个险种的评分,通过对这些评分进 在模型构建完成后,万事达卡利用 Analytic Zoo 的服务 API, 融 行 行 业 行逆序排序,给用户推荐得分较高的前几个险种。 已经将深度学习和模型服务流程嵌入到基于 Apache NiFi 构建 从验证结果来看,深度学习模型比 ALS 模型有显著的改进, 业 AI 的企业数据流水线中。 如下表所示: AI 实 实 战 战 为了验证基于 Analytics Zoo 构建的深度学习推荐算法,万事 NCF 模型 WAD 模型 手 HiveContext select* from StringIndexer PipeLine user productWithAmnt SaveAsTable 手 table 对比ALS,召回率改进 29% 26% 册 QuantileDiscre tuzer 达卡对 Spark 机器学习和 Analytics Zoo 的 BigDL 模型进行 册 对比ALS,精准度提升 18% 21% 了基准测试,前者选择 Spark MLlib 方法的交替最小二乘法 UserBasedRa user with Rate 1.0 FilterActiveUser 对比ALS,前20%精准度增长 14% 16% productWithAmnt (Alternating Least Squares,ALS)模型。深度学习模型与 实 实 ndomSplit rate StandardScaler count as Rate 表 1 深度学习模型相比 ALS 模型的改进结果 战 ALS 模型方法比较框图如图 2-3-8 所示。 战 篇 篇 Negative Train NCF Model Trained Model Result Sampling Test 小结 40 41 图 2-3-6 中国人寿上海数据中心推荐模型基本处理流程 金融作为一个注重数据和流程的传统行业,在多年的运作中积 累了大量数据,而通过AI应用,可以从中发掘更多的价值,辅助 特征工程 + 机器 深度学习— 开展各类业务,并为终端用户提供更多的个性化服务,提升用 如图 2-3-6 所示,推荐模型中的基本处理流程分为以下步骤: 数据准备 学习(MLlib) Anylatics Zoo Keras 户体验。 1. 数据的预处理过程:使用 HiveContext,直接以 SQL 的方 式从 Hive 中读取数据; 利用Analytics Zoo提供的端到端AI与大数据分析能力,以及 大数据架构(Spark 集群) 2. 数据读取后,将存储为 Spark 中的 DataFrame 对象;为了 其中大量的模型和API,金融企业得以快速地利用自己的数据 图 2-3-7 中国人寿上海数据中心推荐系统效果的评估结果 使数据适用于神经网络,通过 Spark 中的 PipeLine 接口,使 资源,在其既有大数据平台,例如Hadoop、Spark上构建基于 用 String indexer 将数据映射为离散数据; NCF、WAD等深度学习模型的推荐系统,而无须从头建设,可 3. 取得 (user, productWithAmnt) 这样的数据组后,进行去重 万事达卡推荐服务优化 ALS 模型 深度学习 NCF 模型 深度学习 WAD 模型 大幅减少金融企业建设业务推荐系统的成本与时间。 操作,并为每条数据加上用户购买偏好评价,例如将购买过的 ■ 背景与挑战 评价 rate 设为 1; 在中国人寿上海数据中心、万事达卡等案例中,解决方案都采用 作为全球领先的支付解决方案提供商,万事达卡(MasterCard) 4. 进行训练集与测试集的划分,并通过 Spark API 在训练数据 图 2-3-8 将深度学习模型与 ALS 模型进行比较 了英特尔® 至强® 处理器/英特尔® 至强® 可扩展处理器为基础 拥有 26 亿张信用卡,年交易量达 560 亿笔,并正通过将 AI 中加入负面数据; 的硬件平台。在未来,用户还可以选择性能更强、在AI领域有 集成到其平台来更好地为客户服务。但在这一过程中,万事达 5. 最后,训练集将会用于数据的训练,测试集用于对模型训练 ■ 方案配置与成效 着更多优化方法的第二代英特尔® 至强® 可扩展处理器等更新 卡也遇到了如下挑战: 结果进行验证。 一代硬件产品,来构建性能更出色、AI训练/推理能力更强劲的 对比方案中,采用过去三年万事达卡从特定渠道收集的数据集, • 部署时间长,大量的深度学习模块均需要在万事达卡既有系 包括了: 解决方案。 统上重建;
22 . 用 AI 加速保险行业影像分析 基于 ResNet 的深度学习方法 ■ ResNet 简介 保险行业中的影像分析 深度神经网络是目前 AI 影像分析中应用最广泛的网络模型之 保险行业中的各个险种都对影像分析有着巨大需求。例如,车 一,在经典的深度神经网络中,网络层数越多,能够提取到的 险的投保和出险,需要被投保人在投保系统中上传身份证、行 不同层次的特征越丰富。同时,更深的网络能够使得提取到的 驶证、车辆合格证等证照,再由后台工作人员进行审核。常用 特征更抽象,更富有语义信息。 英 英 特 的各类证件、签章多达数十个,全部采用人工审核不仅费时费 特 尔 力,也很容易出现错误。又如,日益受到关注的健康险,也需 但随着深度不断增加,退化(Degradation)问题也随之产生, 尔 中 要相关核保人员判读被保险人的 X 光、CT 等影像,进而对被 即准确率会先上升直至饱和,而继续增加深度,却导致准确率 中 加速 AI 影像分析能力 国 国 投保人的近期和远期健康状况做出准确评估。 逐渐下降。残差网络(Residual Net,ResNet)可以有效地解 金 金 融 决这一问题。如图 2-4-1 所示,在 ResNet 中可以构成多个残 融 行 差块结构,其输入与期望输出相等,构成一种恒等映射的关系。 行 业 增强 AI 能力,提升用户体验 业 推动 AI 赋能保险行业 AI AI 目前, 包括人脸检测识别、图像分割等一系列基于影像分析 实 实 战 的 AI 应用,正在保险行业中得到越来越广泛的应用。将 AI 影 x 战 手 像分析应用嵌入到保险业务经营、风险管理、智能客服以及内 手 册 册 部控制的全流程,能够有效捕捉风险、优化业务流程,实现保 权重层 险行业的 AI 赋能。例如在上述的车险、健康险处理中,通过 实 AI 影像分析,结合 NLP 技术,可以快速筛选出必要的理赔材料, F(x) 相同的 x 实 relu 战 自动提取审核信息,然后通过核赔规则以及风控模型给出理赔 战 权重层 篇 金,自动、高效完成理赔。 篇 F(x)+x 42 针对该领域的AI应用需求,英特尔在人脸检测、比对、识别、 43 relu 活检等各个模块上都有相应的算法和模型可供参考。例如,由 图 2-4-1 ResNet 残差块构造 英特尔推出的OpenVino™ 工具套件已经提供了几十个预训练 好的AI模型,让用户无需从零开始,即可立即构建诸如人脸检 测识别等AI应用。 这样的结构,可以让深度神经网络在不断增加深度的同时保持 准确率。现在,ResNet 已经被广泛地使用在图像识别等 AI 应 * 更多 OpenVino ™ 工具套件的技术细节,请参阅本手册技术篇相关介绍。 用场景。 再以人脸活体检测为例,FeatherNet 是英特尔与华中科技大 ■ 模型实现 学合作,针对人脸识别反欺诈应用研发的一个轻量级卷积神 面向英特尔® 架构优化的Caffe,为RESNET50网络提供了优 经网络(Convolutional Neural Networks,CNN)。与传统 化版本的caffe prototxt文件,位于: CNN 相比,它主要有两个特点:首先是以流模块(Streaming Model) 替 代 了 全 局 平 均 池 化(Global Average Pooling, GAP),GAP 虽然在许多深度神经网络中可用于降维和防止过 拟合,但由于其缺乏区域权重区分的能力,因此在人脸识别 使用 dummy 数据的 prototxt 文件位于: 场景中,反而容易降低准确率。而 FeatherNet 中加入了含有 DWConv 层的流模块来替代 GAP,在准确率上获得了大幅提 升。其次,FeatherNet 针对多模态数据的融合,构建了一种 新的融合分类器,能够把从多模态数据中学习到的模型进行组 合和级联,用来帮助模型提升准确率 13。 13 有关 FeatherNet 技术与性能描述请详见 https://arxiv.org/pdf/1904.09290.pdf
23 . ■ 在英特尔® 至强® 处理器平台上优化代码运行效率 在执行时,只使用了处理器 #CPU0 中的 0-19 和 40-59 核, Layer(batch-size=1) Data(M) Weight(M) 同时,英特尔® 架构处理器针对众多流行 AI 框架,诸如 BVLC Input 1.048576 0 以及与处理器 #CPU0 对应的近端内存。那么相应的,还可以 Conv3D11 16.77722 0.002016 Caffe、TensorFlow、Apache MXNet 等,进行了大量的优化 ■ 面向英特尔® 架构优化的Caffe的安装 Conv1 Conv3D12 16.77722 0.032016 在处理器 #CPU1 上面运行类似的命令: Conv3D13 16.77722 0.032016 工作。以面向英特尔® 架构优化的 Caffe 为例,其相较于 BVLC 基于面向英特尔® 架构优化的Caffe 1.1.6的安装方法如下: Pool1 Conv3D 4.194304 0.004128 Conv3D21 4.194304 0.128032 Caffe,让英特尔® 至强 ® 可扩展处理器的优势得到进一步释 Conv2 Conv3D22 4.194304 0.128032 Conv3D23 4.194304 0.128032 放 15,实现了 1+1>2 的效果。 Pool2 Conv3D 1.048576 0.016448 此外,很多代码囿于并行度难以大幅提高,如果把这些任务 Conv3D31 1.048576 0.512064 Conv3 Conv3D32 1.048576 0.512064 ■ 面向英特尔® 架构优化的 Caffe 方法与代码 英 在更少的处理器核心上面运行,效率会更高。所以,如果用 Conv3D33 1.048576 0.512064 英 Pool3 Conv3D 0.262144 0.065664 面向英特尔® 架构优化的 Caffe 通过在层内部调用英特尔 ® MKL- 特 numactl 的方式绑定处理器核心来运行更多的实例,往往可以 Conv3D41 0.262144 2.048128 特 尔 Conv4 Conv3D42 0.262144 2.048128 DNN 的 API 来调用优化的指令集,大幅提升程序的指令并行化 尔 获得更高的吞吐量。尽管延时可能会有所上升,但通常还是会 Conv3D43 0.262144 2.048128 中 Pool4 Conv3D 0.065536 0.2624 效果。而英特尔® MKL-DNN 会自动调用英特尔® 至强® 可扩展 中 国 在应用可以接受的范围内。 Conv3D51 0.065536 8.192256 国 Bottom Conv3D52 0.065536 8.192256 处理器内置的英特尔® AVX-512 指令集以及第二代英特尔® 至强® 金 把面向英特尔® 架构优化的Caffe的Python目录添加到 Conv3D53 0.065536 8.192256 金 融 Pythonpath 这个环境变量: Deconv3D41 0.524288 0.524544 可扩展处理器内置的深度学习加速技术(VNNI 指令集)。 融 行 基于 3D V-Net 分割网络的深度学习方法 Deconv4 rConv3D41 rConv3D42 0.524288 0.524288 8.192256 8.192256 行 业 rConv3D43 0.524288 8.192256 * 更多第二代英特尔® 至强 ® 可扩展处理器以及 VNNI 指令集的技术细 业 V-Net 采用端到端训练的完全卷积网络来处理 3D 影像数据, AI rConv3D44 Deconv3D31 0.524288 2.097152 8.192256 0.262272 节,请参阅本手册技术篇相关介绍。 AI 实 完成影像分割工作。网络模型不再对数据进行切片,而是使 rConv3D31 2.097152 2.048128 实 战 ■ 面向英特尔® 架构优化的 Caffe 的内存优化14 Deconv3 rConv3D32 2.097152 2.048128 战 用 3D 卷积网络层,直接处理三维数据。此外,它还可利用基 rConv3D33 2.097152 2.048128 层融合 手 默认情况下,面向英特尔® 架构优化的Caffe为每个层都分配 rConv3D34 2.097152 2.048128 手 于相似系数定制的目标函数指导网络训练,来优化训练、提 册 Deconv3D21 11.01005 0.0656 层融合(Layer Fusion)技术,例如 BN+Scale,Conv+Sum, 册 了单独的输出缓冲区。由于输出缓冲区使用不同的内存地址, rConv3D21 11.01005 0.512064 升速度。 Deconv2 rConv3D22 11.01005 0.512064 Conv+Relu,BN InPlace 以 及 Sparse Fusion 等, 可 用 来 提 而不是在本地内存缓存中,在层转发中的许多内存查找都会导 rConv3D23 11.01005 0.512064 rConv3D24 11.01005 0.512064 升深度学习的性能。层融合技术与面向英特尔® 架构优化的 实 致潜在的缓存未命中。因此,循环缓冲区共享机制,即跨层复 Deconv3D11 33.55443 0.016416 实 rConv3D11 33.55443 0.128032 Caffe 框架融合,使 ResNet 等卷积神经网络在英特尔 ® 至强 ® 战 用预先分配的内存缓冲区的方法,在面向英特尔® 架构优化的 Deconv1 rConv3D12 33.55443 0.128032 战 篇 可扩展处理器平台上进行 2D 图像推理时,性能可媲美甚至超 篇 "向下" 卷积 rConv3D13 33.55443 0.128032 Caffe中可被用于降低缓存丢失率。在编译阶段,通过图遍历 "向上" 卷积 rConv3D14 33.55443 0.128032 Softmax Conv3D 2.097152 0.000066 越现有平台。同时,它们还对可从 VNNI 指令集获得优化支持 来标识输出缓冲区的最大尺寸。在执行阶段,一旦一个层完成 "向下" 卷积 Output 2.097152 0 44 总计 313.7864 77.44695 的 INT8 精度推理提供良好的支持,且框架提供的 calibration 45 执行,该层的内存缓冲区将被释放并放回循环队列以供重用。 "向上" 卷积 等工具可以帮助用户将神经网络无缝切换到 INT8, 进而实现更 "向下" 卷积 "向上" 卷积 英特尔 ® 架构带来的性能提升 大幅度的性能提升。 同时,在多实例执行时,也可以利用权重共享技术,来为系 "向下" 卷积 卷积层 统提供的更好的性能表现。权重共享的机制是通过在同一个 "向下" 卷积 2x2 过滤器,步长:2 解卷积层 ■ 英特尔® 至强® 可扩展处理器的 AI 增强特性 一项数据表明,与使用 BVLC Caffe 相比,面向英特尔® 架构优 "向上" 卷积 2x2 过滤器,步长:2 细粒度特征转发 NUMA 节点内的多个进程之间,共享权重缓冲区来提高处理 "向上" 卷积 使用 5x5x5 过滤器, 具有创新微架构的新一代英特尔® 至强 ® 可扩展处理器具有更 化的 Caffe 运行在英特尔® 至强 ® 可扩展处理器上的同时加入 步长:1 元素总和 器三级缓存(L3 Cache)和内存之间的缓存命中率。 非线性 PReLu 多的内核、更高并发度的线程和更充沛的高速缓存。同时,它 层融合技术,并使用 ResNet50 卷积神经网络,在同等测评环 图 2-4-2 V-Net 卷积神经网络略图 集成的大量硬件增强技术,特别是英特尔® AVX- 512 等技术, 境中执行 AI 推理,如图 2-4-3 所示,单位时间推理性能可提 ■ 利用 NUMA 特征来控制处理器计算资源的使用 能够为 AI 推理过程提供强劲的并行计算能力,让用户获得更 升达前者的 51 倍之多,推理时长则缩短至前者的 4.7%16。 在数据中心,通常会引入NUMA技术使众多服务器像单一系 将 数 据 规 模 限 定 为 128 × 128 × 64 大 小 的 三 维 数 据 , 设 好的深度学习效果。 推理时长(豪秒) 统那样运转。由于处理器访问它自己的本地存储器的速度比 Batch Size=1,估算卷积网络的内存负载。在计算参数所占内 140 131.8 非本地存储器快一些。为了在这样的系统中获得更好的计算 存时需要注意考虑 bias, 故数据所需内存负载为:313.7864M 120 400 性能,需要通过一些特定指令来加以控制。numactl就是用于 × 4Bytes=1255.1456MB ≈ 1.23GB(注意这里只是前向计 312 100 控制进程与共享存储的一种技术机制,它是Linux系统中广泛 算过程,后向计算过程大概需要两倍于此的内存) 300 80 225 189 199 158 60 使用的计算资源控制方法。面向英特尔® 架构优化的Caffe在 • 权值所需内存负载为:77.44695M × 4Bytes=309.7878MB 200 40 运行推理时,也可以使用numactl的命令来提高计算的效率, ≈ 0.303GB; 100 6.1 20 10.7 7.8 7.5 7 6.2 提升吞吐量。 • 整个网络模型所需的内存负载大小约为:1.23+0.303 ≈ 0 0 BLVC 面向英特尔® BatchNorm 融合的卷 消除 融合的卷积层 BLVC 面向英特尔® BatchNorm 融合的卷 消除 融合的卷积层 1.53GB; Caffe 架构优化的 层展开后融 积层和 稀疏性 和Element- Caffe 架构优化的 层展开后融 积层和 稀疏性 和Element- Caffe FP32 合掉 Relu层 wise 求和层 Caffe FP32 合掉 Relu层 wise 求和层 具体使用方法如下所示: • 如果增加一倍的内存临时储存,就需要:3.06GB。 基准 基准 图 2-4-3 面向英特尔® 架构优化的 Caffe 在英特尔® 至强® 可扩展处理器上加入优化方案后,在推理吞吐量和推理时长性能上与 BLVC Caffe 对比 *更多面向英特尔® 架构优化的Caffe的技术细节,请参阅本手册技术篇 相关介绍。 14 15 详细技术描述请参阅:https://arxiv.org/abs/1805.08691 针对英特尔® 架构优化的 Caffe 官方网站:https://github.com/intel/caffe 16 该数据援引自《Highly Efficient 8-bit Low Precision Inference of Convolutional Neural Networks with IntelCaffe》一文: https://arxiv.org/pdf/1805.08691.pdf,测试配置如下:卷积模型:ResNet50,硬件:AWS single-socket c5.18xlarge。
24 . 软硬件配置建议 与更为成熟的保险市场相比,这一数字仍有巨大的提升空间。 会利用ResNet网络和3D V-Net分割网络,运行在面向英特尔® 小结 以美国为例,其商业健康险在保费总额中的占比为 40% 左 架构优化的Caffe框架上,对输入的医学影像进行推理操作, 以上基于AI的影像分析模型的构建,可以参考以下基于英特尔® 右 18。由此也可以预见健康险在中国巨大的市场潜力。但健康 并得到处理结果;在后处理阶段,系统会根据需求,进行多种 基于 AI 的影像分析能够有效助力金融机构提高业务办理效率、 架构的平台,环境配置如下: 险市场在快速发展的过程中,也正受到一些短板的制约。 形态学处理、执行预测结果合并等操作;在最后的应用层处理 防范欺诈风险并改善用户体验。通过 Caffe、TensorFlow 等 硬件配置 阶段,系统能以XML等方式,对外输出和显示结果。 深度学习框架,此类应用已经在保险行业的智能核保流程中, 名称 规格 与其他险种相比,健康险的标的物是被保险人的健康。保险公 针对病理影像判读,票据处理等场景获得了广泛的使用。 英 节点数 1 司需要对被保险人的疾病状况和意外伤害进行准确、明晰的评 英 应 特 Socket 2 估,以降低健康险经营风险、控制赔付率。然而,这一工作的 推 后 将英特尔® 至强® 可扩展处理器与针对英特尔® 架构优化的深 特 前 用 尔 处理器 英特尔® 至强® 金牌6148 处理器或更高 理 处 尔 技术难度、管理难度远比其他险种来得复杂,需要相关工作人 处 层 度学习框架引入这些智能应用中,不仅可以有效提升智能应用 中 引 理 中 基础频率 2.40Ghz 理 处 国 员具备极专业的病理知识和实践经验。 擎 的推理效率,而且能够以更高的性价比增强应用的落地能力和 国 核心/线程 20/40 理 金 可部署性,加速AI在保险行业的应用。 金 HT On 融 医学影像不仅是医疗机构最常用的诊疗依据,也是保险机构判 融 Turbo On 图 2-4-5 平安医学影像 AI 推理流程 行 行 业 内存 192G (16G DDR4 2666MHz x12) 断被保险人健康状况的重要依据。虽然医学影像设备已在各级 业 AI BIOS 1.46 医院中得到广泛的使用,但医学影像的精准判读却面临挑战。 利用 ResNet 网络和 3D V-Net 分割网络,平安 AI 团队开展 AI 实 读片医生不仅需要有临床医学、医学影像学等方面的专业知识, 了高效的 AI 推理工作,并取得可喜成果。如图 2-4-6 所示, 实 战 战 软件配置 也必须熟练掌握放射学、CT、核磁共振、超声学等相关技能, 在使用这些领先技术对老年黄斑变性等眼科疾病的光学相干断 手 手 册 同时,还需要具备运用各种影像诊断技术进行疾病判断的能力。 层扫描(Optical Coherence tomography,OCT)影像进行 册 名称 规格 因此,通常只有经验丰富的影像科医生才具备准确判读的能力。 病灶分割后,通过结果可以清晰地发现,病患的视网膜内积液 操作系统 Ubuntu 16.04 Linux内核 3.10.0-693.21.1.el7.x86_64 (黄线圈定部分)、视网膜下积液(红线圈定部分)以及视网 实 实 现在,利用先进的 AI 技术来协助进行医学影像判读,不仅可 膜下高反射物质(紫线圈定部分)均能被智能应用清晰地标注 战 工作负载 Resnet50/VNet 战 篇 基础频率 Gcc 4.8.5 对图像实施有效的分割和定位,而且可通过对图像的深层次分 出来。过去需要经验丰富的医生费时费力去完成的工作,现在 篇 深度学习加速库 英特尔® MKL-DNN 最新版本 析,察觉肉眼难以发现的细微病理特征,从而提升各类恶性疾 通过 AI 应用,仅需数秒就可以完成。 深度学习框架 面向英特尔® 架构优化的Caffe发布版 46 病的早期发现概率。因此,基于 AI 的 2D/3D 医学影像训练与 47 推理,在有效帮助各大医疗机构提升诊疗效率的同时,也可为 中国平安应用案例 保险机构进行精准的健康评估提供有效手段。 背景 解决方案 图 2-4-6 基于智能应用实现的 OCT 病灶分割结果 健康险是商业保险的重要险种之一。随着人们对大病医疗重视 在机器学习或深度学习的概念中,由训练得到的 AI 模型被应 程度的日益提高,该险种的保费规模、产品种类以及投保范围 用于新的数据,这一过程被称为推理。在医学影像判读中,利 通过实验室以及临床的反复训练和推理,平安智能医学影像 等方面也在逐步拓展。来自中国银保监会的统计数据显示,截 用训练得到的模型,被用于推理判断病理特征。因此,推理效 分析已在多个应用场景中获得骄人战绩。例如在肺结节检测 止到 2018 年底,健康险业务原保险保费收入达 5448.13 亿元, 率的高低直接关系到医学影像判读的效率。 上,肺结节的早期确认是降低肺癌死亡率的良好手段,它可 17 同比增长 24.12%,占全部原保险保费收入的 14.33% 。 以通过低剂量 CT 检查来筛查高风险人群,从而及早获知风险, 本案例中,平安正利用前文介绍的在2D图像分类、检测及定 但由此带来的海量 CT 影像也大大迟滞了筛查的效率,而利用 40000 16.00% 35000 14.00% 位上有着非常优异特性的ResNET和前沿的3D图像分割模型 AI 来做肺结节检测,可以大大提升筛查的效率。在 2018 年 30000 12.00% V-Net分割网络,以及面向英特尔® 架构优化的Caffe等深度学 初的肺结节分析(LUng Nodule Analysis,LUNA)评测中, 25000 10.00% 20000 8.00% 习框架,对2D/3D医学影像进行AI推理。 平安不仅凭借 “平安肺结节智能读片技术” 荣获全球第一,更 15000 6.00% 分别以 95.1% 和 96.8% 的精度,刷新了 “肺结节检测” 和 “假 10000 4.00% 5000 2.00% 如图2-4-5所示,平安医学影像应用的推理过程主要分为四个 阳性筛查” 的世界纪录 19。另一方面,高效的医学影像分析也 0 0.00% 阶段:在前处理阶段,系统会进行医学影像切片、ROI区域选 可以准确地分析出所核实的保险是否是骗保的行为,从而大 2013 年 2014 年 2015 年 2016 年 2017 年 2018 年 原保险保费总收入(亿元) 健康险业务收入(亿元) 健康险业务占比 取、数据增强、归一化输入准备等操作;在推理引擎中,系统 大提升了平安保险业务的反欺诈能力。 图 2-4-4 近年来国内健康险业务占比趋势 17 19 该数据援引自中国银保监会官网:http://bxjg.circ.gov.cn/web/site0/tab5257/info4132154.htm 数据援引自 Luna 官网:https://luna16.grand-challenge.org/Results/ 18 该数据援引自媒体报道:http://www.chinairn.com/news/20150211/140425992.shtml
25 . 借助联邦学习方法,探索多源数 现在,对多源海量高质量训练数据的渴求,和对数据安全的 担忧这一矛盾,无疑已成为阻碍 AI 技术在各行各业特别是 据在 AI 中的应用 金融行业的发展与应用落地的巨大挑战。为有效应对这一挑 战,2016 年,来自 Google AI 的研究人员提出了针对数据 AI 与联邦学习 孤岛问题的用于训练深度学习网络的联邦学习(Federated ■ 多样性数据集对于 AI 发展的重要意义 Learning)方法,来满足 AI 训练可以在保证隐私和信息安全 英 得益于算法、算力和数据的不断发展,人工智能(Artificial 的情况下进行跨用户,跨部门、跨企业的数据使用。 英 特 Intelligence,AI)技术也在近十年间获得巨大突破,并逐渐落 特 尔 尔 维护数据安全,打破 地于金融、医疗、制造等行业。这其中,训练数据集的规模和质量, ■ 主流联邦学习方法 中 中 国 正深刻影响着 AI 性能的优劣。如图 2-5-1 所示,研究数据表明, 目前主流的联邦学习的基本流程如图 2-5-2 所示,以 A、B 两 国 金 用户训练数据集规模越大,所获得的训练效果也更佳 。 20 个金融企业对一个风控模型实施联合训练的场景为例,企业 A、 金 融 融 B 的业务系统各自拥有大量的用户信用卡刷卡记录数据,出于 数据孤岛 为AI应用 行 行 准确率 错误率 业 0.575 数据安全考虑,这些高度敏感数据存在于各自的数据中心中, 业 AI 0.5 0.550 并通过防火墙实施了高等级隔离,任何直接的数据访问都会被 AI 实 0.525 实 0.4 拒绝。 战 0.500 战 提供更丰富数据源 手 0.3 0.475 手 册 0.2 0.450 通过纵向联邦学习的方式来训练这两组数据源,首先要进行数 册 0.425 0.1 0.400 据对齐。由于不同数据源的数据样本并非雷同,因此,如图 训练数据量 0 训练数据量 0 实 实 50000 10000 15000 20000 25000 30000 35000 40000 50000 10000 15000 20000 25000 30000 35000 40000 2-5-2 中左半部分所示,联邦学习系统需要通过加密的数据实 战 图 2-5-1 更大训练数据集带来更好训练效果 体对齐技术,在 A、B 不公开各自数据的前提下确认双方的共 战 篇 有数据样本(即共同用户),以便联合这些数据的特征进行建模。 篇 同时,一些研究也表明,更大的训练数据集,也能有效解决金 48 融行业 AI 训练中常见的数据不平衡等问题 21 。因此可见,通过 通过横向联邦学习的方式来训练这两组数据源,也首先要进行 49 结合日趋成熟的算法、以及日渐丰沛的算力,寻求更大规模与 特征对齐。由于不同数据源的特征维度并非雷同,因此,还是 更高质量的数据集,将成为左右 AI 效能的重要因素。 如图 2-5-2 中左半部分所示,联邦学习系统需要通过加密的 数据实体对齐技术,在 A、B 不公开各自数据的前提下确认双 但在实际中,AI 训练所需的海量数据集往往分布在不同企业、 方的共有特征维度(即共同特征),以便联合所有数据的共同 不同部门所属的数据源中,并出于数据安全性的考虑而彼此割 特征进行建模。 裂。这种数据孤岛现象,显然会带来 AI 训练在金融行业中的 训练效果不佳的问题。传统上,多个金融企业或部门想要共同 训练模型,需要利用分布式系统这类模式,将数据整合到其中 一方,但这种简单的数据整合,既无法保证数据交互的安全性, 也极大增加了数据隐私泄露的风险。 数据安全和隐私日益受到人们的关注,同时,法律法规在此方 面的保护也越来越细致和成熟。例如,在 2019 年 5 月由国家 互联网信息办公室会同相关部门研究起草的《数据安全管理办 法(征求意见稿)》中,就对数据处理使用和数据安全监督管 理提出了明确的意见要求。 图 2-5-2 联邦学习基本架构 20 数据与图表援引自 De Berker, A., Predicting the Performance of Deep Learning Models, https://medium.com/@archydeberker/predicting-the-performance-of-deep-learning-models-9cb50cf0b62a 21 结论援引自 Juba, B. and H. S. Le, Precision-Recall Versus Accuracy and the Role of Large Data Sets, Association for the Advancement of Artificial Intelligence, 2018.
26 . 在确定共有数据样本及共同特征后,A、B 双方就可利用这些 切分,并取出双方用户特征相同而用户不完全相同的那部分数 因此,企业构建联邦学习系统的最核心的环节,是为用户打 英特尔 ® SGX 技术 样本进行模型训练。为保证训练过程中的数据保密性,如图 据进行训练。例如,在同一家商业银行中,来自不同分行的用 造高效可信的数据共享方式。目前,基于硬件可信执行环境 2-5-2 中右半部分所示,需要借助协同方 C 进行加密训练。加 户的同一用户数据,就可以按照横向联邦学习方式进行训练。 (Trusted Execution Environment,TEE)技术的可信计算 ■ 英特尔® SGX 技术简介 英特尔于 2013 年推出的英特尔® SGX 技术,是通过一组新的 密训练过程分为以下四步: 解决方案越来越受到金融行业的青睐。其核心概念为,以第三 指令集扩展与访问控制机制 , 实现不同应用程序间的隔离运行, 第一步:协同方 C 把公钥分发给 A 和 B,用以对训练过程中 纵向联邦学习,是在不同数据集的用户重叠较多而用户特征重 方硬件为载体,为不同的数据源提供安全可信的环境。如图 从而增强应用程序代码和数据的安全性,为它们提供更强的保 需要交换的数据进行加密; 叠较少的情况下,将数据集按照特征维度切分,并取出双方用 2-5-3 所示,是采用可信执行环境(TEE)之后建议采用的联 护性来防止信息泄漏或被篡改。 英 第二步:A 和 B 之间互相以加密的形式交互用于计算梯度的中 户相同、而用户特征不完全相同的那部分数据进行训练。典型 邦学习架构。如图所示,来自 A、B 不同数据源的数据,可以 英 特 间结果; 场景例如同一金融集团旗下,同一批用户在保险业务和信用卡 在上方由硬件创建的 TEE 环境中进行共享和模型训练。 特 尔 第三步:A 和 B 分别基于加密的梯度值进行计算,并将结果 业务中的数据,就可以按照纵向联邦学习方式进行训练。而联 传统上,数据的隐私保护和安全防护大都是工作在操作系统或 尔 中 TEE 环境 软件层面,但是当操作系统或软件也受到了 “感染” 时,数据 中 国 汇总给协同方 C。协同方 C 通过汇总结果计算总梯度值并进 邦迁移学习是在用户和用户特征重叠较少的情况下,不对数据 模型训练 TEE 飞地 国 加密 加密 的安全性就变得岌岌可危。如图 2-5-5 所示,虽然应用程序 金 行解密; 进行切分,而利用迁移学习的方法来完成数据联合训练。 金 融 第四步:协同方 C 将解密后的梯度分别回传给 A 和 B,A 和 B 认证模块 认证模块 可以通过安全扫描,防火墙等对来自外部黑客或应用程序的攻 融 行 击进行防护,但是恶意软件、恶意代码如果利用操作系统漏洞, 行 业 再根据梯度更新各自模型的参数。 ■ 联邦学习方案在金融行业的应用 原始数据 加密 加密 原始数据 业 就可以绕过这些防护,直接攻击关键的隐私数据。 AI 联邦学习从诞生伊始,就获得用户的巨大关注,并在行业用户 数据源 A TEE 环境 认证模块 认证模块 TEE 环境 数据源 B AI 实 上述训练迭代步骤将一直持续至损失函数收敛,训练过程完成 实 的大力推动和不断实践下,衍生出大量行业解决方案。金融行 战 图 2-5-3 TEE 方案架构 战 手 并得到最终的模型。可以看出,与一般的分布式机器学习 / 深 业虽然一贯重视信息技术的发展,并在长期的经营中积累了丰 隐私数据 恶意软件 手 册 度学习方法相比,联邦学习方法具有以下特征: 厚的业务数据,但金融行业集团化、规模化经营的方式,以及 作为 TEE 方案技术实现的典型代表,英特尔® 软件防护扩展 应用 防护 攻击 应用 册 程序 程序 • 数据不脱离本地:参与者利用自身拥有的数据训练全局模型; 金融数据的高度敏感性,也造成部门与部门之间,分公司与分 (Intel® Software Guard Extensions,英特尔® SGX)技术 • 每个参与方都参与学习过程,模型损失可控; 恶意 实 公司之间,乃至金融企业与外部企业之间的天然数据孤岛。 通过在特定硬件(例如内存)中构造出一个可信的 “飞地” 防护 代码 实 战 • 训练过程中兼顾隐私和安全,参与各方能够在不披露底层数 (Enclave),如图 2-5-4 所示,使数据和应用程序的安全边 战 篇 据及其加密形态的前提下共建模型。 在金融企业纷纷将智能风控、精准营销、反欺诈等 AI 应用作 界仅限于飞地本身以及处理器内,同时,其运行过程也可不 黑客 篇 攻击 漏洞 为其业务转型的重要引擎,联邦学习也日渐成为金融行业有效 依赖于其他软、硬件设备。这意味着,数据的安全保护是独 50 同时,联邦学习的另一重要特点,是其具有良好的效果激励机 维护数据安全、打破数据孤岛,为 AI 应用提供更丰富数据源 立于软件操作系统或硬件配置之外,即便在硬件驱动程序、 51 制,即,建立模型以后,模型的效果会在实际应用中表现出来, 的有力抓手。 虚拟机乃至操作系统均受到攻击破坏的情况下,也能有助于 图 2-5-5 被实施内部攻击的应用程序 并记录在永久数据记录机制(如区块链)上。提供数据多的机 防止数据泄露。此外,作为硬件级的安全技术,SGX/TEE 的 构所获得的模型效果会更好,模型效果取决于数据提供方对自 由上节的联邦学习流程我们可以得知,在金融企业利用联邦学 技术方案具有其他技术所不可比拟的高效率,其对应带来的 而英特尔® SGX 技术的特性,是允许开发人员可将敏感信息或 己和他人的贡献。这些模型的效果在联邦机制上会分发给各数 习方法,聚合多源数据实施 AI 模型训练的过程中, AI 模型、 经济性和实用性是企业构建联邦学习系统做方案选择时最看 应用程序置于飞地中。飞地是在特定硬件(例如内存)中划出 据源,并继续激励更多数据源加入。 数据或过程参数需要通过网络在各个数据节点中进行传输和交 重的因素。 的,具有更强安全保护的执行区域,其不依赖于固件和软件的 互。众所周知,数据的暴露面越大,其所面临的安全风险也越 安全状态,拥有基于硬件的机密性和完整性,因此可以帮助系 借由以上特点,联邦学习为各行业 AI 应用提供了跨企业、跨 高。因此,无论是各节点中的硬件设施、操作系统等,还是路 统阻止来自更高权限进程的访问。 部门的数据使用方式和模型构建方法,实现各数据源的私密数 由器、网关等网络设备受到 “污染”,都有可能带来数据泄露和 据不出本地,只通过加密机制下的参数交换,在不违反数据隐 被篡改的安全风险。 因此,英特尔® SGX 可以为用户提供以下主要特性: 私法规的情况下建立学习模型优化机制。 例如,黑客可能通过在网络转发设备上安装嗅探器(Sniffer) a) 增强的保密性和完整性 Google 的联邦学习源码可参考:https://www.tensorflow.org/federated/ 来截取数据报文,也可能利用冷启动(Cold Boot)攻击方式 如图 2-5-6 所示,飞地工作在隔离的硬件环境(支持 SGX 技 来读取服务器重启后的数据残留,或者直接通过内存总线窥探、 术的英特尔架构处理器、内存)中,并通过密钥对应用系统 正如前面例子的描述,联邦学习不只有一种方式。根据数 内存篡改等方法攻击内存中的数据。形形色色的攻击方法令系 图 2-5-4 英特尔® SGX 技术以可信 “飞地” 来确保数据安全 和数据实施鉴权,即使在操作系统(OS)、BIOS 或虚拟机 据集的不同,联邦学习可以分为横向联邦学习(Horizontal 统防不胜防。而要构建自下而上、涵盖软、硬件和操作系统的 现在,英特尔正率先与众多金融领域合作伙伴一起,在安全可 (VMM)等中存在高权限恶意软件或恶意代码,也很难对数 Federated Learning)、 纵 向 联 邦 学 习(Vertical Federated 安全防护机制,不仅会带来巨大的资源消耗,增加用户的总拥 信的环境中,利用多源数据协同实施 AI 训练。这一探索现在 据实施攻击; Learning)以及联邦迁移学习(Federated Transfer Learning) 有成本(Total Cost of Ownership,TCO),实际防护效果 已在实践中取得了丰硕的实践成果,并在众多项目中赢得了用 三种主要方式。其中,横向联邦学习是在不同数据集的用户特 也未必尽如人意。 户的良好反馈。 征重叠较多,而用户重叠较少的情况下,将数据集按用户维度
27 . • API DCAP 方法中一次完整的鉴权过程可在用户自身的网络环境 • 函数库 中完成,仅在服务器部署阶段和 TCB Recovery 阶段才需要 • 文档 从外部获取鉴权信息。因此,在数据中心环境中,DCAP 方 • 样本源码 法具有更低的延时和更灵活的网络环境适应性。 • 工具 用户可以参阅以下的技术文档获得更多细节: 您可以访问以下链接获得最新的英特尔® SGX SDK: • 数据中心鉴证定向指南:https://download.01.org/intel-sgx/dcap- 英 英 特 基于 Windows 系统的 SDK 下载地址 1.1/linux/docs/Intel_SGX_DCAP_ECDSA_Orientation.pdf 特 尔 https://registrationcenter.intel.com/en/forms/?productid=2614 图 2-5-8 基于英特尔® EPID 的远端鉴权 • 基于 Linux 系统的安装程序和文档:https://01.org/intel-software- 尔 中 基于 Linux 系统的 SDK 下载地址 guard-extensions/downloads 中 国 如图 2-5-8 所示,这一鉴权方法是为设备提供了授权后的 • 支持英特尔® SGX DCAP 的第三方鉴证:https://software.intel. 国 https://01.org/intel-software-guard-extensions/downloads 金 EPID 密钥,如果设备使用的私钥被窃取或泄露,EPID 系统 金 com/sites/default/files/managed/f1/b8/intel-sgx-support-for- 融 融 会自动识别出此情况,并吊销该设备以防止信息的泄露。 third-party-attestation.pdf 行 要使用英特尔® SGX 技术,用户需要首先确认当前使用的 行 业 CPU 支 持 该 技 术, 并 且 在 BIOS 菜 单 中 确 认 SGX 已 设 为 • 英特尔® SGX DCAP 源码(含例子程序):https://github.com/ 业 AI 图 2-5-6 SGX 具有增强的保密性和完整性 更多英特尔 ® EPID 安全性技术具体请参阅: intel/SGXDataCenterAttestationPrimitives AI 实 “enabled” 状态。然后,用户可参阅 SDK 附带的安装指南来 实 https://software.intel.com/zh-cn/articles/intel-enhanced-privacy- 战 完成 SDK 安装过程。 战 手 b) 更小的安全攻击面 id-epid-security-technology ■ 基于英特尔® SGX的应用开发和移植 手 册 如图 2-5-7 所示,SGX 技术将应用程序与敏感数据限定运行 相关代码样本请参阅: 在开发基于 SGX 的应用程序时,用户可以使用 SGX SDK 提 册 在不支持英特尔® SGX 的硬件平台上,用户也可以安装 SDK https://software.intel.com/zh-cn/articles/code-sample-intel- 在受保护的硬件飞地中,杜绝了传统上恶意程序可能从硬件、 供的可信运行库(Trusted Libraries)。可信运行库中包括 并 使 用 模 拟 模 式(simulation mode) 来 进 行 SGX 应 用 程 software-guard-extensions-remote-attestation-end-to-end- 虚拟机和操作系统发起的攻击,更小的攻击面带来了更高的 实 序的开发工作,应用程序在模拟模式下运行时的行为和支持 example 了 C/C++ 的大部分 API,以及受保护的文件系统、常用密码 实 战 安全性; 学操作、多线程支持等功能。要查看 SGX SDK 提供的所有 战 SGX 的真实硬件环境下基本一致,但在此模式下运行应用程 篇 API,可查阅 SGX 开发人员参考手册。 篇 序不会得到 SGX 提供的实际保护。 基于英特尔® SGX DCAP的远端鉴权 基于英特尔® SGX DCAP 的远端鉴权允许用户构建并部署自 52 Windows 版 SGX 开发人员参考手册 53 ■ 英特尔® SGX鉴权方法 己的鉴权服务,这对于满足以下企业、数据中心和云服务提 https://software.intel.com/zh-cn/download/sgx-sdk-developer- 鉴权是英特尔® SGX 技术使用中,保护数据私密性和安全性 供商的要求: reference-windows 图 2-5-7 SGX 具有更小的安全攻击面 的关键步骤,其可以为系统提供以下三种安全能力: • AI 服务所在的网络环境无法访问互联网服务; Linux 版 SGX 开发人员参考手册 • 飞地中应用程序,或数据的身份认证; • 用户具有严格的内部鉴权机制; https://01.org/intel-softwareguard-extensions/documentation/ c) 远程鉴权和控制能力 • 飞地中未测量状态(例如执行模式)的详细信息; intelr-software-guard-extensions-documentation • 在特殊网络、架构中部署中部署的 AI 服务,例如对等网络。 用户可以通过执行远程鉴权,向各参与方证明运行环境实在 • 飞地中是否存在应用程序,或数据被篡改的可能。 合法的飞地里进行加载的;这样,可以更安全地将密钥、凭 对 于 AI 类 型 的 应 用 程 序 开 发,SGX SDK 专 门 提 供 了 用 于 据和其他敏感数据提供给飞地; 深 度 神 经 网 络 的 英 特 尔 ® DNNL(Deep Neural Network 目前英特尔® SGX 提供了两类远端鉴权方法,英特尔® EPID Library), 使 得 用 户 在 SGX 的 可 信 执 行 环 境 中 也 能 调 用 (Intel® Enhanced Privacy ID)和英特尔® SGX DCAP(Intel ® d) 更低学习曲线 DNNL 的标准 API。用户可将已有的、基于 DNNL API 开发 Software Guard Extensions Data Center Attestation 采用 SGX 技术的相关应用程序都可以基于英特尔® 处理器开 的深度神经网络应用程序容易地移植到 SGX 飞地中运行。 Primitives)。下面分别对这两种方法做一个简单介绍。 发、集成和执行,开发人员无需熟悉额外的软硬件环境,学 习曲线更低。 SGX DNNL 开源代码: 基于英特尔® EPID 的远端鉴权 https://github.com/intel/linux-sgx/tree/master/external/dnnl 基于英特尔® EPID 的远端鉴权方法是通过英特尔 ® EPID 签名 ■ 英特尔® SGX 安装与配置 来对飞地中的应用程序或数据实施鉴权,其可以最大限度地 在开发基于 SGX 的 AI 应用时,用户通常用以下方式保护数 用户可以通过引入英特尔® SGX SDK 来创建基于 SGX 技术的 降低使用英特尔 ® SGX 可信计算基础 (TCB) 的平台,在处 据的机密性: 解决方案,该 SDK 提供了以下内容: 理多个安全性版本时的复杂性。 图 2-5-9 基于英特尔® SGX DCAP 的远端鉴权 • 负责计算的节点 1 在 SGX 飞地中产生一个安全的随机数, 以此作为密钥。节点 1 运行的代码不能将密钥、用密钥解 如图 2-5-9 所示,与基于英特尔® EPID 的远端鉴权方法相比, 密出的数据和计算时的中间结果传递到飞地外 ;
28 . • 节点 1 使用一种远端鉴权方式,产生报告证明自己的软硬 要工程师拥有娴熟的英特尔® SGX 移植技巧和经验,同时还需 ■ 支持英特尔® SGX 技术的处理器 除此之外,英特尔也正计划在更多处理器平台,例如至强系列 件环境是安全的。然后,节点 1 向另一个提供数据或梯度 要工程师能够对进行移植的应用程序(如开源框架、算法实现 值得一提的是,随着金融行业中,基于云服务(包括公有云、 处理器中加入英特尔 ® SGX 技术,帮助用户更便捷地部署基于 的节点 2 发送数据请求 ; 等)的源代码保持相当的熟悉度,而在一些金融企业中,许多 私有云和混合云)的 AI 应用变得愈来愈广泛,而既有云服务 硬件增强的安全机制,从而推动联邦学习等方法在 AI 领域的应 • 节点 2 验证节点 1 的报告,确定节点 1 是安全的。同时, 应用的开源框架或算法实现都已经有了较长历史,因此源代码 器硬件设备未必全部支持英特尔® SGX 技术,这给企业使用 用与发展。 节点 2 用其他方法确定节点 1 有权访问该数据 ; 修改移植的工作量会非常巨大。 SGX 技术带来了障碍。企业要么需要耐心等待下一个硬件更 • 节点 2 用节点 1 提供的密钥加密数据并发送,供节点 1 解 新周期,要么需要付出额外的采购成本。为解决这一难题,英 基于英特尔® SGX 的解决方案 英 密后使用。 为减少上述应用程序移植的工作量,避免用 C/C++ 语言重 特尔正逐步在其处理器中集成 SGX 技术,为用户提供了快速 英 特 新编写这些代码,用户可选择使用一些支持英特尔 ® SGX 的 部署 SGX 技术的能力。 ■ 1+N 式多源数据 AI 模型训练解决方案 特 尔 以联邦学习为例,使用以上方式进行设计,一个联邦学习应 Library OS 来运行这些已有的代码,例如 Graphene (https:// 借助英特尔 ® SGX 技术,金融企业可以根据自身的实际情况构 尔 中 中 用可以在 SGX 中实现以下工作流程: github.com/oscarlab/graphene)、Occlum、Scone、 建多样化的解决方案。下文将简单介绍一种基于英特尔® SGX 国 英特尔® 至强® E-2200 处理器是英特尔旨在帮助企业构建高效 国 金 1. 应用程序创建一个 SGX 飞地的实例,在其中运行自身的可 Anjuna 等。需要注意的是,如果用户选用基于 Library OS 的 可靠的 IT 系统(包括云服务),推动业务持续性增长的处理 技术的 1+N 式的多源数据 AI 模型训练解决方案。 金 融 信部分(trusted code)。 方案,还需要正确配置 Library OS 中的安全选项,并评估载 融 器平台,其共有 12 种型号,SKU 指定为 E-22xxG,核心 / 线 行 行 2. 应用程序的可信部分随机产生一个非对称密钥对,将私钥 入的现有代码,否则不正确的软件行为会影响应用的性能、安 1+N 式解决方案架构如图 2-5-13 所示,其由位于中心的聚 业 程数量从 4 /4 到 8/16 不等。就最高处理速度而言,两个高端 业 AI 保留在 SGX 飞地中。 全性或稳定性。 SKU 的最大睿频均为 5.0 GHz。同时,英特尔® 至强 ® E-2200 合服务器(Aggregator) “飞地” 以及部署在各处的 N 个边 AI 实 3. 应用程序使用远端鉴权产生一个可验证的软硬件环境报告, 缘 “飞地” 组成网络。聚合服务器和各个数据源中的 “飞地”, 实 处理器集成了英特尔® SGX 技术来提供硬件增强型安全。 战 战 其中包含 2 中产生的公钥,作为当前节点的身份。 作为英特尔® SGX 重要的开源兼容性工具,Graphene 可以 均是由英特尔® SGX 技术提供的处理器指令,在内存中构造 手 手 册 4. 应用程序将远端鉴权的报告和公钥发送给网络中的其他节 通过对动态加载库,动态链接、多进程抽象以及文件认证等 对于用户而言,第二代智能英特尔 ® 至强 ® E 处理器带来的优 出的具有高等级安全访问权限的可信区域。 册 点。其他节点在验证当前节点的报告后,记录下当前节点的 的 支 持, 使 用 户 可 在 Graphene SGX 环 境 中 直 接 运 行 原 始 势包括以下 4 个主要方面: 公钥作为可信的参与方之一。 应 用。 以 运 行 TensorFlow 框 架 为 例, 如 图 2-5-11 所 示, 实 • 性能:根据英特尔的测试,第二代智能英特尔® 至强 ® E 处 实 联邦学习聚合 战 5. 重复 1-4 的过程,直到所有节点都记录下其他节点的公钥。 Graphene SGX 环境可以基于硬件中的 TEE 环境构建,其上 理器的性能是 2015 年推出的入门级服务器性能的 2 倍 服务器飞地 公钥 战 篇 6. 节点之间按照联邦学习算法完成加密的数据对齐和梯度交 用户可通过创建一个在 Graphene SGX 环境中运行的 Python • 可扩展性:第二代智能英特尔® 至强® E 处理器的最大内存 更新聚合 篇 AI 模型 换步骤。每个节点使用其他节点的公钥,用于加密后续通信 运行环境,然后在这个环境中运行 TensorFlow 和用户需要 增加了一倍,达到 128GB,最大内存带宽增加了约 20%,达 54 中的数据。 的神经网络模型代码。同样这些应用也可以在 C++ 等环境中 到 41.6 GB/ 秒。 55 运行,而在深度学习方法中常用的 OpenVINO ™ 工具套件、 • 可靠性:服务器管理功能内置在采用了英特尔® 主动管理技 模型更新 模型更新 ■ 英特尔® SGX与Graphene的集成 Analytic Zoo 平台等,也可在这一环境中便捷地运行。 术(英特尔 ® AMT) 的第二代智能英特尔 ® 至强 ® E 处理器 加密 AI 模型 加密 AI 模型 私钥 联邦学习飞地 #1 私钥 联邦学习飞地 #N 英特尔® SGX 技术为用户带来了基于硬件环境的安全机制,使 中,并且通过新的固件更新,提供了英特尔服务器平台服务 加解密 加解密 其中基于关键数据的 AI 训练和推理变得更为安全可靠。但在 TensorFlow Analytic Zoo OpenVINO™ 和节点管理器。 11010101 01011110 10010101 11010101 01011110 10010101 本地数据 + 明文 AI 模型 + AI 算法 本地数据 + 明文 AI 模型 + AI 算法 实际部署中,用户可能面临一个新的问题,对于新的 AI 应用, • 安全性:得益于英特尔® SGX,硬件增强型安全是新款处理 应用(Python/C++) 用户可以在代码构建之初就可如上一节所述,与 SGX SDK 提 MKL/MKL-DNN/DAAL 器的重要组成部分。 图 2-5-13 使用英特尔® SGX 技术的联邦学习方案 供的可信运行库进行集成。但在有些 AI 应用开发过程中,用 户会重用一些已有的开源框架或算法实现,例如基于 Python Guest OS Graphene SGX 环境 the intel xeon e-2200 processor for servers 方案中,在加密通道中被传输的是待训练优化的 AI 模型以及 和 TensorFlow 实现的神经网络模型,此时就需要对相关应用 相关的中间参数,而训练数据、明文 AI 模型以及 AI 算法则被 all new up to 8- 2x 进行大量的移植工作。 SGX 接口 留存在各个节点本地。在初始化过程中,“飞地” 会自己产生公 core performance 移植到 skus increase 私密钥对,公钥注册到聚合服务器,私钥保存在各自的 “飞地” vs.4 cores in the 4-year-old compared to a 4-year-old server 英特尔® SGX 编译 执行 Intel Xeon processor E3-1280 v5 (estimated)1 TEE 环境 里。当训练开始时,首先,聚合服务器会和目标 “飞地” 建立加 up to up to 40 pcieper server 5.0 ghz 移植后 密连接(通过公私密钥对的非对称算法提供的能力,来协商本 源代码 源代码 英特尔® SGX SDK 应用程序 在可信环境中执 行的应用程序 lanes 次连接的对称加密密钥,防止中间人攻击)。连接建立后,聚 with Intel Turbo Boost 图 2-5-11 基于 Graphene SGX 环境运行应用程序 图 2-5-10 应用程序与英特尔® SGX 技术的集成 Technology 2.0 合服务器会首先将待训练的 AI 模型加密推送到各个 “飞地” 中, 如图 2-5-10 所示,用户首先需要基于英特尔® SGX 技术,对 应用源代码(基于 C++、Python 等语言编写)进行修改移植, 这一过程中,用户无需修改相应的模块代码,即可在 SGX 环境 中执行所需的计算工作。而 Graphene 会在不受信任的主机接口 2x thevs. 4-year-old ecc memory capacity system 28GB DDR4-2666 vs. 64GB DDR4-2133 然后各个 “飞地” 把模型解密传送到本地 AI 训练环境对本地 数据实施训练。训练结束后,本地 AI 训练环境将训练得到的 中间参数返回至本地的 “飞地”。 然后与英特尔® SGX SDK 提供的可信运行库进行编译集成形 上执行加密和语义检查,开发人员只需提供一个清单文件来配 图 2-5-12 英特尔推出的英特尔® 至强® E-2200 处理器 成应用程序,最后再去硬件可信环境中执行。这一过程不仅需 置应用程序环境和隔离策略,其余都可由 Graphene 来自动完成。
29 . 解决方案还可针对业务需求,加入了一系列创新流程:例如, 可以参考以下步骤,运行 Graphene-sgx 环境(可根据实际 对 python-test/python.manifest.template 文件作相应的修 软、硬件建议配置 每个本地环境中的 “飞地” 都是联邦的可信代理,随着后期算 情况予以调整): 改,添加以下内容: 以上 1+N 式的多源数据 AI 模型训练解决方案的构建,可以参 法可以直接运行在 “飞地” 里,这个可信代理在本地环境里可 1. 安装与 SGX 相关的依赖项 考如下基于英特尔® 架构平台完成,环境配置如下: 以做的事情会越来越多。接下来,“飞地” 会在加密连接里, 把中间参数加密传回给聚合服务器 “飞地”。聚合服务器 “飞地” 硬件配置 会将收到的中间参数进行快速聚合,并根据结果对 AI 模型进 英 行优化调整,而后进行下一轮的迭代。 名称 规格 英 特 2. 安装以 FSGSBASE 修补的 Linux 内核 处理器 英特尔® 至强® E-2200 处理器或更高 特 尔 上述过程都是在 “飞地” 中实现的。也就是说,在方案的整个循 基础频率 最大睿频5.0GHz 尔 d) 准备测试的 test_resnet.py 文件: 中 核心/线程 8/16 中 国 环迭代过程中,AI 模型以及中间参数,都在加密通道以及 “飞 国 HT Off 金 地” 内进行传递和交互,并不与外界软、硬件接触,形成了安全 金 Turbo On 融 可信的 “内循环” 。而基于英特尔 ® SGX 架构的处理器,可为 “飞 融 行 内存 最高 128GB DDR4 2666MHz 行 业 地” 的构建、加密通道的铺设以及中间参数交互和聚合提供强 硬盘 英特尔 ® DC S3320 数据中心级固态盘 480GB 业 按 照 Ubuntu Wiki(https://wiki.ubuntu.com/KernelTeam/ AI 大算力。 AI 实 GitKernelBuild)中的说明构建和安装内核。 软件配置 实 战 战 手 对于各节点对训练效果贡献度的评估,解决方案也给出了令人 手 名称 规格 册 满意的实践方法。在方案中,当有 N 个数据源时,可以先对所 操作系统 Ubuntu Linux release 18.04 册 有节点进行训练,得到全量的训练效果。尔后再对除了待评估 Linux内核 4.15.0-74-generic 节点以外的 N-1 个节点分别进行训练(例如,评估节点 #1 时, 3. 生成签名密钥 工作负载 LSTM, XGBoost 实 实 编译器 GCC 7.4 战 对节点 #2 至 #N 进行训练)。在得到不同训练效果的模型后, 战 Graphene 1.0, Python 3.6.8, 篇 系统可以计算出每个数据节点在联邦学习中的 “贡献系数”,进 开源软件库 TensorFlow 1.14, XGBoost 0.9 篇 而对各个数据节点在 AI 联合训练中的贡献度给出精确评估, 4. 编译 SGX 软件开发套件 Intel SGX Linux 2.8 Release 56 并据此进行方案调整。 57 ■ 基于 Graphene 构建深度学习训练模型 更详细步骤说明,请参考链接: 技术展望 https://graphene.readthedocs.io/en/latest/building.html 通过 Graphene 工具,用户可以便捷地在支持英特尔® SGX 技 基于 TEE 的联邦学习架构是一个新兴的领域,也为其它联邦 术的硬件环境中迅速地搭建深度学习训练模型,下文将简述如 安装结束后,若能成功运行 Examples/python-scipy-insecure 样例, 学习的实现方式提供了新的可选项,在本文中,介绍了以英特尔® 何快速构建 Graphene SGX 环境,并在其上运行 TensorFlow 则证明安装成功。具体运行步骤可参考以下链接: SGX 为代表的 TEE 组件在联邦学习领域的实现价值。目前, 框架来进行模型训练。 https://github.com/oscarlab/graphene/tree/master/Examples/ 英特尔正与诸多合作伙伴一起,推动将 TEE 纳入到联邦学习 python-scipy-insecure 架构设计中去,和其它的实现方式一起,共同实现一个互相补 以 Ubuntu 18.04 及 Python 3.6 环境为例,基本流程如下: 充,有机结合,可落地的解决方案。 在本例中,数据集采用 cifar10 开源数据集,构造 Resnet50 c) 从以下链接下载 python.manifest.template a) 安装英特尔® SGX SDK, SGX PSW 和 SGX Driver 网络进行训练。训练的模型会保存在 python-test/scripts/ https://raw.githubusercontent.com/oscarlab/graphene/master/ 下载链接:https://download.01.org/intel-sgx/ linux-<version>/ 在未来,英特尔与合作伙伴还计划在以下方面进一步充实本文 saved_models 中。 Examples/python-scipy-insecure/python.manifest.template <OS><OS version> 介绍的基于 TEE 的联邦学习架构: 安装具体步骤请参考以下链接: 下载到 graphene/Examples/python-test 目录下并运行以下 1. 根据英特尔的产品路线图,把此架构实现在其它具有 SGX 在程序中加入以下语句,可使得模型能够正常保存。 https://github.com/intel/linux-sgx/blob/master/README.md. 命令: 功能的英特尔 ® 至强 ® 服务器里; 2. 实现算法优化,能够把更多的联邦学习算法加载到 SGX 飞 b) 安装 Graphene 工具: e) 在 python-test 目录下 地中; 从 github 上下载最新的 Graphene 工具: 3. 基于区块链来实现联邦学习密钥自主协商和分配。 可以直接运行。