利用NGC 上的NVIDIA Clara Guardian 和NVIDIA Fleet ...

文章推薦指數: 80 %
投票人數:10人

Clara Guardian 是屬於NGC 目錄早期試用計畫的一部分,為現有的眾多醫療應用程式框架之一。

主要元件包括用於電腦視覺和語音的醫療預先訓練模型、訓練工具 ... Skiptocontent Share Email 現在的醫院都在設法改造現有的數位基礎架構,以改善內部流程,提供更好的患者照護,並降低營運支出。

如果醫院想要應對迅速成長的人口需求、醫學患者資料累積以及疫情,就必須經歷此類轉變。

目標包括將現有的基礎架構數位化、將工作流程效率最佳化、匯集大量的患者資料,以及創造出篩檢和診斷的新工具。

醫院可以透過來自智慧感測器的資料饋送至以邊緣為基礎的系統,即時滿足患者和工作人員的需求。

智慧醫院生態系統的關鍵部分是獨立軟體供應商(ISV),他們為醫院建構和部署最先進的應用程式。

ISV資料科學家和開發人員需要能輕鬆存取軟體構件,包括兼具安全性與高效能的模型和容器。

這些構件可賦予開發人員建立AI模型和基礎架構的起步優勢。

在建立應用程式之後,必須將其部署在大量的邊緣裝置上,以獲得即時的見解。

但是,在邊緣裝置上部署、監控和管理軟體具有特殊的挑戰。

DevOps和IT管理者必須全面管理各個位置的所有實體裝置以及軟體部署。

在這一篇文章中,我們將示範如何使用來自NVIDIANGC目錄的智慧醫院應用程式框架NVIDIAClaraGuardian建構應用程式,以及如何使用NVIDIAFleetCommand安全地將應用程式部署在邊緣。

利用NGC加快AI工作流程 NGC目錄是為了加快AI工作流程而建立。

它是雲端原生GPU最佳化AI與HPC應用程式和工具的中樞,可以加快存取效能最佳化容器的速度、透過預先訓練模型縮短解決時間,並提供產業專用的軟體開發套件,以建構端對端AI解決方案。

此目錄包含各種應用及使用案例的資源,包含可用於電腦視覺、語音辨識、推薦系統等的各式各樣資源。

在醫療保健領域中,預先訓練模型涵蓋註解、分割、分類等關鍵功能。

您可以將轉移學習應用在模型,並針對自己的資料進行重新訓練,以建立自訂模型。

圖1:NGC目錄,GPU最佳化AI軟體的中樞。

NGC目錄上的AI容器和模型經過調整、測試和最佳化,將可讓現有的GPU基礎架構發揮最大的效能。

這些容器和模型是使用自動混合精度,讓您使用此功能時不需要變更程式碼或僅需要極少的變更。

自動混合精度是使用NVIDIAGPU上的Tensor核心,可以大幅加快模型訓練速度。

多GPU訓練是在所有使用Horovod和NCCL函式庫進行分散式訓練和高效率通訊之NGC模型上建置的標準功能。

圖2:容器每月更新,可在相同的GPU上提供更快的效能。

單節點8xV100(32GB)和A100(40GB)上的BERT-Large與ResNet-50v1.5訓練效能。

混合精度。

BERT的批次大小:10(V100)、24(A100),ResNet:512(V100,v20.05)、256(v20.07) NGC上的NVIDIAClaraGuardian NVIDIAClaraGuardian是在NGC目錄上容器化的框架之一。

ClaraGuardian是屬於NGC目錄早期試用計畫的一部分,為現有的眾多醫療應用程式框架之一。

主要元件包括用於電腦視覺和語音的醫療預先訓練模型、訓練工具、部署SDK,以及NVIDIAFleetCommand,這些都是讓ISV可以快速建構和部署解決方案,以供醫院使用。

圖3:ClaraGuardian應用程式框架。

您可以輕鬆地將AI功能加入常見感測器中,監測人群,以確保安全社交距離、測量體溫、偵測是否缺少口罩等防護裝備,或與高風險患者遠端互動,讓醫療機構中的每一個人都能在安全的情況下瞭解資訊。

應用程式和服務可以在NVIDIAJetsonNano、NVIDIAT4伺服器等各種硬體上運行,讓您能安全地在任何位置部署,從邊緣到雲端。

NVIDIAFleetCommand NVIDIAFleetCommand是可以在數十個或多達數百萬個伺服器或邊緣裝置上,管理和擴充AI部署的混合雲端平台。

FleetCommand可以讓IT部門安全地遠端管理大量的已部署系統。

管理員可以在短短數分鐘內,將AI導入網路化醫院,而無須花數週的時間規劃和執行部署計畫。

管理員可以新增或刪除應用程式、以無線方式更新系統軟體,以及從單一控制面板監控分散在各處之裝置的狀態。

安全性是所有企業的需求。

NGC目錄中的代管應用程式會經過公共漏洞與暴露掃描、密碼編譯金鑰、私密金鑰以及中繼資料掃描,確保已準備好進行量產層級部署。

在邊緣端,將對所有已處理資料進行靜態加密,並安全、可靠的啟動,防止AI執行階段遭到竄改。

此外,由於系統採用內部部署處理近端感測器饋送,因此組織可以控制感測器資料的儲存位置。

ClaraGuardian實際應用 NVIDIAInception醫療AI新創公司WhiteboardCoordinator是使用ClaraGuardian,為西北紀念醫院(NorthwesternHospital)等頂尖醫院打造虛擬患者助理解決方案。

患者安全一直很重要,而在COVID-19疫情期間更是至關重要。

減少身體接觸等措施是減少傳播,以及確保患者和醫護人員安全的關鍵。

對話式AI有助於減少身體直接接觸,同時可以繼續提供高品質的照護。

患者可以立即從AI虛擬助理獲得答案,而無須等待臨床工作人員提供服務。

影片:患者如何在沒有任何醫院工作人員協助的情況下,取得與手術有關的最新資訊。

建構應用程式 您已經瞭解ClaraGuardian的實際應用情形,以下將說明如何建構應用程式。

虛擬患者助理應用程式是屬於ClaraGuardian用戶端應用程式,可接收患者的輸入查詢、擷取意圖和相關資訊,以解讀患者的詢問,並以自然的語音即時運算給予回應。

患者可能提出任何問題,從對於日常排程的一般問題,到治療計畫或醫療程序等更多領域的相關問題。

ClaraGuardian用戶端應用程式是使用gRPC協定與ClaraGuardianSDK互動。

以此虛擬患者助理應用程式為例,該方法是針對自動語音辨識、自然語言理解,以及文字轉語音所定義的請求和回應。

用戶端具有虛設程式,提供與伺服器相同的方法,並在同一個主控端上執行。

Python繫結用於和ClaraGuardianAI服務互動。

用戶端也可以使用protobuf檔案,以任何官方gRPC支援的語言與伺服器通訊。

ClaraGuardian自動語音辨識(automatedspeechrecognition,ASR)技能,可以針對以16位元LPCM編碼的傳入、串流音訊、RTP資料流進行即時英語轉錄。

為了方便與病房中的各種麥克風整合,並適應不同的頻率響應、極性型態和近接效應,我們提供RTP連接器做為用戶端應用程式的一部分,將傳入的麥克風資料編碼成與ClaraGuardianASR相容的輸入。

ASR的核心代表了以Jasper模型為基礎的端對端語音辨識管道。

ASR技能已針對低延遲進行最佳化,讓卷積層的整個子區塊,皆能以高準確度(在醫學資料集上,WER大約為2%)融合至單一GPU核心。

您也可以依據此逐步指示,使用NeMo訓練自己的聲學模型。

若想要使用ClaraGuardian部署已訓練模型,則必須將編碼器和解碼器檢查點匯出至ONNX。

ClaraGuardian自然語言理解(naturallanguageunderstanding,NLU)服務是以ASR轉錄的文字做為輸入,並根據預先訓練的BERT模型擷取患者意圖和相關資訊,以進行聯合意圖分類和資訊填充。

若想要使用自己的資料訓練此模型,請參閱發布在GitHub上的nlp/intent_slot_classification範例。

ClaraGuardian文字轉語音(text-to-speech,TTS)技能是以兩個神經網路模型為基礎: 經過修改的Tacotron2模型,是以NaturalTTSSynthesisbyConditioningWaveNetonMelSpectrogramPredictions論文為根據。

以流為基礎的神經網路模型,則是以WaveGlow:AFlow-basedGenerativeNetworkforSpeechSynthesis論文為根據。

NGC目錄中的Tacotron2和WaveGlow模型構成了文字轉語音工作流程,可以合成自然語音,而無須任何其他資訊,例如語音型態或節奏。

Tacotron2模型是透過採用編碼器-解碼器架構的意圖分類器和資訊標記器,從輸入的NLU文字產生梅爾聲譜圖,而WaveGlow是產生語音,以回應患者。

您可以依據NeMo文件,使用自己的資料訓練Tacotron2和WaveGlow。

為了將回應傳回病房中的揚聲器,我們提供了TLS安全SessionInitiationProtocol(SIP)連接器。

傳輸經過加密,可以防止將回應串流回患者時,發生竊聽、竄改和訊息偽造。

若想要建構應用程式,則必須使用gRPC編寫與ClaraGuardianAI技能伺服器通訊的Python用戶端。

用戶端轉錄傳入的RTSP流,並將串流回應傳送至ClaraGuardianAI技能伺服器,是第一個處理步驟: #importallthelibraries #setupthechannelandtheclient channel=grpc.insecure_channel(clara_guardian_server) client=risr_srv.RivaSpeechRecognitionStub(channel) ... #setthestreamingconfigparameters config=risr.RecognitionConfig( encoding=clara_guardian_encodi sample_rate_hertz=16000, language_code="en-US", max_alternatives=1, enable_automatic_punctuation=True) streaming_config=risr.StreamingRecognitionConfig(config_parameters) mic_rtsp=open_stream(IP_of_device) #sendclientrequeststogenerateresponses ... mic_rtsp.close_stream() 在轉錄音訊之後,用戶端會傳送NLP技能伺服器要求,以偵測和確定患者查詢。

例如,當患者詢問「我今天需要接受什麼療程?」時,資訊標記器將會擷取相關的語意實體,例如「day_of_week」。

intent{ class_name:"procedure_inquiry" score:0.9931640625 } slots{ token:"today" label{ class_name:"day_of_week" score:0.56298828125 } } domain_str:"healthcare" domain{ class_name:"healthcare" score:0.9866989850997925 最後,將串流要求傳送至TTS串流技能伺服器,再將加密後的回應傳送至病房中的IP裝置: responses=client.SynthesizeOnline(req) 圖4:ClaraGuardian與IP裝置之間的SIP訊息交換順序圖。

圖5:患者發起對話時的整體工作流程。

ClaraGuardianAI服務是透過NVIDIATriton推論伺服器進行部署。

Triton推論伺服器是針對NVIDIAGPU最佳化的雲端推論解決方案,支援部署透過所有主要框架(包括TensorRT、TensorFlow、PyTorch、ONNXRuntime甚或自訂框架)訓練的AI模型,並提供使用gRPC端點的推論伺服器。

當推論要求抵達使用gRPC的伺服器之後,即會傳遞至適當的模型調度器。

模型調度器會針對推論要求進行批次處理,並將要求轉送至後端給對應的ASR、NLP或TTS模型。

Triton同時透過可觸發整個ASR-NLP-TTS模型管道執行的單一推論要求,提供整體支援。

透過存取端點,可以取得數個指標,例如GPU利用率、延遲、推論要求數量、執行的推理次數。

部署應用程式 本節說明如何使用NVIDIAFleetCommand在搭載NVIDIAT4,且經驗證可以執行各種AI工作負載,並經過安全性和遠端管理協定測試的NTC-ReadyforEdge伺服器上,部署虛擬患者助理應用程式。

您也可以使用Helmchart部署應用程式。

Helm是NVIDIA推薦的Kubernetes套件管理器,可以讓您輕鬆地在Kubernetes上配置、部署和更新應用程式。

提供給ClaraGuardian的Helmchart是負責下載模型成品、建立模型儲存庫,以及啟動ASR、NLU和TTS服務。

若想要開始使用NVIDIAFleetCommand,則必須存取貴組織的NGCPrivateRegistry。

NGCPrivateRegistry提供安全的雲端代管環境,讓開發人員可以從單一入口網站,自訂來自NGC的預先訓練模型、SDK及Helmchart、加密、簽署、分享和部署專有軟體。

您可以透過使用者管理、自訂模型建立等其他功能,促進團隊之間的協作,並改善整體開發與部署流程。

按一下此處,以深入瞭解如何設定NGCPrivateRegistry。

在設定NGCPrivateRegistry之後,即可登入NGC帳戶。

若想要從FleetCommand存取NGCPrivateRegistry中的應用程式,請輸入NGCAPI金鑰進行驗證以達到同步。

圖6:從NGCPrivateRegistry產生API金鑰以存取應用程式。

將所有自訂內容上傳至NGCPrivateRegistry之後,請新增需要部署應用程式的邊緣裝置位置。

在此範例中,是在西北紀念醫院中安裝T4伺服器。

圖7:NGCPrivateRegistry可以儲存自訂容器、模型和Helmchart。

若想要使用ClaraGuardianHelmchart新增部署在Kubernetes叢集上的虛擬患者助理應用程式,請選擇應用程式、新增應用程式。

在表單中輸入應用程式的相關資訊,包括Helmchart的名稱。

圖8:在FleetCommand中使用Helmchart新增需要部署的應用程式。

riva-api-demoHelmchart的樹狀結構,如下所示: ├──Chart.yaml ├──templates │├──_helpers.tpl │├──artifactSecret.yaml │├──deployment.yaml │├──registrySecret.yaml │└──service.yaml └──values.yaml Helmchart是範本,values.yaml檔案則提供需要注入chart中的執行階段配置。

將可視為類似用於自定義chart的發布參數。

/templates目錄包含與values.yaml中的配置值以及自訂配置結合,並呈現在Kubernetes清單中的範本檔案。

最後一步是建立部署。

Helm部署使用了兩個Kubernetes秘密存取NGC:一個用於Docker映像,另一個用於模型成品。

在預設的情況下,兩者的名稱分別為riva-ea-regcred和imagepullsecret。

在values.yaml檔案中可以修改秘密的名稱。

在新增API金鑰(使用FleetCommand位置選項)時,會將稱為imagepullsecret的Kubernetes秘密新增至位置中的所有EGX系統。

圖9:在FleetCommand中使用Helmchart新增需要部署的應用程式。

在選擇部署之後,即會將應用程式成功部署至醫院內部的伺服器。

在部署應用程式時,將會看到狀態變成綠色(或使用中),即表示已部署成功。

圖10:已部署應用程式的狀態。

圖11:使用CLI查看已部署應用程式的狀態。

總結 使用ClaraGuardian可以輕鬆建構虛擬患者助理應用程式,並可透過NVIDIAFleetCommand安全地部署、管理和擴充,以實現智慧醫院。

參加NGC目錄提供的ClaraGuardian試用,立即開始使用。

歡迎參加「利用Clara建置智慧醫院所需之AI應用」線上研討會,我們將分享想要導入人工智慧用、成為智慧醫院會需要那些技術與平台支援。

所有NVIDIA新聞 使用NVIDIAFLARE建立穩健且可廣泛應用的人工智慧模型 使用NVIDIAOmniverseReallusionConnector簡化寫實角色的創造流程 本週GFN:封測版《要塞英雄(Fortnite)》透過GeForceNOW聯盟TaiwanMobile雲端遊戲服務於iOSSafari與Android推出 JaguarLandRover宣布成為NVIDIA的合作夥伴 NVIDIA公佈2022會計年度第四季與全年營運結果 Postnavigation NVIDIA網站透過Cookie提供與改善網站體驗。

請參閱我們的Cookie政策,深入瞭解我們如何使用Cookie以及變更Cookie設定的詳細資訊。

接受 SharethisArticle Friend'sEmailAddress YourName YourEmailAddress Comments SendEmail Emailsent!



請為這篇文章評分?