如何測試AI模型

2020-09-05 python測試開發命理

問題

機器學習是計算機科學中發展最迅速的領域之一。不幸的是,對於一些既不是數據科學家也不是ML開發人員的客戶來說,他們仍然不清楚如何處理它,儘管他們確實知道他們需要將人工智慧融入產品。

以下是我們從客戶那裡得到的關於ML質量保證的最常見問題。

  • 我想運行UAT;請你提供針對AI的完整回歸測試案例?
  • 已經在生產中運行了模型;如何確保在更新時它不會損壞?
  • 如何確保它能生成需要的正確值?

機器學習簡介

為了了解ML的工作原理,我們來仔細了解一下ML模型的本質。

經典算法/硬編碼函數和基於ML的模型有什麼區別?

  • 從黑盒的角度來看,就是同一個盒子,有輸入有輸出。把輸入填進去,得到輸出--多麼美好的事情啊!

從白盒的角度,特別是從系統的構建方式來看,就有些不同了。核心區別在於。

函數是根據你的數據通過特定的算法來擬合的。你可以驗證模型係數的ETL部分,但你不能像其他參數一樣輕鬆驗證模型質量。

如何測試?

模型審查程序類似於代碼審查,但是是為數據科學團隊量身定做的。我沒有看到很多QA工程師參與這個特殊的程序,但接下來就是模型質量評估、改進等。評估本身通常發生在數據科學團隊內部。

  • 你有一個基於ML功能的服務,已經部署在生產中。它已經啟動並運行了,你想控制它不會被自動部署的新版本模型破壞。在這種情況下,有一個純粹的黑盒方案:加載測試數據集,並驗證它是否有一個可接受的輸出(例如,將其與預部署階段的結果進行比較)。請記住:這不是關於精確匹配,而是關於最佳建議值。所以,你需要注意可接受的離散率。
  • 驗證部署的ML函數是否正確處理數據(即+/-反轉)。這就是白盒方法最有效的地方:在模型中使用單元和集成測試來正確加載輸入數據,檢查正確(+/-反),並檢查功能輸出。無論你在哪裡使用ETL,有白盒檢查是好事。
  • 生產數據會發生突變,同樣的輸入隨著時間的推移會產生新的預期輸出。例如,某件事情改變了用戶行為,模型的質量就會下降。另一種情況是動態變化的數據。如果這種風險很高,這裡有兩種方法。

1.簡單,但昂貴的方法: 每天在新的數據集上重新訓練。在這種情況下,你需要為你的服務找到合適的平衡點,因為再訓練與你的基礎設施成本高度相關。

2.複雜的方法。取決於你如何收集反饋。例如,對於二進位分類,你可以計算指標:精度、召回率和f1得分。根據這些參數寫一個動態模型評分的服務。如果低於0.6,就是警報;如果低於0.5,就是重大事件。

  • 公測對某些情況下非常有效。 您可以根據之前未使用的數據評估模型質量。 例如,再增加300個用戶來生成數據並進行處理。 理想情況下測試的新數據越多越好。 原始數據集是好的,但是大量的高質量數據總是更好。 注意:這裡不是很好的測試數據外推方法; 您的模型應與真實用戶良好配合,而不是根據預測或生成的數據。
  • 自動對服務進行ping操作,以確保其有效(不是專門針對ML測試,但不應忘記)。 使用Pingdom。 是的,這個簡單的東西可以節省很多時間。 這裡有許多更高級的DevOps解決方案。 但是,對我們而言,一切都始於此解決方案-我們從中受益匪淺。


答案

  • 我想運行UAT;請你提供針對AI的完整回歸測試案例?

向客戶描述黑盒,並向客戶提供測試數據和可以處理和可視化輸出的服務。

描述所有的測試層,你是否在ETL層上驗證數據和模型功能,以及你是如何做的。

製作模型質量報告。向客戶提供模型質量指標與標準值。從你的數據科學家那裡得到這些。

  • 已經在生產中運行了模型;如何確保在更新時它不會損壞?

你需要對任何生產推送以及任何其他軟體進行QA審查。

執行黑盒冒煙測試。根據功能嘗試各種類型的輸入。

用測試數據的樣本驗證生產伺服器上的模型指標。如果需要,隔離prod伺服器的部分,這樣用戶就不會受到測試的影響。

當然,要確保你的白盒測試是通過的。

  • 如何確保它能生成需要的正確值?

了解你的模型和數據的可接受標準差。花一些時間與你的數據科學家一起深入研究模型類型和算法的技術方面。

相關焦點

  • 如何優化你的圖像分類模型效果?
    方法 2 fast.ai提供了一個方便的插件「圖像清理器插件」,它允許你為自己的模型清理和準備數據。圖像清理器可以清洗不屬於你數據集的圖像。它在一行中呈現圖像,使你有機會在文件系統中刪除文件。
  • 華人研究團隊推出AI「諷刺」檢測模型,準確率達86%
    先來做個小測試吧!以下三個句子中,請判斷哪一個是諷刺、吐槽和凡爾賽文學?在這個社會上,不管承受多少的責難,都別忍。因為現在管虛偽不叫虛偽了,都叫做情商高。長得醜真是難為你了,早上跑出來嚇人,晚上跑出來嚇鬼。
  • Wandb用起來,一行Python代碼實現Keras模型可視化
    (註:Keras使得構建神經網絡變得簡單明了,這一點深得人心)這樣好用的包如何下載呢?只需運行「pip install wandb」,就可以輕鬆地安裝wandb,然後所有的Keras示例就都可以運行了。
  • AI戰「疫」:百度開源業界首個口罩人臉檢測及分類模型
    業內首度開源口罩人臉檢測及分類模型口罩人臉檢測及分類模型,由兩個功能單元組成,可以分別完成口罩人臉的檢測和口罩人臉的分類。經過測試,口罩人臉檢測部分在準確度上達到了 98%,且口罩人臉分類部分準確率同樣達到了 96.5%,性能上也是屬於業界領先水平。
  • 快消巡檢AI應用:EasyDL零售版商品識別模型定製解決方案
    ,另一種是通用檢測模型+自訓練定製模型。,模型訓練完之後,可以通過選擇自訓練模型進行智能標註了。示例二:通用檢測模型+自訓練模型選擇通用檢測模型+自訓練模型之後,需要同時選擇自訓練定製模型的版本,建議選擇 mAP 數值高的模型版本。
  • AI應該如何繪製出2.5D樓梯模型?查看操作步驟
    夥伴們你們知道在AI中怎麼繪畫出2.5D樓梯模型嗎?不知道的話可以去下面學習下AI繪製出2.5D樓梯模型的操作步驟。ai教程軟體版本:1.0.1iOS軟體立即查看1、先新建一個矩形;2、在左下方新建一個小矩形,並複製一份,擺放好位置,按Ctrl+D重複上部操作,形成一個斜角;3、全選,點擊「路徑查找器-分割」,右鍵取消編組,刪除掉左側多餘的部分;4、選中圖形,點擊「效果-3D-凸出和斜角」,位置:等角-右方,凸出厚度:150pt(可根據需要調整
  • 換一下同義詞,AI就把句子意思弄反|華人研究者揭示NLP模型脆弱性
    測試原理這個模型的名字叫Textfooler,通過生經過微調的句子,來對自然語言文本分類和推理進行攻擊。比如在著名的分類任務影評判斷中,AI的任務是去判斷一句影評是肯定性的還是否定性的。各模型測試結果研究團隊使用了三個模型,七個數據集來進行測試。三個模型為:BERT,WordCNN,WordLSTM。
  • AIOpen 預訓練語言模型專刊徵稿
    2018 年 ELMo、BERT 和 GPT 的成功發布,表明了預訓練語言模型(PLM)的成功,隨後又在自然語言理解和生成方面取得了重大突破。目前,在探索更有效的預訓練架構方面,已經做了很多卓有成效的工作,比如使用跨模態數據、跨語言數據和結構化知識等方法改進預訓練語言模型,或將 PLM 創新地應用於各種與 NLP 相關的任務。
  • 替換一下同義詞,AI就把句子意思弄反了|華人研究者揭示NLP模型脆弱性
    換了一個同義詞,自然語言處理模型就讀不對句子的意思了。麻省理工和香港大學的研究生們開發了一個算法,讓AI在文本分類和推理問題上的正確率從80%下降到10%。測試原理這個模型的名字叫Textfooler,通過生經過微調的句子,來對自然語言文本分類和推理進行攻擊。
  • 目前換臉技術識別人臉的模型是不能更換的
    能否採用ai技術實現真人換臉呢?真人臉動漫人物換臉怎麼做呢?百度前端團隊總結了一些實現ai換臉的工作方法,總結如下。不考慮代碼實現,只考慮從人臉辨識到換臉的全流程。以眼睛為準,將所有參數同步到ai模型。
  • AI 從業者都應該知道的實驗數據集
    雷鋒網AI 科技評論按:數據集對於深度學習模型的重要性不言而喻,然而根據性質、類型、領域的不同,數據集往往散落在不同的資源平臺裡,急需人們做出整理。 fast.ai 近期將這些重要的數據集匯總到了一篇文章裡,雷鋒網 AI 科技評論把文章編譯如下。少了數據,我們的機器學習和深度學習模型什麼也幹不了。
  • 巨穎:閱讀理解進階三部曲——關鍵知識、模型性能提升、產品化落地...
    近日,在雷鋒網(公眾號:雷鋒網) AI 研習社公開課上,追一科技語義算法研究員巨穎作為 CMRC2018 中文機器閱讀理解比賽的冠軍團隊成員之一,將為大家剖析機器閱讀理解的關鍵知識點,並結合追一的實踐經驗,分享如何從數據、模型、訓練角度提升模型性能,探討 AI 時代閱讀理解技術的產品化落地:http://www.mooc.ai/open/course/596?
  • AI是如何檢測色情片的?
    也難怪,站在企業的立場,究竟該如何定義「淫穢」內容呢?如果難以定義,就很難阻止「淫穢」內容首先,定義「淫穢」本是個陷阱。歷史可以追溯到1896年左右,當時美國首次通過規範「淫穢」的法律。教 AI 如何檢測色情片,第一件事就是收集色情片作為訓練集網上有很多的色情片。在哪裡可以得到它們呢? 「人們經常從Pornhub、XVideos等網站下載,」Lemay.ai的聯合創始人兼首席技術官Dan Shapiro說到。Lemay.ai是一家為其客戶創建 AI 過濾技術的初創公司。
  • AI每日精選:英偉達訓練AI將2D轉換3D模型;奔馳博世測試自動駕駛
    研究與技術1.英偉達訓練 AI 將 2D 圖像轉換為 3D 模型英偉達研究團隊近日創建了一個無需任何 3D 訓練數據即可預測 2D 圖像 3D 屬性的 AI 系統。這項工作將在今年神經信息處理系統年度會議(NeurIPS)上發表,學術界和工業界的研究人員將在此分享最新的前沿機器學習。
  • TensorFlow 在行動:打造負責任的 AI
    AI 原則https://www.blog.google/technology/ai/ai-principles/Responsible AI 目標https://ai.google/responsibilities/responsible-ai-practices/作為 Google Responsible AI 的產品主管和開發技術推廣工程師
  • 如何用機器學習預測股票在接下來一小時的收盤價?
    本文將向你展示如何使用R語言和H2o.ai機器學習框架預測股價。該框架也可以在Python中使用,但因為筆者更熟悉R語言,所以本文就用R語言來演示。以下是詳細的步驟:1.搜集數據2.導入數據3.整理並操作數據4.分割測試並觀察訓練5.選擇模型6.訓練模型7.用模型測試數據8.評估結果9.如有必要便改進模型10.重複步驟5到10,直到對結果滿意為止本文研究的問題是:股票在接下來一小時的收盤價是多少
  • AI如何讓瑞芯微展現特長?
    嵌入式ai合輯開講今年3月5日,一場名為《ai平臺如何幫助嵌入式開發者加速應用產品落地化》的公開課進入了智東西直播間,這也是嵌入式ai合輯第一講,瑞芯微負責人邱建斌講述了瑞芯微Toybrick ai如何結合零售場景統計客流,dms也就是駕駛員監控系統等應用進行開發實踐。
  • 即使是最好的AI量化模型,在新冠面前都不怎麼靠譜
    這場動蕩可能反映了現代AI的局限性,AI模型是依靠讀取大數據,並在其中尋找和利用微模式而建立的。就像電商用來預測存貨庫存的算法被消費者突如其來對洗手液和衛生紙的熱情所困惑一樣,那些幫助對衝基金從市場中獲取利潤的算法也對投資者突然的波動而迷惑。在金融領域,不管AI算法多厲害,用於測試的數據源不好,模型也好不到哪裡去。
  • 【美股掘金】人工智慧風口正勁,C3.AI能否從中分羹?
    它被稱為「圖靈測試」(Turing Test),旨在回答一個最基本的問題:機器會思考嗎?世界笑著說。機器?為自己思考嗎?不可能的。但是,圖靈測試啟動了人工智慧這一新興領域幾十年的研究——由世界上最聰明的一些人在世界上最負盛名的實驗室裡進行研究,專注於製造一種新型的計算機和機器,它們確實可以自己思考。
  • 軟體測試快速入門4-V模型
    儘管STLC使用術語「測試」,但它不僅僅涉及測試人員,在某些情況下,他們也必須涉及開發人員。在STLC中,執行測試用例。什麼是瀑布模型?瀑布模型是一個順序模型,分為軟體開發活動的不同階段。 每個階段都是為在SDLC階段執行特定活動而設計的。 瀑布模型中的測試階段僅在系統實施完成後才開始。測試在SDLC內完成。