یادگیری ماشینی لینکدین
کاربردهای هوش مصنوعی

یادگیری ماشینی لینکدین چطور توسعه پیدا کرده است؟

0

برخی از عناصر کلیدی زیرساخت­‌های یادگیری ماشینی لینکدین
اخیراً خبرنامه‌­ای را شروع کرده­ام که تمرکز اصلی آن هوش مصنوعی است. این خبرنامه TheSequence نام دارد، از مسائل حاشیه­‌ای به دور است و خواندن آن بیشتر از ۵ دقیقه زمان نمی­برد. هدف این خبرنامه این است که مخاطب خود را در جریان پروژه­‌های یادگیری ماشینی، مقالات پژوهشی و مفاهیم به روز نگه دارد.

طراحی یادگیری ماشین مسیری پر چالش برای توسعه و مقیاس‌پذیری پیش رو دارد. از طرفی هم مقالات و مطالعات موردی معدودی وجود دارند که به خوبی نوشته و ثبت شده باشند و بتوان از آنها به عنوان مرجع استفاده کرد. در مجموعه اسلایدهایی که اخیرا توسط تیم ما در Invector Labs منتشر شده، آنچه را از ساخت راه‌­حل­‌های یادگیری ماشینی آموخته­‌ایم به طور خلاصه بیان کرده‌­ایم. با این حال همچنان به دنبال این هستیم که بدانیم دیگر شرکت­‌ها چطور این مسائل را حل می­کنند.

لینکدین LinkedIn یکی از شرکت­‌هایی است که سال­‌ها یادگیری ماشینی را در مقیاس­‌های وسیع به کار می‌­برد، اما این­جا هم دانش چندانی در مورد روش­‌ها و تکنیک­‌های به خصوص وجود نداشت. تیم مهندسی لینکدین اخیرا پست­‎هایی را در بلاگ خود منتشر کرده که در مورد زیرساخت­‌های یادگیری ماشینی و کاربردهایش بینش خوبی به دست می­‌دهند. برخی از این سناریوها مختص لینکدین هستند، با این حال تکنیک­‌ها و کاربردهای بهینه در بسیاری از راهکارهای یادگیری ماشینی در مقیاس بزرگ قابلیت اجرا دارند.

یادگیری ماشینی با دخالت انسان­‌ها

یکی از جنبه­‌های جالب معماری یادگیری ماشینی لینکدین این است که چطور می­‌توان در جریان یادگیری ماشینی از انسان­‌ها نیز به عنوان اهرم استفاده کرد. از سناریویی به عنوان مثال استفاده می­‌کنیم که روابط بین عناوین مختلفی (همچون مهندس ارشد نرم‌­افزار یا سرپرست توسعه‌­دهندگان) را تشخیص می‌­دهد تا تجربه­­‌ی جستجو را برای افراد بهبود بخشد. لینکدین از افراد با تخصص رده‌­شناسی استفاده می‌­کند تا روابط بین عناوین را مشخص کنند تا بتوان از این روابط در مدل­‌های یادگیری ماشینی همچون شبکه­‌های حافظه طولانی کوتاه‌­مدت استفاده کرد که این خود به کشف روابط بعدی بین عناوین کمک می­‌کند. این معماری یادگیری ماشینی، دانش مبتنی بر گراف لینکدین LinkedIn Knowledge Graph است.

زیرساخت یادگیری ماشینی در مقیاس گسترده

هسته­‌ی‌ زیرساخت یادگیری ماشینی لینکدین یک سیستم اختصاصی به نام Pro-ML می‌­باشد. Pro-ML از نظر مفهومی تمامی چرخه­‌های زندگی مدل­‌های یادگیری ماشینی را، از تربیت گرفته تا نظارت، کنترل می‌­کند. لینکدین به منظور کاربرد گسترده‌­تر Pro-ML یک معماری تولید کرده که می­‌تواند چندین تکنولوژی متن‌­باز را، همچون Kafka یا Samza با بلوک­‌های سازنده­‌ی زیرساختار، مثل Spark یا Hadoop YARN ترکیب کند.

یادگیری ماشینی لینکدین

با این­که اغلب تکنولوژی­‌هایی که جزئی از مجموعه­‌ی یادگیری ماشینی لینکدین به شمار می­‌روند شناخته شده هستند، چندین مورد هم وجود دارند که شناخت آن‌ها نیازمند توضیحات بیشتری است:

  • Ambry :Ambry در لینکدین یک انباره­‌ی توزیع شده­‌ی تغییرناپذیر است که به راحتی قابل دسترس و مقیاس­‌پذیر است. Ambry به منظور کار با فایل‌های تغییرناپذیر بهینه شده است که این فایل‌ها می‌توانند در اندازه‌­های متفاوتی (از چند کیلوبایت تا چندین گیگابایت) موجود باشد. بدین منظور توان عملیاتی آن بالا و تاخیر آن خیلی کم می‌باشد و بدین طریق قابلیت جریانی نقطه به نقطه را، از مشتریان تا انباره و بالعکس، با سرعت عالی فراهم می­‌کند. این سیستم برای فعالیت در حالت فعال-فعال در میان چندین مرکز داده ساخته شده و انباره­‌ی بسیار ارزانی را در دسترس قرار می‌­دهد.
  • TonY :TonY Tensorflow on Yarn  چارچوبی برای اجرای اختصاصی TensorFlow بر روی Apache Hadoop است. TonY به عنوان یک نرم­افزار Hadoop، می‌تواند هم یک گره واحد را اجرا کند و هم یک TensorFlow توزیع شده را آموزش دهد.
  • PhotonML :PhotonML یک کتابخانه­‌ی یادگیری ماشینی است که بر اساس Apache Spark بنا شده و در حال حاضر از آموزش انواع متفاوت مدل­‌های خطی تعمیم‌­یافته(GLMs) Generalized Linear Models (GLMs) و مدل­‌های خطی تعمیم‌­یافته­‌ی ترکیبی Generalized Linear Mixed Models ) مانند مدل خطی، مدل poisson و مدل logistic) پشتیبانی می­‌کند.
تنسورفلو در هدوپ

ماه گذشته، تیم مهندسی لینکدین برای اولین بار کدهای تنسورفلو را روی چارچوب YARN (TonY) در دسترس عموم قرار داد. هدف این بود که برنامه­‌های تنسورفلو بتوانند بر روی خوشه­‌های توزیع شده­‌ی YARN اجرا شوند. با این که جریان­‌های کاری تنسورفلو در زیرساخت­‌هایی همچون Apache Spark به طور گسترده پشتیبانی می­‌شوند، YARN عمدتا مورد غفلت جامعه­‌ی یادگیری ماشینی قرار گرفته است. TonY با در دست گرفتن وظایفی همچون تخصیص منبع و تنظیم محیط container، توانست از اجرای فعالیت­‌های تنسورفلو روی هدوپ پیشتیبانی کند.

یادگیری ماشینی لینکدین

به بیان خلاصه، TonY برنامه­‌های تنسورفلو را گرفته و آنها را به وظایف موازی متعدد parallel tasks تقسیم می‌­کند که می‌توانند بر روی یک خوشه­‌ی YARN اجرا شوند. این عمل در حالی انجام می­‌گیرد که پشتیبانی کامل از گراف محاسبه­‌ی تنسورفلو حفظ می‌­شود؛ که خود به این معنی است که ابزارهایی همچون TensorBoard می­‌توانند بدون هیچ‌گونه تغییر و اصلاحی بر روی TonY اجرا شوند.

یادگیری ماشینی لینکدین

TonY نقش جالبی در اکوسیستم تنسورفلو به عهده دارد که از طریق آن می­تواند تجربه­ی برنامه­های تنسورفلو را تا حد قابل قبولی بهبود بخشد. علاوه بر این،TonY می­تواند از گستره­‌ی متنوعی از ابزارها و کتابخانه­‌های موجود در YARN استفاده کند تا مدت زمان اجرای کدی را که برای آموزش و اجرای برنامه­‌های تنسورفلو وجود دارد، به صورت کاملاً مقیاس­‌پذیر فراهم کند.

آزمون

لینکدین به طور هم‌زمان هزاران مدل­ یادگیری ماشینی را در دست اجرا دارد که دائماً در حال تکامل و ایجاد نسخه­‌های جدید هستند. در این موارد، به منظور بهینه­‌سازی عملکرد مدل‌­های یادگیری ماشینی در زمان اجرا، طراحی یک متدولوژی قوی برای آزمون (آزمودن) ضروری است. در لینکدین نیز تیم مهندسان، آزمون A/B را به عنوان یکی از اجزای رده اول معماری ProML تعبیه کرده‌­اند و بدین طریق این امکان برای مهندسان یادگیری ماشینی فراهم شده است تا الگوریتم­‌های رقیب را برای سناریوهای خاص بچینند و آن الگوریتمی که بهترین خروجی را به دنبال دارد، ارزیابی کنند.

یادگیری ماشینی لینکدین

غول­‌های اینترنتی همچون لینکدین در خط مقدم استفاده از راهکارهای یادگیری ماشینی در مقیاس‌های بزرگ هستند و بینش و تجربیات آن­ها در این حوزه برای شرکت­‌هایی که تجربه­‌ی یادگیری ماشینی خود را به تازگی آغاز کرده‌­اند از اهمیت بالایی برخوردار است. کار لینکدین به وضوح می‌­تواند به ما نشان دهد که توسعه­‌ی یادگیری ماشینی در مقیاس بزرگ یک کار بی‌انتهاست که طی آن باید کتابخانه­‌های متن­‌باز و سامانه‌های محبوب با چارچوب­‌ها و متدولوژی­‌های اختصاصی ترکیب شوند.

با بروزرسانی جدید تسلا آشنا شوید؛ پرداخت حق اشتراک ماهانه برای گزینه‌ی Full Self-Driving

مقاله قبلی

چگونه می‌‌‌توان عملیات هوشمند را با استفاده از فناوری شناختی بازگشایی کرد؟

مقاله بعدی

شما همچنین ممکن است دوست داشته باشید

نظرات

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *