0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用RAPIDS加速實現(xiàn)SHAP的模型可解釋性

星星科技指導員 ? 來源:NVIDIA ? 作者:Nanthini ? 2022-04-21 09:25 ? 次閱讀

機器學習( ML )越來越多地用于醫(yī)療、教育和金融服務等多個領域的決策。由于 ML 模型被用于對人們有實際影響的情況,因此了解在消除或最小化偏見影響的決策中考慮了哪些特征是至關重要的。

模型解釋性 幫助開發(fā)人員和其他利益相關者理解模型特征和決策的根本原因,從而使流程更加透明。能夠解釋模型可以幫助數(shù)據(jù)科學家解釋他們的模型做出決策的原因,為模型增加價值和信任。在本文中,我們將討論:

對模型可解釋性的需求

使用 SHAP 的可解釋性

GPU – 從 RAPIDS 加速 SHAP 實現(xiàn)

使用 演示筆記本 在 Azure 機器學習上使用 SHAP 進行模型解釋。

為什么我們需要解釋性?

有六個主要原因證明機器學習中需要模型互操作性:

理解模型中的公平性問題

對目標的準確理解

創(chuàng)建健壯的模型

調試模型

解釋結果

啟用審核

了解模型中的公平性問題: 可解釋模型可以解釋選擇結果的原因。在社會背景下,這些解釋將不可避免地揭示對代表性不足群體的固有偏見。克服這些偏見的第一步是看看它們是如何表現(xiàn)出來的。

更準確地理解目標: 對解釋的需要也源于我們在充分理解問題方面的差距。解釋是確保我們能夠看到差距影響的方法之一。它有助于理解模型的預測是否符合利益相關者或專家的目標。

創(chuàng)建穩(wěn)健的模型: 可解釋模型可以幫助我們理解預測中為什么會存在一些差異,這有助于使預測更加穩(wěn)健,并消除預測中極端和意外的變化;以及為什么會出現(xiàn)錯誤。增強穩(wěn)健性也有助于在模型中建立信任,因為它不會產生顯著不同的結果。

模型可解釋性還可以幫助調試模型,解釋 向利益相關者提供成果,并使 auditing 以滿足法規(guī)遵從性。

需要注意的是,在某些情況下,可解釋性 MIG 不太重要。例如,在某些情況下,添加可解釋模型可以幫助對手欺騙系統(tǒng)。

現(xiàn)在我們了解了什么是可解釋性以及為什么我們需要它,讓我們看看最近非常流行的一種實現(xiàn)方法。

使用 SHAP 和 cuML 的 SHAP 的可解釋性

有不同的方法旨在提高模型的可解釋性;一種模型不可知的方法是 夏普利值 。這是一種從聯(lián)盟博弈論中衍生出來的方法,它提供了一種公平地將“支出”分配給各個功能的方法。在機器學習模型的情況下,支出是模型的預測/結果。它的工作原理是計算整個數(shù)據(jù)集的 Shapley 值并將其組合。

cuML 是 RAPIDS 中的機器學習庫,支持單 GPU 和多 GPU 機器學習算法,通過 內核解釋程序 和 置換解釋者 提供 GPU 加速模型解釋能力。 核形狀 是 SHAP 最通用和最常用的黑盒解釋程序。它使用加權線性回歸來估計形狀值,使其成為一種計算效率高的近似值方法。

內核 SHAP 的 cuML 實現(xiàn)為快速 GPU 模型提供了加速,就像 cuML 中的那些模型一樣。它們也可用于基于 CPU 的模型,在這些模型中仍然可以實現(xiàn)加速,但由于數(shù)據(jù)傳輸和模型本身的速度,它們 MIG 可能會受到限制。

在下一節(jié)中,我們將討論如何在 Azure 上使用 RAPIDS 內核 SHAP 。

使用解釋社區(qū)和 RAPIDS 實現(xiàn)可解釋性

InterpretML 是一個開源軟件包,將最先進的機器學習可解釋性技術集成在一起。雖然本產品的解釋包中涵蓋了主要的解釋技術和玻璃盒解釋模型, Interpret-Community 擴展了解釋存儲庫,并進一步整合了社區(qū)開發(fā)的和實驗性的解釋性技術和功能,這些技術和功能旨在實現(xiàn)現(xiàn)實場景的解釋性。

我們可以將其擴展到 解釋 Microsoft Azure 上的模型 ,稍后將對其進行更詳細的討論。解釋社區(qū)提供各種解釋模型的技術,包括:

Tree 、 Deep 、 Linear 和 Kernel Explainers 基于形狀,

模擬解釋者 基于訓練 全局代理模型 (訓練模型以近似黑盒模型的預測),以及

排列特征重要性( PFI )解釋者 基于 布雷曼關于蘭德森林的論文 ,其工作原理是對整個數(shù)據(jù)集一次一個特征的數(shù)據(jù)進行洗牌,并估計其對性能指標的影響;變化越大,功能越重要。它可以解釋整體行為,而不是個人預測。

在社區(qū)中集成 GPU 加速 SHAP

為了使 GPU – 加速 SHAP 易于最終用戶訪問,我們將 integrated 從 cuML 的 GPU 內核解釋者 添加到 interpret-community 包中。有權訪問 Azure 上具有 GPU s 的虛擬機 ( NVIDIA Pascal 或更高版本)的用戶可以安裝 RAPIDS (》= 0.20 )并通過將 use _ ZFK5]標志設置為 True 來啟用 GPU 解釋程序。

from interpret.ext.blackbox import TabularExplainer

# "features" and "classes" fields are optional
explainer = TabularExplainer(model,
                          x_train,
                          features=breast_cancer_data.feature_names,
                          classes=classes,
use_gpu=True)

新添加的 GPUKernelExplainer 還使用 cuML K- 均值 來復制 shap.kmeans 的行為。 KMeans 減少了解釋者要處理的背景數(shù)據(jù)的大小。它總結了通過 K 個平均樣本傳遞的數(shù)據(jù)集,這些樣本由數(shù)據(jù)點的數(shù)量加權。將 sklearn K-Means 替換為 cuML 使我們能夠利用 GPU 的速度提升,即使在 SHAP 之前的數(shù)據(jù)預處理過程中也是如此。

基于我們的實驗,我們發(fā)現(xiàn),當與 cuML KerneleExplainer 一起使用時, cuML 模型在某些情況下會產生最高可達 270 倍的速度提升的最佳結果。我們還看到了具有優(yōu)化和快速預測調用的模型的最佳加速,如優(yōu)化的 sklearn 。 svm 。 LinearSVR 和 cuml 。 svm 。 SVR ( kernel =’ linear ‘) 所示。

Azure 中的模型解釋

Azure 機器學習提供了一種通過 azureml-interpret SDK 包獲取常規(guī)和自動化 ML 培訓說明的方法。它使用戶能夠在訓練和推理期間,在真實世界數(shù)據(jù)集上實現(xiàn)大規(guī)模的模型可解釋性[2]。我們還可以使用交互式可視化來進一步探索整體和單個模型預測,并進一步了解我們的模型和數(shù)據(jù)集。 Azure 解釋使用解釋社區(qū)包中的技術,這意味著它現(xiàn)在支持 RAPIDS 形狀。我們將瀏覽一個演示 Azure 上使用 cuML 形狀的模型可解釋性 的示例筆記本。

在 GPU 虛擬機上使用自定義 Docker 映像設置 RAPIDS 環(huán)境(本例中為標準的_ NC6s _ v3 )。

from azureml.core import Environment
environment_name = "rapids"
env = Environment(environment_name)
env.docker.enabled = True
env.docker.base_image = None
env.docker.base_dockerfile = """
FROM rapidsai/rapidsai:0.19-cuda11.0-runtime-ubuntu18.04-py3.8
RUN apt-get update && \
apt-get install -y fuse && \
apt-get install -y build-essential && \
apt-get install -y python3-dev && \
source activate rapids && \
pip install azureml-defaults && \
pip install azureml-interpret && \
pip install interpret-community==0.18 && \
pip install azureml-telemetry
"""
env.python.user_managed_dependencies = True

我們提供了一個腳本( train_explain.py ),它使用 cuML SVM 模型訓練和解釋了一個二進制分類問題。在這個例子中,我們使用 希格斯數(shù)據(jù)集 來預測一個過程是否產生希格斯玻色子。它有 21 個由加速器中的粒子探測器測量的運動學特性。

然后,該腳本使用 GPU SHAP KerneleExplainer 生成模型解釋。

生成的解釋使用我們的 ExplanationClient 上傳到 Azure 機器學習,這是上傳和下載解釋的客戶端。這可以在您的計算機上本地運行,也可以在 Azure 機器學習計算機上遠程運行。

from azureml.interpret import ExplanationClient
# Get model explanation data
client = ExplanationClient.from_run(run)
global_explanation = client.download_model_explanation()
local_importance_values = global_explanation.local_importance_values
expected_values = global_explanation.expected_values
# Or you can use the saved run.id to retrive the feature importance values
client = ExplanationClient.from_run_id(ws, experiment_name, run.id)
global_explanation = client.download_model_explanation()
local_importance_values = global_explanation.local_importance_values
expected_values = global_explanation.expected_values
# Get the top k (e.g., 4) most important features with their importance values
global_explanation_topk = client.download_model_explanation(top_k=4)
global_importance_values = global_explanation_topk.get_ranked_global_values()
global_importance_names = global_explanation_topk.get_ranked_global_names()

生成的解釋上傳到 Azure 機器學習運行歷史記錄后,您可以在 Azure 機器學習工作室 中的解釋儀表板上查看可視化。

圖 1 :顯示模型性能和特性重要性的解釋儀表板。

我們在 Azure 中的單個 explain _全局調用上對 CPU 和 GPU 實現(xiàn)進行了基準測試。 explain _ global 函數(shù)在使用 explain _ local 時返回聚合特征重要性值,而不是實例級特征重要性值。我們比較了 cuml 。 svm 。 SVR ( kernel =’ rbf ‘)與 sklearn 。 svm 。 SVR ( kernel =’ rbf ‘)對形狀為( 10000 , 40 )的合成數(shù)據(jù)的影響。

從表 1 中我們可以觀察到,當我們使用 GPU 虛擬機( Standard _ NC6S _ v3 )時,與具有 16 個內核的 CPU 虛擬機( Standard _ DS5 _ v2 )相比, 2000 行解釋的速度提高了 420 倍。我們注意到,在 16 核 CPU 虛擬機上使用 64 核 CPU 虛擬機(標準_ D64S _ v3 )可以產生更快的 CPU 運行時間(大約 1 。 3 倍)。這種更快的 CPU 運行仍然比 GPU 運行慢得多,而且更昂貴。 GPU 運行速度快了 380 倍,成本為 0 。 52 美元,而 64 核 CPU 虛擬機的成本為 23 美元。我們在 Azure 的美國東部地區(qū)進行了實驗。

圖 2 : Azure 上 CPU 和 GPU 虛擬機的比較。

表 1 :標準 DS5 和標準 NC6s _ v3 的比較。

從我們的實驗來看,在 Azure 上使用 cuML 的 KernelExplainer 被證明更具成本和時間效率。隨著行數(shù)的增加,速度會更好。 GPU SHAP 不僅解釋了更多的數(shù)據(jù),而且還節(jié)省了更多的資金和時間。這會對時間敏感的企業(yè)產生巨大影響。

這是一個簡單的例子,說明如何在 Azure 上使用 cuML 的 SHAP 進行解釋。這可以擴展到具有更有趣的模型和數(shù)據(jù)集的更大示例。

關于作者

Nanthini 是 NVIDIA 的數(shù)據(jù)科學家和軟件開發(fā)人員。她在 RAPIDS 團隊工作,該團隊專注于使用 GPU 加速數(shù)據(jù)科學管道。她的工作包括進行概念驗證、開發(fā)和維護功能、將 RAPIDS 與外部框架集成,以及通過示例用例演示這些工具的使用。最近,她一直致力于 RAPIDS 框架和微軟解釋之間的集成。 2019 ,她獲得了賓夕法尼亞大學計算機科學碩士學位。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    27

    文章

    4591

    瀏覽量

    128168
  • 機器學習
    +關注

    關注

    66

    文章

    8306

    瀏覽量

    131848
收藏 人收藏

    評論

    相關推薦

    LLM大模型推理加速的關鍵技術

    LLM(大型語言模型)大模型推理加速是當前人工智能領域的一個研究熱點,旨在提高模型在處理復雜任務時的效率和響應速度。以下是對LLM大模型推理
    的頭像 發(fā)表于 07-24 11:38 ?505次閱讀

    基于FPGA的脈沖神經網(wǎng)絡模型應用探索

    隨著人工智能技術的飛速發(fā)展,脈沖神經網(wǎng)絡(Spiking Neural Network, SNN)作為一種模擬生物神經系統(tǒng)處理信息的計算模型,因其獨特的生物可解釋性和低能耗特性而受到廣泛關注。然而
    的頭像 發(fā)表于 07-12 10:08 ?289次閱讀

    【大規(guī)模語言模型:從理論到實踐】- 閱讀體驗

    直觀地解釋和理解。這可能會影響模型可解釋性和可信賴,特別是在需要高度可靠的場景中。 通過修改注意力機制的計算方式或引入新的架構來降低
    發(fā)表于 06-07 14:44

    【大語言模型:原理與工程實踐】大語言模型的評測

    模型解釋如“種瓜得瓜,種豆得豆”這樣的中文古語。對于模型的回答,我們主要依據(jù)準確和全面兩個指標進行評估。準確
    發(fā)表于 05-07 17:12

    【大語言模型:原理與工程實踐】核心技術綜述

    中應用,需要考慮到性能、可擴展性和安全等因素。 大語言模型正在快速發(fā)展,新技術不斷涌現(xiàn)。未來的研究可能集中在提高模型效率、理解和可解釋性以及確保
    發(fā)表于 05-05 10:56

    Meta發(fā)布SceneScript視覺模型,高效構建室內3D模型

    Meta 表示,此模型具備創(chuàng)建室內 3D 模型的高效與輕便,僅需幾KB內存便能生成完整清晰的幾何圖形,同時,這些形狀數(shù)據(jù)具備可解釋性,便于用戶理解和編輯。
    的頭像 發(fā)表于 03-26 11:16 ?472次閱讀

    AI算法在礦山智能化中的應用全解析

    調度、強化學習、異常檢測和診斷以及數(shù)據(jù)融合和信息集成等方面。此外,還需關注數(shù)據(jù)基礎設施、系統(tǒng)集成、網(wǎng)絡安全、人工智能倫理和可解釋性等問題。通過整合這些技術和方法,礦山企業(yè)可以提高生產效率、降低風險、減少成本,實現(xiàn)可持續(xù)發(fā)展。
    的頭像 發(fā)表于 03-20 10:59 ?472次閱讀
    AI算法在礦山智能化中的應用全解析

    愛立信推出認知軟件新功能

    日前,愛立信宣布在其專為運營商設計的認知軟件組合中,新增采用“可解釋性人工智能(Explainable AI,XAI)”的新功能,進一步加速在網(wǎng)絡設計和優(yōu)化中采用人工智能后的價值轉化。
    的頭像 發(fā)表于 02-22 09:22 ?5116次閱讀

    頂刊TIP 2023!浙大提出:基于全頻域通道選擇的的無監(jiān)督異常檢測

    Density-based方法:基于密度的方法通常采用預訓練的模型來提取輸入圖像的有意義嵌入向量,測試圖像時通過計算嵌入表示與參考表示分布之間的相似度以得到異常分數(shù)。這種方法在MVTec AD等數(shù)據(jù)集上取得了較高的指標分數(shù),但需要預訓練模型加持且
    的頭像 發(fā)表于 01-11 16:02 ?748次閱讀
    頂刊TIP 2023!浙大提出:基于全頻域通道選擇的的無監(jiān)督異常檢測

    華為云AI峰會揭示大模型實踐難題

    除此之外,還存在行業(yè)訓練數(shù)據(jù)安全控制、大模型幻覺緩解消除及可解釋性、構建具有強大邏輯推理規(guī)劃能力的大模型、基于圖數(shù)據(jù)的知識增強技術、通用結構化數(shù)據(jù)特性對齊和預訓練,以及視覺領域下一個token預測任務建模等挑戰(zhàn)。
    的頭像 發(fā)表于 12-25 10:33 ?687次閱讀

    新火種AI|比爾蓋茨表態(tài):生成式AI已成過去接下來是可解釋AI的天下

    可解釋AI。比爾.蓋茨預測,未來10年(2030年-2039年),AI領域的主角將成為可解釋AI。 ? 大部分人預判:GPT-5將明顯優(yōu)于GPT-4,成為生成式AI領域天花板。 盡管OpenAI還沒有對外界公布GPT-5的確切上線時間,甚至還曾遭到馬斯克等人的反對,被其
    的頭像 發(fā)表于 12-06 10:36 ?670次閱讀
    新火種AI|比爾蓋茨表態(tài):生成式AI已成過去接下來是<b class='flag-5'>可解釋</b>AI的天下

    使用rk3588多npu推理模型,模型總推理時間還增加了,這怎么解釋

    使用rk3588多npu推理模型,模型總推理時間還增加了,這怎么解釋
    發(fā)表于 11-05 18:22

    Python中進行特征重要分析的9個常用方法

    重要分析可以識別并關注最具信息量的特征,從而帶來以下幾個優(yōu)勢: 改進的模型性能 減少過度擬合 更快的訓練和推理 增強的可解釋性 下面我們深入了解在Python中的一些特性重要分析的
    的頭像 發(fā)表于 10-16 11:09 ?632次閱讀
    Python中進行特征重要<b class='flag-5'>性</b>分析的9個常用方法

    三個主要降維技術對比介紹:PCA, LCA,SVD

    隨著數(shù)據(jù)集的規(guī)模和復雜的增長,特征或維度的數(shù)量往往變得難以處理,導致計算需求增加,潛在的過擬合和模型可解釋性降低。
    的頭像 發(fā)表于 10-09 10:13 ?706次閱讀
    三個主要降維技術對比介紹:PCA, LCA,SVD

    機器學習模型可解釋性的結果分析

    模型可解釋性是機器學習領域的一個重要分支,隨著 AI 應用范圍的不斷擴大,人們越來越不滿足于模型的黑盒特性,與此同時,金融、自動駕駛等領域的法律法規(guī)也對模型
    發(fā)表于 09-28 10:17 ?857次閱讀
    機器學習<b class='flag-5'>模型</b><b class='flag-5'>可解釋性</b>的結果分析