Att frigöra öppna källkodens kraft: Hur IBM Watson X utnyttjar innovation
Upptäck hur IBM Watson X utnyttjar öppen källkodsinnovation för att driva företags-AI och data. Utforska de öppna källkodsverktygen och -teknikerna, inklusive Codeflare, PyTorch, KServe och Presto, som driver modellträning, finjustering och dataanalytik i stor skala på OpenShift.
22 februari 2025

Upptäck hur IBM:s Watson X-plattform utnyttjar kraften i öppen källkod för att leverera banbrytande AI- och datamässiga lösningar. Utforska de öppna källkodsteknologier som möjliggör effektiv modellträning, finjustering och inferens, samt sömlös datainsamling och analys. Detta blogginlägg ger en omfattande översikt över hur öppen källkod driver innovation inom Watson X och ger företag möjlighet att utnyttja det bästa av AI och data.
Fördelarna med öppen källkod i Watson X
Modellträning och validering med Codeflare
Representation av modeller med PyTorch
Modelloptimering och inferens med öppen källkodsteknologi
Datainsamling och analys med Presto
Slutsats
Fördelarna med öppen källkod i Watson X
Fördelarna med öppen källkod i Watson X
IBM har en lång historia av att bidra till och dra nytta av öppen källkod i sina erbjudanden. Denna tradition fortsätter med Watson X, IBMs nya Enterprise-plattform för AI och data. Genom att omfamna öppen källkod drar Watson X nytta av den bästa AI:n, innovationen och modellerna som finns tillgängliga.
Användningen av öppen källkod i Watson X omfattar tre nyckelaspekter: modellträning och -validering, modellfintuning och inferens, samt datainsamling och -analys.
För modellträning och -validering utnyttjar Watson X det öppna källkodsprojektet Codeflare. Codeflare tillhandahåller användarvänliga abstraktioner för skalning, köande och distribution av maskininlärningsarbetsbelastningar, med integrering av Ray, Kubernetes och PyTorch.
PyTorch, det öppna källkodsprojektet för maskininlärning, används för att representera modellerna i Watson X. PyTorch erbjuder nyckelfunktioner som tensorsupport, GPU-acceleration och distribuerad träning, vilket möjliggör effektiv hantering av stora, komplexa modeller.
För modellfintuning och inferens använder Watson X de öppna källkodsprojekten KServe och Model Mesh. Dessa teknologier möjliggör effektiv servering av tusentals AI-modeller på OpenShift-plattformen. Dessutom tillhandahåller det öppna källkodsprojektet KKIT API:er för promptfintuning, vilket ytterligare förbättrar inferenskapaciteterna.
Avslutningsvis, för datainsamling och -analys, utnyttjar Watson X det öppna källkodsprojektet Presto, en SQL-frågemotorn med hög prestanda. Prestos höga prestanda, skalbarhet och förmåga att fråga data där den finns gör den till en värdefull komponent i Watson X-ekosystemet.
Modellträning och validering med Codeflare
Modellträning och validering med Codeflare
Modellträning och -validering kan kräva stora mängder klusterresurser, särskilt när modellerna är enorma flermiljardparameters-grundmodeller. För att effektivt utnyttja ett kluster och göra det enklare för datavetenskap-are har IBM ett öppet källkodsprojekt som heter Codeflare.
Codeflare tillhandahåller användarvänliga abstraktioner för skalning, köande och distribution av maskininlärningsarbetsbelastningar. Det integrerar Ray, Kuberay och PyTorch för att erbjuda dessa funktioner. Med Ray tillhandahåller det en jobbabstraktion, och Kuberay gör det möjligt för Ray att köras på Kubernetes-plattformar som OpenShift.
I ett typiskt Codeflare-användningsfall startar det först upp ett Ray-kluster. Datavetenskapsmannen kan sedan skicka in träningsjobb till klustret. Om OpenShift-klustret är hårt belastat och resurser inte är tillgängliga, kan Codeflare köa jobben och vänta tills resurser blir tillgängliga. I vissa fall kan det till och med skala upp klustret för att hantera arbetsbelastningen. När träningen och valideringen är klar kan Codeflare ta bort Ray-jobben och ta bort dem från klustret.
Nyckelförmånen med Codeflare är att det möjliggör för datavetenskap-are att effektivt utnyttja ett kluster, eller till och med flera OpenShift-kluster, utan att behöva oroa sig för den underliggande infrastrukturen.
Representation av modeller med PyTorch
Representation av modeller med PyTorch
PyTorch tillhandahåller nyckelfunktioner för att representera modeller, inklusive tensorsupport, GPU-support och distribuerad träning.
Tensorer är flerdimensionella matriser som lagrar de viktade värdena eller sannolikheterna som justeras över tid för att förbättra modellens prediktiva förmåga. PyTorchs tensorsupport möjliggör effektiv representation av dessa komplexa modellparametrar.
PyTorchs GPU-support möjliggör mycket effektiv beräkning under modellträning, vilket är avgörande för stora, komplexa modeller. Dessutom möjliggör PyTorchs distribuerade träningskapaciteter träning av modeller som är för stora för att få plats på en enda maskin, genom att fördela träningen över flera maskiner.
Andra nyckelfunktioner hos PyTorch för modellrepresentation inkluderar:
- Skapande av neurala nätverk: PyTorch gör det enkelt att skapa olika typer av neurala nätverk.
- Dataläsning: PyTorch tillhandahåller lättanvända dataläsningsfunktioner.
- Träningsslinga: PyTorch innehåller inbyggda träningsslinga som effektivt uppdaterar modellparametrar för att förbättra prediktiv noggrannhet.
- Modelljusteringar: PyTorchs automatiska gradientberäkning förenklar processen att göra mindre justeringar av modellen för att förbättra dess prestanda.
Genom att dra nytta av dessa öppna källkodsfunktioner som tillhandahålls av PyTorch kan Watson X effektivt representera och träna komplexa AI-modeller som en del av sin företagsklassade AI- och dataplattform.
Modelloptimering och inferens med öppen källkodsteknologi
Modelloptimering och inferens med öppen källkodsteknologi
Vi vill kunna betjäna ett stort antal AI-modeller och göra det i stor skala på OpenShift. De öppna källkodsprojekt vi utnyttjar för detta är KServ Model Mesh och KKit.
KServ Model Mesh gör det möjligt för oss att effektivt betjäna tusentals modeller i en enda pod. Ursprungligen kunde KServ bara betjäna en modell per pod, vilket inte var särskilt effektivt. Genom att slå samman KServ med Model Mesh-projektet kan vi nu effektivt betjäna stora antal modeller på ett OpenShift-kluster.
För att hitta dessa modeller utnyttjar vi Hugging Face-databasen, som har över 200 000 öppna källkodmodeller. IBM har ett partnerskap med Hugging Face, vilket gör det till en utmärkt källa för modeller att använda i våra Watson X-erbjudanden.
Dessutom använder vi KKit, ett öppet källkodsprojekt som tillhandahåller API:er för promptfintuning. Detta gör det möjligt för oss att finjustera modellerna på inferenssidan för att förbättra resultaten.
Sammanlagt möjliggör dessa öppna källkodsteknologier för oss att betjäna och finjustera ett stort antal AI-modeller i stor skala på OpenShift, vilket driver inferenskapaciteterna hos Watson X.
Datainsamling och analys med Presto
Datainsamling och analys med Presto
Presto är det öppna källkodsprojekt som IBM utnyttjar för datainsamling och -analys i Watson X. Presto är en SQL-frågemotorn med hög prestanda som möjliggör öppen dataanalys och driver den öppna datalakehuset.
Nyckelkvaliteter hos Presto inkluderar:
-
Hög prestanda: Presto är mycket skalbar och erbjuder snabb frågekörning, vilket gör den lämplig för storskalig dataanalys.
-
Federerade frågor: Presto gör det möjligt att fråga data från flera datakällor, vilket ger en enhetlig vy av dina data.
-
Fråga data där de finns: Presto kan fråga data direkt i dess källplats, vilket eliminerar behovet av att flytta data till ett centraliserat förvar.
Genom att använda Presto kan Watson X effektivt samla in och analysera data från olika källor, vilket möjliggör datadriven insikt och driver AI- och maskininlärningskapaciteterna hos plattformen.
FAQ
FAQ