Microsoft Cognitive Toolkit - znany wcześniej pod nazwą CNTK - to zestaw narzędzi, pozwalający deweloperom sięgnąć po inteligentne funkcje z wykorzystaniem deep learning i potężnej mocy chmury obliczeniowej. Ogromna skalowalność, komercyjna jakość algorytmów i kompatybilność z językami programowania sprawiają, że MCT może znacząco ubogacić zewnętrzne aplikacje przy niewielkich nakładach pracy dewelopera. Microsoft zaktualizował teraz swój zestaw narzędzi. Jakie zmiany wprowadzono?
Nim weźmiemy pod lupę nowości, przytoczymy najbardziej skróconą wersję historii pakietu. Microsoft Cognitive Toolkit był początkowo rozwijany przez naukowców z Microsoft, którzy potrzebowali narzędzia przyspieszającego i zwiększającego wydajność ich własnych badań. Nie trwało długo, nim pakiet zaskarbił sobie popularność wśród portfolio narzędzi Microsoft, także wśród użytkowników z zewnątrz. Microsoft wyszczególnia kilka ważnych cech zestawu: szybkość i skalowalność, jakość na poziomie komercyjnym - pod dyktando MCT działają choćby Skype, Cortana, Bing i Xbox - oraz kompatybilność.
Najnowsza wersja MCT jest dostępna na licencji open source i zawiera funkcjonalności dla deweloperów, korzystających z Pythona i C++. Ponadto wprowadzono nową metodę inteligentnej pracy z danymi, zwaną reinforcement learning. Twórcy mówią też o lepszej wydajności w stosunku do poprzednich wersji. Microsoft Cognitive Toolkit jest "nie tylko szybszy od innych zestawów narzędzi, zwłaszcza w pracy z wielkimi zestawami danych na wielu maszynach. Ten rodzaj implementacji na dużą skalę jest konieczny w zastosowaniach deep learning na wielu GPU, które z kolei są potrzebne w rozwijaniu produktów konsumenckich i profesjonalnych". Zespół twórców powołuje się na niedawny rekord szybkości, który przypadł w udziale kognitywnym usługom w chmurze - System rozpoznawania mowy Microsoftu dorównał człowiekowi. Tak, z tej samej technologii mogą bez przeszkód korzystać deweloperzy, zaprzęgając ją do własnych aplikacji!
Wróćmy jeszcze do kwestii skalowalnośći, która w terminologii chmurowej oznacza możliwość wykorzystania atutów tej technologii w kontekście małych projektów, jak i wielkich wdrożeń. Co ważne, przejście od fazy projektowej do wdrożenia można przeprowadzić dosłownie za pomocą paru kliknięć i to bez przerwy w działaniu usługi. To samo dotyczy MCT, który "radzi sobie ze wszystkim, poczynając od relatywnie małych zbiorów danych, po bardzo duże, korzystając z jednego laptopa lub z serii komputerów w centrach danych. Można go też uruchamiać na komputerach z tradycyjnymi CPU i GPU". Najnowszą wersję pakietu można pobrać za darmo z repozytorium GitHub.