Ons leven wordt verspild door details. Vereenvoudig, vereenvoudig, vereenvoudig
Henry David Thoreau
Aanzienlijke technologische innovaties volgen meestal een vast patroon. Een kleine groep briljante geesten stuit op een ongelooflijke innovatie, die vervolgens snel wordt overgenomen door een groep gelijkgestemde vroege enthousiastelingen die graag sleutelen en waardevolle feedback geven. Massale acceptatie door miljoenen vindt echter pas plaats nadat de technologie gebruiksvriendelijk is gemaakt, met een interface die het voor de algemene bevolking gemakkelijk en intuïtief maakt om het te omarmen. Gebruiksgemak is van cruciaal belang voor een andere belangrijke gebruikersgroep: de bouwers en makers. Deze ontwerpers, ontwikkelaars en ingenieurs hebben de taak om echte klant- en bedrijfsproblemen op te lossen door een nieuwe technologie te gebruiken om specifieke use-cases op te lossen. Mobiele telefoons, computers, auto's, huishoudelijke apparaten, vliegtuigen – kortom, alle essentiële zaken van het moderne dagelijks leven die we tegenwoordig als vanzelfsprekend beschouwen – hebben allemaal vergelijkbare trajecten gevolgd door tweehonderdduizend jaar menselijke innovatie.
We staan aan de vooravond van een soortgelijk buigpunt met kunstmatige intelligentie (AI). Naarmate we beter worden in het bouwen van AI-algoritmen en datamodellen zeer nauwkeurig en zeer performant worden, worden de workflows van ontwikkelaars het knelpunt dat de productiviteit beperkt. Onnodig, vervelend werk leidt ontwikkelaars af van echte waardecreatie. Uren worden verspild aan het sleutelen aan modellen om ze efficiënt te laten werken op specifieke hardware, het uitproberen van verschillende Python-versies om de juiste bibliotheken aan het werk te krijgen of het uitzoeken welke Jupyter-notebook te gebruiken tussen de honderden beschikbare open source. Kritische gedachteketens raken verstoord. Cognitieve overbelasting wordt een echte uitdaging. In deze blogpost stellen we een nieuwe methode voor om de logistieke lasten voor ontwikkelaars te verminderen, zodat ze meer bandbreedte hebben om te innoveren.
Openbare clouds zijn van nature aantrekkelijk voor AI-ontwikkelaars en bieden voldoende infrastructuurbronnen, geïntegreerde ontwikkelomgevingen en uitstekende tools en ondersteuning. Houd echter rekening met de lange lijst met vragen die cloud-native AI-ontwikkelaars moeten beantwoorden als ze overwegen een AI-model te implementeren op een fabrieksvloer of winkel om de use case van een klant op te lossen:
- Welk model moet Ik gebruik? Welk netwerk? Welk algoritme? Welk framework?
- Welke gegevens moet ik gebruiken? Hoe kan ik het annoteren? Hoe kan ik de gegevens manipuleren om mijn model te trainen?
- Welke cloud moet ik gebruiken?
- Welke Python-versie werkt het beste?
- Welke Jupyter-notebook moet ik gebruiken?
- Heb ik een server nodig om inferentie-workloads uit te voeren? Welke server moet ik gebruiken?
- Welke hardware moet ik gebruiken voor edge-implementaties? Hoe zullen mijn prestaties zijn?
- Kan ik aan mijn serviceovereenkomst voldoen aan de rand of in de cloud?
- Hoe kan ik & mijn model binnen een paar minuten herhaaldelijk opnieuw implementeren?
- Kan ik gebruikmaken van continue integratie of implementatie (CI/CD)?
Figuur 1. Overwegingen van een cloud-native AI-ontwikkelaar bij het implementeren van modellen.
Honderdduizenden dergelijke use-cases duiken elke dag op, omdat alles, van oude industriële fabrieken tot zelfrijdende auto's, AI begint te gebruiken om echte problemen op te lossen.
Een op Microsoft Azure gebaseerde oplossing, Custom Vision, gaat ver in het stroomlijnen van de ontwikkelaarservaring. De hele ontwikkelaarservaring maakt gebruik van een grafische gebruikersinterface (GUI). Er is zelfs geen enkele regel code nodig om het volledige op AI gebaseerde computervisiemodel van training tot implementatie uit te voeren.
Ontwikkelaars kunnen eenvoudig afbeeldingen uploaden, ze annoteren met een paar toetsaanslagen en modellen voor beeldclassificatie of objectdetectie in de cloud trainen – allemaal binnen een paar minuten. De modellen kunnen vervolgens in een grote verscheidenheid aan formaten worden gedownload naar uw hardware naar keuze. Met een klik kunnen apparaatdubbels in de Azure IoT Hub worden bijgewerkt om het nieuwe model uit te voeren. Omscholing volgt een vergelijkbare reeks eenvoudige stappen. De hele workflow van training tot implementatie wordt geminimaliseerd van een uur tot een paar minuten.
We hebben de OpenVINO™-toolkit uitgebracht: Ready-to-Deploy AI Vision Module-app in de Microsoft Azure-marktplaats, gebaseerd op de Custom Vision-applicatie en met behulp van de Intel® Distribution of OpenVINO™-toolkit om de mogelijkheden van de app uit te breiden naar Intel-architectuur- gebaseerde edge-apparaten.
Figuur 2. Stapsgewijze workflow van kant-en-klare applicatie op Microsoft Azure Marketplace.
Ontwikkelaars kunnen hun modellen nu snel trainen of omscholen met Azure Machine Learning (AML) en hun AI-modellen implementeren op Intel-gebaseerde edge-apparaten, waar ze kunnen genieten van de ongelooflijke boost die wordt geboden door Intel Distribution van OpenVINO-toolkit en Intel Neural Compute Stick 2 (of of andere Intel-versnellers).
Onder de dekens maakt de integratie gebruik van de ONNX Runtime met behulp van de OpenVINO-toolkit als de Execution Provider. Het proces begint met een eenmalige installatie van het edge-apparaat dat moet worden verbonden met de Microsoft Azure-cloud en met een camera-apparaat naar keuze. Eenmaal voltooid, kunnen ontwikkelaars hun trainingstaken uitvoeren in Microsoft Azure en hun modellen binnen enkele minuten tot aan de rand implementeren. Het proces kan vervolgens eenvoudig een willekeurig aantal keren worden herhaald.
Afbeelding 3. Train-to-deploy-workflow met behulp van Azure Machine Learning, Intel Distribution of OpenVINO-toolkit en ONNX Runtime.
Deze integratie werkt vandaag met de volgende hardware en zal ontwikkelaars binnenkort in staat stellen om gebruik te maken van het hele ecosysteem van implementatieklare hardware en services, zoals Intel IoT RFP Ready Kits en Intel IoT Market Ready Solutions, met zero-code modeltraining en implementatie. Omscholing en herplaatsing vereisen eenvoudige stappen – allemaal binnen een paar minuten. De end-to-end workflow is volledig geautomatiseerd – er zijn geen handmatige modelconversies vereist. Bovendien hoeven ontwikkelaars zich geen zorgen te maken over verouderde versies van code aan de rand, aangezien de gecontaineriseerde modelafbeelding een eigen afbeelding van de Intel Distribution of OpenVINO-toolkit bevat. Modelupdates zijn niet-verstorend omdat de applicatie naadloos tussen oude en nieuwe modellen schakelt.
Conclusie
We hopen dat deze integratie een belangrijke stap zal zijn voor de AI-ontwikkelaarsgemeenschap om profiteer van de voordelen van AI met zo min mogelijk cognitieve overbelasting. De stappen die ontwikkelaars nodig hebben om aan de slag te gaan, zijn geminimaliseerd, terwijl ze tegelijkertijd voldoende flexibiliteit bevatten om eventuele aanpassingen aan de app mogelijk te maken om te voldoen aan use case-specifieke vereisten. We zijn toegewijd aan voortdurende verbeteringen; we moedigen gebruikers aan om het eens te proberen en ons uw feedback te sturen!
Pradeep Sakhamoori
Solutions Architect, Internet of Things Group, Intel
Arindam Paul
Product Manager, Internet of Things-groep, Intel