Bài viết chuyên sâu

Data Engineering - Tips for newbies

Data Engineering - Tips for newbies

by Admin Dathoc -
Number of replies: 0

Mình thấy có một số bạn vào group và đặt những câu hỏi rất hay và khám phá.

Nhiều bạn mong muốn hiểu rõ, hoặc tìm kiếm THỬ VIỆC, hoặc không biết phải THỰC TẾ làm những cái gì khi mining data, sau khi làm chán chê các đề THI THỬ đầu vào như thế này: 

...cũng như phân tích, hay sâu xa hơn là NLP lẫn deep learn một chu trình hoạt động của ứng dụng (nhận diện, dò tìm, ngôn ngữ...). Vậy qua kinh nghiệm làm việc mình gửi các bạn một số challenges, nếu các bạn vượt qua, mình thấy bạn đã đủ trình độ để đi thi tuyển vào các công ty.

Bạn hãy quên những cái kiểu: thi thố trả lời câu hỏi trên PyCamp hay Exam đâu đó. Bạn chỉ cần show cho họ những cái dưới đây bạn làm đc là 100% họ sẽ nhận bạn.

Quả thực nếu bạn làm được hết các thử thách này. Tôi luôn khuyên bạn đưa mức lương ít nhất $2k cho các tổ chức đó nếu cần.
.
.
0. Engineering việc crawling data từ bất cứ nơi đâu, lưu và phân loại

Yêu cầu bài toán: Tốc độ nhất có thể khi lấy và lưu db những dữ liệu trên internet (facebook, vnexpress, forum, gapo, zalo....) các bài viết, forum, comment, show....

Thiết kế nên vẽ trước: nên có, ví dụ: https://1drv.ms/w/s!AoMt1NVPO04zgsEwMm8fIFiZZaOqZA?e=Jg7lM3

Công nghệ crawl nên chọn sử dụng: webdriver với browser headless, hoặc api từ nhà cung cấp

Công nghệ phân loại: live analysis/batch, với text là sentiment, với ảnh là aws rekognition. Sử dụng spark hoặc microservice go hoặc nodejs. Chu trình làm sạch đã nêu ở đây: https://www.facebook.com/KoolJ.InDaHouse/posts/10156133686175079

DB lưu chuyển gợi ý: avro, parquet, couchdb, mongodb

Các quan tâm về bảo mật, tốc độ: 50k/100k gói tin 250kb-500kb/ngày. API thì 1tr gói tin/15 giây, cần cấu hình active mq hoặc tương đương, cần https của ngrok. Chạy thử 1 tuần liên tục mà máy không hêt RAM không khởi động lại là OK.

Tham khảo cách thực hiện:
.
.
.

1. Engineering NLP
Yêu cầu bài toán: Tốc độ nhất có thể sentiment bất kỳ đoạn text nào gặp ra một chủ đề nào đó


Phần cứng gợi ý: Raspberry Pi 3/4 + neutral compute stick usb /jetson nano/ Nuc pc COre i5 8xxx

Công nghệ nlp sentiment nên chọn sử dụng: logistic regression + spark. Rnn nmt để map. Spacy để phân tích entity

Công nghệ phân loại: live analysis/batch. Sử dụng spark hoặc microservice go hoặc nodejs

DB lưu chuyển gợi ý: avro, parquet, couchdb, mongodb

Các quan tâm về bảo mật, tốc độ: gói tin 250kb-500kb/8-10ms, cần cấu hình active mq hoặc tương đương, cần https của ngrok. Chạy thử 1 tuần liên tục mà máy không hêt RAM không khởi động lại là OK.

Tham khảo cách thực hiện:
.
.
.
1b. Engineering NLP cho chatbot

Yêu cầu bài toán: Tạo chatbot trả lời Tiếng Việt


Phần cứng gợi ý: Raspberry Pi 3/4 + neutral compute stick usb /jetson nano/ Nuc pc COre i5 8xxx

Công nghệ nlp sentiment nên chọn sử dụng: rnn nmt, rasa, wit.ai + python

Công nghệ voice Việt: tích hợp FPT OpenAI hoặc Viettel AI

DB lưu chuyển gợi ý: avro, parquet, couchdb, mongodb

Các quan tâm về bảo mật, tốc độ: gói tin 250kb-500kb/8-10ms, cần cấu hình active mq hoặc tương đương, cần https của ngrok. Chạy thử 1 tuần liên tục mà máy không hêt RAM không khởi động lại là OK.

Tham khảo cách thực hiện:
.
.
.
2. Engineering nhận diện 2D, qua ảnh, vật thể

Yêu cầu bài toán: Tốc độ nhất có thể nhận diện bất cứ cái gì xuất hiện trên camera. Tạo heatmap. Đếm lượt.

Thiết kế nên vẽ trước: nên có

Phần cứng gợi ý: Raspberry Pi 3/4 + neutral compute stick usb /jetson nano/ Nuc pc COre i5 8xxx

Công nghệ image sentiment nên chọn sử dụng: yolo 3 + python, cv2, aws rekognition

Công nghệ phân loại: live analysis/batch. Sử dụng microservice go hoặc nodejs. Nên đưa stream frame lên server rồi replay, xử lý img. Stream attachted hoặc rtsp.... cv2 đều xử tốt 2 cái này. Cái mình cần chỉnh là chạy lâu dài xử lý rò rỉ bộ nhớ

DB lưu chuyển gợi ý: avro, parquet, couchdb, mongodb

Các quan tâm về bảo mật, tốc độ: gói tin 250kb-500kb/8-10ms, cần cấu hình active mq hoặc tương đương, cần https của ngrok. Chạy thử 1 tuần liên tục mà máy không hêt RAM không khởi động lại là OK.

Tham khảo cách thực hiện:
.
.
.
2b. Engineering nhận diện 3D, qua ảnh, vật thể

<khuyên bạn không nên học theo mobile để làm cái này vì cái này nhiều cty Việt suốt 5 năm không thể làm cho 500 người 1k người, ... 20k nhân viên để nhận diện. Hoặc bạn cần mua máy tính lượng tử của Google để làm.

Hoặc bạn nên làm khi ở dạng lâm sàng, luận văn, đồ án tiến sĩ>
.
.
.
3. Engineering nhận diện giọng nói,
Yêu cầu: phân biệt giong vùng miền. Từ giọng map với text, và ngược lại

Công nghệ: rnn nmt để map, extract sound làm sạch đơn giản nhất là Audacity. Phân loại sound có thể dùng logistic regression với dữ liệu bước sóng đã phân tích để phân loại sound đó thuộc loại nào để đưa vào từ điển map

Chuyển đổi speech to text: map âm sound và text. Bảng map có thể là một Mekle Tree cho dễ tìm.
Chuyển đổi text to speak: tương tự.

Tham khảo cách thực hiện:
.
.
.
4. Kết hợp 1,2,3

<đây là cách a Trung Quốc làm khi anh ý không làm được cái 2b trên. Vậy Việt nam fans cũng nên làm cái này>

Bài toán: chấm công, xác nhận công dân cho dịch vụ banking rút tiền. Nhận diện hành vi cá nhân, dự đoán hành vi tương lai.

Công nghệ: kêt hợp phân loại face, giọng, vân tay.

Tham khảo cách thực hiện:https://www.youtube.com/watch?v=01pVuu8ccss
.
.
.

5. Engineering việc lưu chuyển dữ liệu
Yêu cầu: xử lý bài toán với high avail 1tr request cho 10 giây. Nếu request sai hỏng, sẽ tự động xử lý lại. Nếu request ra khỏi queue mà vẫn sai sẽ đc replay lại.

Công nghệ: AWS sns, sqs, Active MQ + Kafka,

Tham khảo cách thực hiện: ví dụ về pubsub 100k/19 giây
.
.
.

6. Monitor được ở đâu, cái gì đang làm gì, nếu có lỗi sẽ làm gì, nếu có cảnh báo gửi cho ai, qua protocol nào.

Yêu cầu: luôn biết từ lớp, hàm các dev đang chạy mấy lần, gọi mấy lần, và ăn bộ nhớ ram, cpu bao nhiêu. Nếu quá giới hạn thông báo về mail hoặc sms

Công nghệ: Splunk, AWS cloudwatch, đính cờ tính time, tính cú gọi, tính ram ngốn

Tham khảo cách thực hiện:
.
.
.
7. Engineering địa chỉ, lng lat cho toàn địa điểm, phố xóm, ngõ hẻm toàn Việt Nam.

Yêu cầu: Lấy tất cả các địa chỉ có thể có và lấy lat, long của hệ GPS mặt đất vệ tinh. Rồi tổng hợp tạo app chỉ đường.

Công nghệ: GPS đất đối vệ tinh, xe đạp đi và collect

Tham khảo cách thực hiện:


Còn bài toán nào khác mời các bạn gợi ý.