View profile

#136 - Recommendation Systems in the Real world

Revue
 
 

Grokking Newsletter

August 30 · Issue #137 · View online
Tuyển tập những bài viết hay cùng sự kiện bổ ích dành cho kĩ sư phần mềm tại Việt Nam.

Những bài viết hay
Recommendation Systems in the Real world
5 UI Design Tips for Engineers 5 UI Design Tips for Engineers
Giới thiệu về tổng hợp tiếng nói
Code & Tools
Góc Database
Trong thế giới Database, Index là một thành phần gần như không thể thiếu. Nhiều kỹ thuật như B-tree/B+tree hay Hashtable đã được sử dụng một cách rộng rãi với những ưu điểm đã được chứng minh. Nhưng liệu có thể làm tốt hơn nữa hay không?
Được đưa ra trong một bài báo gần đây của một nhóm tác giả đứng đầu bởi Kraska, họ đã đề xuất kỹ thuật Learned Index, một kỹ thuật sử dụng một mô hình học máy để thay thế cho các loại index phổ biến. Điều rút ra được đối với Learned Index đó là thậm chí chỉ một phiên bản đơn giản cũng đã mang đến sự cải thiện hiệu suất đáng ngạc nhiên. Tuy nhiên, Learned Index chỉ áp dụng được cho query pattern dạng read-only.
Đối với bài báo này, nhóm tác giả đưa ra đề xuất một cấu trúc index in-memory gọi là ALEX, một cấu trúc dữ liệu động kết hợp với mô hình học máy giúp cung cấp cơ chế index hiệu quả hơn so với Learned Index. ALEX, được cho rằng sẽ áp dụng được cho các query pattern không chỉ đọc mà còn insert, update, delete, bulk loading, … Các kỹ thuật được chia sẻ trong bài báo này để góp phần xây dựng nên ALEX cũng được đề cập trong bài báo:
  • Cấu trúc lưu trữ mới: ALEX đưa ra một cấu trúc cây mới, tương tự B+tree nhưng cho phép các node mở rộng hoặc thu hẹp với tỉ lệ khác nhau. Ngoài ra việc lưu trữ các dòng dữ liệu cũng được áp dụng Gapped Array.
  • Chiến lược tìm kiếm hiệu quả: ALEX cung cấp một cơ chế insert được tối ưu dựa theo mô hình học máy. Kèm theo đó là việc tìm kiếm cũng được dùng mô hình để dự đoán vị trí dự kiến của dữ liệu cần tìm. Nếu vị trí dự kiến không phải vị trí cần tìm, thuật toán sẽ tiếp tục mở rộng phạm vị từ vị trí dự đoán ban đầu. Mặc dù chiến lược này nghe có vẻ ngẫu nhiên, nhưng nó đã được các tác giả chứng minh thông qua một vài thử nghiệm là hiệu quả hơn so với binary search.
  • Ngoài ra để đảm bảo mô hình luôn được cập nhật khi dữ liệu thay đổi, ALEX tích hợp cơ chế tự training lại thông qua mô hình chi phí dựa trên workload thực tế. Việc áp dụng các kỹ thuật này giúp cho mô hình index luôn duy trì hiệu quả mà không cần yếu tố con người can thiệp để chỉnh sửa thông số phù hợp.
Dựa theo kết quả đo đạc, đối với lượng query dạng chỉ đọc (read-only), ALEX hiệu quả gấp 2.2 lần so với Learned Index về mặt tốc độ, kích thước index cũng nhỏ hơn 15 lần. Còn đối với query dạng đọc-ghi thì ALEX hiệu quả hơn B+Tree gấp 4.1 lần, kích thước index cũng nhỏ hơn 2000 lần.
Mời các bạn cùng đọc bài viết gốc để hiểu thêm chi tiết: link
Có thể bạn chưa biết
How Does GPS Work?
Sponsor
We’ve built an engineering and AI powerhouse in bustling southern Vietnam, where we tackle AI’s biggest challenges in the public safety space. With cameras that depict truth, automated reporting and evidence management that will triple the amount of time officers can spend serving their communities, and Smart Weapons that protect life in the moment of conflict, Axon has revolutionized the world of public safety - and by working here, you can contribute every day to the mission to protect life.
Opening Jobs:
Quotes
When to use iterative development? You should use iterative development only on projects that you want to succeed.
– Martin Fowler
Did you enjoy this issue?
If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue
Charmington La Pointe, 181 Cao Thang, Dist 10, Ho Chi Minh city, Viet Nam