Co to jest okno kontekstowe i dlaczego chatbot zapomina?
Okno kontekstowe to stała ilość tekstu, liczona w tokenach, którą model językowy widzi naraz: twoje wiadomości, jego odpowiedzi, wklejone pliki i ukryte instrukcje. Gdy rozmowa robi się dłuższa, najstarsze części przestają się mieścić i model nie może z nich korzystać. Nie pamięta też wcześniejszych rozmów, chyba że aplikacja wklei mu je z powrotem.
▶ WypróbujDlaczego to ważne
Model nie ma pamięci między wiadomościami: za każdym razem czyta całą rozmowę od nowa, i to tylko tyle, ile mieści się w oknie. Dlatego w długich czatach giną wczesne szczegóły.
W 6 minut nauczysz się
- Okno mieści twoje wiadomości, odpowiedzi modelu, wklejone pliki i instrukcje aplikacji.
- Gdy czat robi się za długi, najstarsze części wypadają i model nie może z nich korzystać.
- W długim czacie powtórz kluczowe szczegóły albo zacznij od nowa z krótkim streszczeniem.
Co przećwiczysz
Co jest w oknie?
Za każdym razem, gdy wysyłasz wiadomość, model czyta swoje okno od zera. Co z tego zajmuje w nim miejsce?
- Twoje wiadomości w tym czacie
- Własne odpowiedzi Vireo w tym czacie
- Dokument, który wklejasz
- Ukryte instrukcje od aplikacji
- Każda książka, na której trenowano Vireo
- Czat z Vireo sprzed miesiąca
Spakuj okno
Odtwórz czat Julii i patrz, jak przesuwa się okno. Potem pomóż Vireo odpowiedzieć. Liczby tokenów to zaokrąglone, wymyślone przykłady.
Co widzi Vireo: 600 · Okno Vireo mieści 600 tokenów. Naciśnij Odtwórz czat i zobacz, co się dzieje, gdy rozmowa przerasta okno.
- Julia: Pomóż mi zaplanować imprezę-niespodziankę dla mojej siostry Hani! Jest w sobotę 12 kwietnia, a Hania ma alergię na orzeszki ziemne. (40 tok)
streszczenie: Impreza: sob. 12 kwietnia. Hania: alergia na orzeszki. (14 tok) - Vireo: Super! Zacznijmy od listy gości i miejsca. (30 tok)
streszczenie: Pytał o gości i miejsce. (8 tok) - Julia: lista-gosci.txt: 24 nazwiska, numery telefonów i kto co przynosi (520 tok)
streszczenie: Lista gości: 24 osoby. (8 tok) - Vireo: Przy 24 gościach sprawdzi się świetlica albo duży ogród. (60 tok)
streszczenie: Świetlica albo ogród na 24. (9 tok) - Julia: Sorki, kot właśnie przeszedł mi po klawiaturze 😹 (20 tok)
streszczenie: Kot na klawiaturze. (5 tok) - Vireo: Oto szczegółowe porównanie świetlicy i ogrodu: cena, miejsce, pogoda, parking… (300 tok)
streszczenie: Julia wybrała świetlicę. (8 tok) - Julia: Tort: biszkopt cytrynowy z malinami, jej ulubiony! (25 tok)
streszczenie: Rozmowa o torcie. (6 tok) - Vireo: Pomysły na playlistę: 40 piosenek z lat 90., ułożonych według nastroju… (280 tok)
streszczenie: Playlista: hity lat 90. (6 tok) - Julia: Teraz napisz zamówienie tortu dla cukierni: data, liczba gości, smak i alergie. (30 tok)
✗ Vireo: Zamówienie: jeden biszkopt cytrynowy z malinami, na ok. 10 osób. Data odbioru: nie wiem. Alergie: nie wspomniano.
Data, alergia i liczba gości były we wczesnych wiadomościach, które wysunęły się z okna. Vireo nie był niedbały: po prostu już ich nie widział.
✓ Vireo: Zamówienie: biszkopt cytrynowy z malinami na 24 osoby, odbiór w sobotę 12 kwietnia. Prosimy bezwzględnie bez orzeszków ziemnych: solenizantka ma alergię.
Wszystko się mieści, a każdy szczegół potrzebny cukierni przetrwał. Tak aplikacje robią w długich czatach za kulisami: przycinają, streszczają i zachowują to, co ważne.
- Julia: Pomóż mi zaplanować imprezę-niespodziankę dla mojej siostry Hani! Jest w sobotę 12 kwietnia, a Hania ma alergię na orzeszki ziemne. (40 tok)
Okno czy trening?
Skąd Vireo to bierze: z okna kontekstowego, z treningu czy z żadnego z nich?
- Twoje imię, podane dziesięć wiadomości temu → Okno kontekstowe
- Że woda wrze w 100 °C na poziomie morza → Trening
- PDF wgrany minutę temu → Okno kontekstowe
- Twoje pytanie z innego czatu w zeszłym tygodniu → Z żadnego
- Jak napisać uprzejmego maila → Trening
- Dzisiejsze poranne wiadomości, bez wyszukiwania w sieci → Z żadnego
Zapamiętaj
Model widzi tylko to, co mieści się w jego oknie kontekstowym. Długie czaty wypychają wczesne szczegóły, więc powtarzaj albo streszczaj to, co ważne.
Okno kontekstowe to cała krótkotrwała pamięć modelu. Czego nie zmieści, tego nie widzi.
Najważniejsze fakty
- GPT-3, jeden z pierwszych bardzo dużych modeli językowych, mógł naraz czytać okno kontekstowe o długości 2048 tokenów. · Źródło: Brown et al., Language Models are Few-Shot Learners, OpenAI, 2020
- Modele Llama 3.1 firmy Meta obsługują okno kontekstowe o długości 128 000 tokenów, wystarczające na całą książkę. · Źródło: Meta, The Llama 3 Herd of Models, 2024
- W transformerze każdy token zwraca uwagę na każdy inny, więc praca mechanizmu uwagi rośnie z kwadratem długości tekstu. To jeden z powodów, dla których okna są ograniczone. · Źródło: Vaswani et al., Attention Is All You Need, Google, 2017
- Badacze odkryli, że modele lepiej wykorzystują informacje z początku i końca długiego kontekstu niż te ukryte w środku. · Źródło: Liu et al., Lost in the Middle: How Language Models Use Long Contexts, 2023
Aktualizacja:
Częste pytania
Co to jest okno kontekstowe w AI?
To maksymalna ilość tekstu, mierzona w tokenach, jaką model językowy może przyjąć naraz. Obejmuje twoje wiadomości, odpowiedzi modelu, wgrane pliki i ukryte instrukcje aplikacji.
Dlaczego chatbot zapomina, co mówiłem wcześniej?
Gdy rozmowa staje się dłuższa niż okno kontekstowe, najstarsze wiadomości przestają się mieścić i model ich nie widzi. Pomaga powtarzanie kluczowych szczegółów albo nowy czat ze streszczeniem.
Czy chatboty AI pamiętają wcześniejsze rozmowy?
Sam model nie: każdy czat zaczyna się od pustego okna. Niektóre aplikacje mają funkcję pamięci, która zapisuje notatki i wkleja je do okna w kolejnych czatach.
Czy większe okno kontekstowe jest zawsze lepsze?
Pozwala modelowi czytać dłuższe dokumenty i czaty, ale kosztuje więcej mocy obliczeniowej, a modele wciąż mogą przeoczyć szczegóły ukryte w środku bardzo długich tekstów.
Powiązane pojęcia
