[Report][AWS Summit Online ASEAN RE:CAP 2020]Tất cả mọi thứ AI/ML: Buộc chúng lại với nhau

Khám phá cách các nhà phát triển có thể bắt đầu xây dựng các giải pháp AI đa chức năng phức tạp sử dụng học tăng cường trên AWS
2020.10.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Ngày 29/09/2020 vừa rồi đã diễn ra sự kiện AWS Summit Online ASEAN RE:CAP. Link sự kiện: https://live.awsevents.com/ASEANSummitreCap/

Chủ để của session lần này là "Các mẫu kiến trúc: Xử lý luồng không cần máy chủ ở quy mô" Diễn giả: Indrajit Ghosalkar, Solution Architect, Amazon Web Services

AWS cung cấp các dịch vụ toàn diện để hỗ trợ công việc của các nhà phát triển, nhà khoa học dữ liệu và chuyên gia ML. Trong phiên này, khám phá cách các nhà phát triển có thể bắt đầu xây dựng các giải pháp AI đa chức năng phức tạp sử dụng học tăng cường trên AWS. Chúng tôi chứng minh các khả năng này bằng trường hợp sử dụng quảng cáo nhắm mục tiêu thế hệ tiếp theo.

1. Machine Learning từ góc độ của 1 software developer

Một trong những sứ mệnh của AWS là đưa Machine Learning tới tay của mọi Developer. Thế nhưng để thực hiện được điều này, chúng ta cần phải hiểu những gì mà các Developer cần và những thách thức đối với họ.

Chúng ta thử đặt vòng đời phát triển phần mềm (SDLC) và Machine Learning cạnh nhau.

  • Bạn sẽ thấy là cả 2 quá trình đều bắt đầu từ nhu cầu kinh doanh hoặc các use case
  • Khi bước đầu đã xong, trong SDLC, bắt sẽ bắt đầu viết code.
  • Trong khi đó với ML thì mọi thứ bắt đầu bằng việc xác định nguồn dữ liệu, tìm hiểu về dữ liệu và bắt đầu thu thập dữ liệu. Sau đó bạn chuyển sang giai đoạn phân tích dữ liệu, nơi bạn bắt đầu xử lý dữ liệu, làm sạch dữ liệu, thực hiện lựa chọn tính năng, nơi mà bạn sẽ xử lý các giả trị, tính năng mất cân bằng, chuẩn hoá,...
  • Sau khi thực hiện xong bạn sẽ chuyển đến giai đoạn mô hình hoá (modeling) nơi bạn lựa chọn thuật toán cho use case của mình. Và đây sẽ là nơi bạn bắt đầu trải nghiệm các giá trị của dịch vụ AI/ML của AWS.
  • Sau đó bạn triển khai Model, tích hợp với các ứng dụng của bạn, thực hiện testing, release nó và bắt đầu vận hành nó
  • Quy trình này rất giống với các giai đoạn của SLDC

Vậy AWS có thể giúp gì ở đây? Có thể chia quá trình của AI/ML thành 2 quá trình với các dịch vụ hỗ trợ như sau: 1 là Phân tích dữ liệu, 2 là học máy

Ở đây bạn có thể thấy các công cụ và dịch vụ toàn diện nhất bạn có thể tìm thấy được cho các use case về AI/ML của mình. Tại AWS, chúng tôi chia AI/ML thành 3 lớp chính:

  • Ở lớp dưới cùng là các Framework và cơ sở hạ tầng cho những cá nhân như Data Scientist có thể thoải mái xây dựng và sử dụng nền tảng Machine Learning của riêng họ
  • Ở giữa có lớp các dịch vụ ML giúp cho các ML Developer và Data Scientist có thể dễ dàng build, train và deploy các ML model chỉ bằng 1 cú nhấp chuột với Amazon SageMaker.
  • Ở lớp trên cùng là các dịch vụ AI cho các Developer sử dụng các model đã được train từ trước và được train tự động để add-on vào bất kì ứng dụng nào mà ta không cần đến các chuyên gia về Machine Learning

2. Use case

Use case 1: Phân tích phương tiện truyền thông không cần máy chủ  (Dành cho người dùng thông thường)

Hãy tưởng tượng bạn đang xem 1 bộ phim hoặc 1 tin tức hàng ngày và bạn thực sự thích chiếc áo khoác mà nam MC này đang mặc hoặc chiếc túi mà nữ diễn viên kia đang mang. Hãy tưởng tượng bạn có thể chọn quảng cáo, chương trình bạn muốn xem, và chỉ cần nhấp chuột là có thể nhận được thông báo về nơi có thể mua được sản phẩm đó.

Thực tế Demo: Xem 1 video trên youtube, chụp ảnh chiếc áo và ứng dụng sẽ đề xuất link trang web nơi có thế mua áo

Trang web hiện ra:

Kiến trúc ứng dụng 3 lớp điển hình:

  • Chúng ta có một front-end là ứng dụng Web đơn giản hoặc nó có thể là 1 single-page application được lưu trữ trên S3, được hỗ trợ bởi Cloudfront, là dịch vụ CDN. Hoặc là 1 ứng dụng di động
  • Lớp middleware mà ở trường hợp này chủ yếu là Lambda, dịch vụ compute serverless của AWS. Ở đây là trung tâm của việc xử lý logic
  • Và cuối cùng nhưng cũng không kém phần quan trọng là 2 dịch vụ chính để thực hiện giải pháp này là Amazon Rekognition và Amazon Personalize.

Vậy điều gì sẽ xảy ra khi bạn nhấp vào nút nhận các đề xuất?

  • Nó sẽ gọi một API được host trên dịch vụ API Gateway. API Gateway có thể tích hợp với Lambda.
  • Khi Lambda functions được kích hoạt thì API detect label của Rekognition sẽ thực hiện việc extract metadata từ image được upload lên S3.
  • Việc xử lý sâu hơn sẽ được thực hiện bởi Lambda functions để truyền item ID tới Personalize, nơi mà các khuyến nghị sẽ được tạo nên.

Như vậy, bạn có thể hình dung về ý tưởng của giải pháp này. Tiếp theo chúng ta sẽ đi sâu vào Amazon Personalize

Amazon Personalize

Amazon Personalize là dịch vụ được quản lý hoàn toàn bởi AWS để tạo ra các đề xuất được cá nhân hoá. Personalize có thể được sử dụng bởi tất cả các Developer mà không cần đến các chuyên gia về Machine Learning. Nếu bạn nhìn vào sơ đồ sau, chúng ta bắt đầu bằng việc cung cấp 3 loại data set khác nhau:

  • Tương tác của người dùng
  • Danh mục chi tiết về các mặt hàng của bạn
  • Chi tiết về người dùng

Khi đã có được các data set này thì sẽ rất đơn giản để có được model cá nhân hoá được train bởi dịch vụ Amazon Personalize và sau đó trả lại các đề xuất thông qua các real-time API. Toàn bộ các quá trình trên có thể được hoàn toàn xử lý chỉ với 5 lệnh gọi API mà thôi.

Cùng quay trở lại một chút với kiến trúc của Use case 1. Chúng ta đã xây dựng một ứng dụng serverless bằng cách sử dụng các dịch vụ AI của AWS. Bạn có thể thấy nhiệm vụ của AWS là đưa ML tới tay của tất cả Developer sắp thành sự thật vì trong toàn bộ use case chúng ta hoàn toàn không cần phải lo lắng về các thuật toán ML phức tạp, hay làm thế nào để xây dựng được CNN để xây dựng hình ảnh, quản lý máy chủ, mạng, lưu trữ và nhiều tác vụ khác.

Use case 2: Học máy liền mạch cho ứng dụng doanh nghiệp (Tập trung vào nhu cầu của doanh nghiệp lớn)

SAP là một công ty hàng đầu thế giới về ứng dụng cho doanh nghiệp. Hãy cùng nhìn vào kiến trúc sau:

  • Ở bên trái bạn sẽ thấy một mô hình triển khai SAP tiêu chuẩn trên AWS có lớp HANA là database và Netweaver là lớp ứng dụng cũng như các module chức năng khác như kinh doanh, quản lý vật liệu,...
  • Ở bên phải bạn sẽ thấy dịch vụ AWS bao gồm Sagemaker, Lambda, API Gateway và các dịch vụ khác được sử dụng để kết nối với SAP

Với các doanh nghiệp trong ngành logicstic hoặc supply chains, hoặc bất kì ngành công nghiệp nào cần biết hoặc lên kế hoạch cho các mặt hàng trong inventory của họ, ta sẽ có một số vấn đề về hồi quy trong ML. Trong demo này, tôi lấy ví dụ về một công ty cho thuê xe đạp đang xử dụng SAP làm ứng dụng ERP (Enterprise resource planning) của họ. Và họ cần dự đoán về số lượng xe đạp sẽ được thuê trong 1 khoảng thời gian cụ thể.

  • Giai đoạn 1: thu thập và phân tích dữ liệu (Sử dụng SageMaker)

  • Giai đoạn 2: Khi endpoint đã sẵn sàng, chúng ta sẽ cần tạo 1 Lambda Function để được API Gateway gọi tới.

Amazon SageMaker

Amazon SageMaker là dịch vụ được quản lý hoàn toàn bởi AWS, từ đó loại bỏ sự phức tạp từ mỗi bước của quy trình học máy. Kể từ khi ra mắt, AWS đã thường xuyển bổ sung các tính năng mới với hơn 50 tính năng mới được cập nhật trong vòng 12 tháng qua.

3. Kết luận

Chúng ta đã cùng tìm hiểu về life circle của ML, cùng tìm hiểu 2 use case thú vị bằng cách sử dụng các dịch vụ AWS AI/ML. Nếu bạn thấy thú vị và muốn tìm hiểu thêm.. Hay truy cập đường link của sự kiện và tìm video của session "Tất cả mọi thứ AI/ML: Buộc chúng lại với nhau"