غنی‌سازی جریان‌های خبری بی‌درنگ با کتابخانه داده Refinitiv، خدمات AWS و Amazon SageMaker

غنی‌سازی جریان‌های خبری بی‌درنگ با کتابخانه داده Refinitiv، خدمات AWS و Amazon SageMaker

این پست توسط Marios Skevofylakas، Jason Ramchandani و Haykaz Aramyan از Refinitiv، An LSEG Business نوشته شده است.

ارائه‌دهندگان خدمات مالی اغلب نیاز دارند اخبار مرتبط را شناسایی کنند، آن‌ها را تجزیه و تحلیل کنند، بینش‌هایی را استخراج کنند و اقداماتی را در زمان واقعی انجام دهند، مانند معامله با ابزارهای خاص (مانند کالاها، سهام، وجوه) بر اساس اطلاعات اضافی یا زمینه‌ای از خبر. یکی از این اطلاعات اضافی (که در این پست به عنوان مثال از آن استفاده می کنیم) احساس خبر است.

کتابخانه های Refinitiv Data (RD) مجموعه ای جامع از رابط ها را برای دسترسی یکسان به فهرست داده های Refinitiv ارائه می دهند. این کتابخانه چندین لایه انتزاعی را ارائه می‌کند که سبک‌ها و تکنیک‌های برنامه‌نویسی متفاوتی را برای همه توسعه‌دهندگان مناسب می‌سازد، از دسترسی کم تأخیر و زمان واقعی تا دریافت دسته‌ای داده‌های Refinitiv.

در این پست، نمونه اولیه معماری AWS را ارائه می‌کنیم که فیدهای خبری ما را با استفاده از کتابخانه‌های RD دریافت می‌کند و آنها را با پیش‌بینی‌های مدل یادگیری ماشین (ML) با استفاده از آن افزایش می‌دهد. آمازون SageMaker، یک سرویس ML کاملاً مدیریت شده از AWS.

در تلاش برای طراحی یک معماری مدولار که می تواند در موارد مختلف استفاده شود، مانند تجزیه و تحلیل احساسات، شناسایی موجودیت نامگذاری شده، و موارد دیگر، صرف نظر از مدل ML مورد استفاده برای بهبود، تصمیم گرفتیم بر فضای بلادرنگ تمرکز کنیم. دلیل این تصمیم این است که موارد استفاده بلادرنگ معمولاً پیچیده‌تر هستند و می‌توان از همان معماری نیز با حداقل تنظیمات برای استنتاج دسته‌ای استفاده کرد. در مورد استفاده ما، معماری را پیاده‌سازی می‌کنیم که فید اخبار بلادرنگ ما را دریافت می‌کند، احساسات را در هر عنوان خبری با استفاده از ML محاسبه می‌کند، و فید تقویت‌شده هوش مصنوعی را از طریق معماری ناشر/مشترک دوباره ارائه می‌کند.

علاوه بر این، برای ارائه یک روش جامع و قابل استفاده مجدد برای تولید مدل‌های ML با اتخاذ شیوه‌های MLOps، مفهوم زیرساخت را به عنوان کد (IaC) در طول کل چرخه عمر MLOps نمونه اولیه معرفی می‌کنیم. با استفاده از Terraform و یک اسکریپت قابل تنظیم نقطه ورودی، می‌توانیم کل زیرساخت را در حالت تولید در AWS تنها در چند دقیقه نمونه‌سازی کنیم.

در این راه حل، ما به جنبه MLOps توسعه، آموزش و استقرار مدل های فردی نمی پردازیم. اگر علاقه مند به کسب اطلاعات بیشتر در این مورد هستید، مراجعه کنید نقشه راه بنیاد MLOps برای شرکت ها با Amazon SageMaker، که به طور مفصل چارچوبی را برای ساخت مدل، آموزش و استقرار به دنبال بهترین شیوه ها توضیح می دهد.

بررسی اجمالی راه حل

در این نمونه اولیه، ما از یک روش تهیه کاملاً خودکار مطابق با IaC پیروی می کنیم بهترین شیوه. IaC فرآیند تهیه منابع به صورت برنامه نویسی با استفاده از اسکریپت های خودکار به جای استفاده از ابزارهای پیکربندی تعاملی است. منابع می توانند هم سخت افزار و هم نرم افزار مورد نیاز باشند. در مورد ما، ما از Terraform برای اجرای یک نقطه ورودی قابل تنظیم استفاده می کنیم که می تواند به طور خودکار کل زیرساخت مورد نیاز ما، از جمله سیاست های امنیتی و دسترسی، و همچنین نظارت خودکار را بچرخاند. با این نقطه ورودی واحد که مجموعه‌ای از اسکریپت‌های Terraform را راه‌اندازی می‌کند، یکی در هر سرویس یا موجودیت منبع، می‌توانیم چرخه حیات تمام یا بخشی از اجزای معماری را کاملاً خودکار کنیم و به ما امکان می‌دهد کنترل دانه‌ای را هم روی DevOps و هم روی DevOps پیاده‌سازی کنیم. سمت MLOps پس از اینکه Terraform به درستی نصب و با AWS یکپارچه شد، می‌توانیم اکثر عملیات‌هایی را که می‌توان روی داشبوردهای سرویس AWS انجام داد، تکرار کنیم.

نمودار زیر معماری راه حل ما را نشان می دهد.

غنی‌سازی جریان‌های خبری بلادرنگ با کتابخانه داده Refinitiv، خدمات AWS، و Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.

معماری شامل سه مرحله است: جذب، غنی سازی و انتشار. در مرحله اول، فیدهای بلادرنگ روی یک خورده می شوند ابر محاسبه الاستیک آمازون نمونه (Amazon EC2) که از طریق AMI آماده کتابخانه داده Refinitiv ایجاد می شود. این نمونه همچنین از طریق به یک جریان داده متصل می شود آمازون کینزیس جریان داده، که باعث می شود AWS لامبدا تابع.

در مرحله دوم، تابع Lambda که از Kinesis Data Streams راه‌اندازی می‌شود، به SageMaker متصل شده و سرفصل‌های اخبار را ارسال می‌کند. FinBERT نقطه پایانی، که احساس محاسبه شده برای خبر را برمی گرداند. این احساس محاسبه‌شده غنی‌سازی در داده‌های بلادرنگ است که تابع لامبدا سپس خبر را با آن می‌پیچد و در آن ذخیره می‌کند. آمازون DynamoDB جدول.

در مرحله سوم معماری، یک جریان DynamoDB یک تابع Lambda را روی درج های آیتم جدید راه اندازی می کند که با یک ادغام شده است. سرور آمازون MQ اجرای RabbitMQ، که مجدداً جریان تقویت‌شده هوش مصنوعی را ارائه می‌کند.

تصمیم در مورد این طراحی مهندسی سه مرحله‌ای، به‌جای اینکه اولین لایه Lambda مستقیماً با سرور آمازون MQ ارتباط برقرار کند یا عملکردهای بیشتری را در نمونه EC2 پیاده‌سازی کند، برای امکان کاوش در معماری‌های طراحی هوش مصنوعی پیچیده‌تر و کم‌تر در آینده اتخاذ شد.

ساخت و استقرار نمونه اولیه

ما این نمونه اولیه را در یک سری از سه طرح دقیق ارائه می کنیم. در هر طرح اولیه و برای هر سرویس استفاده شده، مرورها و اطلاعات مرتبط در مورد پیاده سازی های فنی آن و همچنین اسکریپت های Terraform را خواهید یافت که به شما امکان می دهد به طور خودکار سرویس را شروع، پیکربندی و با بقیه ساختار یکپارچه کنید. در پایان هر طرح، دستورالعمل هایی در مورد چگونگی اطمینان از اینکه همه چیز طبق انتظار تا هر مرحله کار می کند، خواهید دید. نقشه ها به شرح زیر است:

برای شروع پیاده سازی این نمونه اولیه، پیشنهاد می کنیم یک محیط پایتون جدید اختصاص داده شده به آن ایجاد کنید و بسته ها و ابزارهای لازم را جدا از محیط های دیگری که ممکن است دارید نصب کنید. برای انجام این کار، محیط جدید را در Anaconda با استفاده از دستورات زیر ایجاد و فعال کنید:

conda create —name rd_news_aws_terraform python=3.7
conda activate rd_news_aws_terraform

اکنون آماده نصب هستیم رابط خط فرمان AWS مجموعه ابزار (AWS CLI) که به ما امکان می دهد تمام تعاملات برنامه ای لازم را در داخل و بین سرویس های AWS ایجاد کنیم:

pip install awscli

اکنون که AWS CLI نصب شده است، باید Terraform را نصب کنیم. HashiCorp به Terraform یک نصب کننده باینری ارائه می دهد که می توانید دانلود و نصب کنید

پس از نصب هر دو ابزار، با استفاده از دستورات زیر مطمئن شوید که آنها به درستی کار می کنند:

terraform -help
AWS – version

اکنون آماده هستید تا نقشه های دقیق هر یک از سه مرحله اجرا را دنبال کنید.

این طرح، مراحل اولیه معماری را نشان می دهد که به ما امکان می دهد فیدهای خبری را در زمان واقعی دریافت کنیم. از اجزای زیر تشکیل شده است:

  • آمازون EC2 نمونه شما را برای دریافت RD News آماده می کند – این بخش یک نمونه EC2 را به گونه ای تنظیم می کند که اتصال به API کتابخانه های RD و جریان بلادرنگ را فعال می کند. ما همچنین نحوه ذخیره تصویر نمونه ایجاد شده را برای اطمینان از قابلیت استفاده مجدد و مقیاس پذیری آن نشان می دهیم.
  • دریافت خبر در زمان واقعی از Amazon EC2 - اجرای دقیق پیکربندی‌های مورد نیاز برای فعال کردن Amazon EC2 برای اتصال کتابخانه‌های RD و همچنین اسکریپت‌ها برای شروع جذب.
  • ایجاد و راه اندازی آمازون EC2 از AMI – با انتقال همزمان فایل های انتقال به نمونه جدید ایجاد شده، یک نمونه جدید راه اندازی کنید، همه به طور خودکار با استفاده از Terraform.
  • ایجاد یک جریان داده Kinesis – این بخش یک نمای کلی از Kinesis Data Streams و نحوه راه اندازی یک جریان در AWS ارائه می دهد.
  • اتصال و هل دادن داده ها به Kinesis - هنگامی که کد دریافت کار می کند، باید آن را متصل کرده و داده ها را به یک جریان Kinesis ارسال کنیم.
  • در حال آزمایش نمونه اولیه - ما استفاده می کنیم CloudWatch آمازون و ابزارهای خط فرمان برای تأیید اینکه نمونه اولیه تا این مرحله کار می کند و اینکه می توانیم به طرح بعدی ادامه دهیم. گزارش داده های دریافت شده باید مانند تصویر زیر باشد.

غنی‌سازی جریان‌های خبری بلادرنگ با کتابخانه داده Refinitiv، خدمات AWS، و Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.

در این طرح دوم، ما بر بخش اصلی معماری تمرکز می‌کنیم: تابع Lambda که جریان اخبار را دریافت و تجزیه و تحلیل می‌کند، استنتاج هوش مصنوعی را به آن متصل می‌کند و آن را برای استفاده بیشتر ذخیره می‌کند. این شامل اجزای زیر است:

  • یازدهمین حرف الفبای یونانی - یک پیکربندی Terraform Lambda را تعریف کنید که به آن اجازه می دهد به یک نقطه پایانی SageMaker متصل شود.
  • آمازون S3 – برای پیاده سازی لامبدا باید کد مناسب را در آن آپلود کنیم سرویس ذخیره سازی ساده آمازون (Amazon S3) و به تابع Lambda اجازه می دهد تا آن را در محیط خود بلعیده کند. این بخش توضیح می دهد که چگونه می توانیم از Terraform برای انجام آن استفاده کنیم.
  • پیاده سازی تابع Lambda: مرحله 1، مدیریت رویداد Kinesis – در این قسمت شروع به ساخت تابع Lambda می کنیم. در اینجا، ما فقط بخش کنترل کننده پاسخ جریان داده Kinesis را می سازیم.
  • SageMaker - در این نمونه اولیه، ما از یک مدل از پیش آموزش دیده Hugging Face استفاده می کنیم که آن را در یک نقطه پایانی SageMaker ذخیره می کنیم. در اینجا، نحوه دستیابی به این امر با استفاده از اسکریپت‌های Terraform و نحوه ادغام مناسب برای اجازه دادن به نقاط پایانی SageMaker و عملکردهای Lambda را ارائه می‌کنیم.
    • در این مرحله، می توانید به جای آن از هر مدل دیگری که در پشت نقطه پایانی SageMaker توسعه داده و استقرار داده اید، استفاده کنید. چنین مدلی می‌تواند بر اساس نیازهای شما، پیشرفت متفاوتی را برای داده‌های اصلی اخبار ارائه دهد. به صورت اختیاری، در صورت وجود، می توان آن را به چندین مدل برای بهبودهای متعدد تعمیم داد. با تشکر از بقیه معماری، هر مدل از این قبیل منابع داده شما را در زمان واقعی غنی می کند.
  • ساخت تابع Lambda: مرحله 2، فراخوانی نقطه پایانی SageMaker - در این بخش، ما تابع Lambda اصلی خود را با افزودن بلوک SageMaker ایجاد می کنیم تا با فراخوانی نقطه پایانی SageMaker، یک تیتر خبری افزایش یافته دریافت کنیم.
  • DynamoDB – در نهایت، زمانی که استنتاج هوش مصنوعی در حافظه تابع Lambda باشد، آیتم را دوباره باندل می کند و برای ذخیره سازی به جدول DynamoDB می فرستد. در اینجا، هم کد مناسب پایتون مورد نیاز برای انجام آن و هم اسکریپت‌های Terraform لازم را که این تعاملات را فعال می‌کنند، مورد بحث قرار می‌دهیم.
  • ساخت تابع Lambda: مرحله 3، انتقال داده های پیشرفته به DynamoDB - در اینجا، با افزودن آخرین قسمتی که یک ورودی در جدول Dynamo ایجاد می کند، به ساخت تابع Lambda خود ادامه می دهیم.
  • در حال آزمایش نمونه اولیه – می‌توانیم به جدول DynamoDB در کنسول DynamoDB برویم تا تأیید کنیم که پیشرفت‌های ما در جدول ظاهر می‌شوند.

غنی‌سازی جریان‌های خبری بلادرنگ با کتابخانه داده Refinitiv، خدمات AWS، و Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.

این طرح سوم، این نمونه اولیه را نهایی می کند. تمرکز آن بر توزیع مجدد آیتم داده‌ای که به تازگی ایجاد شده و با هوش مصنوعی بهبود یافته است در سرور RabbitMQ در آمازون MQ است و به مصرف‌کنندگان این امکان را می‌دهد تا اخبار بهبودیافته را در زمان واقعی متصل کرده و بازیابی کنند. این شامل اجزای زیر است:

  • DynamoDB Streams – هنگامی که خبر بهبودیافته در DynamoDB است، رویدادی را تنظیم می‌کنیم که راه‌اندازی می‌شود که سپس می‌تواند از تابع Lambda مناسب ضبط شود.
  • نوشتن سازنده لامبدا – این تابع Lambda رویداد را ثبت می کند و به عنوان تولید کننده جریان RabbitMQ عمل می کند. این تابع جدید مفهوم لایه‌های Lambda را معرفی می‌کند زیرا از کتابخانه‌های پایتون برای پیاده‌سازی عملکرد تولیدکننده استفاده می‌کند.
  • مصرف کنندگان آمازون MQ و RabbitMQ – مرحله آخر نمونه اولیه، راه اندازی سرویس RabbitMQ و پیاده سازی یک مصرف کننده نمونه است که به جریان پیام متصل می شود و اخبار تقویت شده هوش مصنوعی را دریافت می کند.
  • تست نهایی نمونه اولیه - ما از یک فرآیند سرتاسر برای تأیید اینکه نمونه اولیه کاملاً کار می‌کند، از مصرف تا سرویس دهی مجدد و مصرف جریان جدید تقویت‌شده با هوش مصنوعی، استفاده می‌کنیم.

در این مرحله، همانطور که در تصویر زیر نشان داده شده است، می توانید با رفتن به داشبورد RabbitMQ تأیید کنید که همه چیز کار می کند.

غنی‌سازی جریان‌های خبری بلادرنگ با کتابخانه داده Refinitiv، خدمات AWS، و Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.

در طرح نهایی، یک بردار آزمایشی دقیق نیز پیدا می‌کنید تا مطمئن شوید که کل معماری مطابق برنامه‌ریزی شده رفتار می‌کند.

نتیجه

در این پست، راه‌حلی را با استفاده از ML در فضای ابری با سرویس‌های AWS مانند SageMaker (ML)، Lambda (بدون سرور)، و Kinesis Data Streams (جریان‌سازی) به اشتراک گذاشتیم تا داده‌های خبری جریان ارائه شده توسط Refinitiv Data Libraries را غنی‌سازی کنیم. این راه حل یک امتیاز احساسی به اخبار در زمان واقعی اضافه می کند و زیرساخت را با استفاده از کد مقیاس می دهد.

مزیت این معماری ماژولار این است که می توانید از آن با مدل خود برای انجام سایر انواع افزایش داده ها، به روشی بدون سرور، مقیاس پذیر و مقرون به صرفه استفاده مجدد کنید که می تواند در بالای کتابخانه داده Refinitiv اعمال شود. این می تواند برای گردش کار تجارت/سرمایه گذاری/مدیریت ریسک ارزش اضافه کند.

اگر نظر یا سوالی دارید در قسمت نظرات مطرح کنید.

اطلاعات مرتبط


 درباره نویسنده

غنی‌سازی جریان‌های خبری بلادرنگ با کتابخانه داده Refinitiv، خدمات AWS، و Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.ماریو اسکوفیلاکاس از پیشینه خدمات مالی، بانکداری سرمایه گذاری و فناوری مشاوره می آید. او دارای مدرک دکتری مهندسی است. در هوش مصنوعی و فوق لیسانس در ماشین بینایی او در طول زندگی حرفه ای خود در پروژه های چند رشته ای هوش مصنوعی و DLT شرکت داشته است. او در حال حاضر یک مدافع توسعه دهنده با Refinitiv، یک کسب و کار LSEG است که بر روی هوش مصنوعی و برنامه های کوانتومی در خدمات مالی تمرکز دارد.

غنی‌سازی جریان‌های خبری بلادرنگ با کتابخانه داده Refinitiv، خدمات AWS، و Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.جیسون رامچدانی در Refinitiv، یک کسب و کار LSEG، به مدت 8 سال به عنوان وکیل اصلی توسعه دهنده و کمک به ایجاد انجمن توسعه دهندگان کار کرده است. او پیش از این بیش از 15 سال در بازارهای مالی با پیشینه کمی در فضای مرتبط با سهام در Okasan Securities، Sakura Finance و Jefferies LLC کار کرده است. دانشگاه او UCL است.

غنی‌سازی جریان‌های خبری بلادرنگ با کتابخانه داده Refinitiv، خدمات AWS، و Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.هایکاز آرامیان از پس زمینه مالی و فناوری می آید. او دارای مدرک دکتری است. در امور مالی و کارشناسی ارشد. در امور مالی، فناوری و سیاست. هایکاز از طریق 10 سال تجربه حرفه ای در چندین پروژه چند رشته ای شامل بازنشستگی، صندوق های سرمایه گذاری VC و استارت آپ های فناوری کار کرد. او در حال حاضر یک مدافع توسعه دهنده با Refinitiv، یک تجارت LSEG است که بر روی برنامه های کاربردی هوش مصنوعی در خدمات مالی تمرکز دارد.

غنی‌سازی جریان‌های خبری بلادرنگ با کتابخانه داده Refinitiv، خدمات AWS، و Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.جورجیوس شیناس یک معمار ارشد راه حل متخصص برای AI/ML در منطقه EMEA است. او در لندن مستقر است و از نزدیک با مشتریان در بریتانیا و ایرلند کار می کند. جورجیوس به مشتریان کمک می‌کند تا برنامه‌های یادگیری ماشینی را در تولید در AWS با علاقه خاصی به شیوه‌های MLOps طراحی و استقرار دهند و مشتریان را قادر می‌سازد تا یادگیری ماشین را در مقیاس انجام دهند. در اوقات فراغت از مسافرت، آشپزی و گذراندن وقت با دوستان و خانواده لذت می برد.

غنی‌سازی جریان‌های خبری بلادرنگ با کتابخانه داده Refinitiv، خدمات AWS، و Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.سوامیناتان موتوولان یک معمار Enterprise Solutions مستقر در نیویورک است. او با مشتریان سازمانی کار می‌کند و راهنمایی‌های معماری در ساخت راه‌حل‌های انعطاف‌پذیر، مقرون‌به‌صرفه و نوآورانه ارائه می‌کند که به نیازهای تجاری آن‌ها پاسخ می‌دهد و به آن‌ها کمک می‌کند تا با استفاده از محصولات و خدمات AWS در مقیاس اجرا شوند.

غنی‌سازی جریان‌های خبری بلادرنگ با کتابخانه داده Refinitiv، خدمات AWS، و Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.مایور اودرنانی تجارت AWS AI & ML را با شرکت های تجاری در انگلستان و ایرلند رهبری می کند. در نقش خود، مایور بیشتر وقت خود را با مشتریان و شرکا می گذراند تا به ایجاد راه حل های تاثیرگذار کمک کند که نیازهای مبرم یک مشتری را برطرف کند یا برای صنعت گسترده تری که از خدمات AWS Cloud، AI و ML استفاده می کند. مایور در منطقه لندن زندگی می کند. او دارای مدرک MBA از موسسه مدیریت هند و لیسانس مهندسی کامپیوتر از دانشگاه بمبئی است.

تمبر زمان:

بیشتر از آموزش ماشین AWS