Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker

Posting ini ditulis bersama oleh Marios Skevofylakas, Jason Ramchandani, dan Haykaz Aramyan dari Refinitiv, An LSEG Business.

Penyedia layanan keuangan seringkali perlu mengidentifikasi berita yang relevan, menganalisisnya, menggali wawasan, dan mengambil tindakan secara real time, seperti memperdagangkan instrumen tertentu (seperti komoditas, saham, dana) berdasarkan informasi tambahan atau konteks berita. Salah satu informasi tambahan tersebut (yang kami gunakan sebagai contoh dalam postingan ini) adalah sentimen dari berita tersebut.

Pustaka Refinitiv Data (RD) menyediakan serangkaian antarmuka yang komprehensif untuk akses seragam ke Katalog Data Refinitiv. Pustaka ini menawarkan banyak lapisan abstraksi yang menyediakan berbagai gaya dan teknik pemrograman yang cocok untuk semua pengembang, mulai dari akses real-time latensi rendah hingga penyerapan batch data Refinitiv.

Dalam postingan ini, kami menyajikan prototipe arsitektur AWS yang menyerap umpan berita kami menggunakan Perpustakaan RD dan menyempurnakannya dengan prediksi model pembelajaran mesin (ML) menggunakan Amazon SageMaker, layanan ML yang dikelola sepenuhnya dari AWS.

Dalam upaya merancang arsitektur modular yang dapat digunakan dalam berbagai kasus penggunaan, seperti analisis sentimen, pengenalan entitas bernama, dan lainnya, terlepas dari model ML yang digunakan untuk penyempurnaan, kami memutuskan untuk fokus pada ruang real-time. Alasan untuk keputusan ini adalah bahwa kasus penggunaan real-time umumnya lebih kompleks dan arsitektur yang sama juga dapat digunakan, dengan sedikit penyesuaian, untuk inferensi batch. Dalam kasus penggunaan kami, kami menerapkan arsitektur yang menyerap feed berita real-time kami, menghitung sentimen pada setiap tajuk berita menggunakan ML, dan menayangkan ulang feed yang disempurnakan AI melalui arsitektur penerbit/pelanggan.

Selain itu, untuk menghadirkan cara yang komprehensif dan dapat digunakan kembali untuk memproduksi model ML dengan mengadopsi praktik MLOps, kami memperkenalkan konsep infrastruktur sebagai kode (IaC) selama seluruh siklus hidup prototipe MLOps. Dengan menggunakan Terraform dan satu skrip yang dapat dikonfigurasi titik masuk, kami dapat membuat instance seluruh infrastruktur, dalam mode produksi, di AWS hanya dalam beberapa menit.

Dalam solusi ini, kami tidak membahas aspek MLOps dari pengembangan, pelatihan, dan penerapan model individual. Jika Anda tertarik mempelajari lebih lanjut tentang ini, lihat Peta jalan dasar MLOps untuk perusahaan dengan Amazon SageMaker, yang menjelaskan secara rinci kerangka kerja untuk pembuatan model, pelatihan, dan penyebaran mengikuti praktik terbaik.

Ikhtisar solusi

Dalam prototipe ini, kami mengikuti metodologi penyediaan yang sepenuhnya otomatis sesuai dengan IaC Praktik Terbaik. IaC adalah proses penyediaan sumber daya secara terprogram menggunakan skrip otomatis daripada menggunakan alat konfigurasi interaktif. Sumber daya dapat berupa perangkat keras dan perangkat lunak yang dibutuhkan. Dalam kasus kami, kami menggunakan Terraform untuk menyelesaikan penerapan satu titik masuk yang dapat dikonfigurasi yang dapat secara otomatis menjalankan seluruh infrastruktur yang kami butuhkan, termasuk kebijakan keamanan dan akses, serta pemantauan otomatis. Dengan satu titik masuk yang memicu kumpulan skrip Terraform, satu per layanan atau entitas sumber daya, kami dapat sepenuhnya mengotomatiskan siklus hidup semua atau sebagian komponen arsitektur, memungkinkan kami menerapkan kontrol granular baik di DevOps maupun sisi MLOps. Setelah Terraform dipasang dan diintegrasikan dengan benar dengan AWS, kami dapat mereplikasi sebagian besar operasi yang dapat dilakukan di dasbor layanan AWS.

Diagram berikut menggambarkan arsitektur solusi kami.

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Arsitektur terdiri dari tiga tahap: konsumsi, pengayaan, dan penerbitan. Selama tahap pertama, umpan real-time diserap di sebuah Cloud komputasi elastis Amazon (Amazon EC2) yang dibuat melalui AMI yang mendukung Perpustakaan Data Refinitiv. Instance juga terhubung ke aliran data melalui Aliran Data Amazon Kinesis, yang memicu AWS Lambda fungsi.

Pada tahap kedua, fungsi Lambda yang dipicu dari Kinesis Data Streams terhubung ke dan mengirimkan berita utama ke SageMaker FinBERT titik akhir, yang mengembalikan sentimen terhitung untuk item berita. Sentimen yang diperhitungkan ini adalah pengayaan data real-time yang kemudian dibungkus oleh fungsi Lambda dengan item berita dan disimpan dalam sebuah Amazon DynamoDB tabel.

Pada tahap ketiga arsitektur, aliran DynamoDB memicu fungsi Lambda pada penyisipan item baru, yang terintegrasi dengan Server Amazon MQ menjalankan RabbitMQ, yang melayani ulang aliran AI yang ditingkatkan.

Keputusan tentang desain teknik tiga tahap ini, daripada lapisan Lambda pertama yang berkomunikasi langsung dengan server Amazon MQ atau mengimplementasikan lebih banyak fungsi dalam instans EC2, dibuat untuk memungkinkan eksplorasi arsitektur desain AI yang lebih kompleks dan kurang digabungkan di masa mendatang.

Membangun dan menerapkan prototipe

Kami menyajikan prototipe ini dalam rangkaian tiga cetak biru terperinci. Di setiap cetak biru dan untuk setiap layanan yang digunakan, Anda akan menemukan ikhtisar dan informasi yang relevan tentang implementasi teknisnya serta skrip Terraform yang memungkinkan Anda memulai, mengonfigurasi, dan mengintegrasikan layanan secara otomatis dengan struktur lainnya. Di akhir setiap cetak biru, Anda akan menemukan petunjuk tentang cara memastikan semuanya bekerja seperti yang diharapkan hingga setiap tahap. Cetak biru tersebut adalah sebagai berikut:

Untuk memulai penerapan prototipe ini, kami menyarankan untuk membuat lingkungan Python baru yang didedikasikan untuknya dan menginstal paket dan alat yang diperlukan secara terpisah dari lingkungan lain yang mungkin Anda miliki. Untuk melakukannya, buat dan aktifkan lingkungan baru di Anaconda menggunakan perintah berikut:

conda create โ€”name rd_news_aws_terraform python=3.7
conda activate rd_news_aws_terraform

Kami sekarang siap untuk menginstal Antarmuka Baris Perintah AWS (AWS CLI) toolset yang memungkinkan kami membangun semua interaksi terprogram yang diperlukan di dalam dan di antara layanan AWS:

pip install awscli

Sekarang setelah AWS CLI terinstal, kita perlu menginstal Terraform. HashiCorp menyediakan Terraform dengan penginstal biner, yang bisa Anda lakukan Download dan instal.

Setelah Anda menginstal kedua alat, pastikan keduanya bekerja dengan benar menggunakan perintah berikut:

terraform -help
AWS โ€“ version

Anda sekarang siap untuk mengikuti cetak biru terperinci pada masing-masing dari tiga tahap implementasi.

Cetak biru ini merepresentasikan tahap awal arsitektur yang memungkinkan kita mencerna feed berita real-time. Ini terdiri dari komponen-komponen berikut:

  • Amazon EC2 mempersiapkan instans Anda untuk penyerapan RD News โ€“ Bagian ini menyiapkan instans EC2 sedemikian rupa sehingga memungkinkan koneksi ke RD Libraries API dan aliran real-time. Kami juga menunjukkan cara menyimpan gambar instance yang dibuat untuk memastikan ketergunaan kembali dan skalabilitasnya.
  • Penyerapan berita waktu nyata dari Amazon EC2 โ€“ Implementasi terperinci dari konfigurasi yang diperlukan untuk memungkinkan Amazon EC2 menghubungkan Perpustakaan RD serta skrip untuk memulai penyerapan.
  • Membuat dan meluncurkan Amazon EC2 dari AMI โ€“ Luncurkan instans baru dengan mentransfer file penyerapan secara bersamaan ke instans yang baru dibuat, semuanya secara otomatis menggunakan Terraform.
  • Membuat aliran data Kinesis โ€“ Bagian ini memberikan ikhtisar tentang Kinesis Data Streams dan cara menyiapkan streaming di AWS.
  • Menghubungkan dan mendorong data ke Kinesis โ€“ Setelah kode penyerapan berfungsi, kita perlu menghubungkannya dan mengirim data ke aliran Kinesis.
  • Menguji prototipe sejauh ini - Kita gunakan amazoncloudwatch dan alat baris perintah untuk memverifikasi bahwa prototipe berfungsi hingga saat ini dan kami dapat melanjutkan ke cetak biru berikutnya. Log data yang diserap akan terlihat seperti tangkapan layar berikut.

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Dalam cetak biru kedua ini, kami berfokus pada bagian utama arsitektur: fungsi Lambda yang mencerna dan menganalisis aliran item berita, melampirkan inferensi AI ke dalamnya, dan menyimpannya untuk digunakan lebih lanjut. Ini mencakup komponen-komponen berikut:

  • Lambda โ€“ Tentukan konfigurasi Terraform Lambda yang memungkinkannya terhubung ke titik akhir SageMaker.
  • Amazon S3 โ€“ Untuk mengimplementasikan Lambda, kita perlu mengunggah kode yang sesuai ke Layanan Penyimpanan Sederhana Amazon (Amazon S3) dan izinkan fungsi Lambda menyerapnya di lingkungannya. Bagian ini menjelaskan bagaimana kita dapat menggunakan Terraform untuk melakukannya.
  • Menerapkan fungsi Lambda: Langkah 1, Menangani kejadian Kinesis โ€“ Di bagian ini, kita mulai membuat fungsi Lambda. Di sini, kami membuat bagian penangan respons aliran data Kinesis saja.
  • SageMaker โ€“ Dalam prototipe ini, kami menggunakan model Wajah Memeluk terlatih yang kami simpan ke titik akhir SageMaker. Di sini, kami menyajikan bagaimana hal ini dapat dicapai dengan menggunakan skrip Terraform dan bagaimana integrasi yang sesuai terjadi untuk memungkinkan titik akhir SageMaker dan fungsi Lambda bekerja sama.
    • Pada titik ini, Anda dapat menggunakan model lain yang telah Anda kembangkan dan terapkan di belakang titik akhir SageMaker. Model seperti itu dapat memberikan peningkatan yang berbeda pada data berita asli, berdasarkan kebutuhan Anda. Opsional, ini dapat diekstrapolasi ke beberapa model untuk beberapa perangkat tambahan jika ada. Berkat arsitektur lainnya, model seperti itu akan memperkaya sumber data Anda secara real time.
  • Membangun fungsi Lambda: Langkah 2, Memanggil titik akhir SageMaker โ€“ Di bagian ini, kami membangun fungsi Lambda asli kami dengan menambahkan blok SageMaker untuk mendapatkan tajuk berita yang ditingkatkan sentimen dengan mengaktifkan titik akhir SageMaker.
  • DynamoDB โ€“ Terakhir, saat inferensi AI ada di memori fungsi Lambda, item akan dibundel ulang dan dikirim ke tabel DynamoDB untuk disimpan. Di sini, kami membahas kode Python yang sesuai yang diperlukan untuk mencapainya, serta skrip Terraform yang diperlukan untuk mengaktifkan interaksi ini.
  • Membangun fungsi Lambda: Langkah 3, Mendorong data yang disempurnakan ke DynamoDB โ€“ Di sini, kami terus membangun fungsi Lambda kami dengan menambahkan bagian terakhir yang membuat entri di tabel Dynamo.
  • Menguji prototipe sejauh ini โ€“ Kami dapat menavigasi ke tabel DynamoDB di konsol DynamoDB untuk memverifikasi bahwa penyempurnaan kami muncul di tabel.

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Blueprint ketiga ini menyelesaikan prototipe ini. Ini berfokus pada pendistribusian ulang item data AI yang disempurnakan yang baru dibuat ke server RabbitMQ di Amazon MQ, yang memungkinkan konsumen untuk terhubung dan mengambil item berita yang disempurnakan secara real time. Ini mencakup komponen-komponen berikut:

  • Aliran DynamoDB โ€“ Saat item berita yang ditingkatkan ada di DynamoDB, kami menyiapkan peristiwa yang dipicu yang kemudian dapat diambil dari fungsi Lambda yang sesuai.
  • Menulis produser Lambda โ€“ Fungsi Lambda ini merekam acara dan bertindak sebagai penghasil aliran RabbitMQ. Fungsi baru ini memperkenalkan konsep lapisan Lambda karena menggunakan pustaka Python untuk mengimplementasikan fungsi produser.
  • Konsumen Amazon MQ dan RabbitMQ โ€“ Langkah terakhir dari prototipe adalah menyiapkan layanan RabbitMQ dan menerapkan contoh konsumen yang akan terhubung ke aliran pesan dan menerima item berita yang disempurnakan AI.
  • Tes akhir dari prototipe โ€“ Kami menggunakan proses end-to-end untuk memverifikasi bahwa prototipe berfungsi penuh, mulai dari penyerapan hingga penyajian ulang dan penggunaan aliran baru yang disempurnakan AI.

Pada tahap ini, Anda dapat memvalidasi bahwa semuanya telah berfungsi dengan menavigasi ke dasbor RabbitMQ, seperti yang ditunjukkan pada tangkapan layar berikut.

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Dalam cetak biru terakhir, Anda juga menemukan vektor pengujian mendetail untuk memastikan bahwa seluruh arsitektur berjalan sesuai rencana.

Kesimpulan

Dalam postingan ini, kami membagikan solusi menggunakan ML di cloud dengan layanan AWS seperti SageMaker (ML), Lambda (tanpa server), dan Kinesis Data Streams (streaming) untuk memperkaya streaming data berita yang disediakan oleh Pustaka Data Refinitiv. Solusinya menambahkan skor sentimen ke item berita secara real time dan menskalakan infrastruktur menggunakan kode.

Keuntungan dari arsitektur modular ini adalah Anda dapat menggunakannya kembali dengan model Anda sendiri untuk melakukan jenis augmentasi data lainnya, dengan cara tanpa server, dapat diskalakan, dan hemat biaya yang dapat diterapkan di atas Pustaka Data Refinitiv. Ini dapat menambah nilai untuk alur kerja perdagangan/investasi/manajemen risiko.

Jika Anda memiliki komentar atau pertanyaan, silakan tinggalkan di bagian komentar.

Informasi Terkait


 Tentang Penulis

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Marios Skevofilakas berasal dari layanan keuangan, perbankan investasi dan latar belakang teknologi konsultasi. Dia memegang gelar Ph.D. dalam Kecerdasan Buatan dan gelar M.Sc. dalam Visi Mesin. Sepanjang karirnya, ia telah berpartisipasi dalam berbagai proyek AI dan DLT multidisiplin. Dia saat ini adalah Advokat Pengembang dengan Refinitiv, sebuah bisnis LSEG, yang berfokus pada aplikasi AI dan Quantum dalam layanan keuangan.

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Jason Ramchandani telah bekerja di Refinitiv, sebuah Bisnis LSEG, selama 8 tahun sebagai Advokat Pengembang Utama yang membantu membangun Komunitas Pengembang mereka. Sebelumnya dia telah bekerja di pasar keuangan selama lebih dari 15 tahun dengan latar belakang quant di ruang terkait ekuitas/ekuitas di Okasan Securities, Sakura Finance dan Jefferies LLC. Almamaternya adalah UCL.

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Haykaz Aramyan berasal dari latar belakang keuangan dan teknologi. Dia memegang gelar Ph.D. di bidang Keuangan, dan gelar M.Sc. dalam Keuangan, Teknologi dan Kebijakan. Melalui 10 tahun pengalaman profesional, Haykaz mengerjakan beberapa proyek multidisiplin yang melibatkan pensiun, dana VC, dan perusahaan rintisan teknologi. Dia saat ini adalah Advokat Pengembang dengan Refinitiv, Bisnis LSEG, yang berfokus pada aplikasi AI dalam layanan keuangan.

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Georgios Schinas adalah Arsitek Solusi Spesialis Senior untuk AI/ML di wilayah EMEA. Dia berbasis di London dan bekerja sama dengan pelanggan di Inggris dan Irlandia. Georgios membantu pelanggan merancang dan menerapkan aplikasi pembelajaran mesin dalam produksi di AWS dengan minat khusus pada praktik MLOps dan memungkinkan pelanggan melakukan pembelajaran mesin dalam skala besar. Di waktu senggangnya, ia senang bepergian, memasak, dan menghabiskan waktu bersama teman dan keluarga.

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Muthuvelan Swaminathan adalah Arsitek Solusi Perusahaan yang berbasis di New York. Dia bekerja dengan pelanggan perusahaan memberikan panduan arsitektural dalam membangun solusi yang tangguh, hemat biaya, dan inovatif yang menjawab kebutuhan bisnis mereka dan membantu mereka mengeksekusi dalam skala besar menggunakan produk dan layanan AWS.

Memperkaya aliran berita real-time dengan Refinitiv Data Library, layanan AWS, dan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Mayur Udernani memimpin bisnis AI & ML AWS dengan perusahaan komersial di Inggris Raya & Irlandia. Dalam perannya, Mayur menghabiskan sebagian besar waktunya dengan pelanggan dan mitra untuk membantu menciptakan solusi berdampak yang memecahkan kebutuhan pelanggan yang paling mendesak atau untuk industri yang lebih luas dengan memanfaatkan layanan AWS Cloud, AI & ML. Mayur tinggal di daerah London. Dia memiliki gelar MBA dari Institut Manajemen India dan Sarjana Teknik Komputer dari Universitas Mumbai.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS