Tác giả: Dong Anh Nguyen – Senior Software Engineer at Google
Chào tất cả mọi người,
Bài này nói về những công việc cụ thể của 1 Machine Learning Engineer, bao gồm những công việc gì. Note: Opinions expressed are solely my own and do not express the views or opinions of my employer.
Để giới thiệu qua, mình hiện tại đang là ML Engineer ở Google, trong bộ phận Google Display Ads. Từ lúc join Google, mình đã launch đâu đó khoảng hơn 40+ models (actually lost count do nhiều projects mình collab với các bạn ở team khác), nhiều thể loại, cho nhiều products, và contribute khoảng ~$x billion ARR hàng năm cho công ty . Hiện tại, công việc chính của mình là làm thế nào để chất lượng Ads quality được cao nhất. Việc này rất quan trọng vì nó ảnh hưởng trực tiếp tới revenue của công ty. Công việc hiện tại này không chỉ dừng lại ở việc chỉ phát triển model và còn nhiều làm nhiều thứ optimization khác.
Không biết ở các công ty khác thì như thế nào, chứ công việc của mình bao gồm rất nhiều nhánh nhỏ, từ data engineering, data analytics, building models, quality analytics and optimization, serving infra, và ti tỉ các công việc khác để đảm bảo chất lượng của sản phẩm.
Data Engineering
Công việc này làm khá thường xuyên, đặc biệt là khi onboard 1 problem mới hoặc khi cần lấy data để giải quyết một vấn đề.
Một Machine Learning Engineer cần phải biết cách xây dựng các data pipeline để aggregate data large scale từ nhiều nguồn để phục vụ cho các công việc liên quan, ví dụ để làm data analytics, tìm kiếm insights cho 1 problem, feature engineering, build data pipeline và inference pipeline cho model, etc.
Vì data ở các công ty là cỡ lớn (TB hoặc PB of data), nên các kiến thức cần phải biết liên quan tới distributed system, large scale data analytics để design flow của data pipeline cho hợp lý (aka phải xử lý được nhanh và chính xác).
Data Analytics
Công việc này mình làm gần như hàng ngày, bao gồm tìm insights từ data, insights cho problem, làm analysis để kiểm tra quality của product, làm analysis để đi tìm insights on what to do next, etc. Đa phần kiến thức được sử dụng là SQL, viết rất nhiều SQL, data analytic tool (aka google spreadsheet ) và cần intuition để hiểu được kết quả ra có chính xác hay không.
Modeling
Công việc chính của ML Engineer thì tất nhiên phải đi xây dựng model. Model ở các công ty big tech giờ chắc chuyển hết sang Deep learning models rồi. Hiện tại mấy công ty tech giờ còn có arm race về LLM nên chắc sắp tới số lượng projects và LLM models cũng xuất hiện nhiều hơn.
Sẽ có một vài nhánh chính liên quan tới modeling, ví dụ 1) xây dựng model để update cho các model cũ để tăng chất lượng hoặc simplify model để model nhẹ hơn, inference nhanh hơn, etc.; 2) làm feature engineering để optimize model performance; 3) xây dựng model cho bài toán/product mới; 4) xây dựng model mới, completely different approach cho bài toán/product cũ.
Thường nếu làm (1) hoặc (2) team sẽ có một vài existing models để mình optimize nó. Còn nếu làm bài toán (3,4), cái mà mình hay tiếp cận, sẽ hơi khó hơn chút do có thể không có baseline để compare, hoặc baseline sử dụng của team khác làm cùng product, mà team đó data quality của họ tốt hơn nhiều với mình thì còn challenging hơn nữa. Thường model được chọn để build là những mô hình không quá phức tạp, vì phải cân đối giữa chất lượng dự đoán và độ lớn/tốc độ dự đoán của model, aka không ai muốn build 1 model take vài seconds để ra 1 prediction
Việc develop model này thực chất ko cần PhD degree. Trong team mình có khá nhiều bạn Master graduate, trong quá mình làm có hướng dẫn của các bạn senior hơn để develop & tuning model nên ko quá stressful. Sau một thời gian có kinh nghiệm build model thì các bạn ấy tự làm cũng được. Obviously vẫn cần nhiều discussion along the way.
Serving + Infra
Sau khi build model thì cần viết infra để serve model đấy. Ngoài ra cần build mấy cái dashboard để monitor được quality của model overtime, có bị distribution shift, alerts nếu cần thiết…
Tạm thời thế này thôi đã, any question mọi người cứ comment
Discover more from VIET CAREER GUIDE
Subscribe to get the latest posts sent to your email.