Làm phong phú các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker

Làm phong phú các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker

Bài đăng này được đồng tác giả bởi Marios Skevofylakas, Jason Ramchandani và Haykaz Aramyan từ Refinitiv, An LSEG Business.

Các nhà cung cấp dịch vụ tài chính thường cần xác định các tin tức có liên quan, phân tích tin tức đó, trích xuất thông tin chuyên sâu và thực hiện các hành động trong thời gian thực, chẳng hạn như giao dịch các công cụ cụ thể (chẳng hạn như hàng hóa, cổ phiếu, quỹ) dựa trên thông tin bổ sung hoặc ngữ cảnh của mục tin tức. Một phần thông tin bổ sung như vậy (mà chúng tôi sử dụng làm ví dụ trong bài đăng này) là cảm xúc của tin tức.

Thư viện dữ liệu Refinitiv (RD) cung cấp một bộ giao diện toàn diện để truy cập thống nhất vào Danh mục dữ liệu Refinitiv. Thư viện cung cấp nhiều lớp trừu tượng cung cấp các phong cách và kỹ thuật lập trình khác nhau phù hợp với tất cả các nhà phát triển, từ truy cập thời gian thực, độ trễ thấp đến nhập hàng loạt dữ liệu Refinitiv.

Trong bài đăng này, chúng tôi trình bày một kiến ​​trúc AWS nguyên mẫu giúp nhập các nguồn cấp tin tức của chúng tôi bằng cách sử dụng Thư viện RD và nâng cao chúng bằng các dự đoán mô hình máy học (ML) bằng cách sử dụng Amazon SageMaker, một dịch vụ ML được quản lý hoàn toàn từ AWS.

Trong nỗ lực thiết kế một kiến ​​trúc mô-đun có thể được sử dụng trong nhiều trường hợp sử dụng khác nhau, chẳng hạn như phân tích tình cảm, nhận dạng thực thể được đặt tên, v.v., bất kể mô hình ML được sử dụng để nâng cao là gì, chúng tôi đã quyết định tập trung vào không gian thời gian thực. Lý do cho quyết định này là các trường hợp sử dụng thời gian thực thường phức tạp hơn và cũng có thể sử dụng cùng một kiến ​​trúc, với các điều chỉnh tối thiểu, để suy luận hàng loạt. Trong trường hợp sử dụng của mình, chúng tôi triển khai một kiến ​​trúc nhập nguồn cấp tin tức thời gian thực của mình, tính toán cảm tính trên từng tiêu đề tin tức bằng ML và phân phát lại nguồn cấp dữ liệu nâng cao AI thông qua kiến ​​trúc nhà xuất bản/người đăng ký.

Ngoài ra, để trình bày một cách toàn diện và có thể tái sử dụng để sản xuất các mô hình ML bằng cách áp dụng các phương pháp MLOps, chúng tôi giới thiệu khái niệm cơ sở hạ tầng dưới dạng mã (IaC) trong toàn bộ vòng đời MLOps của nguyên mẫu. Bằng cách sử dụng Terraform và một tập lệnh có thể định cấu hình điểm nhập duy nhất, chúng tôi có thể khởi tạo toàn bộ cơ sở hạ tầng, ở chế độ sản xuất, trên AWS chỉ trong vài phút.

Trong giải pháp này, chúng tôi không đề cập đến khía cạnh MLOps của việc phát triển, đào tạo và triển khai các mô hình riêng lẻ. Nếu bạn muốn tìm hiểu thêm về điều này, hãy tham khảo Lộ trình nền tảng MLOps cho các doanh nghiệp với Amazon SageMaker, giải thích chi tiết khuôn khổ để xây dựng mô hình, đào tạo và triển khai theo các phương pháp hay nhất.

Tổng quan về giải pháp

Trong nguyên mẫu này, chúng tôi tuân theo phương pháp cung cấp hoàn toàn tự động theo IaC thực hành tốt nhất. IaC là quá trình cung cấp tài nguyên theo chương trình bằng cách sử dụng các tập lệnh tự động thay vì sử dụng các công cụ cấu hình tương tác. Tài nguyên có thể là cả phần cứng và phần mềm cần thiết. Trong trường hợp của chúng tôi, chúng tôi sử dụng Terraform để hoàn thành việc triển khai một điểm vào có thể định cấu hình duy nhất có thể tự động tạo ra toàn bộ cơ sở hạ tầng mà chúng tôi cần, bao gồm các chính sách bảo mật và truy cập, cũng như giám sát tự động. Với điểm đầu vào duy nhất này kích hoạt một tập hợp các tập lệnh Terraform, một tập lệnh cho mỗi dịch vụ hoặc thực thể tài nguyên, chúng tôi có thể tự động hóa hoàn toàn vòng đời của tất cả hoặc một phần các thành phần của kiến ​​trúc, cho phép chúng tôi triển khai kiểm soát chi tiết cả trên DevOps cũng như trên phía MLOps. Sau khi Terraform được cài đặt và tích hợp đúng cách với AWS, chúng tôi có thể sao chép hầu hết các thao tác có thể thực hiện trên bảng điều khiển dịch vụ AWS.

Sơ đồ sau minh họa kiến ​​trúc giải pháp của chúng tôi.

Làm phong phú thêm các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Kiến trúc bao gồm ba giai đoạn: nhập, làm phong phú và xuất bản. Trong giai đoạn đầu tiên, các nguồn cấp dữ liệu thời gian thực được nhập vào một Đám mây điện toán đàn hồi Amazon (Amazon EC2) được tạo thông qua AMI sẵn sàng cho Thư viện dữ liệu Refinitiv. Phiên bản này cũng kết nối với luồng dữ liệu thông qua Luồng dữ liệu Amazon Kinesis, điều này kích hoạt một AWS Lambda chức năng.

Trong giai đoạn thứ hai, chức năng Lambda được kích hoạt từ Luồng dữ liệu Kinesis kết nối và gửi tiêu đề tin tức đến SageMaker FinBERT điểm cuối, trả về cảm tính được tính toán cho mục tin tức. Cảm tính được tính toán này là sự phong phú trong dữ liệu thời gian thực mà hàm Lambda sau đó bao bọc mục tin tức và lưu trữ trong một Máy phát điện Amazon bảng.

Trong giai đoạn thứ ba của kiến ​​trúc, luồng DynamoDB kích hoạt chức năng Lambda trên các phần chèn mục mới, chức năng này được tích hợp với một Máy chủ Amazon MQ đang chạy RabbitMQ, phục vụ lại luồng nâng cao AI.

Quyết định về thiết kế kỹ thuật ba giai đoạn này, thay vì lớp Lambda đầu tiên giao tiếp trực tiếp với máy chủ Amazon MQ hoặc triển khai nhiều chức năng hơn trong phiên bản EC2, được đưa ra để cho phép khám phá các kiến ​​trúc thiết kế AI phức tạp hơn, ít ghép nối hơn trong tương lai.

Xây dựng và triển khai nguyên mẫu

Chúng tôi trình bày nguyên mẫu này trong một loạt ba bản thiết kế chi tiết. Trong mỗi bản thiết kế và cho mọi dịch vụ được sử dụng, bạn sẽ tìm thấy thông tin tổng quan và thông tin liên quan về triển khai kỹ thuật của nó cũng như các tập lệnh Terraform cho phép bạn tự động khởi động, định cấu hình và tích hợp dịch vụ với phần còn lại của cấu trúc. Ở cuối mỗi kế hoạch chi tiết, bạn sẽ tìm thấy hướng dẫn về cách đảm bảo rằng mọi thứ đang hoạt động như mong đợi cho đến từng giai đoạn. Các bản thiết kế như sau:

Để bắt đầu triển khai nguyên mẫu này, chúng tôi khuyên bạn nên tạo một môi trường Python mới dành riêng cho nó và cài đặt các gói và công cụ cần thiết riêng biệt với các môi trường khác mà bạn có thể có. Để làm như vậy, hãy tạo và kích hoạt môi trường mới trong Anaconda bằng các lệnh sau:

conda create —name rd_news_aws_terraform python=3.7
conda activate rd_news_aws_terraform

Bây giờ chúng ta đã sẵn sàng để cài đặt Giao diện dòng lệnh AWS (AWS CLI) bộ công cụ sẽ cho phép chúng tôi xây dựng tất cả các tương tác có lập trình cần thiết trong và giữa các dịch vụ AWS:

pip install awscli

Bây giờ AWS CLI đã được cài đặt, chúng ta cần cài đặt Terraform. HashiCorp cung cấp cho Terraform một trình cài đặt nhị phân mà bạn có thể tải về và cài đặt.

Sau khi bạn đã cài đặt cả hai công cụ, hãy đảm bảo rằng chúng hoạt động bình thường bằng cách sử dụng các lệnh sau:

terraform -help
AWS – version

Bây giờ bạn đã sẵn sàng để làm theo các bản thiết kế chi tiết về từng giai đoạn trong ba giai đoạn triển khai.

Bản thiết kế này đại diện cho các giai đoạn ban đầu của kiến ​​trúc cho phép chúng tôi nhập các nguồn cấp tin tức theo thời gian thực. Nó bao gồm các thành phần sau:

  • Amazon EC2 đang chuẩn bị phiên bản của bạn để nhập RD News – Phần này thiết lập phiên bản EC2 theo cách cho phép kết nối với API Thư viện RD và luồng thời gian thực. Chúng tôi cũng chỉ ra cách lưu hình ảnh của phiên bản đã tạo để đảm bảo khả năng sử dụng lại và khả năng mở rộng của nó.
  • Nhập tin tức thời gian thực từ Amazon EC2 – Triển khai chi tiết các cấu hình cần thiết để cho phép Amazon EC2 kết nối Thư viện RD cũng như các tập lệnh để bắt đầu quá trình nhập.
  • Tạo và khởi chạy Amazon EC2 từ AMI – Khởi chạy một phiên bản mới bằng cách chuyển đồng thời các tệp nhập sang phiên bản mới được tạo, tất cả đều tự động sử dụng Terraform.
  • Tạo luồng dữ liệu Kinesis – Phần này cung cấp thông tin tổng quan về Luồng dữ liệu Kinesis và cách thiết lập luồng trên AWS.
  • Kết nối và đẩy dữ liệu tới Kinesis – Sau khi mã nhập đang hoạt động, chúng tôi cần kết nối mã đó và gửi dữ liệu tới luồng Kinesis.
  • Thử nghiệm nguyên mẫu cho đến nay - Chúng tôi sử dụng amazoncloudwatch và các công cụ dòng lệnh để xác minh rằng nguyên mẫu đang hoạt động cho đến thời điểm này và chúng tôi có thể tiếp tục với kế hoạch chi tiết tiếp theo. Nhật ký của dữ liệu đã nhập sẽ giống như ảnh chụp màn hình sau.

Làm phong phú thêm các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Trong kế hoạch chi tiết thứ hai này, chúng tôi tập trung vào phần chính của kiến ​​trúc: hàm Lambda thu nạp và phân tích luồng mục tin tức, gắn suy luận AI vào luồng đó và lưu trữ luồng đó để sử dụng tiếp. Nó bao gồm các thành phần sau:

  • Lambda – Xác định cấu hình Lambda Terraform cho phép nó kết nối với điểm cuối SageMaker.
  • Amazon S3 – Để triển khai Lambda, chúng tôi cần tải mã thích hợp lên Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) và cho phép hàm Lambda nhập nó vào môi trường của nó. Phần này mô tả cách chúng ta có thể sử dụng Terraform để thực hiện điều đó.
  • Triển khai hàm Lambda: Bước 1, Xử lý sự kiện Kinesis – Trong phần này, chúng ta bắt đầu xây dựng hàm Lambda. Ở đây, chúng tôi chỉ xây dựng phần trình xử lý phản hồi luồng dữ liệu Kinesis.
  • SageMaker – Trong nguyên mẫu này, chúng tôi sử dụng mô hình Hugging Face được đào tạo trước mà chúng tôi lưu trữ vào điểm cuối SageMaker. Ở đây, chúng tôi trình bày cách đạt được điều này bằng cách sử dụng tập lệnh Terraform và cách tích hợp thích hợp diễn ra để cho phép các điểm cuối SageMaker và hàm Lambda hoạt động cùng nhau.
    • Tại thời điểm này, thay vào đó, bạn có thể sử dụng bất kỳ mô hình nào khác mà bạn đã phát triển và triển khai phía sau điểm cuối SageMaker. Một mô hình như vậy có thể cung cấp một cải tiến khác cho dữ liệu tin tức gốc, dựa trên nhu cầu của bạn. Theo tùy chọn, điều này có thể được ngoại suy cho nhiều mô hình để có nhiều cải tiến nếu có. Nhờ phần còn lại của kiến ​​trúc, bất kỳ mô hình nào như vậy sẽ làm phong phú nguồn dữ liệu của bạn trong thời gian thực.
  • Xây dựng hàm Lambda: Bước 2, Gọi điểm cuối SageMaker – Trong phần này, chúng tôi xây dựng chức năng Lambda ban đầu của mình bằng cách thêm khối SageMaker để có tiêu đề tin tức nâng cao tình cảm bằng cách gọi điểm cuối SageMaker.
  • Máy phát điện – Cuối cùng, khi AI suy luận nằm trong bộ nhớ của hàm Lambda, nó sẽ nhóm lại mục đó và gửi mục đó đến một bảng DynamoDB để lưu trữ. Ở đây, chúng tôi thảo luận về cả mã Python thích hợp cần thiết để thực hiện điều đó, cũng như các tập lệnh Terraform cần thiết cho phép các tương tác này.
  • Xây dựng hàm Lambda: Bước 3, Đẩy dữ liệu nâng cao vào DynamoDB – Tại đây, chúng ta tiếp tục xây dựng hàm Lambda bằng cách thêm phần cuối cùng để tạo mục nhập trong bảng Dynamo.
  • Thử nghiệm nguyên mẫu cho đến nay – Chúng ta có thể điều hướng đến bảng DynamoDB trên bảng điều khiển DynamoDB để xác minh rằng các tính năng nâng cao của chúng ta đang xuất hiện trong bảng.

Làm phong phú thêm các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Kế hoạch chi tiết thứ ba này hoàn thiện nguyên mẫu này. Nó tập trung vào việc phân phối lại mục dữ liệu nâng cao AI mới được tạo tới máy chủ RabbitMQ trong Amazon MQ, cho phép người tiêu dùng kết nối và truy xuất các mục tin tức nâng cao trong thời gian thực. Nó bao gồm các thành phần sau:

  • Luồng DynamoDB – Khi mục tin tức nâng cao có trong DynamoDB, chúng tôi thiết lập một sự kiện được kích hoạt mà sau đó có thể được ghi lại từ chức năng Lambda thích hợp.
  • Viết nhà sản xuất Lambda – Hàm Lambda này ghi lại sự kiện và đóng vai trò là nhà sản xuất luồng RabbitMQ. Chức năng mới này giới thiệu khái niệm về các lớp Lambda vì nó sử dụng các thư viện Python để triển khai chức năng của nhà sản xuất.
  • Người tiêu dùng Amazon MQ và RabbitMQ – Bước cuối cùng của nguyên mẫu là thiết lập dịch vụ RabbitMQ và triển khai một ứng dụng tiêu dùng mẫu sẽ kết nối với luồng tin nhắn và nhận các mục tin tức nâng cao AI.
  • Thử nghiệm cuối cùng của nguyên mẫu – Chúng tôi sử dụng quy trình từ đầu đến cuối để xác minh rằng nguyên mẫu hoạt động hoàn toàn, từ quá trình nhập đến phân phát lại và sử dụng luồng mới được tăng cường AI.

Ở giai đoạn này, bạn có thể xác thực rằng mọi thứ đã hoạt động bằng cách điều hướng đến bảng điều khiển RabbitMQ, như minh họa trong ảnh chụp màn hình sau.

Làm phong phú thêm các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Trong kế hoạch chi tiết cuối cùng, bạn cũng tìm thấy một vectơ thử nghiệm chi tiết để đảm bảo rằng toàn bộ kiến ​​trúc đang hoạt động theo kế hoạch.

Kết luận

Trong bài đăng này, chúng tôi đã chia sẻ một giải pháp sử dụng ML trên đám mây với các dịch vụ AWS như SageMaker (ML), Lambda (không có máy chủ) và Kinesis Data Streams (truyền trực tuyến) để làm phong phú dữ liệu tin tức truyền trực tuyến do Thư viện dữ liệu Refinitiv cung cấp. Giải pháp thêm điểm số tình cảm vào các mục tin tức trong thời gian thực và chia tỷ lệ cơ sở hạ tầng bằng cách sử dụng mã.

Lợi ích của kiến ​​trúc mô-đun này là bạn có thể sử dụng lại nó với mô hình của riêng mình để thực hiện các loại tăng cường dữ liệu khác, theo cách không cần máy chủ, có thể mở rộng và tiết kiệm chi phí có thể được áp dụng trên Thư viện dữ liệu Refinitiv. Điều này có thể tăng thêm giá trị cho quy trình giao dịch/đầu tư/quản lý rủi ro.

Nếu bạn có bất kỳ ý kiến ​​hoặc câu hỏi nào, vui lòng để lại trong phần bình luận.

Thông Tin Liên Quan


 Về các tác giả

Làm phong phú thêm các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Marios Skevofylakas đến từ nền tảng dịch vụ tài chính, ngân hàng đầu tư và công nghệ tư vấn. Ông có bằng Tiến sĩ kỹ thuật. về Trí tuệ nhân tạo và bằng M.Sc. trong Thị giác máy. Trong suốt sự nghiệp của mình, anh ấy đã tham gia vào nhiều dự án AI và DLT đa ngành. Anh ấy hiện là Người ủng hộ nhà phát triển của Refinitiv, một doanh nghiệp LSEG, tập trung vào các ứng dụng AI và Lượng tử trong các dịch vụ tài chính.

Làm phong phú thêm các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Jason Ramchandani đã làm việc tại Refinitiv, một Doanh nghiệp LSEG, trong 8 năm với tư cách là Người ủng hộ nhà phát triển chính giúp xây dựng Cộng đồng nhà phát triển của họ. Trước đây, ông đã làm việc trong thị trường tài chính hơn 15 năm với nền tảng định lượng trong không gian liên kết vốn chủ sở hữu/vốn chủ sở hữu tại Okasan Securities, Sakura Finance và Jefferies LLC. Trường cũ của anh ấy là UCL.

Làm phong phú thêm các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Haykaz Aramyan xuất thân từ nền tảng tài chính và công nghệ. Ông có bằng tiến sĩ. về Tài chính, và bằng M.Sc. về Tài chính, Công nghệ và Chính sách. Qua 10 năm kinh nghiệm chuyên môn, Haykaz đã làm việc trong một số dự án đa ngành liên quan đến lương hưu, quỹ đầu tư mạo hiểm và khởi nghiệp công nghệ. Anh ấy hiện là Người ủng hộ nhà phát triển của Refinitiv, một doanh nghiệp LSEG, tập trung vào các ứng dụng AI trong các dịch vụ tài chính.

Làm phong phú thêm các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Georgios Schinas là Kiến trúc sư giải pháp chuyên gia cao cấp về AI/ML ở khu vực EMEA. Anh ấy có trụ sở tại London và làm việc chặt chẽ với các khách hàng ở Vương quốc Anh và Ireland. Georgios giúp khách hàng thiết kế và triển khai các ứng dụng machine learning trong quá trình sản xuất trên AWS với mối quan tâm đặc biệt đến các phương pháp MLOps và cho phép khách hàng thực hiện machine learning trên quy mô lớn. Khi rảnh rỗi, anh ấy thích đi du lịch, nấu ăn và dành thời gian cho bạn bè và gia đình.

Làm phong phú thêm các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Muthuvelan Swaminathan là một Kiến trúc sư giải pháp doanh nghiệp có trụ sở tại New York. Anh ấy làm việc với các khách hàng doanh nghiệp để cung cấp hướng dẫn về kiến ​​trúc trong việc xây dựng các giải pháp sáng tạo, linh hoạt, tiết kiệm chi phí nhằm đáp ứng nhu cầu kinh doanh của họ và giúp họ triển khai trên quy mô lớn bằng cách sử dụng các sản phẩm và dịch vụ của AWS.

Làm phong phú thêm các luồng tin tức theo thời gian thực với Thư viện dữ liệu Refinitiv, dịch vụ AWS và Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Mayur Udernani lãnh đạo hoạt động kinh doanh AWS AI & ML với các doanh nghiệp thương mại ở Vương quốc Anh và Ireland. Với vai trò của mình, Mayur dành phần lớn thời gian của mình với khách hàng và đối tác để giúp tạo ra các giải pháp có tác động nhằm giải quyết các nhu cầu cấp thiết nhất của khách hàng hoặc cho một ngành rộng lớn hơn bằng cách tận dụng các dịch vụ AWS Cloud, AI & ML. Mayur sống ở khu vực Luân Đôn. Ông có bằng MBA của Học viện Quản lý Ấn Độ và bằng Cử nhân Kỹ thuật Máy tính của Đại học Mumbai.

Dấu thời gian:

Thêm từ Học máy AWS