مایکروسافت نسخه بتا ابزار یادگیری ماشینی خود را منتشر کرد
زمانی که در ارتباط با چهارچوبهای یادگیری ماشینی صحبت میکنیم، تانسورفلو گوگل یکی از محبوبترین گزینههایی است که پیش روی ما قرار دارد. اما مایکروسافت از ابتدای سال جاری میلادی چهارچوب یادگیری ماشینی خود موسوم به CNTK را عرضه کرد. ابزاری که به صورت داخلی از سوی مایکروسافت مورد استفاده قرار میگرفت اکنون به عنوان رقیب گوگل به میدان وارد شده است.
مایکروسافت اولین نسخه بتا از نگارش دوم CNTK را دو روز پیش عرضه کرد، به این امید که چهارچوب فوق بتواند تانسورفلو گوگل را به چالش کشیده و رهبری بازار را به دست آورد. در حالی که CNTK در اصل مخفف کلمات Computational Network Toolkit است، اما امروزه بسیاری از سایتها و حتا خود مایکروسافت از عبارت Microsoft Cognitive Toolkit برای این چهارچوب استفاده میکنند.
زیدانگ هوانگ، مدیر بخش علوم گفتاری مایکروسافت در ارتباط با چهارچوب فوق گفته است: «به اعتقاد من CNTK/Cognitive Toolkit در مقایسه با تانسورفلو و چهارچوبهای مشابه از طیف گستردهتری از مزایا برخوردار است. به ویژه آنکه در زمینه عملکرد کارایی بالاتری نسبت به رقبای خود دارد.» بنچمارکهای ارائه شده از سوی مایکروسافت نشان میدهد که چهارچوب جعبه ابزار شناختی در بسیاری از حوزهها برتری محسوسی نسبت به رقبای خود دارد.
نسخه جدید در مقایسه با نگارشهای قبلی و به ویژه در زمان کار با مجموعهای از کلان دادهها از سرعت عمل بالاتری برخوردار است. هوانگ در این ارتباط گفته است: «معماری CNTK به شکلی انعطافپذیر و گسترشپذیر طراحی شده است، به طوری که به راحتی میتواند با طیف گستردهای از پردازندههای گرافیکی کار کند. اگر تنها به دنبال حل کردن مشکلات ساده هستید، چهارچوبهای رایج به راحتی به شما کمک میکنند، اما اگر به دنبال یک راه حل گسترشپذیر هستید، آنگاه CNTK تنها گزینه پیش روی شما است.»
همانگونه که در شکل زیر مشاهده میکنید الگوریتمها زمانی که تنها از یک پردازنده گرافیکی استفاده میکنند، عملکردی مشابه با یکدیگر دارند، اما زمانی که تعداد پردازندههای گرافیکی و ماشینها افزایش پیدا میکنند آنگاه CNTK از همه آنها بهتر عمل میکند.
اما سرعت بالا همیشه به معنای بهتر بودن نیست. اولین نگارش CNTK اساسا همان نسخهای بود که مایکروسافت به طور داخلی از آن استفاده میکرد. طراحانی که تمایل داشتند از این چهارچوب استفاده کنند، مجبور بودند کدهای خود را به زبانهای سی پلاس پلاس یا سی شارپ بنویسند. همین موضوع باعث شده بود تا CNTK به شدت محدود شود، به ویژه آنکه تانسورفلو به طراحان اجازه میداد کدهای خود را به زبان پایتون بنویسند. هوانگ محدودیت فوق را اینگونه استدلال کرد بود: «اولویت اصلی ما عملکرد داخلی سامانه است. ما همواره از زبان سی پلاس پلاس برای انجام کارها استفاده میکنیم. ما تصمیم گرفتیم ابزار درون سازمانی خود را منبع باز کرده و آنرا با عموم مردم به اشتراک قرار دهیم.»
اما زمانی که نسخه نهایی این نرمافزار به طور رسمی عرضه شد، تیم توسعهدهنده به سرعت آگاه شدند که طراحان نرمافزار درخواست پشتیبانی از زبان پایتون را دارند. در نتیجه نباید متعجب شویم که این چهارچوب اکنون از این زبان پشتیبانی میکند. در حال حاضر این کیت ابزار شناختی به طراحان اجازه میدهد از الگوهای خودشان برای آموزش مدلها استفاده کنند. هوانگ یکبار دیگر تاکید کرده است: «بسیاری از سرویسهای مایکروسافت برای انجام فعالیتهای خود از این کیت ابزار شناختی استفاده میکنند. از این چهارچوب در مرکز تحقیقات هوش مصنوعی مایکروسافت به منظور شناسایی کلماتی که در محاورههای گفتاری مورد استفاده قرار میگیرد، استفاده میشود. درست به همان شکلی که عامل انسانی کلمات را تشخیص میدهد. این چهارچوب همچنین به منظور شکلدهی به تعدادی از ابزارهای در دسترس مایکروسافت مورد استفاده قرار میگیرد.»