Categories
Dev's Corner

ML Engineer là gì? Giải đáp bí ẩn xung quanh ML Engineer

Bài viết này sẽ giúp bạn nắm vững những bước đầu tiên đi tới sự nghiệp đầy triển vọng trong lĩnh vực Machine Learning (Học máy). Hãy cùng tìm hiểu ML Engineer (Kỹ sư học máy) là gì, trách nhiệm công việc của họ và cách thành công trong vai trò này.

ML Engineer là những lập trình viên thành thạo về kỹ thuật, những người chuyên nghiên cứu, xây dựng và thiết kế phần mềm tự chạy để tự động hóa các mô hình dự đoán. Kỹ sư ML xây dựng các hệ thống trí tuệ nhân tạo (AI) tận dụng các tập dữ liệu khổng lồ để tạo và phát triển các thuật toán có khả năng học hỏi và cuối cùng là đưa ra dự đoán.

Machine Learning Engineer. Ảnh: Sandiedo.edu
Machine Learning Engineer. Ảnh: Sandiedo.edu

Mỗi khi phần mềm thực hiện một thao tác, nó sẽ “học” từ những kết quả đó để thực hiện các thao tác trong tương lai chính xác hơn.

Thiết kế hệ thống học máy yêu cầu ML Engineer đánh giá, phân tích và tổ chức dữ liệu, thực hiện kiểm thử và tối ưu hóa quy trình học tập để giúp phát triển các mô hình học máy hiệu suất cao.


Dừng lại chút nào, nếu bạn đang #open_to_work, thử nghía qua các công việc đang tuyển trên Gamba nhé. Vào LINK NÀY để xem các job cần đến kỹ năng Machine Learning hoặc scan QR Code ở bên dưới nhé.

Xem và ứng tuyển các job Machine Learning
Xem và ứng tuyển các job Machine Learning

ML Engineer làm gì?

Kỹ sư học máy là những lập trình viên có kỹ năng cao, những người phát triển hệ thống trí tuệ nhân tạo (AI) sử dụng các tập dữ liệu lớn để nghiên cứu, phát triển và tạo ra các thuật toán có thể học và đưa ra dự đoán.

Nhìn chung, vai trò này chịu trách nhiệm thiết kế các hệ thống học máy, liên quan đến việc đánh giá và tổ chức dữ liệu, thực hiện các bài kiểm thử, nói chung là giám sát và tối ưu hóa các quy trình học máy để giúp phát triển các hệ thống học máy hoạt động mạnh mẽ.

Nhiều mô tả công việc yêu cầu kiến ​​thức và kinh nghiệm về các ngôn ngữ lập trình như Python, Java và C / C ++.

Mô tả công việc của kỹ sư học máy

Mặc dù các nhiệm vụ cụ thể sẽ khác nhau tùy thuộc vào quy mô của một tổ chức và nhóm khoa học dữ liệu tổng thể, nhưng mô tả công việc của Kỹ sư học máy điển hình sẽ bao gồm tất cả hoặc hầu hết các trách nhiệm sau:

  • Thiết kế, phát triển và nghiên cứu các hệ thống, mô hình và chương trình Machine Learning
  • Nghiên cứu, biến đổi và chuyển đổi các nguyên mẫu khoa học dữ liệu
  • Tìm kiếm và chọn tập dữ liệu thích hợp trước khi thu thập dữ liệu và mô hình hóa dữ liệu
  • Thực hiện phân tích thống kê và sử dụng kết quả để cải thiện mô hình
  • Đào tạo và đào tạo lại các hệ thống và mô hình ML khi cần thiết
  • Xác định sự khác biệt trong phân phối dữ liệu có thể ảnh hưởng đến hiệu suất của mô hình trong các tình huống thực tế
  • Trực quan hóa dữ liệu để có thông tin chi tiết hơn
  • Phân tích các trường hợp sử dụng của thuật toán ML và xếp hạng chúng theo xác suất thành công
  • Hiểu khi nào những phát hiện của bạn có thể được áp dụng cho các quyết định kinh doanh
  • Làm phong phú thêm các frameworj và thư viện ML hiện có
  • Xác minh chất lượng dữ liệu và / hoặc đảm bảo nó thông qua làm sạch dữ liệu

Nền tảng của ML Engineer

Dù bạn sẽ thấy ML Engineer có thể bắt đầu ở bất kỳ ngành nào, nhưng hầu hết đều có kiến ​​thức nền tảng về khoa học máy tính, kỹ thuật, toán học hoặc khoa học dữ liệu.

Nền tảng của ML Engineer
Nền tảng của ML Engineer. Ảnh: 365 Data Science

Một nghiên cứu từ Indeed đã nhấn mạnh sự khác biệt về nền móng của Kỹ ML Engineer và các vai trò liên quan khác, như (Data Scientist) nhà khoa học dữ liệu, Software Engineer (Kỹ sư phần mềm), Data Analyst (nhà phân tích dữ liệu) và Data Engineer (Kỹ sư dữ liệu).

Các con số của Indeed cho thấy vai trò Data Scientist có lĩnh vực nghiên cứu đa dạng nhất trong số các chức danh công việc liên quan được xem xét, trong khi vai trò Software Engineer thu hút những người có nền tảng giáo dục ít đa dạng nhất.

Trong trường hợp của ML Engineer, hơn 60% đến từ khoa học máy tính hoặc kỹ thuật và họ có khả năng xuất thân từ những nền tảng này gần như gấp đôi so với Data Scientist.

Theo nền tảng chuyên môn của họ, nghiên cứu cho thấy rằng chức danh công việc trước đây của ML Engineer có nhiều khả năng nhất là “Kỹ sư phần mềm”.

Nhiều ML Engineer khác hoạt động về mặt học thuật trước khi chuyển sang sự nghiệp machine learning.

Nhưng điều quan trọng cần nhớ là khoa học dữ liệu và học máy vẫn còn ở giai đoạn sơ khai vì các lĩnh vực nghiên cứu và nhiều công ty trong lĩnh vực công nghệ và hơn thế nữa đang tìm cách xây dựng các nhóm khoa học dữ liệu của họ, các con đường mới để trở thành Kỹ sư học máy đang trở nên khả thi.

Mặc dù bạn cần một nền tảng vững chắc về toán học và khoa học máy tính, nhưng nhiều người đang học các kỹ năng và lĩnh vực kiến ​​thức khác cần thiết để trở thành Kỹ sư học máy – ví dụ: hiểu phương pháp học có giám sát và không giám sát, học sâu, hồi quy, phân loại, phương pháp phân nhóm, và mạng nơ-ron – bằng cách tham gia 1 khóa học cấp chứng chỉ, nhiều khóa học trong số đó có thể được hoàn thành trực tuyến.

Đặc điểm của một ML Engineer thành công

Mọi chuyên gia về Học máy xuất sắc dường như sẽ có một vài đặc điểm chung. Dưới đây là các đặc điểm của một Kỹ sư học máy thành công:

Phẩm chất của 1 ML Engineer thành công. Ảnh: FactoryPal
Phẩm chất của 1 ML Engineer thành công. Ảnh: FactoryPal

Họ là những lập trình viên vững tay nghề

Nếu bạn đang muốn theo đuổi sự nghiệp trong lĩnh vực AI và máy học, bạn sẽ cần học cách lập trình. Một lập trình viên nên hiểu các ngôn ngữ được sử dụng thường xuyên bao gồm C ++, Java và Python và nó không dừng lại ở đó.

Các ngôn ngữ như R, Lisp và Prolog cũng đã trở thành những ngôn ngữ quan trọng cho việc học máy. Tuy nhiên, không phải tất cả các kỹ sư học máy thành công đều cần phải là chuyên gia về HTML hoặc JavaScript.

Họ có nền tảng vững chắc về Toán và Thống kê

Bạn không thể thành thạo machine learning nếu không biết chút nào về toán học. Cho dù bạn có nền tảng chính thức về toán học và thống kê hay không, bạn sẽ cần phải có năng lực toán học ít nhất ở cấp trung học phổ thông để theo kịp.

Trọng tâm của nhiều thuật toán học máy là một đặc tính chính thức của xác suất và các kỹ thuật bắt nguồn từ nó. Liên quan chặt chẽ đến vấn đề này là lĩnh vực thống kê, cái cung cấp các thước đo, phân phối và phương pháp phân tích khác nhau cần thiết để xây dựng và xác nhận các mô hình từ dữ liệu quan sát.

Về cơ bản, nhiều thuật toán machine learning là phần mở rộng của các bước lập mô hình thống kê.

Họ là những người giải quyết vấn đề sáng tạo

Các kỹ sư ML giỏi nhất được thúc đẩy bởi sự tò mò. Họ không phản ứng bằng sự thất vọng khi một mô hình hoặc thử nghiệm không thành công, mà thay vào đó, họ tò mò muốn tìm hiểu lý do.

Nhưng họ cũng giải quyết vấn đề một cách hiệu quả.

Các chuyên gia học máy giỏi nhất phát triển các phương pháp tiếp cận tổng quát để sửa lỗi và phân nhóm sai lạc (misclassification) trong các mô hình học máy của họ vì việc sửa các lỗi riêng lẻ sẽ tốn thời gian đồng thời làm cho các mô hình của bạn khó làm việc hơn và phức tạp hơn.

Điều quan trọng nữa là phải cân bằng giữa quyết tâm giải quyết vấn đề với hiểu biết thực tế rằng rất nhiều mô hình và thử nghiệm của bạn sẽ thất bại. Các ML Engineer giỏi nhất phát triển khả năng hiểu được thời điểm cần rời bỏ.

Họ yêu thích quy trình lặp đi lặp lại

Học máy về bản chất là một quá trình lặp đi lặp lại. Để đạt được hiệu quả trong vai trò này, một người cần thực sự tận hưởng phong cách phát triển đó.

Xây dựng một hệ thống học máy có nghĩa là người ta xây dựng một mô hình rất đơn giản một cách nhanh chóng, để bắt đầu, sau đó lặp lại để cải thiện nó theo từng giai đoạn.

Tuy nhiên, một lần nữa, một ML Engineer giỏi không thể quá cứng đầu. Bạn cần hiểu rõ khi nào cần dừng lại.

Luôn có thể cải thiện độ chính xác của bất kỳ hệ thống học máy nào bằng cách tiếp tục lặp lại hệ thống đó, nhưng người ta cần học cách phát triển trực giác khi nó không còn xứng đáng với thời gian và công sức.

Họ có trực giác mạnh mẽ về dữ liệu

Không có machine learning nào mà không phân tích dữ liệu. Một ML Engineer hoặc Data Scientist giỏi cần có khả năng nhanh chóng sàng lọc các tập dữ liệu lớn, xác định các mẫu và biết cách sử dụng dữ liệu đó để đưa ra các kết luận có ý nghĩa và có thể hành động được.

Gần giống như họ có giác quan thứ sáu đối với dữ liệu. Kỹ năng quản lý dữ liệu là rất quan trọng.

Chúng cũng nên hữu ích trong việc xây dựng các đường ống dữ liệu lớn (data pipeline).

Và người ta cũng cần hiểu sức mạnh của trực quan hoá. Để đảm bảo những thông tin đắt giá bạn khai thác được người khác hiểu và đánh giá đúng, bạn phải có sẵn các công cụ trực quan hóa dữ liệu như Excel, Tableau, Power BI, Plotly và Dash.

Những công việc tương tự với ML Engineer

Những công việc tương tự ML Engineer
Những công việc tương tự ML Engineer

Trong lĩnh vực rộng lớn hơn của khoa học dữ liệu (data science), có nhiều chuyên gia dữ liệu thực hiện các vai trò tương tự như ML Engineer. Dưới đây là một số vị trí có thể là một phần trong con đường sự nghiệp của một chuyên gia ML.

Data Scientist (Nhà khoa học dữ liệu)

Vai trò của Nhà khoa học dữ liệu nằm ở mối liên hệ giữa công nghệ và kinh doanh. Nhà khoa học dữ liệu phải hiểu những thách thức mà các công ty đang phải đối mặt và sau đó sử dụng phân tích dữ liệu và xử lý dữ liệu để tìm ra các giải pháp và cơ hội. 

Công việc của một Nhà khoa học dữ liệu là tìm ra những thông tin chi tiết hữu ích có thể hành động được ẩn trong dữ liệu phi cấu trúc và sử dụng dữ liệu đó để thực hiện các phân tích dự đoán. 

Các xu hướng và kiểu mẫu mà nhà khoa học dữ liệu nhận thấy giúp các công ty đưa ra quyết định dựa trên dữ liệu và cuối cùng là tăng doanh thu. Nhà khoa học dữ liệu cũng được kỳ vọng trình bày những phát hiện của họ bằng những hình ảnh trực quan bắt mắt.

Data Analyst (Nhà phân tích dữ liệu)

Các nhà phân tích dữ liệu quan tâm đến việc trực quan hóa, tổng hợp và xử lý dữ liệu.

Một trong những trách nhiệm hoặc kỹ năng quan trọng nhất của Nhà phân tích dữ liệu là tối ưu hóa, là nơi họ tạo và sửa đổi các thuật toán có thể được sử dụng để thu thập thông tin mà không làm hỏng dữ liệu.

Data Engineer (Kỹ sư dữ liệu)

Kỹ sư dữ liệu xây dựng và thử nghiệm hệ sinh thái dữ liệu lớn có thể mở rộng để các Nhà khoa học dữ liệu có hệ thống dữ liệu ổn định và được tối ưu để chạy các thuật toán của họ. 

Công việc của Kỹ sư dữ liệu cũng là cập nhật các hệ thống hiện có với các phiên bản nâng cấp của công nghệ hiện tại. 

Kỹ thuật dữ liệu cũng thường liên quan đến việc xây dựng các thuật toán để giúp các công ty hoặc khách hàng truy cập dễ dàng hơn vào dữ liệu thô.

AI Engineer (Kỹ sư trí tuệ nhân tạo)

Kỹ sư AI làm việc với các kỹ thuật máy học truyền thống như xử lý ngôn ngữ tự nhiên (NLP) và mạng nơ-ron để xây dựng các mô hình có tác dụng hỗ trợ cho các ứng dụng AI.

Computer Scientist (Nhà khoa học máy tính)

Các nhà Khoa học Máy tính chủ yếu giải quyết phần mềm và hệ thống phần mềm, bao gồm lý thuyết, thiết kế, phát triển và ứng dụng của chúng.

Software Engineer / Software Developer (Kỹ sư phần mềm)

Kỹ thuật phần mềm là sử dụng phân tích toán học và các nguyên tắc khoa học máy tính để thiết kế và phát triển phần mềm máy tính. 

Kỹ sư phần mềm phát triển tất cả các loại phần mềm, bao gồm hệ điều hành, trò chơi máy tính, ứng dụng và hệ thống điều khiển mạng.

Hàng ngày, tùy thuộc vào giai đoạn phát triển phần mềm, Nhà phát triển phần mềm sẽ đảm bảo các chương trình đang hoạt động chạy trơn tru, cập nhật, sửa lỗi và tạo chương trình mới. 

Kỹ thuật phần mềm trải dài trên nhiều loại công nghệ, từ thiết bị nhà thông minh đến trợ lý ảo.

ML Engineer làm việc với ai?

Tùy vào quy mô của một tổ chức, ML Engineer rất có thể sẽ làm việc như một thành viên của nhóm khoa học dữ liệu lớn hơn.

Nhóm đó có thể bao gồm Data Scientist, Data Analyst, Data Engineer, Data Architect (Kiến trúc sư dữ liệu) và Quản trị viên cơ sở dữ liệu (Database Administrator). 

Ngoài nhóm dữ liệu của riêng họ, ML Engineer có thể hợp tác với nhiều bên liên quan khác nhau với các kỹ năng khác nhau trong toàn bộ tổ chức, bao gồm tất cả mọi người từ lãnh đạo doanh nghiệp cấp cao đến nhóm tiếp thị, bán hàng, CNTT, phát triển phần mềm hoặc phát triển web, tùy thuộc vào mức độ thâm niên.

Những lý do để trở thành kỹ sư học máy

Nếu bạn tò mò về sự nghiệp trong lĩnh vực dữ liệu hoặc AI, thì đây là một số lý do hàng đầu để trở thành Kỹ sư học máy.

Có tiềm năng thu nhập cao

Indeed đã xếp hạng ML Engineer là công việc số 1 của năm 2019 vì lý do chính đáng: họ kiếm được mức lương trung bình là 148.485 USD.

Các con số của Indeed cũng cho thấy rằng một ML Engineer có thể kiếm được tới 200.000 USD tại một trong những thị trường lớn hơn của Mỹ.

Các ML Engineer ở San Francisco đã báo cáo mức lương trung bình chỉ ở phía nam là 200.000 USD trong khi ở New York, họ chỉ mang về nhà dưới 170.000 USD.

Nhu cầu về kỹ năng ML Engineering đang cao

Rất nhiều công ty đang quan tâm nhiều đến dữ liệu lớn và do đó, nhu cầu về các chuyên gia dữ liệu trên thị trường việc làm cao hơn bao giờ hết.

Thậm chí, đã có những báo cáo về cuộc đấu thầu tranh giành tài năng AI khi những gã khổng lồ trong lĩnh vực công nghệ gấp rút giành lấy những bộ óc hàng đầu trong ngành.

Một báo cáo gần đây của Robert Half về tương lai của công việc (the future of work) tiết lộ rằng 30% các nhà quản lý ở Mỹ được khảo sát cho biết công ty của họ hiện đang sử dụng AI và ML, và 53% dự kiến ​​sẽ áp dụng những công cụ đó trong vòng 3-5 năm tới.

Nói cách khác, không có dấu hiệu nào cho thấy thị trường việc làm màu mỡ này sẽ sớm biến mất.

Cơ hội học hỏi liên tục

Machine Learning là một lĩnh vực tương đối mới. Vẫn còn rất nhiều giải pháp, công cụ, thuật toán và ứng dụng đang chờ được tạo ra và khám phá.

Tương tự như Software Engineer, Kỹ sư ML về bản chất phải coi trọng việc học. Và việc sử dụng các khóa học, blog, hướng dẫn và podcast để luôn dẫn đầu trong một lĩnh vực non trẻ và đang thay đổi nhanh chóng là điều cần thiết.

Trên thực tế, Khảo sát Digital Skills năm 2020 của BrainStation cho thấy 61% chuyên gia dữ liệu tham gia các khóa học trực tiếp và 60% khác tập trung vào các hội thảo. Rõ ràng, giáo dục thường xuyên rõ ràng là một bộ phận cố định của lĩnh vực này.

Họ sống trên đỉnh cao công nghệ

Bạn có phải là một trong những người chỉ đơn giản là bị mê hoặc bởi công nghệ, cực kỳ phấn khích khi đọc về về những tiến bộ mới nhất trong AI hoặc các ứng dụng máy tính?

Ở vị trí này, bạn sẽ có cơ hội tạo ra sự thay đổi thực sự bằng cách làm việc trên các công nghệ mới nhất và sáng tạo nhất. Nếu bạn thích logic và lập trình, bạn sẽ thích học các ngôn ngữ lập trình mới cho các ứng dụng tiên tiến.

Đây cũng là một sự nghiệp tuyệt vời cho những ai thích tìm kiếm các ứng dụng thực tế cho toán học. Là một Kỹ sư Máy học, bạn có khả năng sử dụng đại số tuyến tính, giải tích, xác suất thống kê trong công việc hàng ngày của mình.

Machine Learning mang lại sự đa dạng

Nếu bạn thuộc tuýp người cảm thấy nhàm chán, thì sự nghiệp Machine learning sẽ có rất nhiều sự đa dạng. 

Hầu như bất kỳ ngành nào bạn có thể nghĩ đến sẽ được hưởng lợi từ việc đầu tư nhiều tiền hơn, thời gian và tài nguyên vào việc khai thác thông tin chi tiết từ dữ liệu, vì vậy bạn có thể chọn làm việc trong bất kỳ ngành nào mà bạn quan tâm.

Bạn cũng có cơ hội để thực sự tạo ra sự khác biệt. Bạn có thể tham gia một đội ngũ tạo ra bước đột phá lớn tiếp theo trong lĩnh vực chăm sóc sức khỏe, an ninh mạng, tiếp thị hoặc ô tô tự hành. Đó là một triển vọng thú vị đối với nhiều người.

Các kỹ năng trong Machine Learning

Để thành công với tư cách ML Engineer, bạn phải kết hợp kiến ​​thức và bộ kỹ năng của Kỹ sư phần mềm và Nhà khoa học dữ liệu. Điều đó có nghĩa là hiểu tất cả các khái niệm cơ bản của khoa học máy tính và phân tích dữ liệu, đồng thời sở hữu một số kỹ năng mềm cần thiết cho cả hai ngành.

Các kỹ năng trong Machine learning. Ảnh: Charlie You
Các kỹ năng trong Machine learning. Ảnh: Charlie You

Kỹ năng dữ liệu

Một Kỹ sư học máy được kỳ vọng sẽ có nhiều năng lực giống như Nhà khoa học dữ liệu, bao gồm mô hình hóa dữ liệu, trình độ kỹ thuật với các ngôn ngữ lập trình như Python và Java và hiểu cách đánh giá các thuật toán và mô hình dự đoán. Hiểu biết về xác suất và thống kê cũng sẽ rất hữu ích.

Kỹ năng kỹ thuật phần mềm

Một số khái niệm khoa học máy tính quan trọng đối với Kỹ sư ML là thuật toán (và biết cách viết thuật toán có thể sắp xếp, tối ưu hóa và tìm kiếm), hiểu cấu trúc dữ liệu và có kiến ​​thức về kiến ​​trúc máy tính. 

Vì đầu ra điển hình của Kỹ sư ML là phần mềm, họ cũng phải hiểu cách tuân theo các phương pháp tốt nhất về kỹ thuật phần mềm, đặc biệt là các phương pháp liên quan đến thiết kế hệ thống, kiểm soát phiên bản, kiểm thử và phân tích yêu cầu.

Kỹ năng học máy

Mặc dù một Kỹ sư học máy thường được cho là ngồi ở điểm giao giữa khoa học dữ liệu và kỹ thuật phần mềm, nhưng vẫn có một số năng lực đặc biệt quan trọng đối với các công việc ML.

Nhiều Kỹ sư học máy hiện đang được đào tạo về học sâu (deep learning), kiến ​​trúc mạng nơ-ron, xử lý ngôn ngữ tự nhiên (NLP) và lập trình động.

Kỹ năng mềm cho ML Engineer

Mặc dù machine learning là một chức danh kỹ thuật nhưng các kỹ năng mềm cũng rất quan trọng. Ngay cả khi bạn sở hữu kiến ​​thức hàng đầu về máy học, bạn cũng sẽ yêu cầu các kỹ năng trau chuốt trong giao tiếp, quản lý thời gian và làm việc nhóm.

Điều quan trọng nữa là Kỹ sư học máy phải cam kết học tập suốt đời. Do các lĩnh vực trí tuệ nhân tạo, học sâu, học máy và khoa học dữ liệu đang thay đổi nhanh chóng như thế nào, giáo dục thường xuyên là cần thiết cho bất kỳ chuyên gia nào muốn đi đầu.

Công cụ trong Machine learning

ML Engineer không chỉ phải có kiến ​​thức về cách viết mã và phát triển bằng các ngôn ngữ lập trình như Python, Java và C ++, nhiều kỹ sư học máy cũng thấy hữu ích khi sử dụng thành thạo các công cụ và tài nguyên sau:

  • TensorFlow
  • Spark và Hadoop
  • R Programming
  • Apache Kafka
  • MATLAB
  • Google Cloud ML Engine
  • Amazon Machine Learning

Tham khảo: BrainStation

Categories
Dev's Corner

Data Engineer là gì? Mọi thứ bạn cần biết về kỹ sư dữ liệu

Chúng ta rất dễ bỏ qua lượng dữ liệu được tạo ra hàng ngày – từ điện thoại thông minh, cuộc gọi Zoom cho đến máy rửa bát có kết nối Wi-Fi.

Người ta ước tính rằng thế giới sẽ tạo và lưu trữ 200 Zettabyte dữ liệu vào năm 2025. Mặc dù việc lưu trữ lượng dữ liệu này là một thách thức, nhưng việc rút lấy giá trị từ đó còn phức tạp hơn.

Từ năm 2020 đến năm 2022, tổng khối lượng dữ liệu doanh nghiệp sẽ tăng từ 1 lên 2,02 petabyte (PB). Tăng trung bình hàng năm 42,2% trong hai năm.

Có thể bạn đã quen với thuật ngữ “Dữ liệu lớn” (big data) – và quy mô của thị trường này đang tiếp tục tăng lên.

Thị trường phân tích big data dự kiến ​​đạt 103 tỷ đô vào năm 2023, với chất lượng dữ liệu kém khiến nền kinh tế Mỹ thiệt hại lên tới 3,1 nghìn tỷ đô la mỗi năm.

Các công ty trong danh sách Fortune 1000 có thể kiếm thêm thu nhập ròng hơn 65 triệu đô, chỉ bằng cách tăng khả năng truy cập dữ liệu của họ lên 10%.

Điều này nghĩa là điều quan trọng trong kinh doanh là các công ty có thể thu được giá trị từ dữ liệu của họ nhằm cung cấp thông tin tốt hơn cho các quyết định kinh doanh, bảo vệ doanh nghiệp và khách hàng cũng như phát triển doanh nghiệp.

Để làm được điều này, doanh nghiệp phải tuyển những người có bộ kỹ năng cụ thể phù hợp với chiến lược và quản trị dữ liệu, chẳng hạn như data engineer, data scientistML engineer.

Bài viết này sẽ trình bày tất cả những điều cơ bản về data engineer bao gồm các vai trò, chức năng và trách nhiệm chung.

Bạn cũng sẽ hiểu rõ hơn về tầm quan trọng của data engineer và tìm hiểu cách bắt đầu thu được nhiều giá trị hơn từ dữ liệu của mình.


Dừng lại chút nào, nếu bạn đang #open_to_work, thử nghía qua các công việc đang tuyển trên Gamba nhé. Vào LINK NÀY để xem các job Data hoặc scan QR Code ở bên dưới nhé.

Xem và ứng tuyển các 'data' job
Xem và ứng tuyển các ‘data’ job

Data Engineering là gì?

Khi nói đến việc tăng thêm giá trị cho dữ liệu, có nhiều điều bạn phải tính đến – cả bên trong và bên ngoài công ty.

Công ty của bạn có thể tạo dữ liệu từ các hệ thống hoặc sản phẩm nội bộ, tích hợp với các ứng dụng và nhà cung cấp bên thứ ba, đồng thời phải cung cấp dữ liệu ở định dạng cụ thể cho những người dùng (nội bộ và bên ngoài) và các trường hợp sử dụng khác nhau.

Dữ liệu được tạo và thu thập từ doanh nghiệp của bạn có thể có các yêu cầu tuân thủ như SOC2 hoặc Thông tin nhận dạng cá nhân (PII) mà bạn bắt buộc phải bảo vệ về mặt pháp lý.

Trong trường hợp này, bảo mật trở thành ưu tiên hàng đầu đối với dữ liệu, điều này dẫn đến những thách thức kỹ thuật đối với dữ liệu đang chuyển và ở trạng thái nghỉ. 

Dữ liệu của bạn không chỉ phải an toàn mà còn phải có sẵn cho người dùng cuối, tuân thủ các yêu cầu kinh doanh và có tính toàn vẹn (tính chính xác và nhất quán).

Nếu dữ liệu được bảo mật nhưng không sử dụng được, nó không thể tăng thêm giá trị cho công ty. Có nhiều khía cạnh đối với một chiến lược quản trị dữ liệu đòi hỏi các kỹ năng chuyên biệt.

Đây là lúc data engineer (kỹ sư dữ liệu) phát huy tác dụng.

Vai trò của Data Engineer

Một kỹ sư dữ liệu giống như một con dao đa năng Thụy Sĩ trong không gian dữ liệu. Data Engineer có nhiều vai trò và trách nhiệm, thường phản ánh một hoặc nhiều phần quan trọng của data engineering, đã đề cập bên trên.

Vai trò của một kỹ sư dữ liệu sẽ thay đổi tùy thuộc vào nhu cầu cụ thể của tổ chức của bạn.

Vai trò của một kỹ sư dữ liệu là lưu trữ, trích xuất, chuyển đổi, tải, tổng hợp và xác thực dữ liệu. Điều này bao gồm:

  • Xây dựng quy trình dữ liệu (data pipeline và lưu trữ dữ liệu hiệu quả cho các công cụ cần truy vấn dữ liệu.
  • Phân tích dữ liệu, đảm bảo dữ liệu tuân thủ các quy tắc và quy định quản trị dữ liệu.
  • Hiểu ưu và nhược điểm của các phương án lưu trữ và truy vấn dữ liệu.

Ví dụ: một doanh nghiệp có thể đang sử dụng Amazon Web Services (AWS) làm nhà cung cấp dịch vụ đám mây và bạn muốn lưu trữ và truy vấn dữ liệu từ các hệ thống khác nhau.

Phương án tốt nhất sẽ khác nhau tùy thuộc vào việc dữ liệu của bạn có cấu trúc hay không có cấu trúc (hoặc thậm chí bán cấu trúc), chuẩn hóa hay không chuẩn hóa và liệu bạn cần dữ liệu ở định dạng dữ liệu hàng hay cột.

Dữ liệu của bạn có quan trọng / dựa trên giá trị không? Có các mối quan hệ phức tạp giữa các dữ liệu không? Dữ liệu có cần được xử lý hoặc kết hợp với các tập dữ liệu khác không?

Tất cả những quyết định này ảnh hưởng đến cách một data engineer nhập, xử lý, quản lý và lưu trữ dữ liệu.

Data Team gồm những ai? Ảnh: phData
Data Team gồm những ai? Ảnh: phData

Cách data engineer gia tăng giá trị

Thay vì mô tả trừu tượng, đây là kịch bản: CEO muốn biết doanh nghiệp của bạn có thể tiết kiệm được bao nhiêu tiền bằng cách mua hàng loạt nguyên vật liệu và phân phối chúng đến các địa điểm khác nhau.

Bạn cần có khả năng xác định cách tính phí lại bất kỳ vật liệu không sử dụng nào cho các đơn vị kinh doanh khác nhau.

Điều này có thể cần bạn tổng hợp dữ liệu từ hệ thống ERP, hệ thống chuỗi cung ứng, các nhà cung cấp bên thứ ba và dữ liệu xung quanh cấu trúc doanh nghiệp nội bộ.

Trước đây, một số công ty có thể đã cố gắng tạo báo cáo này trong Excel, nhờ nhiều nhà phân tích kinh doanh và kỹ sư đóng góp vào việc khai thác và thao tác dữ liệu.

Kỹ sư dữ liệu cho phép một tổ chức thu thập dữ liệu một cách hiệu suất và hiệu quả từ nhiều nguồn khác nhau, nói chung là lưu dữ liệu đó vào một hồ dữ liệu (data lake) hoặc thành một số chủ đề Kafka.

Khi dữ liệu đã được thu thập từ mỗi hệ thống, data engineer có thể xác định cách kết hợp tối ưu các bộ dữ liệu.

Với điều đó, các kỹ sư dữ liệu có thể xây dựng các quy trình dữ liệu cho phép dữ liệu chảy ra khỏi hệ thống nguồn.

Kết quả của quy trình dữ liệu này sau đó được lưu ở một vị trí riêng biệt – thường ở định dạng mà các công cụ thông minh kinh doanh khác nhau có thể truy vấn.

Các kỹ sư dữ liệu cũng chịu trách nhiệm đảm bảo rằng các quy trình dữ liệu này có đầu vào và đầu ra chính xác. Điều này thường liên quan đến việc đối chiếu dữ liệu hoặc các quy trình dữ liệu bổ sung để xác nhận đối với các hệ thống nguồn.

Các kỹ sư dữ liệu cũng phải đảm bảo rằng các quy trình dữ liệu lưu chuyển liên tục và thông tin luôn được cập nhật, sử dụng các công cụ giám sát và thực hành SRE (Site Reliability Engineering – kỹ thuật quản lý độ tin cậy) khác nhau.

Nói một cách dễ hiểu, data engineer gia tăng giá trị khi họ tự động hóa và tối ưu hóa các hệ thống phức tạp, biến dữ liệu thành một tài sản kinh doanh có thể truy cập và sử dụng được.

ELT và ETL

Quy trình dữ liệu có nhiều loại khác nhau và vai trò của data engineer là biết nên sử dụng chiến lược nào và tại sao.

Hai chiến lược phổ biến nhất xoay quanh các khái niệm trích xuất, tải và chuyển đổi (ELT) dữ liệu. Trước tiên, dữ liệu luôn phải được trích xuất theo cách nào đó từ một nguồn dữ liệu, nhưng những gì sẽ xảy ra tiếp theo không đơn giản như vậy.

ELT thường thấy trong các kiến ​​trúc hồ dữ liệu hoặc hệ thống cần dữ liệu trích xuất thô từ nhiều nguồn. Điều này cho phép các quy trình và hệ thống khác nhau xử lý dữ liệu từ cùng trích xuất.

Nếu bạn kết hợp dữ liệu từ nhiều hệ thống và nguồn khác nhau, sẽ có lợi khi đồng định vị dữ liệu đó và lưu trữ ở một nơi trước khi thực hiện chuyển đổi sang dữ liệu.

MẸO CHUYÊN NGHIỆP: Nói chung, luồng công việc loại ELT chính là một quy trình ELT-L, nơi dữ liệu đã chuyển đổi sau đó được tải vào một vị trí khác để tiêu thụ như Snowflake, AWS Redshift hoặc Hadoop.

Ngược lại, quy trình ETL (trích xuất, chuyển đổi, tải) đặt việc tính toán nặng khi chuyển đổi trước khi tải kết quả vào tệp hệ thống, cơ sở dữ liệu hoặc kho dữ liệu.

Kiểu cách này thường không hiệu quả so với quy trình ELT, vì dữ liệu cho mỗi lô hoặc luồng thường được yêu cầu từ các hệ thống phụ thuộc hoặc liên quan.

Điều này nghĩa là trên mỗi lần thực thi, bạn sẽ phải truy vấn lại dữ liệu từ các hệ thống cần thiết, thêm tải cho các hệ thống đó và thêm thời gian chờ dữ liệu có sẵn.

Tuy nhiên, trong trường hợp các chuyển đổi đơn giản được áp dụng cho một nguồn dữ liệu duy nhất, ETL có thể thích hợp hơn vì nó làm giảm độ phức tạp của hệ thống, nhưng có khả năng phải trả giá bằng khả năng trao quyền dữ liệu (data enablement)

Khuyến nghị chung là sử dụng các quy trình ELT khi có thể để tăng hiệu suất, tính khả dụng và khả năng trao quyền của dữ liệu.

Hiệu suất

Việc có dữ liệu chính xác và sẵn có cho data engineer không đơn giản. Dữ liệu cũng phải hiệu quả.

Khi xử lý gigabyte, terabyte hoặc thậm chí petabyte dữ liệu, các quy trình và kiểm tra phải được thực hiện để đảm bảo dữ liệu đáp ứng các thỏa thuận mức dịch vụ (SLA) và gia tăng giá trị cho doanh nghiệp nhanh nhất có thể.

Điều quan trọng nữa là xác định ý nghĩa của hiệu suất đối với dữ liệu của bạn.

Các data engineer cần tính đến tần suất họ nhận được dữ liệu mới, thời gian chạy quá trình chuyển đổi và mất bao lâu để cập nhật điểm đến đích của dữ liệu.

Các đơn vị kinh doanh thường muốn thông tin cập nhật càng sớm càng tốt, đồng thời có những điểm dừng và chuyển động trong hành trình của dữ liệu mà các data engineer phải tính đến.

Ví dụ:

Hãy tưởng tượng nếu công ty của bạn là một hãng hàng không và bạn muốn cung cấp giá cho khách hàng dựa trên đầu vào từ nhiều hệ thống khác nhau để đưa ra mức giá cho khách hàng.

Nếu giá của bạn quá cao, khách hàng sẽ đặt vé với các hãng hàng không khác. Nếu giá của bạn quá thấp, tỷ suất lợi nhuận của bạn sẽ bị ảnh hưởng.

Đột nhiên, kênh đào Suez bị tắc nghẽn và các tàu vận tải vận chuyển dầu không thể đi ra khỏi Ả-rập Xê-út, làm gián đoạn chuỗi cung ứng toàn cầu và khiến giá dầu và khí đốt tăng cao.

Máy bay thương mại sử dụng rất nhiều nhiên liệu, lên tới gần 20 tỷ gallon mỗi năm. Điều này sẽ ảnh hưởng đáng kể đến chi phí vận hành doanh nghiệp của bạn và phải được phản ánh nhanh nhất có thể trong việc định giá của bạn.

Để điều này xảy ra, các kỹ sư dữ liệu phải thiết kế và triển khai các quy trình dữ liệu hiệu quả và hoạt động tốt.

Tích hợp liên tục và phân phối liên tục

Code không bao giờ là một giải pháp kiểu “lên và quên”. Các yêu cầu về quản trị dữ liệu, công cụ, thực hành tốt nhất, quy trình bảo mật và các yêu cầu kinh doanh luôn nhanh chóng thay đổi và thích ứng; môi trường sản xuất của bạn cũng phải như vậy.

Điều này có nghĩa là việc triển khai cần phải được tự động hóa và có thể xác minh được.

Các kiểu triển khai phần mềm cũ hơn thường dẫn đến việc chạy bản dựng, sao chép và dán kết quả vào máy chủ sản xuất của bạn và thực hiện “smoke test” thủ công để xem ứng dụng có hoạt động như mong đợi hay không.

Việc này không thể mở rộng và gây rủi ro cho doanh nghiệp của bạn.

Nếu bạn đang thử nghiệm trực tiếp trên môi trường sản xuất, bất kỳ lỗi hoặc vấn đề nào mà bạn có thể đã bỏ qua trong quá trình kiểm thử (hoặc bất kỳ ảnh hưởng nào của môi trường cụ thể lên mã của bạn), sẽ dẫn đến trải nghiệm khách hàng kém vì những lỗi hoặc lỗi này sẽ xảy ra với người dùng cuối.

Thực tiễn tốt nhất để đẩy code lên là thiết lập các quy trình tự động để xác minh code hoạt động như mong đợi trong các tình huống khác nhau.

Điều này thường được thực hiện với các bài kiểm thử đơn vị và kiểm thử tích hợp.

Các kiểm thử đơn vị xác minh rằng các đoạn mã riêng lẻ sẽ tạo ra các đầu ra mong đợi một cách độc lập với mã khác sử dụng đoạn mã đó.

Những điều này là để xác minh logic phức tạp trong từng đoạn mã, cũng như cung cấp bằng chứng rằng mã thực thi đúng như mong đợi.

Một cấp độ khác từ đó là kiểm tra tích hợp. Việc này đảm bảo rằng các đoạn mã hoạt động cùng nhau và tạo ra (các) đầu ra mong đợi cho một tập hợp các đầu vào nhất định.

Đây thường là lớp kiểm tra quan trọng hơn, vì nó đảm bảo rằng các hệ thống tích hợp với nhau như mong đợi.

Bằng cách kết hợp các bài kiểm thử đơn vị và kiểm thử tích hợp với các chiến lược triển khai hiện đại như triển khai xanh lam-xanh lá (blue – green deployment), xác suất tác động đến khách hàng và doanh nghiệp của bạn bằng mã mới sẽ giảm đáng kể.

Mọi thứ đều được xác thực dựa trên các bài kiểm thử đã thiết lập trước khi các thay đổi được đưa vào môi trường.

Phục hồi sau thảm họa

Nhiều doanh nghiệp tập trung vào việc cung cấp càng nhiều giá trị cho khách hàng càng nhanh càng tốt, nhưng điều quan trọng là đảm bảo rằng bạn có kế hoạch trong trường hợp hệ thống gặp sự cố.

Trong khi nhiều công ty phụ thuộc rất nhiều vào các nhà cung cấp đám mây để giảm thiểu thời gian ngừng hoạt động và đảm bảo SLA, thất bại chắc chắn sẽ xảy ra.

Điều này có nghĩa là các hệ thống phải được thiết kế để chịu được lỗi hệ thống nghiêm trọng.

Khôi phục sau thảm họa trong data engineering thường rơi vào chỉ số:

  • Mục tiêu thời gian khôi phục (RTO)
  • Mục tiêu điểm phục hồi (RPO)

Trong trường hợp xảy ra tình huống khôi phục thảm họa, các doanh nghiệp cần phải có các tiêu chuẩn để hiểu tác động đến khách hàng của họ và hệ thống của họ sẽ không hoạt động trong bao lâu.

Các kỹ sư dữ liệu chịu trách nhiệm đưa các quy trình vào đúng vị trí để đảm bảo rằng các quy trình dữ liệu, cơ sở dữ liệu và kho dữ liệu đáp ứng các chỉ số này.

Ví dụ:

Hãy tưởng tượng nếu công ty của bạn là một hãng hàng không và bạn cần cung cấp cho khách hàng khả năng đặt vé máy bay, nhưng đột nhiên, trung tâm dữ liệu của bạn phát nổ.

Doanh nghiệp của bạn đã thiết lập quy trình đồng bộ hóa dữ liệu để sao chép dữ liệu sang một trung tâm dữ liệu khác, nhưng quy trình đó đã bị gián đoạn và xảy ra mất mát dữ liệu.

Bạn cần thiết lập lại cơ sở dữ liệu chính trong bộ ứng dụng của mình từ cơ sở dữ liệu được sao chép.

RPO thể hiện lượng dữ liệu bị mất trong khoảng thời gian đó và RTO thể hiện thời gian khách hàng không thể đặt chuyến bay.

Các kỹ sư dữ liệu thường xuyên phải đánh giá, thiết kế và triển khai các hệ thống để giảm thiểu tác động đến khách hàng trong trường hợp hỏng hóc.

Data Governance là gì?

Một chiến lược quản trị dữ liệu (data governance) là điều cần thiết cho sự thành công của tổ chức và dữ liệu của nó.

Đây là một chủ đề rất phức tạp mà chúng tôi đã đề cập ở những nơi khác, nhưng ở cấp độ cao, quản trị dữ liệu được cấu trúc như sau:

Data Governance là gì? Ảnh: phData
Data Governance là gì? Ảnh: phData

Để dữ liệu của bạn cung cấp giá trị cho doanh nghiệp đồng thời giảm thiểu rủi ro và chi phí, bạn sẽ cần xác định và thực thi câu trả lời cho khá nhiều câu hỏi:

  • Ai có quyền truy cập vào dữ liệu của tôi?
  • Làm cách nào để kiểm tra và cung cấp quyền truy cập?
  • Dữ liệu được lưu trữ vật lý như thế nào trong một hệ thống và trên các hệ thống?
  • Công ty của tôi tuân theo các tiêu chuẩn và thông lệ mã hóa dữ liệu nào?
  • Làm cách nào để xác thực dữ liệu trong các báo cáo khác nhau đến từ đâu?
  • Làm cách nào để xác thực tính đúng đắn của một báo cáo mà tôi đang đưa ra quyết định kinh doanh quan trọng?
  • Làm cách nào để người dùng tìm thấy dữ liệu trong hệ thống của tôi?

Đây là những câu hỏi rất phức tạp thường có câu trả lời phức tạp và đòi hỏi kiến ​​thức từ các lĩnh vực kinh doanh và công nghệ khác nhau:

  • Doanh nghiệp của bạn cần xác định cách dữ liệu làm tăng giá trị cho tổ chức.
  • Nhân viên bảo mật của bạn cần xác định các tiêu chí để mã hóa và quản lý truy cập.
  • Các kỹ sư dữ liệu của bạn cần có khả năng liên kết dữ liệu với nhau và làm chủ các kho dữ liệu cho người dùng cuối.
  • Tất cả điều này cần được quản lý và thực thi bởi các thành viên đa chức năng trong tổ chức.

Data Governance khác với Data Engineering như thế nào?

Quản trị dữ liệu tập trung hơn vào quản trị dữ liệu và kỹ thuật dữ liệu tập trung vào thực thi dữ liệu.

Mặc dù kỹ sư dữ liệu là một phần của chiến lược quản trị dữ liệu tổng thể, nhưng quản trị dữ liệu bao gồm nhiều thứ hơn là thu thập và quản lý dữ liệu.

Khó mà nói một tổ chức có một thực tiễn quản trị dữ liệu hiệu quả nếu không có các kỹ sư dữ liệu thực hiện nó.

Ví dụ: hãy xem một số câu hỏi của chúng tôi ở trên, lưu ý các kỹ sư dữ liệu và cách họ hoàn thành từng nhiệm vụ.

Ai có quyền truy cập vào dữ liệu?

Trong thực tiễn quản trị dữ liệu, các quy tắc và quy định xác định ai nên có quyền truy cập vào các phần thông tin cụ thể trong tổ chức.

Nếu là công ty vận chuyển, bạn có thể cần tách biệt dữ liệu mà nhà cung cấp và khách hàng có thể xem tại bất kỳ thời điểm nào hoặc đảm bảo rằng các nhà cung cấp khác nhau không thể xem thông tin về các nhà cung cấp khác.

Điều này yêu cầu các ràng buộc về phân loại, gắn thẻ và truy cập dữ liệu.

Nếu bạn đang thu thập dữ liệu từ các hệ thống khác nhau, kỹ sư dữ liệu chịu trách nhiệm áp dụng các quy tắc phân loại và gắn thẻ khi thu thập.

Điều này có thể bao gồm việc thêm các điểm dữ liệu bổ sung vào dữ liệu đã thu thập hoặc lưu trữ dữ liệu riêng biệt trên đĩa. 

Sau đó, khi dữ liệu được tổng hợp hoặc chuyển đổi, kết quả cuối cùng phải bao gồm cùng thông tin này. Khi thiết lập các ràng buộc truy cập đối với dữ liệu, kỹ sư dữ liệu cũng phải thực thi các chính sách được yêu cầu.

Làm cách nào điều chỉnh và cung cấp quyền truy cập?

Để được coi là tuân thủ nhiều quy định bắt buộc của doanh nghiệp, bạn phải có khả năng theo dõi ai có quyền truy cập vào dữ liệu của bạn và những thay đổi đối với quyền truy cập đó.

Điều này cũng bao gồm việc thông báo cho người dùng dữ liệu về những thay đổi đối với dữ liệu.

Nếu bạn là người tiêu dùng của một tập hợp dữ liệu và nó thay đổi mà bạn không biết, hệ thống có thể bị hỏng. Điều này có nghĩa là việc có thể theo dõi ai và ai nên sử dụng dữ liệu là rất quan trọng.

Mặc dù các thực tiễn quản trị dữ liệu xác định những quy tắc đó nên là gì, nhưng trách nhiệm của các kỹ sư dữ liệu là đưa những quy tắc đó vào đúng vị trí.

Điều này có nghĩa là thiết lập các quy tắc IAM trong AWS hoặc Microsoft Azure để đảm bảo rằng một số vai trò nhất định chỉ có thể đọc dữ liệu từ các nguồn và hệ thống khác nhau.

Sau đó, nhóm bảo mật có trách nhiệm xác thực rằng người dùng chỉ có quyền truy cập vào các vai trò thích hợp.

Làm thế nào dữ liệu được lưu trữ vật lý trong một hệ thống và trên toàn hệ thống?

Kỹ sư dữ liệu chịu trách nhiệm lưu trữ dữ liệu được thu thập và chuyển đổi ở nhiều vị trí khác nhau tùy thuộc vào yêu cầu của doanh nghiệp.

Mỗi bộ công cụ và vị trí sẽ có các cách khác nhau để dữ liệu được lưu trữ và truy cập, và kỹ sư dữ liệu phải tính đến các giới hạn, lợi ích và trường hợp sử dụng cho từng vị trí và tập hợp dữ liệu.

Ví dụ:

Giả sử doanh nghiệp của bạn đang nhập một triệu bản ghi mỗi ngày cho một nguồn dữ liệu cụ thể.

Nếu bạn đang lưu trữ tệp này trên đĩa, bạn không thể chỉ thêm vào một tệp đơn lẻ, (Nó giống như mò kim đáy bể!)

Nếu bạn đang cố gắng tạo báo cáo hoặc cung cấp cho người dùng cuối một phần thông tin cụ thể, bạn sẽ không bao giờ có thể tìm thấy nó.

Các kỹ sư dữ liệu sẽ:

  • Biết rằng dữ liệu này cần được phân vùng trên các tệp và thư mục khác nhau trong hệ thống tệp của bạn để tách dữ liệu.
  • Đánh giá dữ liệu và cách dữ liệu được tải và sử dụng để xác định cách thích hợp để chia nhỏ dữ liệu.
  • Xác định cách cập nhật các phần dữ liệu cụ thể khi các thay đổi được áp dụng cho nguồn dữ liệu.

Quản trị dữ liệu và các quy tắc xung quanh nó có thể xác định quyền truy cập dữ liệu vào các phân vùng đó và có thể yêu cầu các chỉ số hiệu suất của dữ liệu đó.

Tuy nhiên, các thành viên của nhóm quản trị dữ liệu sẽ không có bộ kỹ năng để thiết lập các vai trò truy cập đó hoặc lấy các chỉ số đó.

Data Science là gì?

Nếu bạn đang cố gắng tìm kiếm giá trị từ các tập dữ liệu khác nhau, bạn sẽ bắt đầu từ đâu?

Ví dụ: nếu bạn có dữ liệu về khách hàng và đơn hàng của họ, bạn có thể cố gắng tìm ra những mặt hàng bổ sung nào bạn có thể bán cho họ dựa trên các đơn hàng khác. Nếu bạn có thể biết tương quan giữa khách hàng và việc mua hàng của họ, bạn có thể bán thêm cho các đơn hàng trong tương lai.

Điều này có thể đơn giản nếu bạn có một nhóm khách hàng và đơn hàng nhỏ.

Bạn có thể thuê các nhà phân tích kinh doanh (business analyst) là chuyên gia trong công ty của bạn và đã làm việc với khách hàng trong nhiều năm để có thể suy ra những gì khách hàng muốn.

Nhưng…

  • Điều gì sẽ xảy ra nếu bạn có hàng triệu khách hàng và hàng triệu giao dịch?
  • Điều gì sẽ xảy ra nếu bạn có các nhà cung cấp bên ngoài cung cấp cho bạn thông tin bổ sung về khách hàng của bạn?
  • Điều gì sẽ xảy ra nếu dữ liệu của bạn không có cấu trúc và không thể dễ dàng kết hợp với các tập dữ liệu khác?
  • Làm thế nào để bạn biết rằng các phần thông tin cụ thể thực sự có mối tương quan và đưa ra quyết định dựa trên dữ liệu chứ không phải cảm tính?

Đây là lúc khoa học dữ liệu (data science) đi vào bức tranh.

Các nhà khoa học dữ liệu được giao nhiệm vụ sử dụng các phương pháp, quy trình, thuật toán và hệ thống khoa học để trích xuất những hiểu biết kinh doanh có giá trị từ dữ liệu có cấu trúc và phi cấu trúc.

Mô hình hóa dữ liệu là gì?

Để hiểu kết quả công việc của nhà khoa học dữ liệu trông như thế nào, chúng ta phải hiểu mô hình dữ liệu là gì.

Mô hình hóa dữ liệu là quá trình dữ liệu được xác định, phân tích và cấu trúc để tạo ra một đầu ra có ý nghĩa.

Điều này thường có nghĩa là nhập dữ liệu từ nhiều nguồn khác nhau, cấu trúc nó thành các thực thể và mối quan hệ khác nhau, thực hiện các phép tính đối với dữ liệu và xác thực đầu ra.

Data Modeling là gì? Ảnh: phData
Data Modeling là gì? Ảnh: phData

Mục tiêu của mô hình hóa dữ liệu là để minh họa hoặc tính toán các kết nối giữa các điểm và cấu trúc dữ liệu.

Quay trở lại ví dụ về khách hàng và giao dịch của chúng ta, mô hình dữ liệu sẽ cho chúng ta thấy các khách hàng và giao dịch khác nhau liên quan với nhau như thế nào, vì vậy chúng tôi có thể bắt đầu thực hiện một số phân tích thống kê về mức độ liên quan chặt chẽ của chúng.

Một đầu ra tiềm năng của mô hình dữ liệu này là những khách hàng đã mua tã có khả năng mua nước rửa tay cao hơn 80% so với những khách hàng không mua.

Ngoài ra còn có các loại mô hình dữ liệu khác nhau:

  • Mô hình vật lý: lược đồ hoặc khuôn khổ về cách dữ liệu được lưu trữ vật lý trên đĩa hoặc trong cơ sở dữ liệu.
  • Mô hình khái niệm: cấu trúc và khái niệm kinh doanh cấp cao.
  • Mô hình dữ liệu logic: các kiểu thực thể, kiểu dữ liệu và thuộc tính, mối quan hệ giữa các thực thể.

Cách nhà khoa học dữ liệu gia tăng giá trị

Các nhà khoa học dữ liệu thường có nền tảng toán học, thống kê và lập trình vững chắc.

Khi làm việc với Dữ liệu lớn, rất khó xác định giá trị theo cách thủ công. Còn nhớ “mò kim đáy bể” chứ?

Thay vào đó, các nhà khoa học dữ liệu phải làm việc với dữ liệu để xác thực các lý thuyết và mô hình thống kê.

Trong ví dụ về mô hình dữ liệu của chúng ta, chúng ta có thể xác định rằng những khách hàng đã mua tã có khả năng mua nước rửa tay cao hơn 80% so với những khách hàng không mua.

Mặc dù đây là một kết luận đơn giản và hợp lý, nhưng đôi khi các tổ chức có những mối quan hệ phức tạp hơn giữa dữ liệu của họ và giá trị kinh doanh.

Cũng có thể là tổ chức của bạn có quá nhiều dữ liệu mà bạn thậm chí không biết bắt đầu từ đâu.

Các công ty trong danh sách Fortune 1000 có thể kiếm thêm thu nhập ròng hơn 65 triệu đô la bằng cách tăng khả năng truy cập dữ liệu của họ lên 10%.

Đây là lý do tại sao các công ty cần có các nhà khoa học dữ liệu tạo mô hình dữ liệu và thực hiện phân tích trên dữ liệu – giúp các đơn vị kinh doanh có thể truy cập được.

Rất thực tế là doanh nghiệp của bạn có thể bán kèm hoặc bán thêm các dịch vụ cho khách hàng hiệu quả hơn hoặc doanh nghiệp của bạn có thể tiết kiệm tiền bằng cách sử dụng các mô hình dữ liệu để dự đoán việc sử dụng tài nguyên.

Phân tích dự đoán (Predictive analysis) là gì?

Mặc dù bán chéo và bán thêm (cross sell và up sell) dịch vụ là một khái niệm bình thường đối với hầu hết các doanh nghiệp bán sản phẩm hoặc dịch vụ, nhưng phân tích dự đoán sẽ bổ sung một lớp giá trị kinh doanh khó hình thành hơn.

Giả sử bạn là một công ty vận chuyển và bạn đã được CEO giao nhiệm vụ tối đa hóa lợi nhuận và giảm thiểu chi phí hoạt động. Đây là mục tiêu của mọi doanh nghiệp, phải không?

Bạn sẽ bắt đầu từ đâu?

Bạn có thể cố gắng xác định các tuyến đường vận chuyển thường xuyên được sử dụng và đảm bảo rằng bạn có xe tải thường xuyên giao hàng qua lại mà không phải chờ đợi giữa các chuyến hàng quá lâu.

Tuy nhiên:

  • Làm thế nào để bạn xác định thời tiết sẽ ảnh hưởng đến điều kiện lái xe như thế nào?
  • Làm thế nào để bạn tối ưu hóa các tuyến đường trong trường hợp một cây cầu bị sập?
  • Làm thế nào để bạn biết được thời điểm lý tưởng để lái xe qua từng thành phố mà không gặp phải lượng lớn giao thông?

Đây là một ví dụ tuyệt vời khác về việc một mô hình dữ liệu và các nhà khoa học dữ liệu bổ sung thêm rất nhiều giá trị.

Nhà khoa học dữ liệu chịu trách nhiệm lập mô hình từng điểm dữ liệu có thể ảnh hưởng đến tuyến đường vận chuyển, tính toán các rủi ro và tác động của từng điểm theo chương trình và tính toán các kết luận để thông báo cho doanh nghiệp về cách hoạt động.

Với phân tích dự đoán, doanh nghiệp của bạn có khả năng tìm thấy mối tương quan giữa các dữ liệu mà trước đây được cho là vô dụng hoặc không có khả năng ảnh hưởng đến các tình huống khác nhau.

Data Engineer khác với Data Scientist ra sao?

Đối với các nhà khoa học dữ liệu để có thể mô hình hóa dữ liệu một cách hiệu quả, các thực tiễn quản trị dữ liệu phải được áp dụng để đảm bảo chất lượng và độ chính xác của dữ liệu.

Sau đó, các kỹ sư dữ liệu chịu trách nhiệm ban hành các chính sách này và giám sát chất lượng và hiệu suất dữ liệu. Các kỹ sư dữ liệu cũng cung cấp nguồn dữ liệu mà các nhà khoa học dữ liệu sử dụng để tạo mô hình dữ liệu.

Mặc dù các kỹ sư dữ liệu có thể thực hiện các chuyển đổi và tổng hợp quy mô lớn trên dữ liệu, nhưng cần phải có một phân tích để xác định cách dữ liệu nên được xử lý.

Kỹ sư dữ liệu phải biết dữ liệu có liên quan như thế nào và nó nên được thao tác như thế nào để tạo ra kết quả mong muốn.

Trong các ví dụ cơ bản, một kỹ sư dữ liệu có thể hợp tác với doanh nghiệp để vạch ra điều này, nhưng trong các hệ thống phức tạp hơn, một nhà khoa học dữ liệu cần phải phân tích thêm.

Trong một số trường hợp, mô hình dữ liệu có thể yêu cầu một thuật toán và quy trình biến đổi phức tạp hơn so với một kỹ sư dữ liệu tổng quát có thể xử lý.

Có thể có các phương trình toán học phức tạp và phân tích thống kê phải được lấy từ một mẫu thử nghiệm hoặc ví dụ quy mô nhỏ và được sản xuất hóa.

Đây là lúc bạn cần tuyển một ML Engineer (kỹ sư học máy).

Kỹ sư học máy (Machine Learning Engineer) là gì?

Kỹ sư học máy là giao điểm của kỹ thuật dữ liệu và khoa học dữ liệu.

Những kỹ sư này thường có nền tảng toán học vững chắc hơn một kỹ sư dữ liệu điển hình, nhưng không đến mức như một nhà khoa học dữ liệu.

Các kỹ sư này có thể tận dụng các khuôn khổ và công cụ kỹ thuật dữ liệu trong hệ sinh thái dữ liệu lớn, áp dụng các mô hình dữ liệu do các nhà khoa học dữ liệu tạo ra cho dữ liệu đó và sản xuất hóa quá trình triển khai các mô hình này.

Đây không phải là một nhiệm vụ đơn giản.

Các kỹ sư học máy cần phải thành thạo về cấu trúc dữ liệu và thuật toán, cả từ góc độ toán học và tính toán.

Để mô hình dữ liệu được sản xuất, dữ liệu phải được nhập vào mô hình và các tính toán chạy trong môi trường hiệu suất cao.

Điều này có nghĩa là có khả năng xử lý hàng terabyte dữ liệu thời gian thực để thúc đẩy các quyết định kinh doanh.

Các kỹ sư học máy làm việc với các nhà khoa học dữ liệu như thế nào?

Khi các nhà khoa học dữ liệu làm việc với dữ liệu để chứng minh các mô hình, công việc thường được thực hiện trong các môi trường như Python hoặc R, bên trong một sổ ghi chép phân tích như Jupyter.

Sổ này này chạy với một cụm để dịch các truy vấn thành một công cụ dành riêng cho nền tảng dữ liệu lớn như Spark.

Mặc dù cách tiếp cận này giảm thiểu kinh nghiệm phát triển và thời gian cần thiết để thu được giá trị, nhưng nó đòi hỏi thêm nhiều việc để sản xuất hóa. Thường bao gồm:

  • Kiểm tra chất lượng dữ liệu
  • Tối ưu hóa hiệu suất truy vấn
  • Tạo hệ sinh thái CI / CD xung quanh những thay đổi đối với mô hình
  • Đưa dữ liệu từ nhiều nguồn khác nhau vào mô hình dữ liệu
  • Học máy và các kỹ thuật khoa học dữ liệu cho các hệ thống phân tán

Mặc dù một số kỹ năng này trùng lặp với kỹ sư dữ liệu (nhập dữ liệu, kiểm tra chất lượng dữ liệu, v.v.), các trách nhiệm và kỹ năng cần thiết được tập trung đáng kể vào một số lĩnh vực kỹ thuật dữ liệu.

Những kỹ năng cần thiết của Data Engineer?

Không có câu trả lời đơn giản cho câu hỏi này – nhưng hãy cùng tìm hiểu một số điều cơ bản

Lưu trữ và tính toán dữ liệu

Dữ liệu có thể được lưu trữ ở nhiều định dạng tệp khác nhau trong hệ thống tệp và theo những cách khác nhau trong cơ sở dữ liệu và kho dữ liệu.

Mỗi định dạng khác nhau này được tối ưu cho một trường hợp sử dụng cụ thể và các kỹ sư dữ liệu chịu trách nhiệm tìm hiểu công cụ phù hợp cho công việc.

Ví dụ: nếu bạn đang lưu trữ dữ liệu trên đĩa trong một hồ dữ liệu, có một số tùy chọn phổ biến cho các định dạng dữ liệu:

  • Parquet
  • Avro
  • ORC

Các định dạng dữ liệu này thường được điều khiển bởi một trung tâm theo dõi vị trí của dữ liệu để truy vấn dữ liệu.

Tùy thuộc vào công cụ bạn đang sử dụng, cú pháp truy vấn, mẫu truy cập, hiệu suất và khả năng sẽ khác nhau. Các ví dụ phổ biến bao gồm:

  • Apache Hive
  • Databricks Delta Lake
  • AWS Glue Catalog

Dữ liệu cũng có thể được lưu trữ trong các nền tảng dựa trên luồng cho phép các hệ thống phân tán cao.

Đây thường là một kiến ​​trúc pub / sub cho phép nhiều người tiêu thụ dữ liệu nhận các bản cập nhật từ một nhà xuất bản dữ liệu. Các ví dụ phổ biến bao gồm:

  • Apache Kafka
  • AWS Kinesis và AWS Kinesis Firehose
  • RabbitMQ

Khi dữ liệu đã được lưu trữ, thông thường nó sẽ cần được xử lý để đạt được trạng thái mong muốn.

Điều này có thể liên quan đến việc lấy dữ liệu từ nhiều nguồn khác nhau, kết hợp dữ liệu đó với nhau, thực hiện tổng hợp trên đó và sau đó đưa kết quả vào vị trí cuối cùng.

Có nhiều phương án tính toán thường được sử dụng trong quy trình dữ liệu:

  • Apache Spark
  • Databricks
  • AWS Glue

Đầu ra của các quy trình dữ liệu này sau đó thường sẽ được đưa trở lại vào một hồ dữ liệu, sử dụng các định dạng dữ liệu và vị trí truyền dữ liệu được đề cập bên trên.

Trong một số trường hợp, khách hàng muốn đưa dữ liệu này vào cơ sở dữ liệu hoặc kho dữ liệu như Snowflake hoặc AWS Redshift.

Các công cụ này cho phép điều chỉnh hiệu suất dữ liệu hơn nữa, trao quyền dữ liệu và tích hợp với công cụ của bên thứ ba.

Hiểu biết về Cloud và On-Premises

Nhiều công ty có hệ thống on-premises (tại chỗ) và đang chuyển sang các giải pháp dựa trên đám mây như Amazon Web Services (AWS) và Microsoft Azure.

Điều này đòi hỏi một tập hợp các kỹ năng khác nhau và các kỹ sư phải có khả năng hiểu được sự khác biệt trong cách các hệ thống này hoạt động.

Nói chung, khi làm việc với khối lượng công việc tại chỗ, các kỹ sư không tập trung vào thời gian thực thi và mức sử dụng bộ nhớ cho đến khi chúng trở thành những người hàng xóm xấu tính với các quy trình khác trên cùng một máy chủ hoặc cụm.

Vì công ty trả tiền cho phần cứng chứ không phải theo mô hình dựa trên mức tiêu thụ, nên việc cho phép các quy trình chạy lâu hơn một chút sẽ dễ dàng hơn là dành nhiều thời gian để tối ưu hiệu suất.

Tuy nhiên, khi làm việc trên nền tảng đám mây, nhiều giải pháp chạy trên mô hình dựa trên mức tiêu thụ được gắn với những thứ như sử dụng bộ nhớ, thời gian thực thi và yêu cầu lưu trữ.

Điều này có thể dẫn đến chi phí đáng kể khi chuyển trực tiếp khối lượng công việc tại chỗ lên đám mây.

Kỹ sư dữ liệu cần có khả năng hiểu các mô hình định giá khác nhau và điều chỉnh các giải pháp cho phù hợp.

Điều này có nghĩa là hiểu biết cơ bản về các chiến lược bán hàng, các khoản phí mà một công ty sẽ phải chịu và cách thực hiện các giải pháp trong cả hai hệ sinh thái.

Toán học

Đối với nhiều kỹ sư dữ liệu, quá trình chuyển đổi dữ liệu thành siêu thị data và các tập dữ liệu được sắp xếp không đơn giản như việc kết hợp một vài tập dữ liệu.

Trong nhiều trường hợp, việc tổng hợp cần được thực hiện dựa trên dữ liệu nguồn để tính toán những thứ như các giá trị thống kê như trung vị, độ lệch chuẩn và phương sai.

Toán học cũng rất quan trọng khi xem xét các cấu trúc dữ liệu khác nhau để lưu trữ dữ liệu hoặc các thuật toán để xử lý dữ liệu.

Điều quan trọng là phải hiểu các tác động về hiệu suất của việc lưu trữ dữ liệu trong một cấu trúc cụ thể hoặc thực hiện các thuật toán nhất định dựa trên một tập dữ liệu nhất định.

Ví dụ:

Bạn biết rằng dữ liệu của mình được lưu trữ và phân vùng theo ngày tải, nhưng bạn cần kết hợp dữ liệu đó dựa trên khóa doanh nghiệp (business key). Đối với một kỹ sư dữ liệu, đây là một tín hiệu đáng báo động.

Bằng sự hiểu biết về cấu trúc dữ liệu và thuật toán, kỹ sư sẽ hiểu rằng họ sẽ phải quét toàn bộ bảng trên dữ liệu, đọc từng phân vùng và tệp riêng lẻ để thực hiện hành động đó.

Điều này có thể ổn đối với các tập dữ liệu nhỏ, nhưng chắc chắn là không khả thi khi bạn đang ở trong hệ sinh thái Dữ liệu lớn.

Tập trung vào Chất lượng

Ngay cả khi quá trình nhập và quản lý dữ liệu của bạn được tối ưu hóa 100% và có hiệu suất cao, sẽ không ý nghĩa gì nếu dữ liệu không chính xác.

Một kỹ sư dữ liệu phải có khả năng hiểu kết quả cuối cùng là gì, cũng như các phương pháp và công cụ cho phép xác nhận dữ liệu.

Các kỹ sư dữ liệu có thể sử dụng các công cụ như Deequ và Great Expectations để cung cấp khuôn khổ và công cụ cho chất lượng dữ liệu và phát hiện lỗi dữ liệu.

Các bài kiểm thử phải được viết dựa trên dữ liệu để đảm bảo dữ liệu là như mong đợi và được giám sát về sự sai lệch trong dữ liệu.

Một data engineer lành nghề có thể lập hồ sơ, giám sát và cảnh báo khi dữ liệu nằm ngoài phạm vi và thông số có thể chấp nhận được.

Tại sao Kỹ thuật Dữ liệu lại Quan trọng hơn Bao giờ hết?

Kiến thức là sức mạnh – và nó không thể đúng hơn trong xã hội ngày nay. Các công ty lớn đang tạo, nhập và xử lý nhiều dữ liệu hơn bao giờ hết.

Dữ liệu là một thành phần quan trọng đối với tri thức và như chúng ta đã chứng minh qua các ví dụ khác nhau, quá trình biến dữ liệu thành tri thức có thể rất phức tạp.

Có nhiều cấp độ xử lý và phân tích dữ liệu khác nhau và có thể có những trường hợp trong tổ chức của bạn nơi mà kinh nghiệm trong lĩnh vực và thực tiễn kinh doanh cụ thể có thể cung cấp cho một cá nhân mức độ hiểu biết mà dữ liệu có thể sao lưu.

Tuy nhiên, lượng kiến ​​thức mà Dữ liệu lớn có thể tạo ra về doanh nghiệp của bạn và tác động của nó đối với doanh nghiệp của bạn thường bị bỏ qua (và áp đảo).

Trong suốt bài viết này, chúng ta đã nói về các kỹ sư dữ liệu, nhà khoa học dữ liệu, kỹ sư học máy và cách mỗi người trong số họ có một vị trí cụ thể trong hệ sinh thái dữ liệu lớn.

Những chuyên gia này thường là những nguồn lực có kinh nghiệm và đắt tiền mà một tổ chức tuyển vào, tạo ra một rào cản gia nhập khó có thể vượt qua.

Tuy nhiên, chưa bao giờ có thời điểm quan trọng hơn để đầu tư vào các nguồn lực này.

Hãy cùng xem một số ví dụ về những gì các phương pháp này đã cho phép các công ty thực hiện.

Định giá động

Các nhà bán lẻ lớn như Amazon và các hãng hàng không thường sử dụng giá động cho hàng hóa của họ.

Điều này cho phép định giá cập nhật nhất dựa trên các mô hình dữ liệu được tạo bởi các nhà khoa học dữ liệu, được thực hiện bởi các kỹ sư học máy và được cung cấp bởi các kỹ sư dữ liệu.

Bạn có thể đã thường xuyên kiểm tra giá của các hãng hàng không để thử và kiếm được một món hời hoặc kiểm tra Amazon để xem liệu một mặt hàng cụ thể mà bạn quan tâm có được giảm giá hay ở mức giá tốt hơn so với các đối thủ cạnh tranh hay không.

Điều có thể bạn chưa biết là Amazon cập nhật giá lên đến 2.500.000 lần một ngày.

Điều này được hỗ trợ bởi mô hình dữ liệu do Amazon xây dựng để tối đa hóa lợi nhuận và duy trì tính cạnh tranh trong thị trường thương mại điện tử khổng lồ. Đây là cách công ty kiếm được 35% doanh thu hàng năm.

Một ví dụ khác về định giá động là các khách sạn Marriott.

Là một trong những chuỗi khách sạn lớn nhất trên thế giới, họ có hơn 6.500 khách sạn trên toàn cầu và giá phòng bị ảnh hưởng bởi nhiều yếu tố khác nhau.

Để định giá phòng khách sạn của mình một cách cạnh tranh, họ sẽ phải thuê hàng trăm đến hàng nghìn nhà phân tích để kiểm tra những thứ như tình hình kinh tế địa phương và toàn cầu, thời tiết, tình trạng sẵn có và hành vi đặt phòng, hủy đặt phòng,…

Điều này không khả thi trên quy mô lớn. Thay vào đó, họ sử dụng tính năng định giá động được xây dựng dựa trên các mô hình dữ liệu, dẫn đến doanh thu mỗi phòng tăng 5%.

Tiếp thị kỹ thuật số và phát triển sản phẩm

Trong nền kinh tế toàn cầu, điều quan trọng là phải hiểu rằng tiếp thị không phải là một động lực phù hợp với tất cả. Các chiến dịch tiếp thị và quảng cáo thành công sẽ trông khác ở Mỹ khi so sánh với Trung Quốc.

Ngay cả trong một quốc gia cụ thể, có thể có các khu vực của quốc gia có tín ngưỡng, kiểu thời tiết và sở thích khác nhau.

Để thúc đẩy doanh số bán hàng, thông thường trong tiếp thị là có một chiến dịch nhắm mục tiêu đến một đối tượng cụ thể.

Một ví dụ tuyệt vời về điều này là Airbnb, vào năm 2014 đã muốn điều chỉnh trải nghiệm tìm kiếm theo nhân khẩu học và địa lý.

Họ nhận thấy rằng các quốc gia châu Á nhất định thường có tỷ lệ thoát cao khi truy cập trang chủ.

Phân tích thêm dữ liệu, họ phát hiện ra rằng người dùng sẽ nhấp vào liên kết “Vùng lân cận”, bắt đầu duyệt ảnh và sau đó không bao giờ quay lại để đặt chỗ.

Để giải quyết vấn đề này, công ty đã tạo ra một phiên bản được thiết kế lại cho người dùng ở các quốc gia đó, thay thế các liên kết vùng lân cận bằng các điểm đến du lịch hàng đầu.

Điều này dẫn đến tăng 10% chuyển đổi.

Một ví dụ tuyệt vời khác là Coca-Cola, vào năm 2017 đã tiết lộ rằng hương vị Cherry Sprite được lấy cảm hứng từ dữ liệu thu thập từ các vòi nước uống tự phục vụ, nơi khách hàng tự pha chế đồ uống của họ.

Những chiếc máy này được thiết lập để theo dõi hương vị mà khách hàng đang trộn ở các khu vực khác nhau trên thế giới.

Sau đó, công ty chỉ cần tổng hợp các biến thể của sự kết hợp đồ uống và biến nó thành một mặt hàng có thể mua được.

Kết

Hy vọng rằng bạn sẽ rời khỏi hướng dẫn này với sự hiểu biết tốt hơn về những gì một data engineer làm và cách họ có thể giúp tổ chức của bạn đưa ra quyết định tốt hơn với dữ liệu.

Nguồn: phData