硬體問題
ai專案部署基本原則
深度學習推斷框架任務
前期一定要制定充分的標註規則
資料的採集一定要具有代表性
非常不建議採用自動標註的方式
先訓練乙個初步模型,然後只讓相關人員進行校對,可以保證標註效率並減少標註成本。
千萬不要採用規則的方式進行開發
初期就要引導客戶使用和購買能夠支援深度學習框架的硬體
演算法開發過程中,一定要有量化的指標並記錄下來
開發的過程中,多分解問題
前端對接的時候一定要引導何為」智慧型」
初期要充分考慮效果優化所需要的時間和成本
客戶並不知道通過乙個什麼標準來評估乙個系統
一定要從資料的角度出發進行優化
學會止損
除了準確性的優化,還有注重**運算效率帶優化
演算法開發和效果優化常常是需要反覆進行的工作
如果客戶的系統算比較奇怪,或者難以滿足一些要求,要提前讓客戶知曉一些風險
即使再小的專案,強烈建議採用微服務架構進行部署
不要把演算法部署在本地,盡量採用雲端部署
注意cachemiss!!
注意:1. gpu與cpu的資料互動 2. gpu 視訊記憶體汙染(例如模型載入完畢,計算出錯,有些時候模型精度整個降低可能就發生了視訊記憶體汙染,視訊記憶體汙染難以監控)
gpu訓練注意事項
gpu訓練效率可以被deepspeed顯著提公升
很少出現gpu多程序訓練(多個使用者共用一塊gpu易造成視訊記憶體汙染)
gpu訓練有時可能會被一些其他因素影響,如cpu,gpu之間的溝通速度(多gpu或者多節點)
傳統來說,nlp的訓練一般不會耗盡nlp的資源,但是容易出現算力不足或者視訊記憶體資源不足的情況
gpu可處理動態網路
gpu部署的注意事項
gpu部署的最大問題:視訊記憶體汙染(盡量在一塊gpu上對應乙個server節點)
gpu部署經常被記憶體與視訊記憶體之間的頻寬影響
部署時需要對引數做詳細調整,最重要發的引數是 batch size
採用微服務架構(方便、穩定)
採用合適硬體,注意cpu選型和gpu選型
以profiler為導向進行優化
推斷服務應該用同乙個框架和乙個執行緒
部署應該是在專案初期就考慮的,要制定完善的專案計畫,並注意和客戶的溝通
讀取模型,提供rest介面
呼叫不同的硬體資源
對推斷過程做一定處理,其中最重要的是批處理
docker kubernetes istio
優點:入侵性小
穩定性高
功能強大
微服務部署ai的一些基本原則
對於推斷,乙個節點只部署乙個docker!!
如果缺少時間,至少部署kubernetes 和 docker, 因為docker容易崩
其他考慮:
docker, 因為docker容易崩
其他考慮:
專案實戰 專案流程 資料生成
整體專案的開發流程是 業務資料生成,在 mysql 資料庫中生成當天的資料 etl 資料匯入,通過 sqoop 對 mysql 當天日期的資料進行抽取,並存放到 hdfs 中 在 hive 中建立 ods 層,編寫指令碼,完成 hdfs 資料接入 在 hive 中建立 dwd 層,編寫指令碼,完成 ...
關於Deep learning和NLP實戰應用專案
自然語言處理 nlp 是電腦科學,人工智慧,語言學關注計算機和人類 自然 語言之間的相互作用的領域。本文作者為自然語言處理nlp初學者整理了乙份龐大的自然語言處理專案領域的概覽,包括了很多人工智慧應用程式。選取的參考文獻與資料都側重於最新的深度學習研究成果。這些自然語言處理專案資源能為想要深入鑽研乙...
關於Deep learning和NLP實戰應用專案
自然語言處理 nlp 是電腦科學,人工智慧,語言學關注計算機和人類 自然 語言之間的相互作用的領域。本文作者為自然語言處理nlp初學者整理了乙份龐大的自然語言處理專案領域的概覽,包括了很多人工智慧應用程式。選取的參考文獻與資料都側重於最新的深度學習研究成果。這些自然語言處理專案資源能為想要深入鑽研乙...