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 ANDREA-120M zawierającym 8449 tokenów mapuje się na jeden punkt w R^768. Macierz embeddingów tokenów ma kształt 8449 x 768: 8449 wierszy, po jednym na każdy token ze słownika; 768 kolumn, po jednej na każdy wymiar embeddingu.


Geometry of ANDREA Panels


Trzy właściwości czynią to przestrzenią wektorową

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

2. Mnożenie przez skalar. alpha * v należy do R^768 dla dowolnego rzeczywistego alpha. Rozciąganie lub ściskanie w tym samym kierunku.

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


Te właściwości dają nam narzędzia geometryczne: odległość, kąt, rzut, bazę, ortogonalność.


Odległość jako podobieństwo semantyczne

Podobieństwo cosinusowe dwóch embeddingów mierzy kąt między nimi: cos(theta) = (v_a . v_b) / (||v_a|| * ||v_b||). Zakres: -1 (przeciwne) do +1 (równoległe).


Wzorzec empiryczny po treningu: tokeny o podobnych kontekstach tworzą embeddingi o wysokim podobieństwie cosinusowym. ANDREA-120M umieszcza parakeet i monkey blisko siebie (oba biologiczne, oba gatunki, obie kategorie istniejące lub wymarłe). Umieszcza Fourier i transform blisko siebie (kontekst przetwarzania sygnałów). Umieszcza parakeet i Fourier daleko od siebie (ortogonalność międzydziedzinowa).


Dlaczego R^768, a nie R^384

ANDREA-12M używał d_model = 384. ANDREA-120M podwoił do 768. Podwojenie ma znaczenie: przestrzeń 384-wymiarowa ma mniej dostępnych „kątów”, a dezambiguacja międzydziedzinowa cierpi. Podwojenie pojemności daje modelowi przestrzeń do rozdzielenia bank (rzeka) od bank (instytucja finansowa) w różne obszary przestrzeni embeddingów, bez zapadania się jednego w drugie.


Aktualizacja embeddingów jako translacja wektorowa

Każdy krok gradientu dodaje delta_v do v_token. Geometrycznie: małe translacje w R^768 przesuwają pozycję każdego tokenu w kierunku obszarów, które zmniejszają stratę. Po 200K kroków każdy token przemieszcza się z losowej inicjalizacji do wyuczonej lokalizacji.

Obliczanie odległości

Trzy wytrenowane embeddingi (uproszczone do R^3 dla 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 odległość euklidesową ||v(parakeet) - v(monkey)||. (b) Oblicz ||v(parakeet) - v(Fourier)||. (c) Podaj, które dwa tokeny tworzą klaster i podaj uzasadnienie geometryczne, powołując się na rzeczywiste liczby.

Projekcja na podprzestrzeń zapytania

Co oblicza uwaga

Dla tokenu na 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 to mieszanka V ważona przez to, jak bardzo zapytanie pasuje do każdego klucza.


Interpretacja geometryczna

Traktuj K jako listę wektorów w R^d_k. Każdy wiersz to klucz jednego poprzedniego tokena. Q to pojedynczy wektor w R^d_k: pytanie tego tokena.


Q K^T rzutuje każdy klucz na Q. Iloczyn skalarny q . k_i mierzy, jak bardzo k_i leży wzdłuż kierunku q. Długa projekcja = klucz silnie istotny dla zapytania. Krótka projekcja = klucz słabo istotny.


softmax normalizuje projekcje na wagi sumujące się do 1. Ważona suma V to pojedynczy wektor: mieszanka poprzedniej zawartości, ważona według istotności dla bieżącego zapytania.


Multi-Head Attention jako projekcja na wiele podprzestrzeni

ANDREA-120M używa 12 głowic uwagi. d_model = 768; d_k = 768 / 12 = 64. Każda głowica rzutuje do innej 64-wymiarowej podprzestrzeni R^768. Dwanaście głowic daje dwanaście niezależnych widoków tej samej sekwencji: jedna głowica może śledzić rolę gramatyczną, inna podobieństwo semantyczne, jeszcze inna odniesienia dalekozasięgowe.


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

[BLOCK_TYPE SECTION/STEP]

Maska przyczynowa
[BLOCK_TYPE SECTION/STEP]

Modele typu decoder-only dodają maskę przyczynową: każdy wpis Q K^T powyżej przekątnej jest ustawiany na -nieskończoność przed softmax. Geometrycznie: rzutowanie na dowolny przyszły token otrzymuje wagę zero. Token t może widzieć tylko tokeny od 0 do t. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

Dlaczego to ma znaczenie: trening i inferencja stają się symetryczne. Ten sam przebieg w przód, te same zamaskowane rzutowania, bez specjalnej logiki generowania. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

Skalowanie sqrt(d_k)
[BLOCK_TYPE SECTION/STEP]

Bez skalowania iloczyny skalarne rosną wraz z d_k. Duże iloczyny skalarne wypychają softmax w obszary one-hot (jedna waga bliska 1, reszta bliska 0). Dzielenie przez sqrt(d_k) utrzymuje rzutowania w skali jednostkowej wariancji, zachowując ostrość softmax w szerokim zakresie wartości d_k.


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

Odczytywanie rzutu

Trzy klucze i jedno zapytanie w R^4 (uproszczone dla obliczeń):


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

- k_1 = (1, 0, 0, 0) [token przeszły 1]

- k_2 = (0, 0, 1, 0) [token przeszły 2]

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


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

(a) Oblicz q . k_i dla i = 1, 2, 3 (iloczyny skalarne). (b) Podziel każdy wynik przez sqrt(d_k) = 2, aby otrzymać skalowane wyniki. (c) Bez jawnego obliczania softmax podaj, który klucz otrzyma NAJWIĘKSZĄ wagę uwagi i podaj geometryczne uzasadnienie.

Gradient Descent 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) przypisuje każdemu punktowi liczbę rzeczywistą: wartość straty treningowej dla tej konfiguracji. Razem wartości strat tworzą powierzchnię (120M+1)-wymiarową nad przestrzenią parametrów.


Geometria uniemożliwia bezpośrednią wizualizację. Koncepcyjnie: teren. Góry (wysoka strata), doliny (niska strata), punkty siodłowe, płaskowyże, grzbiety, baseny.


Gradient jako Lokalne Nachylenie

grad L(w) to wektor w R^120M wskazujący kierunek najszybszego WZROSTU L. Negacja: -grad L(w) wskazuje najstromiej w dół.


Jeden krok AdamW przesuwa w w kierunku przeciwnym do gradientu (z adaptacyjnym skalowaniem z m i v). Geometrycznie: mały krok po powierzchni w dół, z rozmiarem kroku kontrolowanym przez lr.


Zły basen v1

v1 wykonał pierwszy krok przy LR = peak (0.0003) na świeżo zainicjalizowanych wagach. Obraz geometryczny: w_0 znajduje się w obszarze o silnej krzywiźnie (losowa inicjalizacja ma wysoką krzywiznę w wielu kierunkach), a krok z LR = peak ląduje w niewłaściwym basenie. Kolejne kroki nie pozwalają na ucieczkę. Model utyka, generując „region region region”, ponieważ ten basen ma najniższą stratę, jaką model może znaleźć z miejsca, w którym wylądował.


Ścieżka rozgrzewki v2

v2 wykonuje 2000 małych kroków z LR rosnącym od 0 do wartości peak. Obraz geometryczny: w_0 najpierw delikatnie przemieszcza się wzdłuż gładkich kierunków (gdzie krzywizna jest niska). Do kroku 2000 w przesuwa się do bardziej dostępnego obszaru; wtedy LR = peak może poprowadzić go w kierunku lepszego basenu bez przeskakiwania.

<translated content> [BLOCK_TYPE SECTION/STEP]

Warmup to protokół inicjalizacji uwzględniający geometrię: pozwala modelowi najpierw znaleźć bezpieczne lokalne sąsiedztwo, zanim zaczniemy go mocno trenować. [BLOCK_TYPE SECTION/STEP]

<translated content> [BLOCK_TYPE SECTION/STEP]

Szerokie vs wąskie baseny
[BLOCK_TYPE SECTION/STEP]

W kroku 112K model ANDREA-120M znajduje się w basenie. Pytanie: jak szeroki jest ten basen? [BLOCK_TYPE SECTION/STEP]

<translated content> [BLOCK_TYPE SECTION/STEP]

Szeroki basen = wiele sąsiednich konfiguracji wag również osiąga niską wartość funkcji straty na zbiorze treningowym. Generalizacja zwykle jest dobra (szerokość basenu przewiduje wyniki na zbiorze testowym; zobacz lekcję PAC-Bayes, Rozdział 3). [BLOCK_TYPE SECTION/STEP]

<translated content>

Wąska niecka = tylko wąski zbiór wag osiąga niską stratę. Generalizacja zwykle cierpi.


v3 polish w kroku 112 619 przesunął model po powierzchni (bez resetu) do szerszej niecki poprzez perturbację curriculum: zmiana funkcji straty (inny bandyta, inny mix treningowy), pozwolić SGD znaleźć pobliski płaski region pod nową polityką.


Klif zombie

Anomalna strata 0.13 w kroku 112 080 była KLIFFEM: ostrym, wąskim obszarem, w którym jeden konkretny wzorzec wejściowy (zapamiętany podciąg repo-docs) osiąga stratę bliską zeru. Model spadł z szerszej niecki do wąskiej doliny. Hard-exclusion repo-docs przez Polish-pivot wypełnił tę dolinę, więc SGD nie mógł jej już znaleźć.

Czytanie terenu

Trzy konfiguracje wag po pivotcie polish. (a) Konfiguracja A: strata treningowa 2.0, a 95 % małych perturbacji w odległości 0.1 nadal daje stratę < 2.2. (b) Konfiguracja B: strata treningowa 2.0, a 5 % małych perturbacji w odległości 0.1 nadal daje stratę < 2.2. (c) Konfiguracja C: strata treningowa 0.13 na jednym konkretnym wejściu, ale strata 8.0 średnio na innych wejściach. Sklasyfikuj każdą jako SZEROKA NIECKA, WĄSKA NIECKA lub KLIFF i podaj jednozdaniowe uzasadnienie geometryczne.

Mieszanka Curriculum jako Spacer po Dyskretnym Sympleksie

Czym jest Sympleks

n-wymiarowy sympleks (dokładniej standardowy (n-1)-sympleks) to zbiór n-krotek (w_1, w_2, ..., w_n), gdzie każde w_i >= 0 oraz suma(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 zawarty w R^16.


Wagi bandyty jako współrzędne sympleksu

Bandyta ANDREA generuje wektor wag w nad źródłami danych w każdej fazie. Każda składowa w_i jest prawdopodobieństwem próbkowania źródła i. Prawdopodobieństwa są nieujemne i sumują się do 1: każdy wektor wag leży na sympleksie.


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


Dolne granice źródeł jako obszar ograniczony

ANDREA nakłada minimalne wagi: hermes3-general na poziomie podłogi 0.7 (po polsku). Tworzy to podregion simpleksu: osiągalne są tylko wektory wag z w_hermes3-general >= 0.7. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

Geometrycznie: podłoga przecina simpleks hiperpłaszczyzną. Region osiągalny to część simpleksu po właściwej stronie każdej hiperpłaszczyzny podłogi. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

Limity jako drugie ograniczenie
[BLOCK_TYPE SECTION/STEP]

ANDREA nakłada również maksymalne wagi: dictionary na poziomie limitu 0.25 (po polsku). Każdy limit to kolejna hiperpłaszczyzna, a region osiągalny musi znajdować się po właściwej stronie każdej hiperpłaszczyzny limitu. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

Całkowite wykluczenie źródła (limit = 0.0) to najsilniejszy możliwy limit: współrzędna zostaje przypięta do zera, co zmniejsza efektywny simpleks o jeden wymiar.

[BLOCK_TYPE SECTION/STEP]

Przejścia fazowe jako spacery po simpleksie
[BLOCK_TYPE SECTION/STEP]

Każde przejście fazowe (co 7-42 kroków) generuje nowy wektor wag. Każdy nowy wektor jest punktem na simpleksie. W ciągu 200K kroków bandyta rysuje długą ścieżkę przez osiągalny obszar simpleksu. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

Losowe fazy = teleportacja do losowego punktu wewnątrz osiągalnego obszaru. [BLOCK_TYPE SECTION/STEP]

Fazy kontrolowane przez bandytę = krok w kierunku najlepszego wierzchołka UCB zgodnego z dolnymi i górnymi granicami. [BLOCK_TYPE SECTION/STEP]

Polski pivot = ponowne narysowanie osiągalnego obszaru (nowe dolne granice, nowe górne granice, wykluczenie niektórych źródeł), a spacer kontynuuje się z nowego punktu startowego. [BLOCK_TYPE SECTION/STEP]


Dlaczego wierzchołki są niebezpieczne
[BLOCK_TYPE simplex/simplex_content]

Fazy czystego źródła (jedno w_i = 1, reszta = 0) znajdują się w wierzchołkach simpleksu. Różnorodność wynosi zero. Model trenuje wyłącznie na jednej dystrybucji. Częściowe załamanie v1 wynikało z tego, że bandyta obozował w pobliżu wierzchołka repo-docs; próbki odtwarzały wyłącznie rozkład tego źródła. [BLOCK_TYPE simplex/simplex_content]

[BLOCK_TYPE simplex/simplex_content]

Podłogi zapobiegają obozowaniu w wierzchołkach: podłoga na poziomie 0.7 oznacza „nigdy nie pozwól, aby waga dowolnego źródła spadła poniżej 0.7” (lub dowolna wartość podłogi dla źródeł priorytetowych). [BLOCK_TYPE simplex/simplex_question]

Przechadzka po obszarze osiągalnym [BLOCK_TYPE simplex/simplex_question]

Trzy źródła: hermes3-general (H), gutenberg (G), dictionary (D). Ograniczenia: podłoga H = 0.5, limit D = 0.25. (Ukryte: wszystkie wagi ≥ 0, suma = 1, brak innych ograniczeń.) [BLOCK_TYPE simplex/simplex_question]

(a) Czy bandyta mógłby wybrać (H=1.0, G=0, D=0)? Dlaczego tak lub 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 obszar osiągalny w tym simpleksie 3-źródłowym. [BLOCK_TYPE simplex/simplex_question]

Ograniczanie Wymiarów przez Pierwsze 20K Kroków

Co zrobiła Rozgrzewka Curriculum v2

v2 ustawił curriculum_warmup_sources na siedem źródeł: hermes3-general, hermes3-creative, hermes3-roleplay, chat, smoltalk, oasst, gutenberg. Przez pierwsze 20K kroków TYLKO te siedem źródeł wnosiło wkład. Po kroku 20K aktywował się pełny strumień 16 źródeł.


Interpretacja Geometryczna

Pełny 16-źródłowy simpleks znajduje się w R^16. Ograniczenie do 7 źródeł zeruje 9 z 16 współrzędnych. Spacer bandyty odbywa się w 6-wymiarowym pod-simpleksie (o jeden mniej niż liczba źródeł, ze względu na ograniczenie sumy do 1).


Geometrycznie: SUBMANIFOLD pełnego simpleksu. Niższy wymiar, gładszy, łatwiejszy do nawigacji.


Dlaczego to pomaga na wczesnym etapie treningu

Na początku treningu model nie nauczył się jeszcze spójnego języka. Różnorodne źródła go dezorientują: każde źródło ma swój styl, własny rozkład słownictwa, własne wzorce. Mieszanie 16 źródeł przy losowej inicjalizacji tworzy zbyt szeroką docelową dystrybucję, której model nie jest w stanie dopasować.


Ograniczenie do 7 źródeł konwersacyjnych/prozatorskich daje bardziej jednorodny cel. Model najpierw uczy się stabilnej reprezentacji, a dopiero potem rozszerza.


Geometryczna ścieżka przez trening

1. Kroki 0 do 20K (rozgrzewka). Spacer odbywa się na 6-wymiarowym podsympleksie. W modelu pojawiają się stabilne wzorce językowe.

2. Kroki 20K do 112K (pełny strumień). Spacer rozszerza się do 15-wymiarowego pełnego sympleksu. Pojawia się szerokość domeny.

3. Krok 112K i dalej (polerowanie). Spacer ponownie ograniczony: wykluczone repo-docs i repo-docstrings, podniesione poziomy konwersacyjne. Mniejszy wielokąt w pełnym sympleksie; konsoliduje się jakość konwersacyjna.


Dlaczego zestawy Polish ustawiają curriculum_warmup_steps = 0

Polish zaczyna się od kroku 112K. Model już posługuje się spójnym językiem. Ograniczenie do podsympleksu teraz spowodowałoby utratę szerokości bez żadnych korzyści (korzyść z rozgrzewki dotyczy modeli od zera). Ustawienie warmup_steps = 0 oznacza: pozostajemy na pełnym sympleksie, ale z nowymi limitami i progami.


Trzy geometrie, jeden przebieg treningowy

v2 warmup: niskowymiarowy pod-sympleks.

v2 firehose: pełny sympleks 15-D.

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


Ten sam przebieg 200K kroków, trzy różne reżimy geometryczne. Każdy został dostrojony do innej fazy dojrzałości modelu.

Czytanie podrozmaitości

(a) v2 warmup używa 7 źródeł z pełnego zestawu 16 źródeł. Jaka jest wymiarowość sub-sympleksu warmup? Oblicz i podaj. (b) ANDREA-120M v3 polish hard-excludes repo-docs & repo-docstrings (cap 0.0), ale poza tym pozwala na pozostałe 14 źródeł. Jaka jest wymiarowość sub-sympleksu polish? (c) Geometrycznie, co oznacza ustawienie curriculum_warmup_steps = 0 w konfiguracji polish?