AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز

AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز

ریڈیولوجی رپورٹس جامع، لمبی دستاویزات ہیں جو ریڈیولاجیکل امیجنگ امتحان کے نتائج کی وضاحت اور تشریح کرتی ہیں۔ ایک عام ورک فلو میں، ریڈیولوجسٹ تصویروں کی نگرانی کرتا ہے، پڑھتا ہے، اور اس کی تشریح کرتا ہے، اور پھر کلیدی نتائج کا مختصراً خلاصہ کرتا ہے۔ خلاصہ (یا تاثر) رپورٹ کا سب سے اہم حصہ ہے کیونکہ اس سے معالجین اور مریضوں کو رپورٹ کے اہم مواد پر توجہ مرکوز کرنے میں مدد ملتی ہے جس میں طبی فیصلہ سازی کے لیے معلومات ہوتی ہیں۔ ایک واضح اور اثر انگیز تاثر پیدا کرنے میں صرف نتائج کو بحال کرنے سے کہیں زیادہ محنت شامل ہے۔ اس لیے پورا عمل محنت طلب، وقت طلب اور غلطی کا شکار ہے۔ اس میں اکثر سال لگتے ہیں۔ تربیت ڈاکٹروں کو جامع اور معلوماتی ریڈیولاجی رپورٹ کا خلاصہ لکھنے میں کافی مہارت حاصل کرنے کے لیے، اس عمل کو خودکار بنانے کی اہمیت کو مزید اجاگر کرنا۔ مزید برآں، رپورٹ کے نتائج کا خلاصہ خود کار طریقے سے تیار کرنا ریڈیولوجی رپورٹنگ کے لیے اہم ہے۔. یہ رپورٹس کو انسانی پڑھنے کے قابل زبان میں ترجمہ کرنے کے قابل بناتا ہے، اس طرح طویل اور غیر واضح رپورٹس کے ذریعے مریضوں کے پڑھنے کے بوجھ کو کم کرتا ہے۔

اس مسئلے کو حل کرنے کے لیے، ہم جنریٹو AI کے استعمال کی تجویز پیش کرتے ہیں، جو کہ AI کی ایک قسم ہے جو کہ بات چیت، کہانیاں، تصاویر، ویڈیوز اور موسیقی سمیت نئے مواد اور خیالات تخلیق کر سکتی ہے۔ جنریٹو AI مشین لرننگ (ML) ماڈلز کے ذریعے تقویت یافتہ ہے—بہت بڑے ماڈلز جو کہ بہت زیادہ ڈیٹا پر پہلے سے تربیت یافتہ ہیں اور عام طور پر فاؤنڈیشن ماڈلز (FMs) کے طور پر کہا جاتا ہے۔ ایم ایل میں حالیہ پیشرفت (خاص طور پر ٹرانسفارمر پر مبنی نیورل نیٹ ورک فن تعمیر کی ایجاد) نے ایسے ماڈلز کو جنم دیا ہے جن میں اربوں پیرامیٹرز یا متغیرات شامل ہیں۔ اس پوسٹ میں مجوزہ حل ریڈیولاجی رپورٹس میں نتائج کی بنیاد پر خلاصہ تیار کرنے میں مدد کے لیے پہلے سے تربیت یافتہ بڑے لینگوئج ماڈلز (LLMs) کی ٹھیک ٹیوننگ کا استعمال کرتا ہے۔

یہ پوسٹ AWS خدمات کا استعمال کرتے ہوئے ریڈیولاجی رپورٹ کے خلاصے کے کام کے لیے عوامی طور پر دستیاب LLMs کو ٹھیک کرنے کی حکمت عملی کو ظاہر کرتی ہے۔ LLMs نے فاؤنڈیشن ماڈل کے طور پر کام کرتے ہوئے قدرتی زبان کی تفہیم اور نسل میں نمایاں صلاحیتوں کا مظاہرہ کیا ہے جنہیں مختلف ڈومینز اور کاموں کے مطابق ڈھالا جا سکتا ہے۔ پہلے سے تربیت یافتہ ماڈل استعمال کرنے کے اہم فوائد ہیں۔ یہ حسابی لاگت کو کم کرتا ہے، کاربن کے نشانات کو کم کرتا ہے، اور آپ کو شروع سے تربیت دیے بغیر جدید ترین ماڈل استعمال کرنے کی اجازت دیتا ہے۔

ہمارا حل استعمال کرتا ہے۔ FLAN-T5 XL ایف ایم، استعمال کرتے ہوئے ایمیزون سیج میکر جمپ اسٹارٹجو کہ الگورتھم، ماڈلز، اور ML حل پیش کرنے والا ایک ML مرکز ہے۔ ہم ایک نوٹ بک کا استعمال کرتے ہوئے اس کو پورا کرنے کا طریقہ دکھاتے ہیں۔ ایمیزون سیج میکر اسٹوڈیو. پہلے سے تربیت یافتہ ماڈل کو ٹھیک کرنے میں ایک مختلف لیکن متعلقہ کام پر کارکردگی کو بہتر بنانے کے لیے مخصوص ڈیٹا پر مزید تربیت شامل ہوتی ہے۔ اس حل میں FLAN-T5 XL ماڈل کو ٹھیک کرنا شامل ہے، جو کہ اس کا ایک بہتر ورژن ہے۔ T5 (ٹیکسٹ ٹو ٹیکسٹ ٹرانسفارمر) عام مقصد کے ایل ایل ایم۔ T5 نیچرل لینگویج پروسیسنگ (NLP) کے کاموں کو ایک متحد ٹیکسٹ ٹو ٹیکسٹ فارمیٹ میں تبدیل کرتا ہے، اس کے برعکس برٹطرز کے ماڈل جو صرف کلاس لیبل یا ان پٹ کی مدت کو آؤٹ پٹ کرسکتے ہیں۔ اس سے حاصل کردہ 91,544 فری ٹیکسٹ ریڈیولوجی رپورٹس پر خلاصہ کرنے کے کام کے لیے اسے ٹھیک بنایا گیا ہے۔ MIMIC-CXR ڈیٹاسیٹ.

حل کا جائزہ

اس سیکشن میں، ہم اپنے حل کے اہم اجزاء پر تبادلہ خیال کرتے ہیں: کام کے لیے حکمت عملی کا انتخاب، LLM کو ٹھیک کرنا، اور نتائج کا جائزہ لینا۔ ہم حل کے فن تعمیر اور حل کو نافذ کرنے کے اقدامات کی بھی وضاحت کرتے ہیں۔

کام کے لیے حکمت عملی کی شناخت کریں۔

کلینیکل رپورٹ کا خلاصہ خودکار بنانے کے کام تک پہنچنے کے لیے مختلف حکمت عملی ہیں۔ مثال کے طور پر، ہم شروع سے کلینیکل رپورٹس پر پہلے سے تربیت یافتہ زبان کا ایک خصوصی ماڈل استعمال کر سکتے ہیں۔ متبادل طور پر، ہم طبی کام کو انجام دینے کے لیے عوامی طور پر دستیاب عام مقصد کی زبان کے ماڈل کو براہ راست ٹھیک کر سکتے ہیں۔ ٹھیک ٹیونڈ ڈومین-ایگنوسٹک ماڈل کا استعمال ان ترتیبات میں ضروری ہو سکتا ہے جہاں تربیت a شروع سے زبان کا ماڈل بہت مہنگا ہے. اس حل میں، ہم FLAN -T5 XL ماڈل استعمال کرنے کے بعد کے نقطہ نظر کا مظاہرہ کرتے ہیں، جسے ہم ریڈیولاجی رپورٹس کے خلاصے کے طبی کام کے لیے ٹھیک بناتے ہیں۔ مندرجہ ذیل خاکہ ماڈل ورک فلو کو واضح کرتا ہے۔

AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

ایک عام ریڈیولوجی رپورٹ اچھی طرح سے منظم اور مختصر ہوتی ہے۔ ایسی رپورٹوں میں اکثر تین اہم حصے ہوتے ہیں:

  • پس منظر - مریض کی آبادی کے بارے میں عام معلومات مریض کے بارے میں ضروری معلومات، طبی تاریخ، اور متعلقہ طبی تاریخ اور امتحان کے طریقہ کار کی تفصیلات فراہم کرتا ہے۔
  • نتائج - امتحان کی تفصیلی تشخیص اور نتائج پیش کرتا ہے۔
  • پرنٹنگ - مشاہدہ شدہ اسامانیتاوں کی بنیاد پر اہمیت اور ممکنہ تشخیص کی تشخیص کے ساتھ سب سے نمایاں نتائج یا نتائج کی تشریح کا مختصراً خلاصہ کرتا ہے۔

ریڈیالوجی رپورٹس میں فائنڈنگ سیکشن کا استعمال کرتے ہوئے، حل امپریشن سیکشن تیار کرتا ہے، جو ڈاکٹروں کے خلاصے سے مطابقت رکھتا ہے۔ مندرجہ ذیل اعداد و شمار ریڈیوولوجی رپورٹ کی ایک مثال ہے۔

AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

کلینیکل ٹاسک کے لیے عام مقصد والے LLM کو ٹھیک کریں۔

اس حل میں، ہم FLAN-T5 XL ماڈل کو ٹھیک کرتے ہیں (ماڈل کے تمام پیرامیٹرز کو ٹیوننگ کرتے ہیں اور انہیں کام کے لیے بہتر بناتے ہیں)۔ ہم کلینیکل ڈومین ڈیٹاسیٹ کا استعمال کرتے ہوئے ماڈل کو ٹھیک بناتے ہیں۔ MIMIC-CXR، جو سینے کے ریڈیو گراف کا عوامی طور پر دستیاب ڈیٹاسیٹ ہے۔ SageMaker Jumpstart کے ذریعے اس ماڈل کو ٹھیک کرنے کے لیے، لیبل شدہ مثالیں {prompt, completion} جوڑوں کی شکل میں فراہم کی جانی چاہئیں۔ اس صورت میں، ہم MIMIC-CXR ڈیٹا سیٹ میں اصل رپورٹس سے {Findings, Impression} کے جوڑے استعمال کرتے ہیں۔ اندازہ لگانے کے لیے، ہم ایک پرامپٹ استعمال کرتے ہیں جیسا کہ درج ذیل مثال میں دکھایا گیا ہے:

AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

ماڈل ایک تیز رفتار کمپیوٹنگ پر ٹھیک ہے ml.p3.16xlarge مثال کے طور پر 64 ورچوئل CPUs اور 488 GiB میموری کے ساتھ۔ توثیق کے لیے، ڈیٹاسیٹ کا 5% تصادفی طور پر منتخب کیا گیا تھا۔ فائن ٹیوننگ کے ساتھ سیج میکر ٹریننگ جاب کا گزرا ہوا وقت 38,468 سیکنڈ (تقریباً 11 گھنٹے) تھا۔

نتائج کا اندازہ کریں

جب تربیت مکمل ہو جائے تو نتائج کا اندازہ لگانا بہت ضروری ہے۔ پیدا شدہ تاثر کے مقداری تجزیہ کے لیے، ہم استعمال کرتے ہیں۔ RED (Recal-Oriented Understudy for Gisting Evaluation)، خلاصہ کی تشخیص کے لیے سب سے زیادہ استعمال شدہ میٹرک۔ یہ میٹرک خود بخود تیار کردہ خلاصہ کا موازنہ کسی حوالہ یا حوالہ جات کے ایک سیٹ (انسانی تیار کردہ) خلاصہ یا ترجمہ سے کرتا ہے۔ ROUGE1 سے مراد اوورلیپ ہے۔ یونی گرام (ہر لفظ) امیدوار (ماڈل کی پیداوار) اور حوالہ کے خلاصے کے درمیان۔ ROUGE2 سے مراد اوورلیپ ہے۔ بڑے گرام امیدوار اور حوالہ کے خلاصے کے درمیان (دو الفاظ)۔ ROUGEL ایک جملے کی سطح کا میٹرک ہے اور متن کے دو ٹکڑوں کے درمیان سب سے طویل مشترکہ نتیجہ (LCS) سے مراد ہے۔ یہ متن میں نئی ​​لائنوں کو نظر انداز کرتا ہے۔ ROUGELsum ایک سمری لیول میٹرک ہے۔ اس میٹرک کے لیے، متن میں نئی ​​لکیروں کو نظر انداز نہیں کیا جاتا بلکہ جملے کی حدود سے تعبیر کیا جاتا ہے۔ پھر LCS کا حساب کتاب ہر ایک جوڑے کے حوالہ اور امیدوار کے جملوں کے درمیان کیا جاتا ہے، اور پھر یونین-LCS کی گنتی کی جاتی ہے۔ حوالہ جات اور امیدواروں کے جملے کے دیئے گئے سیٹ پر ان اسکورز کو جمع کرنے کے لیے، اوسط کی گنتی کی جاتی ہے۔

واک تھرو اور فن تعمیر

مجموعی حل فن تعمیر جیسا کہ مندرجہ ذیل تصویر میں دکھایا گیا ہے بنیادی طور پر ایک ماڈل ڈویلپمنٹ ماحول پر مشتمل ہے جو SageMaker اسٹوڈیو، SageMaker اینڈ پوائنٹ کے ساتھ ماڈل کی تعیناتی، اور ایک رپورٹنگ ڈیش بورڈ کا استعمال کرتا ہے۔ ایمیزون کوئیک سائٹ.

AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

مندرجہ ذیل حصوں میں، ہم SageMaker Python SDK کے ذریعے ڈومین کے لیے مخصوص کام کے خلاصے کے لیے SageMaker JumpStart پر دستیاب LLM کو ٹھیک کرنے کا مظاہرہ کرتے ہیں۔ خاص طور پر، ہم مندرجہ ذیل موضوعات پر بحث کرتے ہیں:

  • ترقی کے ماحول کو ترتیب دینے کے اقدامات
  • ریڈیولوجی رپورٹ ڈیٹاسیٹس کا ایک جائزہ جس پر ماڈل کو ٹھیک بنایا گیا ہے اور اس کی جانچ کی گئی ہے۔
  • SageMaker Python SDK کے ساتھ پروگرام کے مطابق SageMaker JumpStart کا استعمال کرتے ہوئے FLAN-T5 XL ماڈل کو ٹھیک کرنے کا ایک مظاہرہ
  • پہلے سے تربیت یافتہ اور فائن ٹیونڈ ماڈلز کا اندازہ اور اندازہ
  • پہلے سے تربیت یافتہ ماڈل اور فائن ٹیونڈ ماڈلز کے نتائج کا موازنہ

حل میں دستیاب ہے۔ AWS پر بڑی زبان کے ماڈل کے ساتھ جنریٹو AI کا استعمال کرتے ہوئے ریڈیولوجی رپورٹ امپریشن تیار کرنا GitHub repo.

شرائط

شروع کرنے کے لیے، آپ کو ایک کی ضرورت ہے۔ AWS اکاؤنٹ جس میں آپ SageMaker Studio استعمال کر سکتے ہیں۔ اگر آپ کے پاس پہلے سے موجود نہیں ہے تو آپ کو SageMaker اسٹوڈیو کے لیے ایک صارف پروفائل بنانے کی ضرورت ہوگی۔

اس پوسٹ میں استعمال ہونے والی تربیتی مثال کی قسم ml.p3.16xlarge ہے۔ نوٹ کریں کہ p3 مثال کی قسم سروس کوٹہ کی حد میں اضافہ کی ضرورت ہے۔

۔ MIMIC CXR ڈیٹاسیٹ ڈیٹا کے استعمال کے معاہدے کے ذریعے رسائی حاصل کی جا سکتی ہے، جس کے لیے صارف کی رجسٹریشن اور تصدیق کے عمل کی تکمیل کی ضرورت ہوتی ہے۔

ترقی کے ماحول کو ترتیب دیں۔

اپنے ترقیاتی ماحول کو ترتیب دینے کے لیے، آپ ایک S3 بالٹی بناتے ہیں، ایک نوٹ بک ترتیب دیتے ہیں، اینڈ پوائنٹس بناتے ہیں اور ماڈلز کو تعینات کرتے ہیں، اور QuickSight ڈیش بورڈ بناتے ہیں۔

ایک S3 بالٹی بنائیں

ایک S3 بالٹی بنائیں کہا جاتا ہے llm-radiology-bucket تربیت اور تشخیصی ڈیٹاسیٹس کی میزبانی کرنا۔ یہ ماڈل ڈیولپمنٹ کے دوران ماڈل آرٹفیکٹ کو ذخیرہ کرنے کے لیے بھی استعمال کیا جائے گا۔

ایک نوٹ بک ترتیب دیں۔

درج ذیل مراحل کو مکمل کریں:

  1. سیج میکر کنسول یا سے سیج میکر اسٹوڈیو لانچ کریں۔ AWS کمانڈ لائن انٹرفیس (AWS CLI)۔

ڈومین پر آن بورڈنگ کے بارے میں مزید معلومات کے لیے، دیکھیں ایمیزون سیج میکر ڈومین پر آن بورڈ.

  1. ایک نیا بنائیں سیج میکر اسٹوڈیو نوٹ بک رپورٹ کے ڈیٹا کو صاف کرنے اور ماڈل کو ٹھیک کرنے کے لیے۔ ہم Python 3 کرنل کے ساتھ ml.t2.medium 4vCPU+3GiB نوٹ بک مثال استعمال کرتے ہیں۔
  1. نوٹ بک کے اندر، متعلقہ پیکجوں کو انسٹال کریں جیسے nest-asyncio, IPyWidgets (Jupyter نوٹ بک کے لیے انٹرایکٹو ویجٹس کے لیے)، اور SageMaker Python SDK:
!pip install nest-asyncio==1.5.5 --quiet !pip install ipywidgets==8.0.4 --quiet !pip install sagemaker==2.148.0 --quiet

اختتامی نقطے بنائیں اور اندازہ کے لیے ماڈلز کو تعینات کریں۔

پہلے سے تربیت یافتہ اور عمدہ ماڈلز کا اندازہ لگانے کے لیے، ایک اختتامی نقطہ بنائیں اور ہر ماڈل کو تعینات کریں۔ مندرجہ ذیل نوٹ بک میں:

  1. ماڈل کلاس سے ایک ماڈل آبجیکٹ بنائیں جسے HTTPS اینڈ پوائنٹ پر تعینات کیا جا سکتا ہے۔
  2. ماڈل آبجیکٹ کے پہلے سے بلٹ کے ساتھ ایک HTTPS اینڈ پوائنٹ بنائیں deploy() طریقہ:
from sagemaker import model_uris, script_uris
from sagemaker.model import Model
from sagemaker.predictor import Predictor
from sagemaker.utils import name_from_base # Retrieve the URI of the pre-trained model
pre_trained_model_uri =model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="inference") large_model_env = {"SAGEMAKER_MODEL_SERVER_WORKERS": "1", "TS_DEFAULT_WORKERS_PER_MODEL": "1"} pre_trained_name = name_from_base(f"jumpstart-demo-pre-trained-{model_id}") # Create the SageMaker model instance of the pre-trained model
if ("small" in model_id) or ("base" in model_id): deploy_source_uri = script_uris.retrieve( model_id=model_id, model_version=model_version, script_scope="inference" ) pre_trained_model = Model( image_uri=deploy_image_uri, source_dir=deploy_source_uri, entry_point="inference.py", model_data=pre_trained_model_uri, role=aws_role, predictor_cls=Predictor, name=pre_trained_name, )
else: # For those large models, we already repack the inference script and model # artifacts for you, so the `source_dir` argument to Model is not required. pre_trained_model = Model( image_uri=deploy_image_uri, model_data=pre_trained_model_uri, role=aws_role, predictor_cls=Predictor, name=pre_trained_name, env=large_model_env, ) # Deploy the pre-trained model. Note that we need to pass Predictor class when we deploy model
# through Model class, for being able to run inference through the SageMaker API
pre_trained_predictor = pre_trained_model.deploy( initial_instance_count=1, instance_type=inference_instance_type, predictor_cls=Predictor, endpoint_name=pre_trained_name,
)

QuickSight ڈیش بورڈ بنائیں

ایک تخلیق کریں Athena ڈیٹا سورس کے ساتھ QuickSight ڈیش بورڈ قیاس کے نتائج کے ساتھ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) زمینی سچائی کے ساتھ تخمینہ کے نتائج کا موازنہ کرنے کے لیے۔ مندرجہ ذیل اسکرین شاٹ ہمارے مثال کے ڈیش بورڈ کو دکھاتا ہے۔ AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

ریڈیولوجی رپورٹ ڈیٹاسیٹس

ماڈل اب ٹھیک ہے، ماڈل کے تمام پیرامیٹرز کو 91,544 رپورٹس سے ڈاؤن لوڈ کیا گیا ہے۔ MIMIC-CXR v2.0 ڈیٹاسیٹ. چونکہ ہم نے صرف ریڈیولوجی رپورٹ ٹیکسٹ ڈیٹا کا استعمال کیا، ہم نے صرف ایک کمپریسڈ رپورٹ فائل ڈاؤن لوڈ کی (mimic-cxr-reports.zipMIMIC-CXR ویب سائٹ سے۔ اب ہم 2,000 رپورٹس (جسے کہا جاتا ہے dev1 ڈیٹاسیٹ) الگ سے اس ڈیٹاسیٹ کے ذیلی سیٹ کو منعقد کیا گیا۔. ہم مزید 2,000 ریڈیولوجی رپورٹس استعمال کرتے ہیں (جس کا حوالہ دیا جاتا ہے۔ dev2) سے سینے کے ایکسرے کے مجموعہ سے ٹھیک ٹیونڈ ماڈل کا جائزہ لینے کے لیے انڈیانا یونیورسٹی ہسپتال نیٹ ورک تمام ڈیٹا سیٹس کو JSON فائلوں کے طور پر پڑھا جاتا ہے اور نئی تخلیق کردہ S3 بالٹی پر اپ لوڈ کیا جاتا ہے۔ llm-radiology-bucket. نوٹ کریں کہ تمام ڈیٹا سیٹس میں بطور ڈیفالٹ کوئی پروٹیکٹڈ ہیلتھ انفارمیشن (PHI) نہیں ہوتا ہے۔ تمام حساس معلومات کو لگاتار تین انڈر سکور سے بدل دیا جاتا ہے (___فراہم کنندگان کے ذریعہ۔

SageMaker Python SDK کے ساتھ فائن ٹیون

ٹھیک ٹیوننگ کے لیے، model_id کے طور پر بیان کیا گیا ہے۔ huggingface-text2text-flan-t5-xl سیج میکر جمپ اسٹارٹ ماڈلز کی فہرست سے۔ دی training_instance_type ml.p3.16xlarge اور کے طور پر سیٹ کیا گیا ہے۔ inference_instance_type ml.g5.2xlarge کے طور پر۔ JSON فارمیٹ میں تربیتی ڈیٹا S3 بالٹی سے پڑھا جاتا ہے۔ اگلا مرحلہ SageMaker JumpStart ریسورس URIs کو نکالنے کے لیے منتخب ماڈل_id کا استعمال کرنا ہے، بشمول image_uri ( ایمیزون لچکدار کنٹینر رجسٹری (ایمیزون ای سی آر) ڈاکر امیج کے لیے یو آر آئی) model_uri (پہلے سے تربیت یافتہ ماڈل آرٹفیکٹ Amazon S3 URI)، اور script_uri (تربیتی اسکرپٹ):

from sagemaker import image_uris, model_uris, script_uris # Training instance will use this image
train_image_uri = image_uris.retrieve( region=aws_region, framework=None, # automatically inferred from model_id model_id=model_id, model_version=model_version, image_scope="training", instance_type=training_instance_type,
) # Pre-trained model
train_model_uri = model_uris.retrieve( model_id=model_id, model_version=model_version, model_scope="training"
) # Script to execute on the training instance
train_script_uri = script_uris.retrieve( model_id=model_id, model_version=model_version, script_scope="training"
) output_location = f"s3://{output_bucket}/demo-llm-rad-fine-tune-flan-t5/"

نیز، S3 بالٹی کے اندر ایک آؤٹ پٹ لوکیشن فولڈر کے طور پر سیٹ اپ کیا جاتا ہے۔

صرف ایک ہائپر پیرامیٹر، epochs، کو 3 میں تبدیل کر دیا گیا ہے، اور باقی سب بطور ڈیفالٹ سیٹ ہیں:

from sagemaker import hyperparameters # Retrieve the default hyper-parameters for fine-tuning the model
hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version) # We will override some default hyperparameters with custom values
hyperparameters["epochs"] = "3"
print(hyperparameters)

ٹریننگ میٹرکس جیسے eval_loss (توثیق کے نقصان کے لیے) loss (تربیت کے نقصان کے لیے)، اور epoch ٹریک کیے جانے کی وضاحت اور فہرست دی گئی ہے:

from sagemaker.estimator import Estimator
from sagemaker.utils import name_from_base model_name = "-".join(model_id.split("-")[2:]) # get the most informative part of ID
training_job_name = name_from_base(f"js-demo-{model_name}-{hyperparameters['epochs']}")
print(f"{bold}job name:{unbold} {training_job_name}") training_metric_definitions = [ {"Name": "val_loss", "Regex": "'eval_loss': ([0-9.]+)"}, {"Name": "train_loss", "Regex": "'loss': ([0-9.]+)"}, {"Name": "epoch", "Regex": "'epoch': ([0-9.]+)"},
]

ہم سیج میکر جمپ اسٹارٹ ریسورس URIs استعمال کرتے ہیں (image_uri, model_uri, script_uri) ایک تخمینہ ساز بنانے اور ڈیٹاسیٹ کے S3 راستے کی وضاحت کرکے اسے تربیتی ڈیٹاسیٹ پر ٹھیک کرنے کے لیے پہلے شناخت کیا گیا تھا۔ تخمینہ لگانے والے کلاس کو ایک کی ضرورت ہے۔ entry_point پیرامیٹر اس صورت میں، جمپ اسٹارٹ استعمال کرتا ہے۔ transfer_learning.py. اگر یہ قدر سیٹ نہیں کی جاتی ہے تو تربیتی کام چلنے میں ناکام ہو جاتا ہے۔

# Create SageMaker Estimator instance
sm_estimator = Estimator( role=aws_role, image_uri=train_image_uri, model_uri=train_model_uri, source_dir=train_script_uri, entry_point="transfer_learning.py", instance_count=1, instance_type=training_instance_type, volume_size=300, max_run=360000, hyperparameters=hyperparameters, output_path=output_location, metric_definitions=training_metric_definitions,
) # Launch a SageMaker training job over data located in the given S3 path
# Training jobs can take hours, it is recommended to set wait=False,
# and monitor job status through SageMaker console
sm_estimator.fit({"training": train_data_location}, job_name=training_job_name, wait=True)

اس تربیتی کام کو مکمل ہونے میں گھنٹے لگ سکتے ہیں۔ لہذا، انتظار کے پیرامیٹر کو False پر سیٹ کرنے اور SageMaker کنسول پر تربیتی جاب کی حیثیت کی نگرانی کرنے کی سفارش کی جاتی ہے۔ کا استعمال کرتے ہیں TrainingJobAnalytics مختلف ٹائم اسٹیمپ پر ٹریننگ میٹرکس پر نظر رکھنے کا فنکشن:

from sagemaker import TrainingJobAnalytics # Wait for a couple of minutes for the job to start before running this cell
# This can be called while the job is still running
df = TrainingJobAnalytics(training_job_name=training_job_name).dataframe()

انفرنس اینڈ پوائنٹس تعینات کریں۔

موازنہ کرنے کے لیے، ہم پہلے سے تربیت یافتہ اور فائن ٹیون شدہ دونوں ماڈلز کے لیے انفرنس اینڈ پوائنٹس لگاتے ہیں۔

سب سے پہلے، انفرنس ڈوکر امیج URI کا استعمال کرتے ہوئے بازیافت کریں۔ model_id، اور پہلے سے تربیت یافتہ ماڈل کی SageMaker ماڈل مثال بنانے کے لیے اس URI کا استعمال کریں۔ ماڈل آبجیکٹ کے پہلے سے بلٹ کے ساتھ HTTPS اینڈ پوائنٹ بنا کر پہلے سے تربیت یافتہ ماڈل کو تعینات کریں۔ deploy() طریقہ SageMaker API کے ذریعے اندازہ چلانے کے لیے، Predictor کلاس پاس کرنا یقینی بنائیں۔

from sagemaker import image_uris
# Retrieve the inference docker image URI. This is the base HuggingFace container image
deploy_image_uri = image_uris.retrieve( region=aws_region, framework=None, # automatically inferred from model_id model_id=model_id, model_version=model_version, image_scope="inference", instance_type=inference_instance_type,
) # Retrieve the URI of the pre-trained model
pre_trained_model_uri = model_uris.retrieve( model_id=model_id, model_version=model_version, model_scope="inference"
) pre_trained_model = Model( image_uri=deploy_image_uri, model_data=pre_trained_model_uri, role=aws_role, predictor_cls=Predictor, name=pre_trained_name, env=large_model_env, ) # Deploy the pre-trained model. Note that we need to pass Predictor class when we deploy model
# through Model class, for being able to run inference through the SageMaker API
pre_trained_predictor = pre_trained_model.deploy( initial_instance_count=1, instance_type=inference_instance_type, predictor_cls=Predictor, endpoint_name=pre_trained_name,
)

ٹھیک ٹیونڈ ماڈل کی سیج میکر ماڈل مثال بنانے کے لیے پچھلے مرحلے کو دہرائیں اور ماڈل کو تعینات کرنے کے لیے ایک اختتامی نقطہ بنائیں۔

ماڈلز کا اندازہ کریں۔

سب سے پہلے، خلاصہ متن کی لمبائی، ماڈل آؤٹ پٹس کی تعداد (اگر متعدد خلاصے تیار کرنے کی ضرورت ہو تو 1 سے زیادہ ہونا چاہیے) اور اس کے لیے بیم کی تعداد متعین کریں۔ بیم کی تلاش.

تخمینہ کی درخواست کو JSON پے لوڈ کے طور پر بنائیں اور اس کا استعمال پہلے سے تربیت یافتہ اور فائن ٹیونڈ ماڈلز کے اختتامی نکات کے لیے استفسار کرنے کے لیے کریں۔

مجموعی کی گنتی کریں۔ ROUGE اسکورز (ROUGE1، ROUGE2، ROUGEL، ROUGELsum) جیسا کہ پہلے بیان کیا گیا ہے۔

نتائج کا موازنہ کریں۔

مندرجہ ذیل جدول میں تشخیص کے نتائج کو دکھایا گیا ہے۔ dev1 اور dev2 ڈیٹاسیٹس تشخیص کا نتیجہ آن dev1 (MIMIC CXR ریڈیولوجی رپورٹ سے 2,000 نتائج) مجموعی اوسط میں تقریباً 38 فیصد پوائنٹس کی بہتری کو ظاہر کرتا ہے۔ ROUGE1 اور ROUGE2 پہلے سے تربیت یافتہ ماڈل کے مقابلے میں اسکور۔ dev2 کے لیے، ROUGE31 اور ROUGE25 کے اسکورز میں 1 فیصد پوائنٹس اور 2 فیصد پوائنٹس کی بہتری دیکھی گئی ہے۔ مجموعی طور پر، فائن ٹیوننگ کی وجہ سے 38.2 فیصد پوائنٹس اور ROUGELsum اسکورز میں 31.3 فیصد پوائنٹس کی بہتری آئی۔ dev1 اور dev2 ڈیٹا سیٹس، بالترتیب۔

تشخیص

ڈیٹا بیس

پہلے سے تربیت یافتہ ماڈل ٹھیک ٹیون ماڈل
ROUGE1 ROUGE2 روگل ROUGELsum ROUGE1 ROUGE2 روگل ROUGELsum
dev1 0.2239 0.1134 0.1891 0.1891 0.6040 0.4800 0.5705 0.5708
dev2 0.1583 0.0599 0.1391 0.1393 0.4660 0.3125 0.4525 0.4525

مندرجہ ذیل باکس پلاٹوں میں ROUGE سکور کی تقسیم کو دکھایا گیا ہے۔ dev1 اور dev2 فائن ٹیونڈ ماڈل کا استعمال کرتے ہوئے ڈیٹاسیٹس کا جائزہ لیا گیا۔

AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی
(a): dev1 (ب): dev2

مندرجہ ذیل جدول سے پتہ چلتا ہے کہ تشخیصی ڈیٹاسیٹس کے لیے ROUGE اسکورز تقریباً ایک ہی درمیانے اور اوسط کے ہوتے ہیں اور اس لیے انہیں ہم آہنگی سے تقسیم کیا جاتا ہے۔

ڈیٹا سیٹ موسیقی شمار مطلب Std Deviation کم از کم کے 25% فیصد 50% فیصد 75% فیصد زیادہ سے زیادہ
dev1 ROUGE1 2000.00 0.6038 0.3065 0.0000 0.3653 0.6000 0.9384 1.0000
روج 2 2000.00 0.4798 0.3578 0.0000 0.1818 0.4000 0.8571 1.0000
روج ایل 2000.00 0.5706 0.3194 0.0000 0.3000 0.5345 0.9101 1.0000
ROUGELsum 2000.00 0.5706 0.3194 0.0000 0.3000 0.5345 0.9101 1.0000
dev2 روج 1 2000.00 0.4659 0.2525 0.0000 0.2500 0.5000 0.7500 1.0000
روج 2 2000.00 0.3123 0.2645 0.0000 0.0664 0.2857 0.5610 1.0000
روج ایل 2000.00 0.4529 0.2554 0.0000 0.2349 0.4615 0.7500 1.0000
روج لسم 2000.00 0.4529 0.2554 0.0000 0.2349 0.4615 0.7500 1.0000

صاف کرو

مستقبل کے چارجز سے بچنے کے لیے، درج ذیل کوڈ کے ساتھ اپنے بنائے گئے وسائل کو حذف کریں:

# Delete resources
pre_trained_predictor.delete_model()
pre_trained_predictor.delete_endpoint()
fine_tuned_predictor.delete_model()
fine_tuned_predictor.delete_endpoint()

نتیجہ

اس پوسٹ میں، ہم نے SageMaker اسٹوڈیو کا استعمال کرتے ہوئے کلینیکل ڈومین کے لیے مخصوص خلاصے کے کام کے لیے FLAN-T5 XL ماڈل کو ٹھیک کرنے کا طریقہ دکھایا ہے۔ اعتماد بڑھانے کے لیے، ہم نے پیشین گوئیوں کا زمینی سچائی سے موازنہ کیا اور ROUGE میٹرکس کا استعمال کرتے ہوئے نتائج کا جائزہ لیا۔ ہم نے یہ ظاہر کیا کہ ایک مخصوص کام کے لیے ٹھیک بنایا ہوا ماڈل ایک عام NLP ٹاسک پر پہلے سے تربیت یافتہ ماڈل سے بہتر نتائج دیتا ہے۔ ہم یہ بتانا چاہیں گے کہ عمومی مقصد کے ایل ایل ایم کو ٹھیک کرنے سے پری ٹریننگ کی لاگت مکمل طور پر ختم ہوجاتی ہے۔

اگرچہ یہاں پیش کیا گیا کام سینے کی ایکسرے رپورٹس پر مرکوز ہے، لیکن اس میں مختلف اناٹومیوں اور طریقوں کے ساتھ بڑے ڈیٹاسیٹس تک پھیلانے کی صلاحیت ہے، جیسے ایم آر آئی اور سی ٹی، جس کے لیے ریڈیولوجی کی رپورٹیں متعدد نتائج کے ساتھ زیادہ پیچیدہ ہو سکتی ہیں۔ ایسے معاملات میں، ریڈیولوجسٹ تنقیدی ترتیب میں تاثرات پیدا کر سکتے ہیں اور ان میں فالو اپ سفارشات شامل ہیں۔ مزید برآں، اس ایپلیکیشن کے لیے فیڈ بیک لوپ ترتیب دینے سے ریڈیولوجسٹ وقت کے ساتھ ساتھ ماڈل کی کارکردگی کو بہتر بنا سکیں گے۔

جیسا کہ ہم نے اس پوسٹ میں دکھایا، ٹھیک ٹیونڈ ماڈل اعلی ROUGE اسکور کے ساتھ ریڈیولاجی رپورٹس کے لیے تاثرات پیدا کرتا ہے۔ آپ مختلف محکموں سے دیگر ڈومین کے لیے مخصوص میڈیکل رپورٹس پر LLMs کو ٹھیک کرنے کی کوشش کر سکتے ہیں۔


مصنفین کے بارے میں

AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عیڈاکٹر اڈیوال اکین فاڈرین AWS میں ہیلتھ کیئر اور لائف سائنسز میں ایک سینئر ڈیٹا سائنٹسٹ ہیں۔ ان کی مہارت دوبارہ پیدا کرنے کے قابل اور آخر سے آخر تک AI/ML طریقوں، عملی نفاذ، اور عالمی صحت کی دیکھ بھال کے صارفین کو بین الضابطہ مسائل کے لیے قابل توسیع حل تیار کرنے اور تیار کرنے میں مدد کرنا ہے۔ اس کے پاس فزکس میں دو گریجویٹ ڈگریاں ہیں اور انجینئرنگ میں ڈاکٹریٹ کی ڈگری ہے۔

AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عیپریا پاداٹے ۔ AWS میں ہیلتھ کیئر اور لائف سائنسز میں وسیع مہارت کے ساتھ ایک سینئر پارٹنر سلوشنز آرکیٹیکٹ ہیں۔ پریا شراکت داروں کے ساتھ مارکیٹ میں جانے کی حکمت عملیوں کو چلاتی ہے اور AI/ML پر مبنی ترقی کو تیز کرنے کے لیے حل کی ترقی کو چلاتی ہے۔ وہ صحت کی دیکھ بھال کی صنعت کو تبدیل کرنے کے لیے ٹیکنالوجی کے استعمال کے بارے میں پرجوش ہے تاکہ مریضوں کی دیکھ بھال کے بہتر نتائج حاصل کیے جاسکیں۔

AWS پر generative AI کا استعمال کرتے ہوئے ریڈیولاجی رپورٹس کے نتائج سے خود بخود تاثرات پیدا کریں | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عیایکتا والیہ بھولر, PhD, AWS Healthcare and Life Sciences (HCLS) پروفیشنل سروسز بزنس یونٹ کے ساتھ ایک سینئر AI/ML کنسلٹنٹ ہے۔ وہ صحت کی دیکھ بھال کے شعبے میں AI/ML کے اطلاق کا وسیع تجربہ رکھتی ہیں، خاص طور پر ریڈیولاجی میں۔ کام سے باہر، جب ریڈیولاجی میں AI پر بحث نہیں کرتے، تو وہ دوڑنا اور پیدل سفر کرنا پسند کرتی ہے۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ