در این مقاله، نحوه برقراری ارتباط بین مدلهای یادگیری ماشینی و اپلیکیشن کاملی که از اجزای هوش مصنوعی استفاده میکند، خواهیم آموخت. در دنیای امروزی که هوش مصنوعی به بسیاری از دامنه ها ارزش افزوده است، اجازه دهید یاد بگیریم که چگونه برنامه های نرم افزاری با هوش مصنوعی فعال می شوند.
روشهای مختلف استقرار در مقاله قبلی، گردش کار یادگیری ماشین و روشهای استقرار مورد بحث قرار گرفت . با استقرار، مدل را می توان برای استفاده از طریق یک برنامه وب یا نرم افزار در دسترس قرار داد. داده ها را می توان توسط کاربر به مدل وارد کرد و پیش بینی ها را می توان از طریق برنامه از مدل دریافت کرد.
اجازه دهید نمونهای از یک سیستم توصیهکننده مانند یک وبسایت تجارت الکترونیک یا YouTube را در نظر بگیریم، که دادههایی را از کاربران دریافت میکند که برای پیشبینی محصول یا ویدیویی که کاربر میخواهد استفاده میشود. مدل دادهها را از برنامه دریافت میکند و پیشبینیهایی را ارائه میکند که با استفاده از آن خدمات، محصولات، موسیقی و ویدیوهای مختلف را میتوان به کاربران توصیه کرد. این امر با هوش مصنوعی، یادگیری ماشینی و یادگیری عمیق امکان پذیر شده است. سهم عمده در ظهور اپلیکیشنی مانند Spotify به سیستم توصیهای مربوط میشود که به کاربران کمک میکند موسیقیهای مشابهی را که انتخاب میکنند کشف کنند که ممکن است برای هر شخص عادی غیرممکن باشد.
پس چگونه این پشت صحنه کار می کند؟ این مقاله به طور خلاصه به آن پرداخته است.
تمامی این اپلیکیشن هایی که میلیون ها کاربر از آن ها استفاده می کنند، در محیط تولید اجرا می شوند. میپرسید محیط تولید چیست؟ که به عنوان Production یا Production Environment شناخته می شود، به مکان برنامه برای عموم و کاربران مورد نظر اشاره دارد. باگها باید قبل از راهاندازی سیستم به تولید، با تمام آزمایشها و ارزیابیها با حفظ تمام الزامات لازم استانداردهای کدگذاری و شیوههای کد تولید برطرف شوند.
حال، چگونه تمام ارتباطات درون برنامه و مدل در تولید کار می کند؟ برای پاسخ به این سوال، باید در مورد Endpoint بدانیم. نقطه پایانی اساسا یک رابط برای مدل سازی است. در مورد مدلهای یادگیری ماشینی، نقطه پایانی دروازهای است که ارتباط بین برنامه و مدل را تسهیل میکند. به طور خلاصه، عملکرد این رابط که ما آن را نقطه پایانی می نامیم، می توانیم آن را به صورت زیر مشخص کنیم.
- Endpoint برنامه را قادر می سازد تا داده ها را از کاربر به مدل ارسال کند
- سپس خروجی پیشبینی از مدل دریافت میشود که بر اساس دادههای وارد شده از کاربر است.
تصویر زیر این کانال ارتباطی را به صورت بصری توضیح می دهد.
برای درک این موضوع با یک برنامه، اجازه دهید ml_app.py را که یک برنامه پایتون است در نظر بگیریم. در این برنامه، نقطه پایانی مشابه فراخوانی تابع است که به اتصال مدل و برنامه کمک می کند، در حالی که خود تابع مدلی است که آموزش و ارزیابی را انجام می دهد. کل برنامه ml_app.py برنامه را نشان می دهد. ارتباط توصیفی عناصر برنامه نمونه با مدل، کاربرد و نقطه پایانی را می توان در زیر مشاهده کرد.
#Obtain data from user
input_user_data = get_user_data()
#Receive predictions based upon the data fetched from user
prediction = ml_model(input_user_data)
#Showcase prediction to user
showcase_prediction_to_user(predictions)
def ml_model(user_data):
loaded_data = load_user_data(user_data)
در برنامه بالا، برنامه ml_app.py برنامه را نشان می دهد. تابع ml_model را می توان به عنوان مدل مشخص کرد و فراخوانی تابع 'پیش بینی' نشان دهنده نقطه پایانی است.
در خط 6،
این فراخوانی تابع ml_model است که نقطه پایانی است.
در خط 12،