12 Vision-Language Models

Warning

🚧 Երկու դասախոսության սլայդերը պատրաստ են (L33, L34)։ Տեսանյութերը դեռ չեն ձայնագրվել, տնային աշխատանք դեռ չկա։

Note

Այս գլուխը միացնում է չորս նախորդ գլուխ․ ch6 (CNN) — պատկերի կտորները, ch8 (autoencoder) — VQ-VAE-ի հիմքը, ch9 (attention) — ViT-ը պարզապես transformer է, և ch10 (diffusion) — գեներացիայի կեսը։ Առանց դրանց այս գլուխը կարդալ պետք չէ։

🎲 Random

TBD

📚 Նյութը

Երկու դասախոսություն (սլայդերը ml/ch12_vlm/ պանակում)։ Գլուխը պատասխանում է այն հարցին, որ ուսանողները ամենից հաճախ տալիս են՝ ինչպե՞ս է chat մոդելը «տեսնում» այն նկարը, որ ես տեղադրեցի, և ինչպե՞ս է նույն մոդելը նկար նկարում։

  • L33 — Vision-Language Models I: How a model sees — պատկերը կտրում ենք ֆիքսված քառակուսիների (patch), ամեն մեկը՝ մեկ գծային շերտով վեկտոր, և ահա՝ հաջորդականություն, որը transformer-ը կարդում է։ ViT, դիրքային embedding-ներ, ապա CLIP-ը՝ մանրամասն (երկու աշտարակ, ընդհանուր embedding տարածություն, L2 նորմավորում ու cosine, temperature-ը, սիմետրիկ cross-entropy-ն, և քայլ առ քայլ հաշվարկ 4-չափանի batch-ի վրա), SigLIP, prompt-ի ձևանմուշները, ապա երեք եղանակ՝ տեսողությունը LLM-ին միացնելու (projector / resampler / early fusion), և վերջում՝ 576 token մեկ նկարի համար և այն ամենը, ինչ այդ թվից է կոտրվում։ PDF
  • L34 — Vision-Language Models II: How a model draws — իսկական հակասությունից․ ch10-ի diffusion-ը աշխատում է անընդհատ տարածությունում, իսկ լեզվական մոդելը արտադրում է դիսկրետ token-ներ։ VQ-VAE-ն ու codebook-ը, straight-through estimator-ը, ինչ արժե դիսկրետացումը (չափված մեր տառերի վրա), raster կարգով next-token prediction, ապա երեք միասնական ճարտարապետություն՝ Chameleon, Transfusion, Janus, և GPT-4o-ի native image generation-ը՝ հայտնիի և ենթադրվողի բաժանմամբ։ PDF

Գլխի հիմնական միտքը մեկ նախադասությամբ․ դարձրու ամեն ինչ վեկտորների հաջորդականություն, և մեկ ճարտարապետությունը կկարդա բոլորը։

TipԳլխի սեփական չափումը

L34-ը չի պնդում, թե ինչ արժե պատկերը դիսկրետ token-ների վերածելը — այն չափում է, ch10-ի նույն 4,481 հայերեն ձեռագիր տառերի վրա (\(24\times24\), \(4\times4\) patch, k-means codebook)․

Codebook \(K\) Վերականգնման MSE Բիթ մեկ պատկերի
8 0.01819 108
32 0.01064 180
128 0.00844 252
512 0.00654 324

Երկու եզրակացություն․

  1. Կտրուկ նվազող օգուտ։ \(8 \to 32\)-ը սխալը իջեցնում է 41%-ով, իսկ \(128 \to 512\)-ը տալիս է ընդամենը 22%՝ չորս անգամ մեծ բառապաշարի դիմաց։ Հենց դա է պատճառը, որ ոլորտը գնաց ավելի խելացի քվանտացման (MAGVIT-2), ոչ թե պարզապես ավելի մեծ \(K\)-ի։
  2. Նույնիսկ \(K=512\)-ի դեպքում գծերը քայքայվում են։ Ամեն patch քվանտացվում է անկախ, հարևանների մասին ոչինչ չիմանալով, ուստի patch-ի սահմանը հատող գիծը ոչինչ չի պահում ամբողջական։ Սա ուղիղ ch10-ի գտածոն է․ գծերը 1–2 պիքսել լայնություն ունեն, և բարակ, բարձր հաճախականության կառուցվածքը այն է, ինչ ամեն սեղմում առաջինն է ոչնչացնում — իսկ նկարի մեջ գրված տեքստը հենց այդպիսին է։

Raw պատկերը 4,608 բիթ է, \(K=512\)-ը՝ 324 բիթ, այսինքն 14.2× սեղմում։ Ամբողջ չափումը՝ py_src/l34_drawing_figs.py, log-երը՝ logs/l34_drawing_figs.log։

WarningԶգույշ եղեք, թե ինչպես եք GPT-4o-ի մասին կրկնում

Համացանցում այն լայնորեն նկարագրվում է որպես «autoregressive image generation», ինչը լավագույն դեպքում կիսաճիշտ է։ Հրապարակված աշխատանքներին համապատասխանող վերակառուցումը Transfusion-ի ընտանիքն է․ autoregressive տեքստի վրա, բայց diffusion՝ պատկերի անընդհատ latent-ների վրա, մեկ ընդհանուր transformer-ով և երկու գումարվող կորստի ֆունկցիայով։

OpenAI-ը ճարտարապետությունը չի հրապարակել։ L34-ը այդ սլայդում բացահայտ բաժանում է հիմնավոր հայտնին ենթադրվողից, և նույնը խորհուրդ է տալիս անել դասին։

🏡 Տնային

TBD

Flag Counter