Gépi tanulási munkafolyamatok automatizálása a mesterséges intelligencia Visual Studióban történő használatához
Gépi tanulási munkafolyamatok automatizálása a mesterséges intelligencia Visual Studióban történő használatához
Megtudhatja, hogy a Microsoft fejlesztői részlegének adattudósai és mérnökei hogyan alakítottak át egy sikeres kísérletet nagy kihasználtságú termékfunkcióvá gépi tanulási műveletek (MLOps) használatával.
A feladat: A prototípustól az éles környezetig nagy méretekben
Miután hat hónapig végzett AI- és gépi tanulási kísérleteket azzal a céllal, hogy javítsa a fejlesztői hatékonyságot, a Microsoft fejlesztői részlegében egy alkalmazott adattudománnyal foglalkozó kis tudóscsapat létrehozott egy olyan modellt, amely a kódírás közben aktív módon előre jelzi azokat a C#-metódusokat, amelyeket a fejlesztő valószínűleg meg szeretne hívni a kódolás közben.
Ez a sikeres gépi tanulási prototípus lett végül a Visual Studio IntelliCode nevű, vagyis egy mesterséges intelligenciát használó kódelőrejelzési funkció alapja. Ezt megelőzően azonban szigorú teszteket végeztek rajta a minőség, a rendelkezésre állás és a skálázhatóság szempontjából annak érdekében, hogy megfeleljen a Visual Studio-felhasználók elvárásainak. Fel kellett kérniük a mérnökcsapatot arra, hogy készítsenek egy gépi tanulási platformot, és automatizálják a folyamatot. Mindkét csapatnak MLOps-megközelítést kellett alkalmaznia, hogy kiterjeszthessék a DevOps-alapelveket a gépi tanulási életciklus teljes egészére.
Az alkalmazott tudományt használó csapat és a mérnökcsapat együtt hozott létre egy olyan gépi tanulási folyamatot, amely a modellbetanítási folyamat iterálását végzi, és amely automatizálja azoknak a feladatoknak egy jelentős részét, amelyeket az alkalmazott tudományt segítségül hívó csapat manuálisan végzett el a prototípusfázisban. Ez a folyamat lehetővé tette az IntelliCode-nak a skálázást és hat programnyelv támogatását, miközben rendszeresen tanított be új modelleket számos nyílt forráskódú GitHub-adattárból származó kódpéldák használatával.
A feladat: A prototípustól az éles környezetig nagy méretekben
A feladat: Felhőbeli üzemeltetési modell bevezetése
"Jól tudtuk, hogy minden hónapban rengeteg számításigényes modellbetanítást fogunk elvégezni nagyon nagy adathalmazokon. Emiatt egyre nyilvánvalóbbá vált, hogy szükségünk van egy automatizált, skálázható és a betanítást teljes egészében felölelő gépi tanulási folyamatra."
Gearard Boland, vezető szoftverfejlesztési menedzser, Adat és mesterséges intelligencia csapat
Elemzések előnyeinek kihasználása gépi tanulási műveletekkel
Az IntelliCode megjelenésével lehetőséget láttak a csapatok arra, hogy egy még jobb felhasználói élményt dolgozzanak ki: csapatmunka-befejezési modelleket lehet létrehozni minden ügyfél egyedi kódolási szokásait figyelembe véve. Ezeknek a gépi tanulási modelleknek a személyre szabásához igény szerint, automatikusan kell betanítani és közzétenni a modelleket minden olyan esetben, amikor egy Visual Studio- vagy Visual Studio Code-felhasználó ezt kéri. Annak érdekében, hogy ezeket a funkciókat nagy méretekben is használni lehessen a meglévő folyamattal, a csapatok olyan Azure-szolgáltatásokat használtak, mint az Azure Machine Learning, az Azure Data Factory, az Azure Batch és az Azure Pipelines.
A feladat: Felhőbeli üzemeltetési modell bevezetése
"Amikor hozzáadtuk az egyéni modellek támogatását, még fontosabb lett a betanítási folyamatunk skálázhatósága és megbízhatósága."
Gearard Boland, vezető szoftverfejlesztési menedzser, Adat és mesterséges intelligencia csapat
Két különböző megközelítés összehangolása
A gépi tanulási folyamatuk létrehozásához a csapatoknak közös normákat és irányelveket kellett meghatározniuk annak érdekében, hogy közös nyelvet beszélhessenek, ajánlott eljárásokat oszthassanak meg egymással, és hogy hatékonyabban tudjanak együttműködni. Emellett meg kellett ismerniük a többiek ehhez a projekthez használt megközelítéseit is. Miközben az adattudósok csapata kísérletezve dolgozott – iterációval gyorsan végighaladva a modell létrehozásán –, a mérnökcsapat arra összpontosított, hogy az IntelliCode megfeleljen a Visual Studio-felhasználók elvárásainak az éles környezetbeli funkciók terén.
Ma a teljes gépi tanulási folyamat – a betanítás, az értékelés, a csomagolás és az üzembe helyezés – automatikusan fut, és havonta több mint 9000, a Visual Studio és a Visual Studio Code felhasználóitól érkező modell-létrehozási kérelmet szolgál ki. A csapatok a folyamatuk segítségével további AI-képességeket szeretnének beépíteni más Microsoft-termékekbe is, és még elégedettebbé szeretnék tenni az ügyfeleket.