För att kunna installera och använda Large Language Models (LLM) i en företagsmiljö krävs detaljerad förståelse för både teknologin bakom modellerna och själva installationsprocessen. IBM Granite 3.0 är ett avancerat system som utnyttjar transformer-arkitektur för att bearbeta naturligt språk och kod, och det har designats för att förenkla arbetet med artificiell intelligens (AI) och maskininlärning på en företagsnivå. Detta kapitel kommer att ge en översikt av installationsprocessen för LLM, inklusive hur man använder Ollama CLI på RedHat Linux, och hur man kan arbeta med modeller som tränats på uppgifter relaterade till kodgenerering.

För att komma igång krävs det att man först installerar Ollama, ett open-source system som kan användas för att köra fyra olika IBM Granite 3.0 LLM-modeller via kommandoradsgränssnittet (CLI). För att kunna köra Ollama korrekt måste man ha en RedHat Linux 8.5 som operativsystem. Vidare är det viktigt att man följer de specifika installationsanvisningarna från Ollamas officiella hemsida, vilket säkerställer att systemet är korrekt installerat och att alla beroenden hanteras på rätt sätt.

Transformer-arkitekturen, som ligger till grund för IBM Granite 3.0-modellerna, spelar en central roll i denna process. Modellerna är baserade på den så kallade encoder-decoder-strukturen, där inputsekvenser bearbetas av en encoder och omvandlas till en vektor, medan decodern omvandlar vektorn tillbaka till outputsekvenser. Denna arkitektur gör det möjligt att hantera stora datamängder på ett effektivt sätt och att snabbt generera resultat under träning och inferens.

En viktig del av processen är förståelsen för hur data samlas in och filtreras. För att utveckla modeller som kan generera användbar kod eller bearbeta text på en avancerad nivå krävs en högkvalitativ dataset. IBM har använt en databas med 500 miljoner kodrader på över 50 olika programmeringsspråk för att träna sina LLM-modeller. Detta innebär att IBM Granite 3.0-modellerna inte bara kan generera text, utan också kan förstå och skapa kod i flera olika programmeringsspråk, vilket gör dem användbara för både forskning och kommersiella applikationer.

I samband med installationen och användningen av IBM Granite 3.0 är det också viktigt att förstå hur modellens beteende kan justeras. Detta kan göras genom finjustering av modellerna för specifika domäner, exempelvis för att förbättra kodgenerering eller textförståelse. För att finjustera en LLM-modell krävs det att man installerar nödvändiga beroenden, laddar och utforskar datasetet, samt genomför en sanity-check för att säkerställa att modellen fungerar som förväntat. När dessa steg är klara kan träningsprocessen börja, och modellen kan sedan sparas och användas för att generera önskat resultat.

Vidare, när det gäller distribution och integration i företagsmiljöer, blir det ofta nödvändigt att använda system som Ansible för att hantera automationsuppgifter och andra operativa processer. Detta är särskilt viktigt i en miljö där flera uppgifter behöver utföras samtidigt eller när det krävs att systemet ska kunna skala och anpassas efter behov.

En annan aspekt av att arbeta med IBM Granite 3.0 och andra LLM-modeller är att optimera prestandan för att maximera effektiviteten. Detta innebär bland annat att man finjusterar uppmaningar, hanterar källanpassning och genomför post-processning för att säkerställa att resultaten är så precisa och användbara som möjligt. Användning av virtualiseringstekniker som virt-manager i en VMware-baserad Linux-miljö kan också bidra till att skapa en mer flexibel och skalbar lösning för att köra LLM-modeller.

Slutligen är det också viktigt att hålla systemet uppdaterat och underhållet för att säkerställa att det fortsätter att leverera önskade resultat över tid. Detta innebär att man bör implementera rutiner för att regelbundet uppdatera både programvara och modeller för att ta del av nya funktioner och förbättringar.

För att verkligen utnyttja potentialen hos IBM Granite 3.0 och andra LLM-system är det nödvändigt att förstå hela kedjan, från installation och konfiguration till användning och optimering. Det är också viktigt att fortsätta övervaka utvecklingen inom AI och maskininlärning för att kunna ta del av de senaste innovationerna och implementera dem i sina egna lösningar.

Hur IBM använder stora språkmodeller för kodassistans och optimering av utvecklingsprocesser

IBM:s inklusionskriterier för att skapa träningsdatan för deras stora språkmodeller (LLM) grundades på att välja programmeringsspråk som är vanliga inom CommitPackFT, samt bland de 116 språk som övervägdes för att förtränas i modellen. Dessutom inkluderades två matematikkdatasets, MathInstruct och en modifierad version av GSM8K-RFT och Camel-Math för att undvika licensproblem. IBM tog även med NL2SQL11-koddatasets och en liten samling syntetiska API-anropsdatan. För programmeringsspråk ingick högkvalitativa datasets som HelpSteer och en öppen licensfilterad version av andra. För att säkerställa att IBM:s modeller genererade korrekta resultat vid specifika förfrågningar om modellens namn eller utvecklare, användes en samling hårdkodade prompts.

Granite-34B-Code-Instruct är en av IBM:s mest kraftfulla modeller, med 34 miljarder parametrar, finjusterad för att förbättra instruktionstolkning och problemlösning. Modellen är specifikt designad för att hantera uppgifter som kräver logiskt tänkande och förmåga att lösa komplexa problem. Den är tränad med data som har en permissiv licens, vilket gör den anpassad för många olika användningsområden.

En av de mest framstående produkterna i IBM:s portfölj är Watsonx Code Assistant, ett system som levererar generativa AI-kodassistenter som kan hjälpa till med att automatisera kodutveckling och modernisera äldre system. Produkten är särskilt användbar för plattformar som Red Hat Ansible Automation Platform. Med Watsonx Code Assistant för Red Hat Ansible kan utvecklare använda AI-genererade kodförslag för att förbättra produktiviteten, både när det gäller att skapa ny kod och att uppdatera äldre system. IBM:s system kan också användas för att arbeta med IBM:s Granite 3.0-modeller, som har tränats med omfattande datasets från Ansible Playbooks, vilket gör dem särskilt användbara för företag som använder Ansible i sina arbetsflöden.

För installation av Watsonx Code Assistant krävs en Red Hat AI 1.4-systembild för att köra systemet på en VMware-server eller en lokal RHEL 9.2-server. Systemkraven är relativt tunga, där en arbetsstation måste ha minst 250 GB ledigt diskutrymme för att kunna köra IBM Granite 3.0 LLM. För att använda Watsonx Code Assistant på Red Hat Ansible Lightspeed krävs att användaren redan har licenser för både Red Hat Ansible Automation Platform och Watsonx Code Assistant.

För de som väljer att arbeta med en CPU-baserad installation av InstructLab AI-systemet på en RHEL 9.2 VMware-server, finns det specifika installationskommandon och en API-nyckel som behövs för åtkomst till IBM:s molntjänster. Dessa nycklar är temporära och måste lagras säkert för att kunna användas korrekt.

Det är också viktigt att förstå att IBM:s system inte bara handlar om att generera kod, utan även om att kunna justera och finjustera kod baserat på användarens behov. Detta ger utvecklare större flexibilitet och kontroll över den kod som genereras och gör det möjligt att skräddarsy lösningarna mer exakt. Systemet kan anpassas för att arbeta med specifika arbetsflöden, vilket gör det användbart för en bred mängd användare, från små företag till stora företag som behöver hantera komplexa kodbaser och utvecklingsprocesser.

För att uppnå bästa resultat rekommenderar IBM att man installerar IBM Granite 3.0-modeller på system som har Nvidia GPU:er för att säkerställa att hårdvaran är tillräckligt kraftfull för att hantera de beräkningskrävande uppgifterna. De flesta installationsalternativ kräver också att användaren skapar och lagrar en permanent API-nyckel för åtkomst till systemet, vilket gör det möjligt att använda alla funktioner fullt ut.

IBM:s approach för att förbättra kodutveckling genom användning av AI och stora språkmodeller är ett exempel på hur AI kan användas för att öka produktiviteten inom mjukvaruutveckling. För företag som är beroende av kodförvaltning och modernisering av äldre system erbjuder dessa verktyg stora fördelar, från att effektivisera arbetsflöden till att möjliggöra snabbare och mer precisa kodförslag.

Hur Red Hat Ansible och IBM watsonx integreras genom AI-drivna system

I det här avsnittet undersöker vi hur AI-system, särskilt stora språkmodeller (LLM), kan användas för att integrera olika IT-verktyg, som Red Hat Ansible och IBM watsonx. Den aktuella forskningen och dokumentationen från Google Gemini Deep Research belyser vikten av att verifiera AI-genererade resultat och de potentiella fällorna i automatiserade rapporter.

Som vi ser i diagrammet (figur 10.18), ställdes en fråga angående användningen av Red Hat Ansible i samverkan med IBM watsonx och LLM. Google Gemini Deep Research svarade i figur 10.19 med en rapport som i små bokstäver varnade för att systemet kan göra misstag, inklusive felaktigheter om personer, vilket innebär att det alltid är nödvändigt att dubbelkolla resultaten. Den här varningen belyser en viktig aspekt av att arbeta med AI: resultat kan verka självsäkra och övertygande men kan innehålla allvarliga fel eller utelämnanden.

När vi granskade svaret vidare, som i figur 10.20, framkom en förklaring om varför IBM:s integration med Red Hat Ansible missades i den första rapporten. Detta illustrerar den avgörande åtgärden att validera och kontrollera utdata från AI-system. För att uppnå ett mer komplett resultat, som i figur 10.21, behövdes ytterligare interaktion, där vi bad om en uppdaterad version av rapporten. Efter denna respons återkom en reviderad rapport som nu inkluderade detaljer om Red Hat Ansible Lightspeed-integration, vilket visade på behovet av att alltid vara proaktiv och justera AI:s föreslagna planer.

En viktig observation är att AI-systemets språk, baserat på underliggande träningsdata, ofta verkar mycket övertygande och självsäkert. Men även om det framstår som faktabaserat, finns alltid en risk för att viktiga detaljer förloras eller att hela sektioner utelämnas. Detta är särskilt tydligt när vi tittar på Google Gemini Deep Research-rapporter, där vissa ämnen initialt inte tas med, men kan läggas till efter att användaren påpekar missen. Till exempel visade den reviderade rapporten (figur 10.22) hur integrationen mellan Red Hat Ansible och IBM watsonx, nu dokumenterad i IBM:s framtida vägplansrapport för 2026, gav nya insikter i både automation och kvaliteten på den automatiserade koden.

Denna interaktion är ett tydligt exempel på hur viktigt det är att noggrant överväga och verifiera AI:s rekommendationer. Enligt rapporten kan användare av dessa system förvänta sig markanta förbättringar i automatiseringseffektivitet och snabbare skapande av Ansible Playbooks, men dessa fördelar kommer inte utan att säkerställa att alla relevanta data och integreringar är ordentligt täckta. Vidare påverkar dessa AI-system också IBM:s bredare mål att effektivisera produktivitet och demokratisera teknologi, vilket är centralt för deras vision om framtidens IT-lösningar i hybridmoln.

Det är också viktigt att förstå att medan de flesta AI-system erbjuder stora fördelar genom att automatisera processer och skapa dokumentation, måste användare vara medvetna om potentiella fallgropar som kan uppstå om resultaten inte valideras. Google Gemini, till exempel, kräver att användaren noggrant granskar och eventuellt modifierar den föreslagna planen för att säkerställa att inga viktiga detaljer eller integrationer missas. Detta är särskilt relevant för framtida användare av IBM:s Granite-modeller, som exempelvis nuvarande och kommande versioner av Granite 3.x, som fokuserar på förbättrad prestanda och utökad kontext för AI-applikationer.

Vid användning av sådana AI-modeller är det också nödvändigt att noggrant hantera och lagra API-nycklar, som i fallet med Google’s API. Dessa nycklar bör alltid förvaras säkert och inte delas i offentlig kod för att skydda användardata och systemets integritet.

För att förstå de tekniska detaljerna är det värt att notera att IBM Granite 3.x arkitektur, som omnämns i denna rapport, fortsätter att utvecklas och förbättras för att stödja mer avancerade och specifika användningsfall, som lång kontext och modeller för specialiserad kodning, till exempel för Python och Java. Dessa förbättringar är en del av IBM:s pågående arbete med att utveckla och släppa uppdateringar som gör Granite-modellerna mer kraftfulla och mångsidiga.

Genom att hålla koll på de ständigt uppdaterade vägplansdokumenten från IBM och andra företag som Google, kan användare förbereda sig på att ta del av framtida teknologiska framsteg. Samtidigt måste de också förstå att AI är ett verktyg som kräver noggrann hantering, och att dess automatiserade svar alltid måste valideras för att undvika allvarliga felaktigheter.