Förstå överväganden för AI-ingenjör

Slutförd

A software engineer

Programvarulösningar omfattar i allt högre grad AI-funktioner. så programvarutekniker behöver veta hur de kan integrera AI-funktioner i sina program och tjänster.

De framsteg som gjorts inom maskininlärning, tillsammans med den ökade tillgängligheten för stora mängder data och kraftfull beräkning för att bearbeta den och träna förutsägelsemodeller, har lett till tillgängligheten av färdiga programvarutjänster som kapslar in AI-funktioner. Programvarutekniker kan dra nytta av dessa tjänster för att skapa program och agenter som använder den underliggande AI-funktionen och använda dem som byggstenar för att skapa intelligenta lösningar.

Det innebär att programvarutekniker kan använda sina befintliga kunskaper inom programmering, testning, arbete med källkontrollsystem och paketeringsprogram för distribution, utan att behöva bli dataforskare eller maskininlärningsexperter.

Men för att fullt ut dra nytta av AI:s möjligheter kräver programvarutekniker åtminstone en konceptuell förståelse av grundläggande AI- och maskininlärningsprinciper.

Modellträning och slutsatsdragning

Många AI-system förlitar sig på förutsägelsemodeller som måste tränas med hjälp av exempeldata. Träningsprocessen analyserar data och avgör relationerna mellan funktionerna i data (de datavärden som vanligtvis finns i nya observationer) och etiketten (det värde som modellen tränas att förutsäga).

När modellen har tränats kan du skicka nya data som innehåller kända funktionsvärden och låta modellen förutsäga den mest sannolika etiketten. Användning av modellen för att göra förutsägelser kallas slutsatsdragning.

Många av de tjänster och ramverk som programvarutekniker kan använda för att skapa AI-aktiverade lösningar kräver en utvecklingsprocess som innefattar träning av en modell från befintliga data innan den kan användas för att härleda nya värden i ett program.

Sannolikhets- och konfidenspoäng

En vältränad maskininlärningsmodell kan vara korrekt, men ingen förutsägelsemodell är ofelbar. Förutsägelserna som görs av maskininlärningsmodeller baseras på sannolikhet, och även om programvarutekniker inte kräver en djup matematisk förståelse av sannolikhetsteorin är det viktigt att förstå att förutsägelser återspeglar statistisk sannolikhet, inte absolut sanning. I de flesta fall har förutsägelser en associerad konfidenspoäng som återspeglar sannolikheten för att förutsägelsen görs. Programvaruutvecklare bör använda förtroendepoängsvärden för att utvärdera förutsägelser och tillämpa lämpliga tröskelvärden för att optimera programmets tillförlitlighet och minska risken för förutsägelser som kan göras baserat på marginella sannolikheter.

Ansvarsfull AI och etik

Det är viktigt för programvarutekniker att tänka på hur deras programvara påverkar användare och samhället i allmänhet. inklusive etiska överväganden om dess användning. När programmet genomsyras av artificiell intelligens är dessa överväganden särskilt viktiga på grund av hur AI-system fungerar och informerar beslut. ofta baserat på probabilistiska modeller, som i sin tur är beroende av de data som de har tränats med.

AI-lösningarnas mänskliga karaktär är en stor fördel när det gäller att göra program användarvänliga, men det kan också leda till att användarna litar mycket på programmets förmåga att fatta korrekta beslut. Risken för skada för individer eller grupper genom felaktiga förutsägelser eller missbruk av AI-funktioner är ett stort problem, och programvarutekniker som skapar AI-aktiverade lösningar bör tillämpa vederbörlig hänsyn för att minimera risker och säkerställa rättvisa, tillförlitlighet och tillräckligt skydd mot skada eller diskriminering.