Data Scientist là gì? Cách trở thành Data Scientist?
Data Scientist là nghề sexy nhất của thế kỉ 21, theo Harvard Business Review nhận định. Với skillset chuyên sâu và trải dài trên nhiều lĩnh vực, các Data Scientist (nhà khoa học dữ liệu) cũng được ví “quý hiếm như kỳ lân”. Đọc bài phỏng vấn này của ITviec với anh Nguyễn Hoàn , Data ...
Data Scientist là nghề sexy nhất của thế kỉ 21, theo Harvard Business Review nhận định. Với skillset chuyên sâu và trải dài trên nhiều lĩnh vực, các Data Scientist (nhà khoa học dữ liệu) cũng được ví “quý hiếm như kỳ lân”.
Đọc bài phỏng vấn này của ITviec với anh Nguyễn Hoàn, Data Scientist của Xomad, để biết.
- Data Scientist là gì? Công việc cụ thể của họ?
- Những tố chất và kỹ năng cần thiết?
- Học gì để trở thành một Data Scientist?
Xem việc làm Data Scientist tại ITviec
Tiểu sử: Nguyễn Hoàn tốt nghiệp Cử nhân tại ĐH KHTN TPHCM, chuyên ngành Software Engineering. Sau đó, anh học Thạc sĩ ngành Data Mining tại University of Trento, Ý. Năm 2013, Hoàn về nước, bắt đầu làm việc tại Sentifi với vị trí Data Scientist.
Hiện tại, anh Hoàn đang sống tại Pháp và làm việc từ xa (remotely) cũng với vị trí Data Scientist cho công ty Xomad có trụ sở tại LA, Mỹ.
Theo anh, Data Scientist là làm gì?
Data Scientist là người tạo ra giá trị từ data, với hai nhiệm vụ chính là:
- Thu thập, xử lý dữ liệu để tìm ra những insight giá trị.
- Giải thích, trình bày những insight đó cho các bên liên quan, để chuyển hóa insight thành hành động.
Tuy nhiên, Data Scientist là nghề rất mới, nên định nghĩa về nó còn khá mơ hồ, nhập nhằng (ngay cả trên thế giới). Vì vậy, tùy theo từng công ty mà mô tả công việc, yêu cầu skillset, thậm chí job title có thể khác nhau đôi chút.
Sự khác biệt giữa Data Analyst và Data Scientist là gì?
Đúng là hai công việc này có trách nhiệm tương đối giống nhau. Ở một số công ty, Data Scientist có khi cũng là Data Analyst, hoặc thậm chí có thể nhập nhằng với cả Machine Learning Engineer, Data Engineer nữa.
Cá nhân mình thì nghĩ Data Scientist chia làm 2 dạng chính, tạm gọi nhánh A (Analysis) và nhánh B (Building), cụ thể:
- Data Scientist nhánh A (Analysis) là những thinker. Nhiệm vụ chính của họ là phân tích dữ liệu bằng các phương pháp thống kê để tìm ra insight giá trị.
- Data Scientist nhánh B (Building) thường mạnh về software engineering hơn. Họ đảm nhiệm việc xử lý/lưu trữ data, viết code/thuật toán cho các sản phẩm data của công ty.
Bản thân mình thuộc về Data Scientist nhánh B, nên mọi chia sẻ cũng sẽ xoay quanh nhánh này.
Khác biệt lớn nhất giữa hai nhánh A và B của Data Scientist là gì?
Như đã nói ở trên, Data Scientist nhánh B mạnh hơn về software engineering. Bởi vậy, trách nhiệm công việc chính của họ là xây dựng các sản phẩm data cho công ty.
- Sản phẩm data cũng là một sản phẩm công nghệ phần mềm, song được xây dựng dựa trên dữ liệu.
- Sản phẩm data có thể là một sản phẩm riêng biệt, hoặc là một phần trong sản phẩm lớn hơn.
- Sản phẩm data bao gồm nhiều thành phần, nhưng luôn có cốt lõi là model (mô hình dữ liệu) được phát triển bằng machine learning.
Anh có thể giải thích cụ thể hơn về mô hình dữ liệu (model)?
Mình nói về machine learning (máy học) trước nhé!
Ví dụ, hãy hình dung nôm na “máy” ở đây là một cái hộp đen. Bạn muốn dùng cái hộp đen này để phân biệt hình ảnh con chó với con mèo. Vậy thì:
- Bạn phải tìm rất nhiều hình ảnh của con chó, và hình ảnh của con mèo.
- Sau đó cho hộp đen đọc những hình ảnh này.
- Rồi dạy hộp đen: những đặc điểm nào trên bức hình sẽ cho biết đó là hình con chó, và những đặc điểm nào khác sẽ cho biết đó là hình con mèo.
- Cuối cùng, bạn đưa ra hai hình ảnh mới. Hộp đen sẽ nhận diện cho bạn đâu là hình con chó, đâu là hình con mèo dựa vào những gì nó đã được học.
Toàn bộ quá trình này gọi là máy học (machine learning). Còn cái hộp đen chính là một mô hình dữ liệu (data model).
Workflow của Data Scientist là gì?
Minh họa cho workflow của Data Scientist
Bước 1 – Input:
Workflow của Data Scientist bắt đầu với một nhu cầu/nhiệm vụ.
Nhu cầu này có thể bắt nguồn từ:
- Do bộ phận business thu thập phản hồi của người dùng, và đề nghị có thêm tính năng ABC.
- Hoặc, do chính Data Scientist khi làm việc với dữ liệu, nghiên cứu đặc tính sản phẩm/công ty cũng như kiểu/lượng data hiện có… thì nảy ra sáng kiến phát triển thêm tính năng XYZ.
Bước 2 – Lên kế hoạch:
Sau khi xác định được nhu cầu/nhiệm vụ, Data Scientist sẽ họp và bàn bạc với bộ phận business cũng như các bên liên quan để xem xét:
- Làm tính năng này có khả thi hay không?
- Sẽ cần loại dữ liệu gì? Tìm ở đâu? Bao nhiêu là đủ? Lấy dữ liệu về như thế nào?.v.v…
- Cần bao nhiêu resources (nhân lực, thời gian…)?
- Tính năng này sẽ được gắn vào đâu trong sản phẩm cuối cùng của công ty, sẽ giúp ích được gì cho người dùng.
- .v.v…
Bước 3 – Thu thập và làm sạch dữ liệu:
Để dạy cho máy cách phân biệt con chó với con mèo chẳng hạn, thì phải cho nó học càng nhiều hình ảnh càng tốt. Nên phải đi gom dữ liệu.
Dữ liệu gom xong sẽ còn rất lộn xộn và nhiều rác, thì mình phải làm sạch dữ liệu. Hoặc nếu dữ liệu chưa đủ, thì phải kiếm thêm.
Sau đó, phải đồng bộ hóa dữ liệu.
Bước 4 – Chọn giải pháp:
- Nếu vấn đề đã có sẵn giải pháp
Thì lựa chọn/kết hợp các giải pháp lại (vd: chọn thuật toán ABC hoặc XYZ), chạy thử nghiệm, kiểm tra xem thử nghiệm nào là tốt nhất và vì sao, tiếp theo sẽ chọn giải pháp nào để phát triển thêm .v.v…
- Nếu vấn đề chưa có sẵn giải pháp
Thì cần làm research: tìm hiểu xem trước mình, đã có ai từng làm về vấn đề này chưa, giải pháp của họ là gì, có khả thi không, liệu giải pháp nào tốt hơn .v.v…
Sau đó, chọn ra một hoặc một loạt phương pháp để thử nghiệm giống như ở trên.
Bước 5 – Máy học:
Sau khi đã chọn được giải pháp, thì cần dành thời gian cho máy học.
Khi train một model, hãy tưởng tượng giống như bạn có một bảng điều khiển với rất nhiều nút vậy. Bạn thử chỉnh cái nút này một chút, thấy kết quả ra tốt hơn chút xíu thì giữ lại, rồi thử chỉnh nút khác.
Cứ như vậy, cho đến khi ra được kết quả tốt nhất.
Bước 6 – Output:
Output công việc của Data Scientist là một model như đã giới thiệu ở trên. Sau đó, thông thường, model này sẽ được gắn vào một sản phẩm lớn.
Đôi khi, nếu model là một giải pháp/phát kiến mới, thì bộ phận Data Science của công ty bạn sẽ có nhiệm vụ viết bài báo hoặc tổ chức hội thảo khoa học để công bố kết quả nghiên cứu.
Tố chất cần thiết để trở thành Data Scientist là gì?
1. Kiên nhẫn
Tố chất này cực kì quan trọng, vì Data Scientist phải dành phần lớn thời gian để thu thập dữ liệu và làm sạch chúng.
2. Giao tiếp tốt
Công việc của Data Scientist đòi hỏi phải giao tiếp rất nhiều, cụ thể:
- Giao tiếp với team business.
- Giao tiếp với team engineer.
- Trình bày/giải thích insights cho các bên liên quan hiểu.
3. Thích tìm hiểu và thử cái mới
Nghề Data Scientist còn mới mẻ và sử dụng kiến thức liên ngành rất nhiều. Trong đó, mỗi ngành riêng lại luôn có bước tiến hoặc công nghệ mới.
Do đó, bạn cần thích tìm hiểu và thử cái mới, để có thể cập nhật kiến thức liên tục.
Còn kỹ năng cần thiết cho Data Scientist là gì vậy anh?
Nghề Data Scientist đòi hỏi khá nhiều kiến thức và kĩ năng tổng hợp, bao gồm (nhưng không giới hạn):
- Machine learning: để học từ dữ liệu, từ đó tạo ra các predictive model.
- Database: giúp lưu trữ và truy xuất dữ liệu, cũng như thực hiện một số tính toán.
- Programming languages: viết code để áp dụng các model đã học được nói trên vào sản phẩm cụ thể, hoặc để thao tác với database.v.v…
- Visualization: giúp hiểu hơn về dữ liệu (ví dụ: phân bố của dữ liệu như thế nào), hoặc để trình bày kết quả phân tích.
Wow! Rất nhiều tố chất và kỹ năng cần rèn luyện! Vậy trong đó, 3 yếu tố nào quan trọng nhất?
Theo mình, 3 kỹ năng cơ bản nhất cũng chính là 3 yếu tố nền tảng để theo nghề Data Scientist:
1. Kiến thức toán học
Nếu muốn theo ngành này, bạn cần phải nắm chắc về toán. Lí do:
- Machine learning là sự kết hợp của các mô hình toán học chạy bên dưới.
- Khi xử lý/làm việc với dữ liệu, bạn sẽ cần sử dụng rất nhiều kiến thức về toán, xác suất, thống kê .v.v…
- Tư duy toán học sẽ giúp bạn dễ tiếp thu và học các kĩ năng khác nhanh hơn.
2. Khả năng lập trình phần mềm
Công việc của Data Scientist nhiều khi rất gần với công việc của một software engineer. Vì vậy, “code cứng” là yêu cầu quan trọng.
3. Sự nhạy bén
Khi nhìn vào dữ liệu, bạn cần đủ nhạy để suy đoán: đối với loại dữ liệu này thì có thể làm gì với nó, nên estimate như thế nào .v.v…
Sự nhạy bén này là tố chất, song cũng có thể tích lũy dần theo thời gian và kinh nghiệm làm việc.
Những yếu tố xác định mình phù hợp với nghề Data Scientist là gì vậy anh?
Ngoài những yếu tố kể trên, bạn cần tự hỏi thêm:
- Bạn có thích làm việc với dữ liệu (mỗi ngày) không?
- Bạn có thể đọc paper khoa học mà không cảm thấy đó là rào cản lớn hay không?
- Bạn có thích machine learning không? (vì những thứ có vẻ hay ho thường sẽ dùng machine learning để làm)
Nếu câu trả lời là “có”, thì bạn có thể theo đuổi nghề Data Scientist.
Những kiến thức trong nhà trường cần học để trở thành một Data Scientist là gì?
Danh sách các kĩ năng và kiến thức cần học để trở thành một Data Scientist được liệt kê khá chi tiết tại datasciencemasters.org, các bạn rất nên tham khảo.
Còn trong môi trường Đại học ở Việt Nam, thì theo mình, các bạn nên học:
- Đại số tuyến tính và xác suất thống kê.
- Đạo hàm tích phân