Skriven av Leo Ueno och Trevor Lynn, 15 maj 2024
PaliGemma är en vision-language-modell (VLM) som utvecklats och lanserats av Google och har multimodala kapaciteter. Till skillnad från andra VLMs, såsom OpenAI’s GPT-4o, Google Gemini och Anthropics Claude 3, som har haft problem med objektdetektion och segmentering, har PaliGemma ett brett utbud av förmågor och kan finjusteras för bättre prestanda på specifika uppgifter. Googles beslut att släppa en öppen multimodal modell med möjligheten att finjustera på egen data är ett stort genombrott för AI.
PaliGemma ger användare möjlighet att skapa egna anpassade multimodala modeller som kan self-hostas i molnet och potentiellt på större edge-enheter som NVIDIA Jetsons. Om du är intresserad av att finjustera PaliGemma för objektdetektion, se vår guide och Colab-anteckningsbok för PaliGemma finjustering.
Google har försett rikligt med resurser för att starta prototypandet med PaliGemma, och vi har kuraterat högkvalitativ information för alla som vill hoppa direkt in i användningen av PaliGemma. Vi föreslår att du börjar med följande resurser:
PaliGemma Github README
PaliGemma dokumentation
PaliGemma finjusteringsdokumentation
Finjustera PaliGemma i Google Colab
Åtkomst till PaliGemma i Google Vertex
PaliGemma är en single-turn vision-language-modell och fungerar bäst när den finjusteras för ett specifikt användningsområde. Detta innebär att du kan mata in en bild och en textsträng, såsom en prompt för att bildtexta bilden, eller en fråga och PaliGemma kommer att generera text som svarar på inputen, såsom en bildtext till bilden, ett svar på en fråga eller en lista över objektets kantboxkoordinater. PaliGemma är särskilt lämpad för följande uppgifter, baserat på benchmarking-resultat från Google:
Finjustering på enkla uppgifter
Bildfrågesvar och bildtextning
Videofrågesvar och videobildtextning
Segmentering
En av de mest spännande aspekterna av PaliGemma är dess förmåga att finjustera på anpassade användningsfall data. En anteckningsbok som publicerades av Googles PaliGemma-team visar hur man finjusterar på en liten dataset. Det är viktigt att notera att i detta exempel finjusteras endast attention-lagen och därför kan prestandaförbättringarna vara begränsade.
Du kan distribuera PaliGemma med hjälp av ett öppet källkods-inference-paket. Först behöver vi installera inferens samt några andra paket som behövs för att köra PaliGemma. Se den relaterade PaliGemma inferensanteckningsboken för fullständig kod.
När allt är uppsatt kan du mata in en testbild som en Pillow-bild, para ihop den med en prompt och vänta på resultatet.
För att testa hur PaliGemma presterar på olika datorseendeuppgifter, jämförde vi den med flera andra modeller som GPT-4o, Claude 3 och Gemini. Utvärderingarna omfattade optisk teckenigenkänning (OCR), dokument-OCR, dokumentförståelse, visuell frågor och svar (VQA) samt objektdetektion.
Optisk teckenigenkänning syftar till att konvertera synlig text från en bild till maskinläsbar text. Vid testning av OCR med olika promptar såg vi imponerande resultat. PaliGemma uppnådde en genomsnittlig noggrannhet på 85,84%, vilket slog alla andra OCR-modeller förutom Anthropics Claude 3 Opus.
PaliGemma uppnådde även relativt snabb hastighet och utmärkt kostnadseffektivitet, vilket gör det till en toppmodell inom OCR som kan användas lokalt.
Dokumentförståelse handlar om att extrahera relevant nyckelinformation från en bild, ofta omgiven av annan irrelevant text. Vid testning med en kvittoimage, lyckades inte PaliGemma extrahera korrekt skatteinformation, men lyckades korrekt identifiera pizza-pris från en meny. Detta liknar resultat från GPT-4 med Vision. Andra modeller som Gemini, Claude 3 och GPT-4o lyckades fullfölja båda uppgifterna korrekt.
Visuell frågor och svar innebär att ställa en modell en bild och en fråga som kräver någon form av igenkänning eller resonemang. När vi ställde frågor om pengar på en bild med fyra mynt svarade PaliGemma korrekt att det fanns fyra mynt men missade frågans intention om totalt värde. Den misslyckades också med att korrekt identifiera en filmkaraktär.
Trots att VLMs traditionellt kämpat med objektdetektion, visade PaliGemma förmåga på detta område såväl som instanssegmentering. Med korrekt promptning lyckades PaliGemma korrekt identifiera och segmentera en hund i bilden. Det är emellertid värt att notera att endast grundläggande exempel som de möjliga med traditionella objektdetekteringsmodeller lyckades.
Användningen av PaliGemma, antingen zero-shot eller finjusterad på anpassad data, öppnar nya dörrar inom AI-användningsområden. Låt oss titta på två specifika scenarier där PaliGemma utmärker sig.
Modeller som Claude 3, Gemini 1.5 Pro och GPT-4o är designade att användas direkt och appliceras på problem de är ämnade att lösa. PaliGemma erbjuder däremot multimodal kapacitet för öppen källkods-fall där stängda modeller inte är tillämpbara eftersom du kan finjustera PaliGemma med egendata relaterat till ditt specifika problem. Detta är användbart i industrier som tillverkning, CPG, sjukvård och säkerhet.
Om du har ett unikt problem som stängda modeller inte har sett, och aldrig kommer att se på grund av deras proprietära natur, är PaliGemma en utmärkt ingångspunkt för att bygga anpassade AI-lösningar.
Som tidigare nämnt visade PaliGemma sig vara en stark OCR-modell även utan ytterligare finjustering. När du bygger OCR-applikationer som ska hantera miljarder av förutsägelser kan latens, kostnad och noggrannhet vara svåra att balansera. Före PaliGemma var slutna modeller bäst i klassen för prestanda men deras kostnad och brist på modell-ägande gjorde dem svåra att motivera i produktion. PaliGemma kan förbättras över tid genom finjustering på din specifika data.
PaliGemma, och alla VLMs, är bäst lämpade för uppgifter med klara instruktioner och är inte det bästa verktyget för öppna, komplexa eller resonemangsbaserade problem. Detta är där VLMs skiljer sig från LMMs och du kommer att få de bästa resultaten om du använder modellerna där de är mest sannolika att prestera väl.
Gällande kontext har PaliGemma information baserad på de dataset som det är förtränat på samt den data som tillförs under finjustering. PaliGemma kommer inte att veta information utanför detta, och om inga viktuppdateringar med ny data från Google eller den öppna källkodsgemenskapen görs, bör du inte förlita dig på PaliGemma som en kunskapsbas. För att få ut det mesta av PaliGemma, och ha en anledning att använda modellen över andra öppna modeller, kommer du behöva träna modellen på anpassad data. Dess zero-shot-prestanda är inte state-of-the-art över de flesta benchmarks.
Slutligen, under olika tester, såg vi drastiska skillnader i resultat med små förändringar av promptar. Detta är liknande beteende som hos andra LMMs, som YOLO-World, och tar tid att förstå hur man bäst promptar modellen. Förändringar i en prompt, såsom att ta bort ett 's' för att göra ett ord singular istället för plural, kan vara skillnaden mellan en perfekt detektion och ett oanvändbart output.
Googles utsläpp av PaliGemma är oerhört användbart för utvecklingen av multimodal AI. Den lättviktiga öppna modellen byggd för finjustering innebär att alla kan träna sina egna stora vision-language-modeller och distribuera dem för kommersiellt bruk på egen hårdvara eller moln. Tidigare LMMs har varit extremt dyra att finjustera och kräver ofta stora mängder datorresurser för att köra, vilket gör dem restriktiva för bred adoption. PaliGemma bryter mönstret och erbjuder människor som bygger anpassade AI-applikationer en genombrottsmodell för att skapa sofistikerade applikationer.
Referera till detta inlägg med följande information: Leo Ueno och Trevor Lynn. (15 maj 2024). PaliGemma: En multimodal öppen modell från Google. Roboflow Blog: https://blog.roboflow.com/paligemma-multimodal-vision/
Om du har några frågor om detta blogginlägg, starta en diskussion på Roboflow Forum.
PaliGemma har visat sig vara särskilt effektiv för OCR-uppgifter, med en imponerande noggrannhet på 85,84%. För att maximera PaliGemmas OCR-prestanda är det viktigt att förstå hur man effektivt promptar modellen. Här är några tips för att förbättra din PaliGemma OCR-användning:
Genom att förfina dina promptningstekniker kan du optimera PaliGemmas OCR-kapacitet och uppnå ännu bättre resultat än de redan imponerande baslinjeprestanda som modellen uppvisar.
```