Problem memorije: Kako AI “pamti” (ili ne pamti)
Veliki jezični modeli (LLM) zapravo ne pamte u tradicionalnom smislu. Umjesto toga, oni procesiraju ono što se naziva kontekstni prozor (context window) – ograničenu količinu teksta koju mogu “vidjeti” odjednom.
Rani modeli poput GPT-2 i GPT-3 bili su ograničeni na samo 1.000-4.000 tokena, što je otprilike 3.000 riječi. To znači da nisu mogli raditi s dugim dokumentima ili su zaboravljali početak razgovora prije nego što je razgovor završio.
Ovo je bila fundamentalna prepreka za praktičnu primjenu AI-ja. Ali u posljednje dvije godine dogodila se revolucija.
Revolucija kontekstnih prozora: Kronologija eksplozivnog rasta
Evo kako je izgledao napredak:
- 2023. ožujak: GPT-4 s 32.000 tokena – veliki proboj
- 2024. veljača: Gemini 1.5 Pro s 1 milijun tokena – promjena paradigme
- 2024. lipanj: Gemini 1.5 Pro proširuje na 2 milijuna tokena
- 2025.: Claude Sonnet 4 na 1 milijun tokena, Gemini 2.5 također na 1 milijun
Rezultat? Porast od 62 puta u samo dvije godine – od 32.000 do 2 milijuna tokena.
Što zapravo znači 1 milijun tokena?
Brojke izgledaju impresivno, ali što to praktično znači?
- ~750.000 riječi – otprilike 10 prosječnih romana
- ~30.000 linija koda – cijela manja codebase
- ~1 sat videa (kod Gemini multimodalnih modela)
- ~11 sati audiozapisa
- ~500 stranica dokumentacije
Konkretan primjer: Google istraživači testirali su Gemini 1.5 Pro na jeziku Kalamang, rijetkom indonezijskom jeziku koji govori manje od 200 ljudi i za koji praktički nema internet sadržaja.
Model nije mogao prevoditi na Kalamang “out of the box”. Ali kada su u kontekst stavili kompletnu gramatičku knjigu (~500 stranica), dvostranički rječnik (~2.000 riječi) i ~400 primjera rečenica (~250.000 tokena ukupno), Gemini je naučio prevoditi na razini ljudskog učenika koji uči iz istih materijala.
Kako LLM-ovi zapravo “pamte”: KV Cache mehanizam
Tehnologija iza ovog je sustav nazvan KV cache (Key-Value cache). Evo kako funkcionira:
Svaki put kada model procesira token, računa tri komponente putem attention mehanizma:
- Query (Q): Predstavlja trenutni token – “što tražim?”
- Key (K): Kodira informaciju o svakom tokenu – “što je ovo?”
- Value (V): Stvarni sadržaj tokena – “koje informacije nosim?”
Bez optimizacije, model bi morao iznova računati attention za sve prethodne tokene pri generiranju svakog novog tokena. To je kvadratna složenost – za 1.000 tokena, to je milijun kalkulacija.
KV cache rješava ovo pamćenjem:
- Model procesira ulazni tekst jednom i sprema Key i Value vektore u GPU memoriju
- Kod generiranja novog tokena, koristi spremljene K i V vektore
- Računa samo novi token, ne sve prethodne
- Složenost se smanjuje s O(n²) na O(n)
Trade-off: KV cache zauzima puno memorije. Za model OPT-13B, cache za samo jedan token zauzima ~800 KB. Za 1 milijun tokena, to je ogroman zahtjev na GPU RAM.
“Lost in the Middle” problem: Duži kontekst ≠ bolje korištenje
Istraživači sa Stanforda i UC Berkeleya otkrili su zabrinjavajući fenomen: LLM-ovi ne obraćaju jednaku pažnju na sve dijelove konteksta.
Modeli performiraju najbolje kada je relevantna informacija na početku ili kraju konteksta, ali značajno slabije kada je u sredini – otud naziv “lost in the middle”.
Praktične implikacije:
- Povećanje kontekstnog prozora ne garantira bolje rezultate
- Pozicija informacije u kontekstu bitna je koliko i sama informacija
- RAG sustavi moraju paziti na redoslijed dokumenata
Još zabrinjavajuće: istraživanja pokazuju da modeli počinju degradirati nakon određenih pragova:
- Llama-3.1-405B: Pad performansi nakon 32K tokena
- GPT-4-0125-preview: Degradacija nakon 64K tokena
Dakle, dugi kontekst nije magično rješenje – kontekst ≠ pamćenje.
RAG: Alternativni pristup koji skalira do trilijuna tokena
RAG (Retrieval-Augmented Generation) rješava problem memorije na potpuno drugačiji način.
Kako funkcionira:
- Indeksiranje: Dokumenti se dijele na manje dijelove (chunks) i pretvaraju u vektorske reprezentacije
- Pretraživanje: Korisnikov upit pretvara se u vektor i traži najsličnije dijelove
- Dohvaćanje: Samo relevantni dijelovi se izvlače iz baze
- Generiranje: LLM dobiva samo dohvaćene dijelove + upit
Ključne prednosti RAG-a:
- Neograničena skala: Može pristupiti trilijunima tokena (cijele baze znanja)
- Niži trošak: Šalje samo relevantne dijelove, ne sve
- Dinamički sadržaj: Izvrsno za promjenjive podatke (CRM, wiki, dokumentacija)
- Svježe informacije: Lako se ažurira dodavanjem novih dokumenata
Mane RAG-a:
- Kvaliteta rezultata ovisi o kvaliteti pretraživanja
- Chunk-anje može prekinuti kontekst
- Dodatna latencija zbog pretraživanja
- Ne vidi cjelokupan dokument odjednom
RAG vs Dugi kontekst: Kada koristiti što?
Dugi kontekst je superioran za:
- Statične dokumente: Ugovori, pravni dokumenti, codebase koji se ne mijenja često
- Suptilne veze: Razumijevanje odnosa između različitih dijelova dokumenta
- Kontinuirano zaključivanje: Praćenje logike kroz cijeli tekst
- Kompleksnu analizu: Gdje je potreban uvid u kompletnu sliku
RAG je superioran za:
- Dinamičke podatke: Baze znanja koje se mijenjaju, CRM sustavi, real-time info
- Veliku skalu: Kada imate više informacija nego što može stati u bilo koji kontekst
- Cost-efficiency: Kada su troškovi bitni (vidi dolje)
- Brzu iteraciju: Lako dodavanje/uklanjanje informacija
Budućnost: Hibridni pristupi i Self-Route
Najnovija istraživanja pokazuju da ne morate birati – možete kombinirati.
Self-Route metoda (Google DeepMind, 2024) dinamički bira između RAG-a i dugog konteksta:
- RAG prvo dohvaća relevantne dijelove
- LLM procjenjuje: “Mogu li odgovoriti samo s ovim dijelovima?”
- Ako da → koristi RAG odgovor (jeftino)
- Ako ne → daje puni kontekst LLM-u (skupo ali točno)
Rezultati Self-Route metode:
- GPT-4o: Koristi samo 61% tokena uz gotovo identične rezultate
- Gemini 1.5 Pro: Smanjenje troškova za 65% uz pad performansi od samo 2.2%
- Za preko 60% upita, RAG i LC daju identične odgovore
Ključni uvid: RAG NIJE zastario. Dugi kontekst zapravo proširuje mogućnosti RAG sustava – možete dohvatiti više dokumenata i staviti ih u kontekst.
Realnost troškova: Zašto dugi kontekst nije uvijek rješenje
Procesiranje dugog konteksta nije besplatno – daleko od toga.
Claude Sonnet 4/4.5 cijena (2025):
- Standardni kontekst (do 200K tokena): $3 za milijun input tokena
- Dugi kontekst (200K-1M tokena): $6 za milijun input tokena (dvostruko)
- Output: $15/MTok (standard), $22.50/MTok (preko 200K)
Usporedba s RAG-om:
- RAG tipično šalje 5-10K tokena po upitu
- Dugi kontekst može slati 500K+ tokena
- Rezultat: RAG može biti 50-100x jeftiniji po upitu
Praktična implikacija: Koristite dugi kontekst kada je potrebno, ne po defaultu. Za production aplikacije s tisućama upita dnevno, razlika u trošku može biti dramatična.
Optimizacije troškova:
- Prompt caching: Claude i drugi nude 90% popusta za cache-irane dijelove (Claude: $0.50/MTok za cache read)
- Batch API: 50% popusta za ne-urgentne zadatke (Claude Sonnet 4.5: $1.50/$7.50 umjesto $3/$15)
- Hibridni pristup: Self-Route metoda može smanjiti troškove za 40-65%
Zaključak: Kontekst nije pamćenje
Od 2023. do danas, prošli smo put od AI-ja koji jedva može pratiti kratki razgovor do sustava koji mogu procesirati cijele knjige, codebase-ove i sate videa u jednom pozivu.
Ključne lekcije:
- Kontekst ≠ pamćenje: LLM-ovi i dalje procesiraju, ne uče trajno
- Duži nije uvijek bolji: “Lost in the middle” problem i degradacija nakon pragova
- RAG nije mrtav: Još uvijek najbolji za dinamičke, velike podatke i cost efficiency
- Hibrid je budućnost: Self-Route i slične metode kombiniraju najbolje iz oba svijeta
- Trošak je bitan: Dugi kontekst je 2x-16x skuplji – koristite ga mudro
Evolucija se nastavlja. Google već testira 10 milijuna tokena u istraživanjima. Ali kao što smo vidjeli, sama brojka nije cilj – bitno je kako se taj kontekst koristi.
Pravi napredak nije samo u duljini kontekstnog prozora, već u razumijevanju kada koristiti dugi kontekst, kada RAG, i kada kombinaciju. To je umijeće koje developeri i AI inženjeri tek počinju savladavati.
Izvori
- Google Blog – Long context window AI models explained
- Google Blog – Introducing Gemini 1.5
- Simon Willison – Claude Sonnet 4 now supports 1M tokens
- Databricks – Long Context RAG Performance of LLMs
- ACL Anthology – Self-Route: Self-Deciding Between RAG and Long Context
- LlamaIndex – Towards Long Context RAG
- Sebastian Raschka – Understanding KV Cache in LLMs
- arXiv – Lost in the Middle: How Language Models Use Long Contexts