Build: az AI itt van
Bombasztikus bejelentés nélkül, erős mesterségesintelligencia-hype-pal érkezett a Microsoft fejlesztői konferenciájának első napja. Windows helyett máshol a fókusz.
Félelmetesen összeszedett és céltudatos vállalat képét mutatta tegnap a Microsoft, a cég fejlesztői konferenciájának nyitónapján. A keynote előadások és a bejelentések az eddig kétkedők számára is egyértelművé kellett tegyék: a vállalatnak ütős víziója van, amelyet évről évre meggyőző sebességgel hajt végre. Bombasztikus bejelentések nem jöttek idén (legalábbis nem az első napon), de ez csak a felületes szemlélőket zavarhatja meg.
Már nem jön az "AI" - itt van
Az első nap legfontosabb üzenete talán úgy foglalható össze, hogy az "AI" termőre fordult. Az idézőjel indokolt, a mesterséges intelligencia ugyanis ugyanolyan hívószóvá alacsonyodott, mint a felhő volt az elmúlt 10 évben. Használjunk helyette olyan kifejezést, ami ki is fejezi miről van szó: gépi látás és hallás, illetve mintázatfelismerés hatalmas adatmennyiségeken. Ezek persze az elmúlt években is folyamatosan napirenden voltak, de lassan elérték az érettség azon szintjét, amikor már komoly alkalmazásokba lehet beépíteni a technológiát.
A Microsoft demói is e körül forogtak, a cég azt igyekezett demonstrálni, hogy az évek óta építgetett AI-szolgáltatások hogyan használhatóak ki gyakorlati körülmények között. Például a beszédfelismerés egy irodai megbeszélés rögzítésére, átírására és memo készítésére - nem elég, hogy a szolgáltatás nagyjából elkapja miről volt szó, közel 100 százalékos biztonság kell ahhoz, hogy a résztvevők meg is bízzanak benne és elkezdjék használni azt. Ugyanez érvényes a gépi látásos demókra is: a drónra szerelt kamera képét AI dolgozza fel, amely az épület vezetékein keresi a fizikai károsodás nyomait - ha ez nem működik megbízhatóan, akkor akár életveszélyes körülményeket is teremthet.
A Gitlab mint DevSecOps platform (x) Gyere el Radovan Baćović (Gitlab, Data Engineer) előadására a november 7-i DevOps Natives meetupon.
A Microsoft-partnerek szerint pedig már megüti a szintet az AI pontossága és megbízhatósága. A tavaly még csak tech-demó formájában létező, gyári veszélyhelyzetekre figyelő rendszert a ThyssenKrupp már élesben használja, mindössze egy évvel azután, hogy az demóként szerepelt. A cég korábban nagy összegben (és komoly fejlesztési költségvetéssel) fogadott arra, hogy a felhő mellett az "edge computing", vagyis a helyben történő feldolgozás is erősödni fog. Ez jelent helyi szervereket, PC-ket, munkaállomásokat, de bizonyos számítási kapacitással rendelkező IoT-eszközöket is, amelyek a munka jelentős részét saját hatáskörben el tudják végezni. A cég szerint a hardverek már elég erősek ahhoz, hogy például a gépi látáshoz kapcsolódó feladatok nagy részét már egy mobil chip is el tudja végezni - így egy megfigyelő kamera önmaga el tudja dönteni, hogy riasztási helyzet állt-e elő, és a felhős infrastruktúrának csak akkor ad jelet, ha veszélyt lát.
Brainwave
Kipróbálhatóvá vált a Project Brainwave, az FPGA-gyorsítást használó gépi tanulásos rendszert immár tesztelők is bevethetik. A Brainwave-et még tavaly augusztusban jelentette be a Microsoft, lényege, hogy a felhős DNN (deep neural network) rendszer hardveres gyorsítást használ, így közel valósidejű feldolgozást kínál, menedzselt szolgáltatás formájában. A megoldás bizonyos számítási feladatokhoz, amelyek elvégzésére a hagyományos CPU-k nem ideálisak, Intel gyártmányú programozható kapumátrixokat (FPGA-kat) állít üzembe - ezek ugyan jóval alacsonyabb órajelet érnek el és sokkal-sokkal kevesebb tranzisztort tartalmaznak, igény szerint újrahuzalozhatóak, így nagyon specializált áramkörök alakíthatóak ki belőlük. Az FPGA-kkal már évek óta kísérletezik a Microsoft, saját online szolgáltatásaiban, például a Bing alatt már korábban is tesztelte, majd be is vetette az ilyen lapkákat. Mostanra pedig a cég elég tapasztalatot szerzett ezek üzemeltetésével ahhoz, hogy szolgáltatásként is kínálja, első körben az AI-hoz kapcsolódó feladatok alá.
A bejelentéskor könnyen lehetett legyinteni, hogy újabb alapkutatásról van szó, amelyből csak lassan (vagy soha sem) lesz termék - a cég viszont véresen komolyan gondolja a fejlesztést, amely mostantól műszaki előzetes formájában tesztelhető és nem oly sokára megvásárolható termék is lesz. Mi sem bizonyítja ezt jobban, mint hogy hivatalos nevet is kapott a szolgáltatás, Azure Machine Learning Hardware Accelerated Models néven lehet majd elérni - nem véletlen, hogy a marketingosztály foggal-körömmel ragaszkodik a Brainwave névhez.
És hogy szó essen a szolgáltatás egyedi jellegéről is: a Brainwave versenyelőnye a nagyon magas feldolgozási sebesség és nagyon alacsony késleltetés. A megoldás gyakorlatilag valós időben képes gépi látást futtatni videostream vagy képsorozat feldolgozására, így például egy gyártósorról kikerülő termékeken hibakeresést végezni - az egyik korai tesztpartner, a Jabil például hibásnak tűnő, de valójában megfelelő termékek azonosítására veti be a rendszert, ezzel szűri a fals pozitív jelzéseket. Az igazán nagy dobás pedig az, hogy a Brainwave nem csak a publikus felhőben képes futni, hanem bedobozolva letehető a gyár helyszínére is, így a kamerák videós feedjét nem kell megjáratni a világ körül.
Project Kinect for Azure
Meglepetésként érkezett a Buildre a Project Kinect for Azure, amely pont a fentebb ecsetelt helyi+felhős feldolgozás egyik roppant érdekes implementációja. Ez tulajdonképp egy Kinect szenzortömb, a hardver mögé pedig felhős feldolgozás állítható. Maga a hardver a Kinect mélységérzékelős technológiájára épít, amelyet a cég a HoloLensben is bevet a viselő körüli tér feltérképézésére is. Ezt a Project Kinect for Azure egy általánosított formában kínálja partnerek számára, a hardvert a Microsoft beépítésre kínálja más gyártóknak - például biztonsági kamerákba vagy repülő drónokba. A rendszer helyben képes komplex feladatokra (ahogy a Kinect is képes volt), tehát tud embereket azonosítani és követni térben.
Kinect, komponensként, felhős támogatással - lehet benne potenciál.
A hardverbe egy továbbfejlesztett mélységszenzor került, amely 1 megapixeles (1024x1024 pixel) felbontásra képes széles látószögben. A szenzortömb kimondottan alacsony fogyasztással rendelkezik, ezzel elvben akkuról is üzemeltethető lesz, nem csak elektromos hálózatra csatlakoztatva (ez fontos például a drónos alkalmazásnál). A csavar a bejelentésben: a mélységszenzor adatai felhasználhatóak gépi tanulásra, így a fejlesztők saját modelleket képezhetnek a szenzor által begyűjtött adatokkal. Ezek nyilván egészen más típusú információkat tartalmaznak, mint a hagyományos digitális képek, ez pedig izgalmas új lehetőségek előtt nyitja meg az utat.
Azt felmérni sem lehet, hogy a Kinect for Azure milyen karriert fut majd be, könnyen elképzelhető, hogy halk puffanással ér véget egy-két év után. De az is elképzelhető, hogy a Microsoft által szállított hardverre külső fejlesztők az eredeti Kinecthez hasonló megoldásokat építenek, és akár a játékiparban, akár a gyártásban bevetik azt. A Microsoft mindenesetre vevő minden ötletre, ha már házon belül nem tudta felfuttatni a technológiát, továbbfejlesztve és komponensként piacra dobva még lehet sikeres.
Visual Studio IntelliCode és Live Share
Egyelőre kísérleti fázisban érhető el az IntelliCode, a Microsoft következő generációs fejlesztői asszisztense, immár AI-alapokon. A rendszer alapját gépi tanulás képezi, amelyet a Microsoft mintegy 2000 GitHub repón képezett, és ezekből igyekezett a legfontosabb kódolási konvenciókat és egyéb elemeket azonosítani. Az IntelliCode első körben néhány képességet hoz, mint a kontextus-alapú IntelliSense, kódolási stílusok betartatása vagy a pull requestek átnézése. Ez azonban csak a kezdet, a cég ígérete szerint az AI-jal megtámogatott IntelliCode rengeteg potenciállal rendelkezik, amelyet fokozatosan bont majd ki a következő években.
Az IntelliCode egyik következő fejlesztése a kódolási stílusok automatizálása lesz, amely "autocorrect" segítségével segít betartani a megkívánt stílust - bár ezek között egyelőre nem tud egy kattintással váltani. Az viszont roppant ígéretes, hogy a betáplált kódbázis alapján létre tud hozni egy stílussablont, amely ráadásul ember által olvasható és szerkeszthető is.
A Live Share-t a cég már a tavalyi Connect konferencián bemutatta, most azonban el is rajtol (nyilvános előnézet fokozatban) a képesség. A Live Share valósidejű közös kódolást hoz, ami a Microsoft fejlesztői környezeteiből, Visual Studioból és VS Code-ból érhető el. A megosztott projektekben a fejlesztők egyszerre írhatnak, törölhetnek, követhetik egymás pozícióját a kódban. Az igazán ütős funkció, hogy a debug is lehet közös, minden fél látja a stack trace-t, állíthat be töréspontokat és léptetheti a futtatást. Ez nagyon megkönnyíti a páros programozást, így két (vagy több) fejlesztő előtt is lehet gép, lehet egyszerre túrni a kódot - akár más-más helyszínekről is.
És ha már fejlesztői konferencia, a Builden szinte minden platform és eszköz kapott frissítést, új verziót kapott a Visual Studio windowsos és maces kiadása is, hivatalos rajtot kapott a Xamarin.Forms 3.0 és közel végleges (release candidate) állapotú a .NET Core 2.1 is.
Van itt más is
A fősodor mellett a Microsoft még rengeteg kisebb-nagyobb bejelentést időzített a Build első napjára. Talán a legfontosabb, hogy újra berúgná a cég a Microsoft Store-t, ennek érdekében már mindössze 5 százalékra csökkenti saját jutalékát az itt befolyó bevételből - a Google és az Apple egységesen 30 százalékot tart meg a fejlesztők járandóságából. A cég csak két kivételt határozott meg, az (amúgy egészen sikeres) játékokra nem vonatkozik az alacsony jutalék, illetve ha az ügyfélszerzést a Microsoft végzi, akkor 5 helyett 15 százalék a leszedett sáp. Az új jövedelemmegosztási modell "2018 folyamán" élesedik majd, ekkor derülnek ki a további részletek is.
Egy másik újdonság a "Your Phone" alkalmazás. Ez a Timeline funkciót hivatott kiegészíteni és PC-ről nyújt hozzáférést a telefon tartalmához. Az alkalmazás egyelőre meglehetősen korlátozott, SMS-ek, képek és értesítések érhetőek el a számítógépről - utóbbiak megnyithatóak a számítógépen is, ha weben vagy telepített alkalmazáson keresztül elérhetőek. Az ötlet nem új, korábban a Dell vagy épp a BlackBerry is próbálkozott ilyennel, de a szűk hozzáférés miatt nem lettek ezek sikeresek.
Apróság, hogy a hagyományos asztali alkalmazások (Win32) is ki tudják a jövőben használni az új windowsos UI frameworköt, a Fluent Design Systemet. Ehhez az UWP XAML Islands megoldást kell bevetni, amely elérhetővé teszi a XAML-vezérlők használatát az alkalmazásokon belül Windows Forms, WPF vagy natív Win32 esetében is.