English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

gość
1 / ?
powrót do lekcji

Odległość semantyczna jako odległość euklidesowa

Wysokowymiarowa przestrzeń wektorowa

Każdy token w słowniku 8449 tokenów modelu ANDREA-120M mapowany jest na jeden punkt w R^768. Macierz osadzania tokenów ma kształt 8449 x 768: 8449 wierszy, po jednym na każdy token słownika; 768 kolumn, po jednej na każdy wymiar osadzania.


Geometry of ANDREA Panels


Trzy własności czynią to przestrzenią wektorową

1. Dodawanie. v_a + v_b należy do R^768. Suma dwóch wektorów osadzonych jest wektorem poprawnym.

2. Mnożenie przez skalar. alpha * v należy do R^768 dla dowolnego rzeczywistego alpha. Rozciąganie lub skracanie wzdłuż tego samego kierunku.

3. Liniowość. alpha v_a + beta v_b należy do R^768. Kombinacje liniowe pozostają wewnątrz przestrzeni.


Te własności dają nam narzędzia geometryczne: odległość, kąt, rzutowanie, baza, ortogonalność.


Odległość jako semantyczna podobieństwo

Podobieństwo kosinusowe dwóch wektorów osadzonych (embeddings) mierzy kąt między nimi: cos(theta) = (v_a . v_b) / (||v_a|| * ||v_b||). Zakres: od -1 (przeciwny kierunek) do +1 (równoległy kierunek).


Empiryczny wzorzec po treningu: tokeny o podobnych kontekstach generują wektory osadzone (embeddings) o wysokim podobieństwie kosinusowym. ANDREA-120M umieszcza parakeet (papuga) i monkey (małpa) blisko siebie (obie są istotami biologicznymi, oba gatunki, oba kategorie gatunków istniejących lub wymarłych). Umieszcza Fourier (Fourier) i transform (transformacja) blisko siebie (kontekst przetwarzania sygnałów). Umieszcza parakeet (papuga) i Fourier (Fourier) daleko od siebie (ortogonalność międzydziedzinowa).


Dlaczego R^768, a nie R^384

ANDREA-12M używał d_model = 384. ANDREA-120M podwoił tę wartość do 768. To podwojenie ma znaczenie: przestrzeń 384-wymiarowa oferuje mniej dostępnych „kątów”, co pogarsza rozróżnianie kontekstów międzydziedzinowych. Podwojenie pojemności daje modelowi przestrzeń do rozdzielenia bank (brzeg rzeki) i bank (bank finansowy) na różne „baseny” w przestrzeni osadzeń (embedding space), bez wzajemnego na siebie nachodzenia.


Aktualizacje osadzeń jako translacja wektorów

Każdy krok gradientu dodaje delta_v do v_token. Geometrycznie: małe translacje w R^768 przesuwa pozycję każdego tokena w kierunku sąsiedztw, które zmniejszają stratę. Po 200 tys. kroków każdy token migruje z losowej inicjalizacji do wyuczonego miejsca.

Obliczanie odległości

Trzy wytrenowane osadzenia (uproszczone do R^3 w celu obliczeń):


- v(parakeet) = (1.0, 0.5, 0.0)

- v(monkey) = (1.2, 0.3, 0.1)

- v(Fourier) = (0.0, 0.0, 1.5)

(a) Oblicz euklidesowską odległość ||v(papuga) - v(małpa)||. (b) Oblicz ||v(papuga) - v(Fourier)||. (c) Wskaż, które dwa tokeny tworzą skupisko, i podaj powód geometryczny, powołując się na rzeczywiste liczby.

Rzutowanie na podprzestrzeń zapytania

Co oblicza uwaga

Dla tokena w pozycji t, uwaga oblicza:


softmax(Q K^T / sqrt(d_k)) V


Gdzie Q to zapytanie (pytanie tego tokena), K to klucze (identyfikatory każdego poprzedniego tokena), a V to wartości (zawartość każdego poprzedniego tokena). Wyjście miesza V, ważąc je według stopnia, w jakim zapytanie jest powiązane z każdym kluczem.


Geometriczna interpretacja

Rozważ K jako listę wektorów w R^d_k. Każdy wiersz to klucz jednego z poprzednich tokenów. Q to jeden wektor w R^d_k: pytanie tego tokena.


Q K^T rzuca każdy klucz na Q. Iloczyn skalarny q · k_i mierzy, w jakim stopniu k_i leży wzdłuż kierunku q. Długi rzut = klucz silnie istotny dla zapytania. Krótki rzut = klucz ledwo istotny.


softmax normalizuje rzuty do wag sumujących się do 1. Suma ważona V to pojedynczy wektor: mieszanka treści z przeszłości, ważona według istotności dla bieżącego zapytania.


Uwaga wielogłowowa jako rzutowanie na wiele podprzestrzeni

ANDREA-120M używa 12 główek uwagi. d_model = 768; d_k = 768 / 12 = 64. Każda głowka rzuca na inną 64-wymiarową podprzestrzeń R^768. Dwanaście główek daje dwanaście niezależnych widoków tej samej sekwencji: jedna głowka może śledzić rolę gramatyczną, inna podobieństwo semantyczne, a jeszcze inna odniesienia na długi dystans.


Geometrycznie: każda głowka definiuje 64-wymiarową podprzestrzeń o określonym kierunku („okno”), przez które ogląda przeszłość.


Maska przyczynowa

Modele wyłącznie dekodujące dodają maskę przyczynową: każdy element Q K^T powyżej przekątnej jest ustawiany na -nieskończoność przed softmaxem. Geometrycznie: rzut na dowolny przyszły token otrzymuje wagę zerową. Token t może widzieć tylko tokeny od 0 do t.


Dlaczego to ma znaczenie: trening i inferencja stają się symetryczne. Ten sam przebieg do przodu, te same zamaskowane rzuty, brak specjalnej logiki generowania.


Skalowanie przez sqrt(d_k)

Bez skalowania iloczyny skalarnie rosną wraz z d_k. Duże iloczyny skalarnie zmuszają softmax do obszarów jedno-gorących (jedna waga bliska 1, reszta bliska 0). Dzielenie przez sqrt(d_k) utrzymuje rzuty w skali jednostkowej wariancji, zachowując ostrość softmaxu w szerokim zakresie wartości d_k.


Geometrycznie: sqrt(d_k) normalizuje długości projekcji, dzięki czemu softmax widzi porównywalne wielkości niezależnie od wymiaru podprzestrzeni.

Odczyt projekcji

Trzy klucze i jeden zapytanie w R^4 (uproszczone dla celów arytmetycznych):


- q = (1, 0, 1, 0)

- k_1 = (1, 0, 0, 0) [poprzedni token 1]

- k_2 = (0, 0, 1, 0) [poprzedni token 2]

- k_3 = (0, 1, 0, 1) [poprzedni token 3]


d_k = 4, więc sqrt(d_k) = 2.

(a) Oblicz q . k_i dla i = 1, 2, 3 (iloczyny skalarny). (b) Podziel każdą wartość przez sqrt(d_k) = 2, aby uzyskać znormalizowane punkty. (c) Bez jawnego obliczania softmaxu, wskaż, który klucz otrzyma NAJWIĘKSZĄ wagę uwagi oraz podaj powód geometryczny.

Spadek gradientu jako ścieżka na terenie

Powierzchnia w 120M+1 wymiarach

Każda konfiguracja wag modelu ANDREA-120M to jeden punkt w R^120,000,000. Funkcja straty L(w) mapuje każdy punkt na liczbę rzeczywistą: stratę treningową dla tej konfiguracji. Razem wartości straty tworzą (120M+1)-wymiarową powierzchnię nad przestrzenią parametrów.


Geometrycznie niemożliwe do bezpośredniej wizualizacji. Pojęciowo: to teren. Góry (wysoka strata), doliny (niska strata), punkty siodłowe, płaskowyże, grzbiety, baseny.


Gradient jako lokalny nachylenie

grad L(w) to wektor w R^120M wskazujący kierunek najszybszego ZWIĘKSZENIA L. Jego negacja: -grad L(w) wskazuje najszybszy spadek w dół.


Jeden krok AdamW przesuwa w w kierunku ujemnego gradientu (z adaptowym skalowaniem z m i v). Geometrycznie: bardzo mały krok wzdłuż powierzchni, w dół, z rozmiarem kroku kontrolowanym przez lr.


Zła dolina w1

w1 wykonał swój pierwszy krok przy LR = szczyt (0,0003) na świeżo zainicjowanych wagach. Obraz geometryczny: w_0 znajduje się w regionie o silnie zakrzywionej powierzchni (inicjalizacja losowa ma wysoką krzywiznę w wielu kierunkach), a krok przy LR na poziomie szczytu ląduje w złej dolinie. Kolejne kroki nie są w stanie z niej wyjść. Model utyka, generując „region region region”, ponieważ ta dolina ma najniższą stratę, jaką model może znaleźć z miejsca, w którym wylądował.


Ścieżka rozgrzewki w2

w2 wykonuje 2000 małych kroków, przy czym LR rośnie od 0 do wartości szczytowej. Obraz geometryczny: w_0 najpierw łagodnie migruje wzdłuż gładkich kierunków (gdzie krzywizna jest niska). Po kroku 2000 w przesuwa się do bardziej nawigowalnego regionu; LR na poziomie szczytowym może wtedy poprowadzić go ku lepszej dolinie bez przekraczania jej.


Rozgrzewka to protokół inicjalizacji uwzględniający geometrię: pozwala modelowi znaleźć bezpieczną okolicę lokalną, zanim zaczniemy go mocno „popychać”.


Dobre vs wąskie baseny

Na kroku 112K model ANDREA-120M znajduje się w basenie. Pytanie: jak szeroki jest on?


Szeroki basen = wiele sąsiednich konfiguracji wag również osiąga niski błąd treningowy. Generalizacja bywa dobra (szerokość basenu przewiduje wyniki testowe; zobacz lekcję PAC-Bayes, rozdział 3).


Wąska dolina = tylko cienki zbiór wag osiąga niski błąd. Ogólna zdolność uogólniania zwykle się pogarsza.


Dopracowanie w wersji v3 na kroku 112 619 przesunęło model wzdłuż powierzchni (bez resetu) do szerszej doliny za pomocą perturbacji kurikulowej: zmiana funkcji straty (inny bandyta, inny miks treningowy), pozwalając SGD znaleźć pobliski płaski obszar w ramach nowej polityki.


Klif Zombie

Anomalia błędu 0,13 na kroku 112 080 była KLIFEM: ostrym, wąskim obszarem, w którym jeden konkretny wzorzec wejściowy (zapamiętany podciąg z dokumentacji repozytorium) daje błąd bliski zeru. Model spadł z szerszej doliny do wąskiego wąwozu. Twarde wykluczenie dokumentacji repozytorium w ramach zwrotu do dopracowania wypełniło ten wąwóz, dzięki czemu SGD nie mógł go już znaleźć.

Czytanie Terenu

Trzy konfiguracje wag po zwrocie do dopracowania. (a) Konfiguracja A: błąd treningowy 2,0, a 95% małych perturbacji w odległości 0,1 nadal daje błąd < 2,2. (b) Konfiguracja B: błąd treningowy 2,0, a 5% małych perturbacji w odległości 0,1 nadal daje błąd < 2,2. (c) Konfiguracja C: błąd 0,13 dla jednego konkretnego wejścia, ale średnio 8,0 dla pozostałych wejść. Z klasyfikuj każdą jako SZEROKA DOLINA, WĄSKA DOLINA lub KLIF oraz podaj jednozdaniowe uzasadnienie geometryczne.

Miks programu nauczania jako spacer po dyskretnym prostokącie

Czym jest prostokąt

n-wymiarowy prostokąt (konkretnie standardowy (n-1)-prostokąt) to zbiór n-tek (w_1, w_2, ..., w_n), w których każde w_i >= 0 oraz sum(w_i) = 1.


Dla n = 2: odcinek od (1, 0) do (0, 1). Dla n = 3: trójkąt o wierzchołkach (1, 0, 0), (0, 1, 0), (0, 0, 1). Dla n = 16 (pełna lista źródeł ANDREA): 15-wymiarowy sympleks znajdujący się w R^16.


Wagi bandita jako współrzędne sympleksu

Bandit ANDREA generuje wektor wag w dla źródeł danych w każdej fazie. Każdy składnik w_i to prawdopodobieństwo pobrania źródła i. Prawdopodobieństwa są nieujemne i sumują się do 1: każdy wektor wag znajduje się na sympleksie.


Wierzchołki = strategie czyste (pobieranie tylko jednego źródła). Wnętrze = strategie mieszane (pobieranie wielu źródeł, każde z dodatnim prawdopodobieństwem). Krawędzie = mieszaniny tylko dwóch źródeł.


Dolne granice źródeł jako ograniczony obszar

ANDREA narzuca minimalne wagi: hermes3-general na poziomie dolnym 0,7 (po polerowaniu). To wyodrębnia podobszar prostego: osiągalne są tylko wektory wag, dla których w_hermes3-general >= 0,7.


Geometrycznie: poziom dolny przecina proste hiperpłaszczyzną. Obszar osiągalny to część prostego po właściwej stronie każdej hiperpłaszczyzny poziomu dolnego.


Górne granice jako druga restrykcja

ANDREA narzuca również maksymalne wagi: dictionary na poziomie górnym 0,25 (po polerowaniu). Każda górna granica to kolejna hiperpłaszczyzna, a obszar osiągalny musi znajdować się po właściwej stronie każdej hiperpłaszczyzny górnej granicy.


Wykluczenie źródła całkowicie (górna granica = 0,0) to najsilniejsza możliwa górna granica: współrzędna zostaje przypięta do zera, co zmniejsza wymiar efektywnego prostego o jeden.


Przejścia fazowe jako kroki na prostym

Każde przejście fazowe (co 7–42 kroki) generuje nowy wektor wag. Każdy nowy wektor jest punktem na prostym. W ciągu 200 tys. kroków bandyta rysuje długą ścieżkę przez osiągalny obszar prostego.


Fazy losowe = teleportacja do punktu wylosowanego równomiernie wewnątrz obszaru osiągalnego.

Fazy sterowane bandytą = krok w kierunku wierzchołka o najwyższej wartości UCB, zgodnego z dolnymi i górnymi progami.

Pivot polerski = ponowne narysowanie obszaru osiągalnego (nowe dolne progi, nowe górne progi, wykluczenie niektórych źródeł), a spacer kontynuowany jest od nowego punktu startowego.


Dlaczego wierzchołki są niebezpieczne

Fazy czysto źródłowe (jedno w_i = 1, reszta = 0) znajdują się w wierzchołkach prostegoksu. Różnorodność wynosi zero. Model trenowany jest wyłącznie na jednym rozkładzie. Część załamania w wersji v1 można przypisać do bandyty, który „obozował” w pobliżu wierzchołka repo-dokumentów; próbki odtwarzały wyłącznie rozkład tego źródła.


Podłogi (dolne granice) zapobiegają obozowaniu w wierzchołkach: podłoga na poziomie 0,7 oznacza „nigdy nie pozwól, aby waga żadnego źródła spadła poniżej 0,7” (lub innej wartości podłogi dla źródeł priorytetowych).

Przechodzenie po osiągalnym obszarze

Trzy źródła: hermes3-general (H), gutenberg (G), słownik (D). Ograniczenia: podłoga dla H = 0,5, górna granica (cap) dla D = 0,25. (Jawnie: wszystkie wagi >= 0, suma wynosi 1, brak innych ograniczeń.)

(a) Czy bandyta mógłby wybrać (H=1,0, G=0, D=0)? Dlaczego tak lub dlaczego nie? (b) Czy mógłby wybrać (H=0,5, G=0,5, D=0)? (c) Czy mógłby wybrać (H=0,5, G=0,25, D=0,25)? (d) Opisz geometrycznie, jak wygląda osiągalny obszar w tym prostokącie (simpleksie) trzech źródeł.

Ograniczenie wymiarów przez pierwsze 20K kroków

Co robiła rozgrzewka programowa w wersji v2

W wersji v2 parametr curriculum_warmup_sources ustawiono na siedem źródeł: hermes3-general, hermes3-creative, hermes3-roleplay, chat, smoltalk, oasst, gutenberg. Przez pierwsze 20K kroków tylko te siedem źródeł dostarczało dane. Po kroku 20K aktywowano pełny strumień 16 źródeł.


Interpretacja geometryczna

Pełny sympleks 16 źródeł znajduje się w R^16. Ograniczenie do 7 źródeł sprowadza 9 z 16 współrzędnych do zera. Przejście bandyta odbywa się w 6-wymiarowym pod-sympleksie (o jeden wymiar mniej niż liczba źródeł, zgodnie z ograniczeniem sumy do 1).


Geometrycznie: POD-SYMPLEKS pełnego sympleksu. Niższy wymiar, gładkość, łatwiejsza nawigacja.


Dlaczego to pomaga w wczesnym treningu

Na wczesnym etapie treningu model w ogóle nie nauczył się spójnego języka. Różnorodne źródła go mylą: każde źródło ma własny styl, własny rozkład słownictwa, własny wzorzec. Mieszanie 16 źródeł przy losowej inicjalizacji tworzy zbyt szeroki rozkład docelowy, którego model nie jest w stanie dopasować.


Ograniczenie do 7 źródeł konwersacyjnych/prozy daje bardziej jednorodny cel. Model najpierw uczy się stabilnego reprezentacji, a następnie rozszerza zakres.


Geometriczna ścieżka przez trening

1. Kroki 0 do 20 tys. (rozgrzewka). „Spacer” odbywa się na 6-wymiarowym podprostokącie. W modelu pojawiają się stabilne wzorce językowe.

2. Kroki 20 tys. do 112 tys. (pełny strumień). „Spacer” rozszerza się do 15-wymiarowego pełnego prostokąta. Pojawia się szerokość domenowa.

3. Krok 112 tys. i dalej (polerowanie). „Spacer” zostaje ponownie ograniczony: wykluczono repo-dokumenty i repo-dokumentacje, podniesiono dolne progi konwersacyjne. Mniejszy wielokąt w pełnym prostokącie; jakość konwersacyjna ulega konsolidacji.


Dlaczego zestaw Polish ustawia curriculum_warmup_steps = 0

Polish wchodzi na kroku 112 tys. Model już posługuje się spójnym językiem. Ograniczenie do podprostokąta na tym etapie spowodowałoby utratę szerokości bez żadnego zysku (korzyść z rozgrzewki dotyczy modeli z nową inicjalizacją). Ustawienie warmup_steps = 0 oznacza: pozostań na pełnym prostokącie, ale z nowymi limitami i progami.


Trzy geometrie, jedno przebieg treningowe

Rozgrzewka v2: nisko-wymiarowy podprosty.

Firehose v2: pełny 15-wymiarowy proste.

Dopracowanie v3: pełny proste z mniejszym wielokątem (więcej ograniczeń).


Ten sam przebieg treningowy 200 tys. kroków, trzy różne reżimy geometryczne. Każdy z nich został dostrojony do innego etapu dojrzałości modelu.

Czytanie podwielowaru

(a) Rozgrzewka v2 wykorzystuje 7 źródeł z pełnego zestawu 16 źródeł. Jaka jest wymiarowość podprostej rozgrzewki? Oblicz i podaj wynik. (b) ANDREA-120M v3 polish twardo wyklucza repo-docs i repo-docstrings (limit 0.0), ale w pozostałym zakresie dopuszcza pozostałe 14 źródeł. Jaka jest wymiarowość podprostej polerowania? (c) Geometrycznie, co oznacza ustawienie curriculum_warmup_steps = 0 w konfiguracji polerowania?