NLP實戰 專案流程

2021-10-04 09:11:55 字數 1630 閱讀 5545

硬體問題

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初學者整理了乙份龐大的自然語言處理專案領域的概覽,包括了很多人工智慧應用程式。選取的參考文獻與資料都側重於最新的深度學習研究成果。這些自然語言處理專案資源能為想要深入鑽研乙...