[Case study] Quy trình hợp tác giữa Data Engineer – Data Analyst và Data Scientist của Dailymotion

quy trình làm việc của các vị trí data science

Làm thế nào để hợp tác hiệu quả giữa các vị trí Data Science trong doanh nghiệp Dailymotion?

Dưới đây là hành trình làm việc của nhóm dữ liệu của Dailymotion tập trung vào quy trình hợp tác giữa các kỹ sư dữ liệu, các nhà khoa học dữ liệu và nhà phân tích dữ liệu. Thách thức đang diễn ra là họ cần tìm sự cân bằng phù hợp giữa việc phục vụ cho từng nhu cầu cụ thể và trong mối quan hệ khách hàng/nhà cung cấp chung.

Ảnh của Vlada Karpovich từ Pexels

Dailymotion là một công ty nền tảng video hàng đầu với hơn 330 nhân viên. Ba năm trước, nhóm dữ liệu của Dailymotion bao gồm 3 người, đến nay mở rộng với 24 người (7 kỹ sư dữ liệu, 5 nhà khoa học dữ liệu, 8 nhà phân tích dữ liệu và 4 dự án / nhà quản lý sản phẩm). Khi mở rộng quy mô, chúng tôi phải học cách trao đổi hiệu quả với nhau. Điều này có nghĩa là sử dụng cùng một ngôn ngữ, đi cùng một hướng và xây dựng một khuôn khổ chung, nơi mọi chức năng dữ liệu đều có vị trí của nó.

Các sản phẩm dữ liệu của chúng tôi chủ yếu được chia thành hai loại:

  • Phát hành sản phẩm phân tích.
  • Công nghiệp hóa đường ống học máy (Industrializing machine learning pipelines).

Doanh nghiệp bạn muốn xây dựng Data Warehouse?

Phát hành sản phẩm phân tích

Nhóm dữ liệu sẽ bắt đầu tổng hợp dữ liệu có sẵn thông qua các nguồn dữ liệu khác nhau nằm bên trong công ty hoặc bên ngoài đối tác thứ ba). Phần này bao gồm sự hợp tác giữa các kỹ sư dữ liệu và các nhà phân tích dữ liệu.

Những thách thức chính là:

  • Diễn dịch các quy tắc kinh doanh sang coding mà không cần kỹ sư dữ liệu mỗi khi một quy tắc mới được thêm vào/thay đổi và không phải xây dựng một ngôn ngữ về loại kiến thức nào đó trên SQL sẵn có trong giao diện web thân thiện với người dùng cho bộ phận kinh doanh.
  • Lập kế hoạch tổng hợp/hợp nhất dữ liệu – mô hình của các tập hợp / hợp nhất này (không phải logic kinh doanh, mà là mô hình kỹ thuật) thường giống nhau. Việc diễn dịch kinh doanh để thực hiện các phân tích kỹ thuật chủ yếu được thực hiện bởi các nhà phân tích dữ liệu (các công cụ chính là SQL và tableau, thứ hai python), thế nên công việc sẽ không hiệu quả lắm khi các kỹ sư dữ liệu luôn có mặt ở đó chỉ để lặp lại quy trình làm việc kỹ thuật hiện có.

Hồ dữ liệu (data lake) của Dailymotion nằm trên BigQuery và do đó có thể truy cập bằng các truy vấn SQL. Công cụ lập kế hoạch của nhóm dữ liệu là Apache Airflow, cho phép nhóm dữ liệu xác định quy trình làm việc của mình (hay còn gọi là DAG) trong Python, giúp chúng có thể hoạt động trên Github và cũng được tích hợp vào quy trình CD / CD tại Dailymotion. Các kỹ sư dữ liệu đã cung cấp một số công cụ dockerized xung quanh airflow và xây dựng một số operators chung để đáp ứng nhu cầu chung, chẳng hạn như “kiểm tra xem dữ liệu này có sẵn trước khi khởi chạy tính toán” hoặc”khởi chạy truy vấn SQL trên BigQuery và xuất kết quả vào một bộ nhớ”. Điều này có nghĩa là Các nhà phân tích dữ liệu của chúng tôi có thể áp dụng ngay lập tức docker này với tất cả các biến phụ thuộc đã được cài đặt và lặp lại trên quy trình làm việc phân tích của họ.

Sau khi lặp lại trong một vài tháng, cuối cùng chúng tôi đã đưa ra được framework dưới đây:

Project workflow

Các bước chi tiết trong framework trên được ghi chú như sau:

1. Các nhà phân tích dữ liệu và kỹ sư dữ liệu thảo luận về quy trình làm việc với nhau, các nhà phân tích dữ liệu diễn giải về nhu cầu kinh doanh và các kỹ sư kiểm tra xem tất cả các nhà khai thác hiện tại có thể đáp ứng những nhu cầu kinh doanh đó hay không. Các kỹ sư dữ liệu cũng chịu trách nhiệm duy trì tính bền vững của kiến trúc dữ liệu (không có flow trùng lặp, tối ưu hóa đầy đủ và được xác định, các điểm thất bại tiềm tàng…)

2. Các nhà phân tích dữ liệu thực hiện quy trình làm việc đã thống nhất.

3. Các nhà phân tích dữ liệu có thể lặp lại quy trình và kiểm tra lỗi trong môi trường local có chứa tất cả các biến phụ thuộc đã xây dựng.

4. Khi các nhà phân tích đã sẵn sàng để kiểm tra quy trình làm việc trong giai đoạn này, các kỹ sư dữ liệu sẽ đánh giá mã.

5. Các nhà phân tích dữ liệu cũng có thể kiểm tra mã của họ trong giai đoạn.

6. Kỹ sư dữ liệu và nhà phân tích dữ liệu cùng nhau thực thi làm sản phẩm.

7. Các nhà phân tích dữ liệu thiết lập bảng điều khiển giám sát và công cụ cảnh báo (trong trường hợp của chúng tôi: datadog)

8. Các nhà phân tích dữ liệu và kỹ sư dữ liệu đều là chủ sở hữu của các sản phẩm phân tích.

Sự thật là Apache Airflow mang lại quyền tự chủ cho các nhà phân tích dữ liệu và giải phóng thời gian cho các kỹ sư dữ liệu. Trong khuôn khổ này, các nhà phân tích dữ liệu có thể tập trung vào khía cạnh kinh doanh / phân tích của một dự án và không phụ thuộc vào các kỹ sư dữ liệu mỗi khi có một bổ sung / sửa đổi chức năng trên đường ống. Các kỹ sư dữ liệu có thể tập trung vào sự gia tăng của đường ống, tích hợp các nguồn mới bên trong hồ dữ liệu, về dòng dữ liệu và dụng cụ. Do đó, khối lượng công việc liên quan đến phát hành sản xuất được cân bằng lại giữa hai vai trò.

Công nghiệp hóa đường ống học máy

Phần thứ hai của hành trình bao gồm phát hành hiệu quả các thuật toán học máy mới vào sản xuất. Điều này có nghĩa là cập nhật một mô hình học máy mỗi khi dữ liệu mới có sẵn, điều này cũng có nghĩa là có thể áp dụng một mô hình theo lô hoặc thời gian thực và cuối cùng có khả năng theo dõi nếu mô hình vẫn hoạt động tốt theo thời gian. Chúng ta có thể tách chúng thành ba trường hợp sử dụng: đào tạo, dự đoán và đánh giá. Phần này bao gồm sự hợp tác giữa các kỹ sư dữ liệu và các nhà khoa học dữ liệu từ quan điểm kỹ thuật để sản xuất.

Kế hoạch chi tiết của quy trình học máy

Bạn đã bao giờ nhận ra sau một cuộc tranh luận dài rằng tất cả các bạn đã nói về cùng một điều ngay từ đầu nhưng sử dụng các từ ngữ khác nhau để mô tả?

Bước đầu tiên là xác định các thành phần chung bao gồm các phần đã triển khai của các nhà khoa học dữ liệu mà các kỹ sư dữ liệu sau đó có thể sử dụng và công nghiệp hóa để phù hợp với các trường hợp sử dụng.

Một thuật toán học máy điển hình được chia thành năm thành phần chính:

  • Trích xuất: lấy từ dữ liệu DB để sử dụng
  • Preprocess: xây dựng các tính năng từ dữ liệu
  • Đào tạo: tạo mô hình với các tính năng
  • Dự đoán: áp dụng mô hình để cho điểm số
  • Đánh giá: theo dõi hiệu suất của một mô hình (và giữa các mô hình) làm thêm giờ.

Chúng tôi đã xác định rằng mỗi thành phần đầu vào / đầu ra nên được lưu trữ (trong trường hợp của chúng tôi Google Cloud Storage, xem bên dưới). Có một số lợi thế bằng cách sử dụng phương pháp này, nhưng hai lợi thế chính là: chia nhỏ các bước làm việc và có thể kiểm tra các bước làm việc trong quá khứ.

  • $project: là tên dự án
  • $env: là môi trường (tức là dev/giai đoạn/prod)
  • $algoname: là tên của thuật toán học máy
  • $version: là phiên bản của thuật toán này
  • $token: token là một định danh duy nhất phổ biến để tham khảo một lần chạy.

Bây giờ chúng tôi có các thành phần khác nhau, chúng tôi có thể trộn chúng để phù hợp với các trường hợp sử dụng của chúng tôi:

  • Đào tạo: trích xuất, sơ chế, đào tạo, dự đoán, đánh giá
  • Dự đoán: trích xuất, xử lý trước, dự đoán
  • Đánh giá: đánh giá

Ứng dụng

Nó không phải là khoa học tên lửa.

Về bước trích xuất,  nhóm Dữ liệu của chúng tôi chủ yếu sử dụng BigQuery, các nhà khoa học dữ liệu lấy bộ dữ liệu thông qua các truy vấn SQL.

Thứ hai, đối với bước tiền xử lý,  các nhà khoa học dữ liệu và kỹ sư dữ liệu làm việc cùng nhau để đảm bảo tính toán tiền xử lý có thể mở rộng. Trong trường hợp của chúng tôi, chúng tôi sử dụng Python Apache Beam. Các kỹ sư dữ liệu xây dựng một thư viện khoa học chung ẩn khung máy tính cụm với phong cách “Scikit-learn” thân thiện.

Thứ ba, đối với các giai đoạn đào tạo, dự đoán  đánh giá, các nhà khoa học dữ liệu sử dụngTensorflow hoặc Scikit-learn.

Đối với phần lập kế hoạch, các kỹ sư dữ liệu cung cấp mẫu Apache Airflow để chạy tất cả các bước. Mỗi thành phần được dockerized và kích hoạt bởi một KubernetesPodOperator, do đó phía DevOps được trừu tượng hóa và các nhà khoa học dữ liệu có thể tập trung vào phần khoa học.

Hơn nữa, các kỹ sư dữ liệu xây dựng API và thiết lập CI / CD trên các kho lưu trữ khác nhau. Tóm lại, các kỹ sư dữ liệu và nhà khoa học dữ liệu hợp tác theo quy trình dưới đây:

Bằng cách làm việc chặt chẽ với nhau, các nhà khoa học dữ liệu có thể tập trung vào phần khoa học và trong khuôn khổ này, họ có quyền tự chủ để xây dựng các đường ống sẵn sàng. Các kỹ sư dữ liệu có thể tập trung vào khả năng mở rộng, khả năng tái sử dụng và đảm bảo rằng đầu vào / đầu ra đường ống thống nhất với kiến trúc dữ liệu toàn cầu. Khung cũng đảm bảo tính nhất quán giữa các nhóm tính năng làm việc trên các đường ống học máy khác nhau.

Sau khi xây dựng mặt bằng chung, trong Dailymotion, các công nghệ được sử dụng bởi ba vị trí có thể được minh họa như sau:

Các kỹ sư dữ liệu, nhà phân tích dữ liệu và nhà khoa học dữ liệu nên hợp tác theo quy trình thống nhất các công việc để cung cấp các sản phẩm mới một cách hiệu quả. Điều này được thực hiện bằng cách tạo ra sự cân bằng phù hợp giữa việc xây dựng các dịch vụ chung và thực hiện từng nhu cầu cụ thể một cách riêng biệt. Điều này giúp các kỹ sư phát triển các kỹ năng phân tích và khoa học để chuẩn bị các đoạn mã sẵn sàng. Hợp tác cũng cải thiện việc chia sẻ kiến thức xung quanh hồ dữ liệu giữa ba vai trò, do đó làm cho các dự án dữ liệu diễn ra nhanh hơn với kết quả chính xác cao và bền vững hơn.

Tác giả: Germain Tanguy – Senior Data Engineer

Bài viết gốc: Collaboration between data engineers, data analysts and data scientists

Link bài viết:  

https://medium.com/dailymotion/collaboration-between-data-engineers-data-analysts-and-data-scientists-97c00ab1211f

Biên dịch & Biên tập: Mary

Bài viết có hữu ích không?

Các bài viết liên quan

flirt4free sito di incontri

Un arnese da dungeon di abile botta fetish

how to see who likes you on tinder review

ten. Allow her to generate have confidence in you

love ru sign in

18 Wedding Class Games Your guests Would like

militarycupid-recenze Seznamka

six. Sign-up online dating sites and you can qualities one to target rich website subscribers

Escort escort orlando

Do not get myself wrong; I'm an individual guy who's towards the matchmaking

adventure-dating-nl MOBIELE SITE

There is no better method to finish your day instead of sharing that it meme gif with your loved ones?

fastflirting Zaloguj si?

The working platform are right for small hookups

puerto-rico-chat-rooms dating

Ways to get an effective screenwriting broker and you can manager action six: choose wisely

sites-de-rencontre-mexicains avis

Paree list acquisition habitation 2021 — au Top 10+ demande a placer quand d’achat d’une logement

quickflirt kosten

Lass mich daruber erzahlen ruhen Eltern, entsprechend Die leser man sagt, sie seien, Jedoch befinden Die Kunden, entsprechend Eltern schuften

writers-dating dating

Amid all this, Ghanaian ladies are nonetheless thought to be beautiful and you will classic

hot or not Zaloguj si?

Mom Necklace, Mother-in-laws Necklace, On my Date’s Mommy Necklace, Current To possess Boyfriend’s Mom Mommy’s Time

girlsdateforfree mobile site

Relationships versus. Relationships: 15 Differences You have to know In the

dating-in-spanish mobile site

Think about, when you ask some body out, it's the start of exactly what will possibly feel a committed relationship

politische-dating-sites kosten

Lass mich daruber erzahlen genau so wie verknallen einander frauen

xpress-overzicht Dating

I've end up being rather used to this new constantly-overcrowded, feature-occupied graphics that many matchmaking platforms nowadays provides

Farmers Dating review

Badoo is definitely preferred network net just what model of exceptional sites

ebonyflirt sito di incontri

Sono i luoghi dell'anima, affinche ci catapultano mediante una peso onirica e ci rapiscono il cuore

Bình luận của bạn

MiEdu - AI Your Career

Bài viết mới nhất

Theo dõi trên Facebook

Chia sẻ bài viết cho bạn bè

Share on facebook
Share on linkedin

© Copyright 2021 - Công ty Đào tạo và Hướng nghiệp thông minh Miedu

Sign Up and Start Learning

Hạn sử dụng đến 20/01/2022

TÌM HIỂU khóa
Full Stack data Science
-30%

Bảo hành học tập trọn đời cho người chuyển đổi công việc!