Maskininlärning
AI utan molnet
När man tänker på AI i en produkt föreställer man sig ofta en server någonstans som står för intelligensen. Produkten samlar in data, skickar iväg den och väntar på ett svar. Det fungerar, och för vissa produkter är det rätt lösning. Men allt fler AI-modeller är tillräckligt små för att köras direkt på enheten, och det förändrar betydligt mer än bara var beräkningarna utförs.
Tänk dig att vi bygger samma produkt på två olika sätt. Det är en liten sensor som monteras på en elmotor i ett teknikrum, en sådan som driver en pump eller en fläkt. Sensorns uppgift är att upptäcka när ett lager börjar bli slitet, flera veckor innan det går sönder och riskerar att skada motorn. Det gör den genom att mäta vibrationer flera tusen gånger i sekunden.
Samma sensor, två lösningar
#I den första lösningen skickar sensorn kontinuerligt sina mätvärden till en server där AI-modellen körs. I den andra körs modellen direkt på sensorn, och bara dess bedömning skickas vidare.
| Modell på en server | Modell på sensorn | |
|---|---|---|
| Vad som lämnar enheten | En kontinuerlig ström av rådata | Ett kort meddelande när något förändras och en livssignal en gång om dagen |
| Trådlös kommunikation | Aktiv nästan hela tiden | Avstängd nästan hela tiden |
| Utan uppkoppling | Kan inte upptäcka fel förrän anslutningen är tillbaka | Fortsätter övervaka och varnar så snart det går |
| Var data lagras | På en extern server | På enheten |
| Reaktionstid | Sekunder, om anslutningen är bra | En bråkdel av en sekund |
| Driftskostnad | Ökar för varje installerad sensor | Kostnaden tas huvudsakligen vid tillverkningen |
Ingen av de här skillnaderna är oviktig. Teknikrum ligger ofta i källare där täckningen är dålig. Kunder frågar allt oftare vart deras data tar vägen, och ”ingenstans” är det enklaste svaret att ge. Dessutom kan en serverkostnad som växer för varje såld sensor snabbt äta upp marginalerna för en produkt som är tänkt att vara billig.
Den trådlösa kommunikationen drar mest energi
#På en liten batteridriven enhet kräver det vanligtvis betydligt mer energi att skicka data än att bearbeta den. En sensor som skickar alla sina mätvärden behöver hålla sin trådlösa kommunikation aktiv, och batteriet måste dimensioneras därefter. En sensor som kan fatta egna beslut kan lyssna, konstatera att allt är som det ska och gå tillbaka till viloläge utan att skicka någonting.
Det vänder på den vanliga avvägningen. Att köra en AI-modell kräver energi, men att överföra all data som modellen annars hade analyserat kräver ofta mer. Med rätt utformning är det därför sensorn med inbyggd AI som får längst batteritid.
Vad krävs för att få plats med modellen?
#Utmaningen är att sensorn är liten. Den har bara en bråkdel av minnet i en mobiltelefon, och varje extra beräkning påverkar batteriförbrukningen. En modell som fungerar bra på en kraftfull dator behöver göras mindre och mer energieffektiv utan att förlora sin användbarhet. Därefter måste den testas på den hårdvara där den faktiskt ska användas.
Därför handlar den här typen av AI lika mycket om hårdvara som om mjukvara. Valet av processor, hur ofta sensorn vaknar, hur mycket den mäter varje gång och hur stor modellen får vara behöver bestämmas tillsammans. Om besluten fattas var för sig riskerar de att motverka varandra. Eftersom modellen dessutom ska användas i produkter som redan är installerade måste det finnas ett säkert sätt att uppdatera den när bättre versioner blir tillgängliga.
När servern fortfarande är rätt val
#Det finns uppgifter som en enskild enhet inte kan lösa. En modell som jämför hundratals motorer för att upptäcka mönster som inte syns hos någon av dem individuellt behöver tillgång till data från alla. Mycket stora modeller får helt enkelt inte plats på liten hårdvara. Och om modellen förändras varje vecka är det enklare att uppdatera den på ett enda ställe än på tusentals enheter.
De bästa lösningarna fördelar ofta arbetet. Sensorn avgör direkt på plats om den egna motorn låter som den ska och skickar då och då en kort sammanfattning. Servern analyserar data från samtliga sensorer, lär sig av hela beståndet och skickar ut förbättrade modeller. Varje del gör det den är bäst lämpad för.
För det mesta finns inget att rapportera
#Den färdiga sensorn tillbringar nästan hela sin livslängd i tystnad. Den lyssnar, konstaterar att ingenting är fel och går tillbaka till viloläge. En gång om dagen skickar den några få byte för att visa att den fortfarande fungerar.
Så en dag börjar ett lager bli slitet, och meddelandet som skickas är precis det som hela produkten är byggd för att leverera: Den här motorn behöver ett nytt lager, och det finns fortfarande flera veckor på sig att byta det.
Bestäm det tidigt
#Var AI-modellen ska köras är inte en detalj som kan vänta tills hårdvaran är färdigutvecklad. Det påverkar hur stort batteriet behöver vara, vad produkten kostar att driva, vart data skickas och vad som händer om uppkopplingen bryts. Om beslutet ändras sent i utvecklingen kan stora delar av produkten behöva göras om.
Därför utvecklar vi enheten, AI-modellen och den tillhörande mjukvaran tillsammans, redan från den första prototypen. På så sätt får du tidigt veta vilken lösning som passar din produkt bäst och slipper bygga om den i efterhand.