Home / Kunstig Intelligens  / Skreddersydde programmeringsspråk for effektive visuelle AI-systemer

Skreddersydde programmeringsspråk for effektive visuelle AI-systemer

Et enkelt fotografi gir et glimt inn i skapernes verden – deres interesser og følelser for et motiv eller et sted. Men hva med skaperne bak teknologiene som bidrar til å gjøre disse bildene mulige?

 

Jonathan Ragan-Kelley, førsteamanuensis ved MITs institutt for elektroteknikk og informatikk, er en av dem. Han har utviklet alt fra verktøy for visuelle effekter i filmer til programmeringsspråket Halide, som er mye brukt i industrien til bilderedigering og -behandling. Som forsker ved MIT-IBM Watson AI Lab og Computer Science and Artificial Intelligence Laboratory har Ragan-Kelley spesialisert seg på domenespesifikke programmeringsspråk med høy ytelse og maskinlæring som muliggjør 2D- og 3D-grafikk, visuelle effekter og datafotografering.

 

“Den største drivkraften i mye av forskningen vår er å utvikle nye programmeringsspråk som gjør det enklere å skrive programmer som kjører veldig effektivt på den stadig mer komplekse maskinvaren som finnes i dagens datamaskiner”, sier Ragan-Kelley. “Hvis vi ønsker å fortsette å øke datakraften vi faktisk kan utnytte til reelle bruksområder – fra grafikk og visuell databehandling til kunstig intelligens – må vi endre måten vi programmerer på.”

 

Å finne en middelvei

 

I løpet av de siste to tiårene har chipdesignere og programmeringsingeniører vært vitne til at Moores lov har bremset opp, og at det har skjedd et markant skifte fra generell databehandling på CPU-er til mer varierte og spesialiserte databehandlingsenheter som GPU-er og akseleratorer. Med denne overgangen følger en avveining: muligheten til å kjøre generell kode noe langsommere på CPU-er, mot raskere og mer effektiv maskinvare som krever at koden i stor grad tilpasses og mappes til den med skreddersydde programmer og kompilatorer. Nyere maskinvare med forbedret programmering kan gi bedre støtte til bruksområder som mobilradiogrensesnitt med høy båndbredde, dekoding av høykomprimerte videoer for strømming og grafikk- og videoprosessering på mobilkameraer med begrenset strømforbruk, for å nevne noen få bruksområder.

 

“Arbeidet vårt handler i stor grad om å utnytte kraften i den beste maskinvaren vi kan bygge, slik at vi kan levere så høy beregningsytelse og effektivitet som mulig for denne typen applikasjoner, på måter som tradisjonelle programmeringsspråk ikke gjør.”

 

For å oppnå dette deler Ragan-Kelley arbeidet sitt inn i to retninger. For det første ofrer han generalitet for å fange opp strukturen i spesielle og viktige beregningsproblemer, og utnytter dette for å oppnå bedre beregningseffektivitet. Dette ser vi i bildebehandlingsspråket Halide, som han var med på å utvikle, og som har bidratt til å forandre bilderedigeringsbransjen i programmer som Photoshop. Fordi det er spesialdesignet for raskt å håndtere tette, regelmessige matriser av tall (tensorer), fungerer det også godt for beregninger i nevrale nettverk. Det andre fokuset er rettet mot automatisering, nærmere bestemt hvordan kompilatorer tilordner programmer til maskinvare. Et slikt prosjekt med MIT-IBM Watson AI Lab benytter Exo, et språk som er utviklet i Ragan-Kelleys gruppe.

 

I årenes løp har forskere jobbet iherdig for å automatisere koding med kompilatorer, som kan være en svart boks, men det er fortsatt et stort behov for eksplisitt kontroll og tuning av ytelsesingeniører. Ragan-Kelley og hans gruppe utvikler metoder som går på tvers av disse teknikkene, og som balanserer avveininger for å oppnå effektiv og ressurseffektiv programmering. Kjernen i mange høyytelsesprogrammer, som for eksempel videospillmotorer eller kameraprosessering for mobiltelefoner, er avanserte systemer som i stor grad er håndoptimalisert av menneskelige eksperter i detaljerte lavnivåspråk som C, C++ og assembly. Her tar ingeniørene spesifikke valg om hvordan programmet skal kjøre på maskinvaren.

 

Ragan-Kelley bemerker at programmerere kan velge “svært møysommelig, svært uproduktiv og svært usikker lavnivåkode”, som kan introdusere feil, eller “tryggere, mer produktive programmeringsgrensesnitt på høyere nivå”, som mangler muligheten til å gjøre finjusteringer i en kompilator om hvordan programmet kjøres, og som vanligvis gir lavere ytelse. Så teamet hans prøver å finne en mellomting. “Vi prøver å finne ut hvordan vi kan gi kontroll over de viktigste tingene som ingeniører ønsker å kunne kontrollere”, sier Ragan-Kelley, “så vi prøver å bygge en ny klasse av språk som vi kaller brukerprogrammerbare språk, som gir tryggere og mer avanserte muligheter til å kontrollere hva kompilatoren gjør eller hvordan programmet optimaliseres.”

Låse opp maskinvare: høyt nivå og underbetjente måter

 

Ragan-Kelley og forskergruppen hans tar tak i dette gjennom to arbeidslinjer: Den ene bruker maskinlæring og moderne AI-teknikker til automatisk å generere optimaliserte tidsplaner, et grensesnitt til kompilatoren, for å oppnå bedre kompilatorytelse. En annen bruker “eksokompilering”, som han jobber med i laboratoriet. Han beskriver denne metoden som en måte å “snu kompilatoren ut og inn”, med et skjelett av en kompilator med kontroller for menneskelig veiledning og tilpasning. I tillegg kan teamet hans legge til skreddersydde planleggere på toppen, noe som kan bidra til å målrette spesialisert maskinvare som maskinlæringsakseleratorer fra IBM Research. Bruksområdene for dette arbeidet spenner over hele spekteret: datasyn, objektgjenkjenning, talesyntese, bildesyntese, talegjenkjenning, tekstgenerering (store språkmodeller) osv.

 

Et av hans store prosjekter sammen med laboratoriet tar dette enda et skritt videre, ved å se arbeidet i et systemperspektiv. I arbeidet som ledes av hans rådgiver og laboratoriepraktikant William Brandon, i samarbeid med laboratorieforsker Rameswar Panda, tenker Ragan-Kelleys team nytt om store språkmodeller (LLM-er), og finner måter å endre beregningen og modellens programmeringsarkitektur noe på, slik at de transformatorbaserte modellene kan kjøre mer effektivt på AI-maskinvare uten at det går på bekostning av nøyaktigheten. Ragan-Kelley sier at arbeidet deres avviker fra standard tenkemåter på vesentlige måter, noe som potensielt kan gi store gevinster i form av reduserte kostnader, bedre kapasitet og/eller krymping av LLM-modellen slik at den krever mindre minne og kan kjøres på mindre datamaskiner.

 

Det er denne mer avantgardistiske tankegangen når det gjelder beregningseffektivitet og maskinvare som Ragan-Kelley utmerker seg ved og ser verdien i, spesielt på lang sikt. “Jeg tror det finnes områder [innen forskning] som må forfølges, men som er veletablerte, åpenbare eller konvensjonelt kloke nok til at mange enten allerede gjør det eller kommer til å gjøre det”, sier han. “Vi prøver å finne ideer som både har stor innflytelse på verden i praksis, og som samtidig er ting som ikke nødvendigvis ville blitt realisert, eller som jeg tror resten av samfunnet ikke ser potensialet i.”

 

Kurset han nå underviser i, 6.106 (Software Performance Engineering), er et eksempel på dette. For rundt 15 år siden skjedde det et skifte fra én til flere prosessorer i en enhet, noe som førte til at mange akademiske programmer begynte å undervise i parallellisme. Men, som Ragan-Kelley forklarer, innså MIT hvor viktig det var at studentene ikke bare forstod parallellisme, men også optimalisering av minne og bruk av spesialisert maskinvare for å oppnå best mulig ytelse.

 

“Ved å endre måten vi programmerer på, kan vi frigjøre beregningspotensialet til nye maskiner, og gjøre det mulig for folk å fortsette å utvikle nye applikasjoner og nye ideer som kan utnytte den stadig mer kompliserte og utfordrende maskinvaren.”

I forkant av AI & Big Data Expo North America – der selskapet vil vise frem sin ekspertise – ga Chuck Ros, Industry Success Director i SoftServe, verdifull innsikt i selskapets AI-initiativer, utfordringene de står overfor, og den fremtidige strategien for å utnytte denne kraftfulle teknologien.

 

Ros trakk frem et nylig AI-prosjekt som eksemplifiserer SoftServes innovative tilnærming, og diskuterte selskapets unike løsning for et programvareselskap i bransjen for feltserviceadministrasjon. Visjonen var å skape et brukervennlig grensesnitt med språkmodeller som gjorde det mulig for feltteknikere å få sømløs tilgang til servicehistorikk, utstyrsdokumentasjon og vedlikeholdsplaner, noe som ville øke produktiviteten og effektiviteten i driften.

 

“AI-ingeniørene våre utviklet en pipeline for rask evaluering som sømløst tar hensyn til kostnader, behandlingstid, semantisk likhet og sannsynligheten for hallusinasjoner”, forklarer Ros. “Det viste seg å være en ekstremt effektiv arkitektur som førte til forbedret driftseffektivitet for kunden, økt produktivitet for brukerne ute i felten, konkurransefortrinn for programvareselskapet og for kundene deres, og – kanskje viktigst av alt – en gnist til ytterligere innovasjon.”

 

Selv om potensialet i kunstig intelligens er ubestridelig, erkjente Ros at bedrifter ofte begår viktige feil når de tar i bruk AI-løsninger, og understreket viktigheten av å ha en robust datastrategi, bygge adekvate datapipelines og teste modellene grundig. Han advarte også mot å forhaste seg med å ta i bruk generative AI-løsninger uten å vurdere gjennomførbarheten og den forretningsmessige levedyktigheten, og sa: “Vi må være minst like oppmerksomme på om det bør bygges, som vi er på om det kan bygges.”

 

Ros erkjenner at etisk utvikling av kunstig intelligens er et kritisk tema, og understreker betydningen av menneskelig tilsyn gjennom hele prosessen. “Håndtering av dynamisk datakvalitet, testing og avdekking av skjevheter og unøyaktigheter, sikring av høye standarder for personvern og etisk bruk av AI-systemer krever alt sammen menneskelig tilsyn”, sa han. SoftServes tilnærming til AI-utvikling innebærer strukturerte engasjementer som evaluerer data og algoritmer for egnethet, vurderer potensielle risikoer og implementerer styringstiltak for å sikre ansvarlighet og datasporbarhet.

 

Ros ser for seg at kunstig intelligens vil spille en stadig viktigere rolle i SoftServes forretningsstrategi fremover, med løpende forbedringer av livssyklusen for AI-assistert programvareutvikling og innføring av nye verktøy og prosesser for å øke produktiviteten ytterligere. Softserves funn tyder på at GenAI kan øke programmeringsproduktiviteten med så mye som 40 prosent.

 

“Jeg ser for meg at flere modeller vil assistere oss i det daglige, hjelpe oss med å skrive e-poster og dokumentasjon og hjelpe oss mer og mer med de enkle, tidkrevende hverdagslige oppgavene vi fortsatt gjør”, sier Ros. “I løpet av de neste fem årene ser jeg for meg en kontinuerlig forbedring av synet på AI i SDLC-er og en jevnlig innføring av nye verktøy, nye modeller og nye prosesser som vil øke produktiviteten fra 40 prosent til 50 og 60 prosent.”

 

På spørsmål om hvordan SoftServe utnytter kunstig intelligens i samfunnsnyttig øyemed, forklarte Ros at selskapet leverer løsninger som spenner fra maskinlæringsmodeller for å hjelpe studenter med å oppdage sine lidenskaper og evner, noe som muliggjør persontilpassede læringsopplevelser, til å hjelpe lærere i deres daglige oppgaver og gjøre jobben deres enklere.

 

“Jeg elsker dette spørsmålet, for en av SoftServes viktigste strategiske prinsipper er å styrke vårt sosiale formål og gjøre verden til et bedre sted. Det er åpenbart et ambisiøst mål, men det er viktig for våre ansatte og for kundene våre”, forklarer Ros.

 

“Det er derfor vi opprettet Open Eyes Foundation og har samlet inn mer enn 15 millioner dollar med støtte fra publikum, kundene våre, partnerne våre og selvfølgelig våre ansatte. Vi støtter naturligvis Open Eyes Foundation med alle slags teknologibehov, inkludert AI.”

 

På AI & Big Data Expo North America planlegger SoftServe å holde en keynote-presentasjon med tittelen “Revolutionizing Learning: Unleashing the Power of Generative AI in Education and Beyond”, som vil utforske den transformative effekten av generativ AI og store språkmodeller i utdanningssektoren.

 

“Når vi utforsker mekanismene som generativ AI utnytter data gjennom – inkludert opplæringsmetoder som finjustering og Retrieval Augmented Generation (RAG) – vil vi peke ut anvendelser med høy verdi og lav risiko som lover å omdefinere utdanningslandskapet”, sier Ros.

 

“Veien fra en gryende idé til en fullt operativ AI-løsning er full av utfordringer, blant annet etiske betraktninger og risikoer som er forbundet med å ta i bruk AI-løsninger. Gjennom en suksesshistorie fra Mesquite ISD, der generativ AI ble utnyttet for å hjelpe elevene med å avdekke sine lidenskaper og evner, noe som gjorde det mulig å levere personlig tilpassede læringsopplevelser, vil denne presentasjonen illustrere de praktiske fordelene og det transformative potensialet til generativ AI i utdanning.”

 

I tillegg vil selskapet delta i paneldiskusjoner om temaer som “Getting to Production-Ready – Challenges and Best Practices for Deploying AI” og “Navigating the Data & AI Landscape – Ensuring Safety, Security, and Responsibility in Big Data and AI Systems”. Disse øktene vil gi deltakerne verdifull innsikt fra SoftServes eksperter i hvordan man kan overvinne utfordringer ved implementering, sikre datakvalitet og brukeraksept, og redusere risikoen forbundet med AI-implementering.

 

Som hovedsponsor av arrangementet ønsker SoftServe å bidra til diskursen rundt ansvarlig og etisk utvikling av AI-løsninger, samtidig som vi deler vår ekspertise og visjon om å utnytte denne kraftfulle teknologien til å drive innovasjon, øke produktiviteten og løse globale utfordringer.

 

“Vi er selvsagt alltid interessert i å både dele og høre om mangfoldet av forretningscase for anvendelser innen AI og stordata: Konseptet om at stigende tidevann løfter alle båter er definitivt relevant for AI og GenAI spesielt, og vi er stolte av å være en del av AI-teknologisamfunnet”, avslutter Ros.