智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

從實驗室到工廠,模型部署中幾個重要問題

來源:網絡

點擊:1069

A+ A-

所屬頻道:新聞中心

關鍵詞: 模型部署,大數據,云計算

    在我們的產業中,很多關注都集中在開發分析模型來解決關鍵商業問題以及預測消費者行為上。但是,當數據科學家研發完模型,需要部署模型以供更大的組織使用時,會發生什么情況?

    沒有嚴格流程就部署模型會引發后患,看一下這個金融服務業的實例就知道了。

    擁有自己的高頻貿易算法的Knight曾是美國最大的股票貿易商,在紐約證券交易所(NYSE)有17.3%的市場份額,在納斯達克(NASDAQ)有16.9%的市場占有率。但是,2012年由于一次計算機交易的小故障,Knight在不到一小時之內蒙受了4.4億美元的損失。那年年底,公司被收購。這充分證明:未經適當測試就輕易部署使用分析模型會有很大風險,那些系統漏洞會給公司帶來嚴重后果。

    在這篇博文中,我們將談談如何通過合理的模型管理和部署流程來避免后患。在部署模型之前,有幾個必須解決的問題:

    ·模型結果是如何到達那些會從這一分析中獲益的決策者或者應用程序那里的?

    ·這個模型能不出問題的自主運行嗎?如何從失敗中恢復運行的?

    ·因為訓練數據是不再相關的歷史數據,模型也因此變得陳舊,會導致什么后果?

    ·在不阻斷下游消費者的情況下,如何部署和管理新版模型?

    我們可以把數據科學的開發和應用看作是兩個不同的流程,但是,這兩個過程又是更大的模型生命周期流程的一部分。下面示例圖說明了這一過程。


    1. 終端用戶與應用程序交互,產生的數據存儲在應用的線上產品數據庫中。

    2. 然后這些數據會被傳到一個線下的歷史數據庫中(如 Hadoop 或 S3),由數據科學家進行分析,搞清楚用戶是如何與應用交互的。這些數據也有別的用處,比如構建一個模型,根據用戶在應用中的行為把他們進行分類,這樣我們就可以利用這些信息對用戶進行營銷。

    3. 一旦構建出了一個模型,我們可以把它登記到一個模型注冊表中,這時一個治理程序會對模型進行評估,批準其投放產業應用,并對模型部署要求進行評估。

    4. 當模型的產業應用被批準后,我們就開始部署模型。為此,我們要搞清楚組織會如何使用這個模型,作出相應調整,確保模型能在特定性能約束下自主端到端運行,同時也要進行測試,以確保在部署之后模型仍與開發出來的一致。一旦完成這些步驟,我們就在投入生產前,再次對模型進行了評估和批準。

    5.最后,一旦部署完畢,模型所做出的預測就能服務于應用程序,這些預測的權值都是根據用戶交互行為計算出的。這些信息有助于改進模型,或提出一個新的商業問題,這就又回到了過程(2)。

    為了確保周期運行成功,我們需要理解數據科學的開發和部署有著不同的要求,這些要求都需要被滿足。這就是為什么你需要一個實驗室,同時也需要一個工廠。

    實驗室

    數據實驗室是數據科學家進行研究的地方,關注點不同于應用產品。最終目標也許是利用數據驅動組織內的決策制定,但是,實現這個之前,我們需要先弄清楚對組織而言,那些假設有意義,并證明其價值。因此,我們主要關注的是創造出一個環境——實驗室,在這里,數據科學家可以提出問題,構建模型,并用數據進行測試。

    正如以下基于  CRISP-DM 模型的圖表所示,這個過程基本上迭代式的。

    我們不會在本文討論太多細節,但是我們有一個深入這個主題的教程。

    在這里,我們關心的問題是需要實驗室來研發模型,還需要一個工廠,用以部署這個模型并將之自動應用到實時數據,在約束條件下把結果傳送給適當的客戶,并且監管整個過程,以防運行失敗或異常。

    工廠

    在工廠里,我們要做的是優化價值創造并降低成本,評估穩定性和結構彈性,確保在約束條件下把結果傳送給適當的客戶,同時能監控和管理程序故障。我們需要給模型提供一個結構,根據生產中的情況進行預期。

    為了理解工廠的運行過程,我們來看一下如何通過模型注冊表來管理模型,以及部署時需要考慮哪些問題。

    模型注冊表

    為了給模型一個結構,我們會根據模型的組件進行定義,包括數據依存性,腳本,配置以及文件。另外,我們會捕獲模型上的元數據及其不同版本,提供額外的商業環境和模型特定信息。給模型提供一個結構,接著就能將模型目錄清單存在模型注冊表中,包括了不同模型版本,以及執行過程反饋的關聯結果。下面的圖示解釋了這個概念。

    通過注冊表,我們可以:

    ·明確哪個版本的模型正在被使用,并控制它。

    ·查看發布說明,搞清楚某個特定版本發生了什么變化。

    ·查看與模型相關聯的資產和文件,這對于創建一個已有模型的新版本或管理維護是有用的。

    ·監管模型執行的性能標準,以及什么程序在使用它。這些信息是在模型執行過程中產生的,會把權值反饋給注冊表。

    你同樣也可以選擇在模型某個版本中加入 Jupyter Notebook 。這可以讓一個審閱者或開發者遍歷此版本原始開發者最初開發時的思維過程和假設。有助于模型維護,也有助于組織探索。

    這里有一個矩陣,解構了一個模型的不同元素:

    注冊表需要捕捉到數據、腳本和訓練過的模型對象之間的聯系,圖中說明了與一個模型特定版本相關的文件。

    這對我們的實踐有什么幫助?

    ·通過收集如何運行一個模型所需的資產和元數據,我們就能驅動一個執行工作流,將模型的特定版本用于實時數據,為終端用戶預測結果。如果這是批量程序的一部分,我們就可以利用這些信息為模型創造一個暫態的執行環境,來提取數據、腳本、運行模型、在目標存貯里保存結果,并在程序完成后關閉環境,在最大化資源的同時將成本最小化。

    ·從監管角度來看,我們可以支持那些決定模型何時被推向產業化的商業工作流,這些工作流負責允許運行中的模型監視程序去做出一些決定,比如,當我們發現模型預測已不再符合現實情況時是否應該重新訓練它。如果你有審計要求,你可能需要跟顧客解釋你是如何得到某個特定結論的。為了做到這一點,你需要去考察在特定時間運行的某個特定版本的模型,并且需要知道復現這個結果用到了什么樣的數據。

    ·如果我們在一個已有模型中發現了漏洞,我們可以把它標記成不應該使用,修復后發布此模型的新版本。對所有使用漏洞版本的用戶發送通知,他們就可以轉而使用新的修復版。

    如果不進行以上這些步驟,我們就有可能讓模型維護變成需要試圖理解原始開發者意圖的冒險行為,部署后的模型不再與那些正在開發中模型相匹配,產生不正確的結果,在已有模型升級后還會擾亂下游用戶的正常使用。

    模型部署

    一旦模型被批準部署,我們需要通過幾個步驟來確保模型能被部署。要有驗證正確性的測試,還要測試提取原始數據的管道流程、特征生成,以及分析模型評分以確定模型可以自主運行,以消費者需要的方式產生出結果,滿足行業定義的性能要求。還要確保模型的執行過程處于監控中,以防發生錯誤或模型過時不再產生準確的結果。

    在部署之前,我們要確保測試了下面幾項:

    ·部署后的模型是否達到了原始模型開發者的預期。通過采用一個在開發過程中產生有效結果的測試輸入集,我們就能驗證部署的代碼是否與開發中的預期吻合。

    ·部署后的模型是否在多種不同的輸入下都能良好運行,測試輸出的極端情況,以及由于數據質量問題潛在丟失的數值。同時應該有防止這些輸入毀掉模型并最終影響下游顧客的的控制手段。

    我們通過兩種方式來最小化部署后模型與開發模型匹配時的風險:1)部署到生產環節之前就運行測試,2)捕獲環境細節,比如特定的語言版本和模型的庫依存性(例如,一個Python requirements.txt 文件)。
    一旦部署到生產環節后,我們就想對用戶顯示模型的預測結果。有多少用戶會使用這一模型進行預測?在為模型打分時,提供特征數據的速度要有多快?比如,欺詐偵測中,如果特征信息每24小時產生一次,那么,從事件發生到詐騙偵測模型檢測到此事件之間,會存在嚴重滯后。這就是我們需要解決的一些可擴展性和性能方面的問題。

    就一個應用程序來說,最理想的方式是通過網頁服務向用戶展示結果,方式是通過模型實時得分或是以線下批處理過程展示評分結果。或者是,模型需要支持一個商業過程,我們需要把模型的結果放在一個為決策者生成報告并遵照該這些結果予以行事的地方。無論是那種情況,如果沒有模型注冊表,想要知道哪里可以找到并使用當前模型的結果是很困難的。

    另一個應用實例是想要搞清楚模型如何背離實時數據運行,以考察模型是否變得陳舊,或者確定一個新開發的模型性能是否超過舊模型。一個簡單的例子就是用回歸模型來對比預期值和實際值。如果我們沒有監測到模型結果隨時間變化,那么,我們可能是在根據不再適用于當前情勢的歷史數據在做決策。

    結論

    這篇文章中,我們遍歷了模型周期,討論了對實驗室和工廠的需要,意在降低部署那些可能影響商業決策(并且還可能帶來高成本)壞模型帶來的風險。另外,注冊表也提供了組織中模型的透明性和可發現性。這有利于通過呈現組織使用的現有技術,來研發新模型,解決相似問題,也有利于現有模型維護或通過澄清模型當前版本、目前相關資產情況等來提升模型。

    在SVDS ,我們正在研發一個架構,它能支持模型管理,把不同模型版本登入注冊表,并管理如何將這些模型版本部署到一個執行引擎中。

    (審核編輯: 林靜)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 线宽测试仪丨光调制分析仪丨调制器 卓越光子-专注于光电解决方案 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 山东净化车间_净化工程_净化公司-山东海蓝净化装饰工程有限公司 山东金起起重机械有限公司[官网]-金桥银路悬臂吊,金起龙门吊,山东金起起重行吊,单梁起重机 | 数控落地镗铣床_数控刨台式镗铣床_数控龙门加工中心-青岛辉腾机械设备有限公司 | 昆明集装箱-云南住人集装箱活动房厂家|移动板房出租赁定制 | 精密铸造,精密铸件,不锈钢铸造,不锈钢铸件-常州鸿雁行机械科技有限公司 | 潍坊志扬机械有限公司_扫地机-抓蔗机-履带运输机-自上料搅拌车 | 手术示教系统-实训示教系统-数字化手术室-直播录播系统 - 深圳市视源视讯技术有限公司 | 网带输送机_皮带_滚筒_链板输送机_不锈钢输送链条生产厂家-宁津县鸿昶机械设备有限公司 | 企业微信服务商-企业微信crm营销|认证-[朝阳企客通]一款企微管家服务型产品 | 深圳汽车贴膜_深圳全车车身改色贴膜|UPPF隐形车衣官网 | 水溶肥料-大量元素水溶肥-含氨基酸水溶肥料-高塔复合肥-水溶肥生产厂家-河南中黄特肥科技有限责任公司 | 装盒机|全自动封盒机|纸盒子包装机|高速装盒机定制-温州胜泰机械有限公司 | 小型加油机价格- 柴油加油机多少钱一台| 华为交换机及防火墙-H3C无线AP-鸿远腾达华为交换机总代理商 | 捏炼机_密炼机_炼胶机_平板硫化机-青岛光越橡胶机械制造有限公司 | 深圳起重机,龙门吊,天车起重工程,电动葫芦,液压升降货梯-深圳市德力起重机械有限公司 | 神魔录官网 - 收藏网址的地方,也是防骗小知识分享的地方 | 消防排烟风机|防火阀|斜流风机|江苏恒恒暖通设备有限公司 | 河北热风机,电热暖风机,燃油暖风机,工业暖风机厂家安装,批发-河北嘉鹏冷暖风机有限公司 | 智慧园区平台_智慧园区智慧写字楼运营平台领导品牌 | 拍照机,地铁自助拍证件照机器,校园自助打印机,智能自助复印机 | 液压尾管悬挂器,机械式尾管悬挂器价格,石油套管扶正器厂家,连续油管悬挂器,高压双塞水泥头,免钻塞注水泥分级箍,单塞套管水泥头价格,弹性套管扶正器,铸铝钢性扶正器,钢性套管扶正器厂家 | 铅板-济南鑫玉防辐射材料有限公司 | 柚墨yomoer官网_PPT模板_工作总结PPT模板下载_个人简历模板 | 模具|晒纹-咬花-拉丝纹-立体纹-东莞市佳毅激光科技有限公司 | 耐磨颗粒胶_陶瓷颗粒胶_大小颗粒耐磨胶_耐磨防护胶-北京耐默 | 污泥处理设备|污泥固化固液分离压泥机压滤机厂家-山东冠诚开山贸易 | 咪咕体育直播,咪咕直播,CCTV5直播,体育直播,高清直播,腾讯体育直播,篮球直播,足球直播 | 水泥纤维瓦机 石棉瓦机 硅酸钙板生产线 | 停车场收费管理系统,通道闸系统,门禁系统,东莞停车场收费管理系统,东莞通道闸系统,-东莞市骄阳交通设备有限公司 | 智能照明模块_智能照明控制器_照明控制系统_智能调光模块_西安邦华电气工程有限公司 | 围墙护栏,护栏网,围栏,锌钢栅栏,护栏网厂家--安平县沃达金属丝网制造有限公司 | 金亨木业建筑模板_清水模板_覆膜板_金亨木业建筑模板厂家批发 | 油压缓冲器-缓冲器-重庆佑旺机械有限公司[官网]西捷克重庆办事处 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 乌海市腐植酸盐加工,内蒙古腐植酸钠,内蒙古型煤粘合剂生产厂家|创联腐植酸盐加工有限公司 | 消字号牙膏代加工|面膜代加工|凝胶贴牌|漱口水贴牌-南京三盾药业有限公司-消字号牙膏代加工|面膜代加工|凝胶贴牌|漱口水贴牌-南京三盾药业有限公司 | 天津网站制作|网站建设|营销型网站建设|筑美网络---天津做网站公司 | 生活污水处理设备-地埋式污水处理设备厂家-山东梦之洁水处理设备有限公司 | 上海机械加工-机械加工-精密机械加工-上海欧野精工机械有限公司 上海慧泰仪器制造有限公司_一体型马弗炉-可控真空干燥箱-强光稳定性试验箱 |