各位軟體業的先進大神們大家好:
一、前言與發文目的:
近期在檢討與找尋有關個人的職涯與工作狀態,
想持續朝著大數據與人工智慧相關的技術開發與導入工作邁進,
懇請版上各位大神鞭小力一點,給予我一些回饋。
二、背景介紹:
1. 學歷: 四大碩畢,目前27歲,大四開始走有關人工智慧相關技能。
2. 經歷: 今年年中滿三年,主要以數據與人工智慧產品開發經歷。
3. 想持續做人工智慧與數據產品化相關的工作,概念以AIOps或MLOps為基準。
三、目前技能樹經驗:
1. 程式語言: 主要都是以Python做為開發經驗,並且在Python上實作OOP,也嘗試使用MVC
2. ML/DL:
(1) ML相關: SVM、Scikit-learn、LightGBM、XGB等,有使用在專案或論文上。
(2) DL Framework: Keras、Tensorflow。
(3) CV專案: 使用OpenCV、Yolo-base model等到專案上,目前較長接觸。
(4) Text專案: 曾用BERT模型去做文章分類的專案,較少用。
(5) 模型服務: TF-serving、OpenVINO相關。
3. Database: 算熟悉的有PostgreSQL、SQLite、Cassandra等。
4. 開發環境: 主要windows、Linux環境都算熟悉,並且把服務與模型Docker化,
Dockerfile會自己寫,並且透過Docker-compose等方式去做設定。
5. web framework: 目前主要以fastapi為主,flask為輔去做API開發。
6. 前端: 因為公司有平台可以做一些前端呈現,因此會一點點HTML和Javascript語言
7. 雲端: 主要公司合作以Azure為主,曾經參加過AWS和GCP活動,有一些些概念。
8. DevOps相關:
(1) 版控: Git(Gitlab)、DVC。
(2) 測試: Pytest、Pytest-mock去做一些整合和單元測試。
(3) CI: 自己撰寫ci yaml檔案去做container scan、code quality、
單元測試、Pylint、建立模型和註冊模型。
(4) CD: 透過自己撰寫Ansible去deploy邏輯服務與模型服務。
(5) Monitor: 找到相關開源專案來部屬Node Exporter, CAdvisor,
讓後面DevOps組可以協助接到Grafana上。
9. 文化: 利用Scrum和Kanban,來管理我的工作模式。
四、對於人工智慧專案與產品化的過程中,我依專案順序實作過以下經歷;
(1) 資料收集與標籤: 因為部分專案無提供資料,因此需從收集資料與標籤開始,
自己撰寫相關資料收集工具,並且在開源平台上找到相關標籤平台,
並且提供給User做標籤。
(2) 資料分析: 透過python相關套件和繪圖工具,去做資料分析與呈現。
(3) 資料處裡: 透過python撰寫去做ETL處理。
(4) 模型訓練: 雖說我知道MLFlow,但團隊沒有實際去做,所以就也還沒使用,
知道其相關概念,目前主要還是透過jupyter或VScode,
直接撰寫完後,放到公司或雲端的GPU server上面做訓練。
(5) 模型、資料與程式碼版控:
(A) 模型版控: 利用自己開發的工具,將模型存放到第三方服務,
然後在透過git去做管控。
(B) 資料版控: 透過DVC和git,去做資料版控。
(C) 訓練與服務程式碼版控: 透過git做版控。
(6) 模型部屬: 透過gitlab 和CI/CD 工具去做服務與模型部屬工作。
(7) 維護: 透過grafana和telegram bot做提醒和維護,如有任何問題會去做修正。
五、目前計畫:
1. 目前在這個公司已經發展到一定程度,想透過其他方法來去更深化和優化這些技能。
2. MLOps相關的能力還在持續補充中,也會持續利用閒暇時間參與開源會議或研討會等。
六、問題詢問:
其實技能數點的很大一顆,但有前輩提點我,應該要更深化裡面的內容,來幫助自己
的專業度更提升,但MLOps要會的東西又很大一包,有時候也不知道這樣點對不對,
或者有甚麼建議可以往下一步邁進?
如果對於我的經歷和技能有些提點或建議,我真的需要一些幫忙,也歡迎推文或站內
信給我一些協助。