Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Redis

Tăng Tốc Học Máy Thời Gian Thực Với Tecton & Redis Enterprise Cloud

Ứng dụng học máy (ML) thời gian thực נמצ ở khắp nơi — từ phê duyệt giao dịch thẻ tín dụng ngay khi chúng xảy ra, đến tạo ngay lập tức các đề xuất cá nhân hóa cho dịch vụ streaming yêu thích của bạn. Các ứng dụng này không thể chịu đựng bất kỳ độ trễ nào; chúng yêu cầu truy cập trực tiếp vào dữ liệu mới鲜 (fresh) để cung cấp suy luận (inference) siêu độ trễ thấp (100 mili-giây hoặc ít hơn). Để cung cấp cho nhà phát triển và tổ chức khả năng thời gian thực hiệu quả về chi phí cho ứng dụng ML quy mô lớn, chúng tôi rất vui mừng cùng tuyên bố tích hợp hạng nhất (first-class integration) của Tecton và Redis Enterprise Cloud.

Redis Enterprise Cloud là phiên bản tốt nhất của Redis, cung cấp hiệu suất, khả năng mở rộng và hiệu quả chi phí hàng đầu trên các nhà cung cấp đám mây. Redis đã được bầu chọn là cơ sở dữ liệu được yêu thích nhất (most loved database) bởi nhà phát triển trong năm năm liên tiếp trong khảo sát nhà phát triển hàng năm của Stack Overflow. Phổ biến trong dịch vụ tài chính, thương mại điện tử và ngành game, Redis có hồ sơ thành tích đáp ứng các yêu cầu độ trễ (dưới mili-giây) và sẵn sàng cao (high-availability)要求苛刻 (demanding) nhất, làm cho nó lý tưởng để phục vụ nhu cầu của ứng dụng ML thời gian thực.

Tecton là kho tính năng (feature store) hàng đầu cho các doanh nghiệp muốn tăng tốc thời gian đưa vào sản xuất (time to production) cho dự án ML. Nền tảng của nó đến từ kinh nghiệm xây dựng Uber Michelangelo, nền tảng cung cấp năng lượng cho mọi ứng dụng ML tại Uber. Tecton là một hệ thống vận hành và quản lý đường ống dữ liệu (data pipelines) và tính năng (features) cho ứng dụng ML sản xuất. Các trường hợp sử dụng điển hình bao gồm phát hiện gian lận (fraud detection), đề xuất thời gian thực (real-time recommendations), định giá động (dynamic pricing) và cá nhân hóa (personalization).

Bây giờ kho tính năng Tecton tích hợp với Redis Enterprise Cloud cho phục vụ trực tuyến (online serving), việc đưa các trường hợp sử dụng ML thông lượng cao, độ trễ thấp vào sản xuất (productionize) dễ dàng và hiệu quả về chi phí hơn bao giờ hết. Đối với người dùng Tecton chạy ở quy mô lớn, một phân tích benchmark cho thấy Redis Enterprise đạt độ trễ nhanh 3 lần trong khi cùng lúc rẻ 14 lần hơn Amazon DynamoDB (đọc thêm trên blog Tecton tại đây). Trong bài viết này, chúng ta sẽ nhìn sâu hơn vào cách Redis Enterprise và Tecton làm việc cùng nhau.

Cách Tecton tích hợp với Redis

Để hiểu nơi Tecton và Redis phù hợp nhau để cho phép ML thời gian thực, hãy xem các bước để đưa một trường hợp sử dụng ML như phát hiện gian lận vào sản xuất:

  • Trước tiên, dữ liệu thô (raw data) được yêu cầu (ví dụ: tất cả giao dịch lịch sử của người dùng + giao dịch hiện tại của họ trong thời gian thực). Dữ liệu này rất có thể phân tán qua các kho dữ liệu (data warehouses) và luồng dữ liệu (data streams) trên khắp doanh nghiệp.
  • Để tạo tính năng cho mô hình, bạn cần kết nối với các nguồn dữ liệu đó và định nghĩa cũng như thực hiện các biến đổi dữ liệu (data transformations) sẽ sản xuất ra tính năng. Ví dụ, một tính năng có thể nhìn vào số tiền giao dịch trung bình của người dùng trong sáu tháng qua và so sánh nó với giao dịch hiện tại của họ.
  • Cuối cùng, bạn cần phục vụ tính năng của mình cho mô hình ML đang làm dự đoán thời gian thực, và làm điều đó ở độ trễ dưới 100ms để người dùng không nhận thấy bất kỳ độ trễ nào.

Kho tính năng Tecton được thiết kế để xử lý các bước này, trừu tượng hóa (abstracting away) tất cả công việc điều phối biến đổi tính năng và đường ống dữ liệu để các nhóm khoa học dữ liệu (data science) và kỹ thuật dữ liệu (data engineering) của bạn có thể tập trung vào xây dựng mô hình. Tuy nhiên, Tecton không phải là động cơ tính toán (compute engine) hoặc cơ sở dữ liệu. Thay vào đó, nó nằm trên cơ sở hạ tầng mà khách hàng đã sử dụng, vì vậy bạn tự do xây dựng ngăn xếp ML phù hợp với bạn.

Redis Enterprise Cloud là một trong những thành phần cơ sở hạ tầng này, mang lại cho khách hàng một tùy chọn hiệu suất cao mới cho kho trực tuyến (online store) được sử dụng bởi Kho tính năng Tecton.

Cách Tecton sử dụng kho trực tuyến so với kho ngoại tuyến

Kho tính năng Tecton hỗ trợ hai mẫu truy cập chính cho ML: truy xuất hàng triệu hàng dữ liệu lịch sử cho huấn luyện mô hình, và truy xuất một hàng duy nhất, trong vài mili-giây, để phục vụ tính năng cho các mô hình chạy trong sản xuất. Vì các trường hợp sử dụng này khác biệt đến vậy về đánh đổi hiệu suất và chi phí, chúng tôi hỗ trợ các loại cơ sở dữ liệu khác nhau cho truy xuất tính năng ngoại tuyến (offline) so với trực tuyến (online).

Đối với kho tính năng ngoại tuyến, Tecton hỗ trợ S3, vì nó cung cấp lưu trữ hiệu quả về chi phí có thể mở rộng để đáp ứng nhu cầu phục vụ tính năng ngoại tuyến cho huấn luyện mô hình. Đối với kho tính năng trực tuyến, Tecton hiện cung cấp cho khách hàng sự lựa chọn linh hoạt giữa DynamoDB (chế độ dung lượng theo yêu cầu) và Redis Enterprise Cloud.

Loại bỏ độ chệch huấn luyện-phục vụ (training-serving skew)

Nếu không có phương pháp hai cơ sở dữ liệu này, nhiều tổ chức triển khai đường ống dữ liệu riêng biệt cho huấn luyện ngoại tuyến và phục vụ trực tuyến. Những khác biệt nhỏ về cách đường ống được triển khai có thể hoàn toàn làm hỏng hiệu suất mô hình, vì dữ liệu mà mô hình thấy trong huấn luyện không khớp với dữ liệu mà nó gặp trong sản xuất. Sự không khớp này được gọi là độ chệch huấn luyện-phục vụ (training-serving skew), và nó cực kỳ tốn thời gian để gỡ lỗi (debug).

Kho tính năng Tecton tự động giải quyết độ chệch huấn luyện-phục vụ bằng cách điều phối dữ liệu trên các môi trường ngoại tuyến và trực tuyến, vì vậy nó luôn được đồng bộ hóa. Người dùng có thể bắt đầu chỉ sử dụng kho ngoại tuyến với suy luận hàng loạt (batch inference), và một khi họ sẵn sàng cho suy luận trực tuyến, cập nhật một dòng mã duy nhất để bắt đầu hiện thực hóa (materializing) dữ liệu vào kho trực tuyến.

Lợi ích của Redis Enterprise Cloud cho người dùng Tecton

Đối với người dùng Tecton vận hành ở quy mô lớn, một trong những lợi ích chính của việc sử dụng Redis Enterprise Cloud là hiệu suất và tiết kiệm chi phí. Dựa trên phân tích benchmark phục vụ tính năng trực tuyến ở thông lượng cao, Redis nhanh hơn 3 lần và rẻ 14 lần so với DynamoDB trên Tecton.

Redis Enterprise Cloud cũng cung cấp các khả năng vận hành tuyệt vời sẵn sàng đáp ứng nhu cầu lưu trữ độ trễ thấp hiện tại và tương lai. Nó cung cấp sẵn sàng cao với SLA 99,999% uptime, nhiều tùy chọn bền bền (persistence), sao lưu (backup) và khôi phục (recovery) cho cơ sở dữ liệu. Khách hàng với tập dữ liệu tính năng lớn có thể đạt được tiết kiệm chi phí bổ sung bằng cách phân tầng kho tính năng trực tuyến trên DRAM và SSD.

Cách bắt đầu

Nếu bạn chưa sử dụng Redis Enterprise Cloud, bạn có thể đăng ký tài khoản tại đây. Chúng tôi khuyến khích người dùng Tecton triển khai Redis Enterprise Cloud trong AWS để giảm thiểu độ trễ, vì Tecton chạy nguyên sinh (natively) trong AWS và có thể thiết lập kết nối peering vào Redis Enterprise Cloud. Trong tương lai, Tecton dự định thêm hỗ trợ nguyên sinh cho các nền tảng nhà cung cấp đám mây khác.

Nếu bạn không phải là người dùng Tecton và quan tâm tìm hiểu thêm, bạn có thể đăng ký dùng thử miễn phí Tecton tại đây.