NastępnyNastępny poradnik
ChatGPT i LLM
Językowa sztuczna inteligencja
PODSTAWOWY PRZEWODNIK
Duże modele językowe mają trudności z liczeniem liter, ponieważ nie czytają tekstu po jednym znaku na raz.
Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~3 min
Odczytują tokeny, czyli fragmenty znaków, więc poszczególne litery w słowie często nigdy nie są bezpośrednio widoczne dla modelu. Ten jeden fakt wyjaśnia całą rodzinę dziwnych błędów w pisowni, liczeniu, odwracaniu i rymowaniu, a także pokazuje, jak je obejść.
Zanim model języka zobaczy jakikolwiek tekst, tokenizator dzieli go na tokeny. Większość nowoczesnych tokenizatorów korzysta z takich metod, jak kodowanie parami bajtów, które uczy się typowych sekwencji znaków z dużego tekstu. Częste słowa często stają się pojedynczym symbolem, a rzadsze słowa są dzielone na kilka części. Następnie model otrzymuje każdy żeton jako liczbę i zamienia go na wektor. Nigdy nie odbiera liter znajdujących się wewnątrz tego tokena jako oddzielnych danych wejściowych. Kiedy więc zapytasz, ile r jest w wyrazie „truskawka”, model nie skanuje dziesięciu znaków. Widzi może dwie lub trzy części i musi zapamiętać, na podstawie wzorców wyuczonych podczas treningu, jakie litery zawierają te fragmenty. Ta wiedza istnieje, ale jest pośrednia i niejasna, jak pytanie, ile razy litera e pojawia się w słowie, które kiedykolwiek widziałeś tylko jako obraz. Pytanie o truskawki stało się szeroko rozpowszechnionym przykładem w 2024 r. właśnie dlatego, że odpowiedź jest oczywista dla ludzi i zaskakująco trudna dla chatbotów. Ta sama przyczyna powoduje powiązane błędy: błędy ortograficzne przy prośbach o pisanie na głos, nieprawidłowe odwracanie słów, niestosowanie się do ograniczeń opartych na literach, takich jak akrostychy lub lipogramy, oraz błędne liczenie znaków w ramach limitów długości. Dokładne podziały różnią się w zależności od tokenizatora, więc jeden model może poprawnie podać dane słowo, a inny zawiedzie. Powszechnym błędnym przekonaniem jest to, że pokazuje to, że modele nie potrafią rozumować lub są po prostu nieostrożni. Limit dotyczy głównie formatu wejściowego, a nie ogólnego rozumowania. Kiedy model zostaje poproszony o przeliterowanie słowa jako pierwszy, każda litera staje się osobnym symbolem, a liczenie staje się znacznie łatwiejszym zadaniem. Nowsze modele rozumowania często wykonują ten krok pisowni samodzielnie, co jest jednym z powodów, dla których częściej odpowiadają na prawidłowe pytania. We wszystkim, gdzie liczy się dokładność, uruchomienie krótkiego fragmentu kodu jest nadal najbardziej niezawodną metodą.
Na pytanie, ile razy litera r pojawia się w wyrazie „truskawka”, chatbot odpowiada dwie zamiast trzech, ponieważ słowo dociera do modelu w postaci kilku wieloliterowych kawałków, a nie dziesięciu oddzielnych liter.
Nauczyciel prosi modela o napisanie zdania, w którym każde słowo zaczyna się na literę s, a model wpada w słowa, które tego nie robią, ponieważ model musi wywnioskować pierwszą literę każdego słowa, zamiast ją widzieć.
Programista prosi o wpisanie słowa „encyklopedia” od tyłu i otrzymuje wersję z zamienionymi lub brakującymi literami; poproszenie modelu o wypisanie najpierw liter po jednej w wierszu, a następnie odwrócenie listy, naprawia to.
Aplikacja logiczna wymaga dokładnej liczby liter w grze słownej, dlatego oblicza ją za pomocą pojedynczej linii zwykłego kodu i używa modelu tylko do zapisywania wskazówek.
Naukowcy badają modele działające bezpośrednio na bajtach lub znakach oraz projekty hybrydowe, które dynamicznie grupują bajty, co mogłoby sprawić, że zadania na poziomie znaków będą bardziej naturalne. Podejścia te wiążą się z kompromisami, ponieważ dłuższe sekwencje wejściowe kosztują więcej obliczeń. Tymczasem modele rozumowania, które przeliterują słowa krok po kroku, oraz modele wywołujące narzędzia kodujące już w praktyce redukują wiele z tych błędów. Rozsądnie jest oczekiwać, że z biegiem czasu będzie mniej kłopotliwych błędów w liczeniu liter, ale w przypadku zadań wymagających dokładnego liczenia znaków dobrą praktyką prawdopodobnie pozostanie używanie kodu zamiast ufania przypomnieniu modelu.
Darmowy newsletter
Trzy zweryfikowane historie AI każdego poranka w dni robocze, napisane prostym angielskim. Bezpłatne na zawsze, bez reklam.
Jedno e‑mail każdego dnia roboczego. Wypisz się jednym kliknięciem. Nigdy nie sprzedajemy ani nie udostępniamy Twojego adresu.
Sprawdź się
Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.
Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę
Duże modele językowe mają trudności z liczeniem liter, ponieważ nie czytają tekstu po jednym znaku na raz. Odczytują tokeny, czyli fragmenty znaków, więc poszczególne litery w słowie często nigdy nie są bezpośrednio widoczne dla modelu. Ten jeden fakt wyjaśnia całą rodzinę dziwnych błędów w pisowni, liczeniu, odwracaniu i rymowaniu, a także pokazuje, jak je obejść.
Modele otrzymują żetony, które często zawierają kilka znaków. Litery wewnątrz tokena nie są oddzielnymi danymi wejściowymi, więc model musi je przywołać pośrednio.
Tokenizer dzieli tekst na kawałki ze stałego słownictwa i przypisuje każdy z nich do identyfikatora całkowitego, który następnie jest przekształcany w wektor.
Zapisanie słowa z separatorami takimi jak s-t-r-a-w zwykle umieszcza każdą literę w jej własnym tokenie, co znacznie ułatwia liczenie.
BPE zaczyna się od bajtów lub znaków i łączy najczęściej sąsiadującą parę, więc wspólne ciągi stają się pojedynczymi tokenami.
Tokenizatory często zawierają spacje wiodące i wielkość liter w tokenach, więc niewielkie zmiany powierzchni mogą powodować różne podziały tokenów.
Ucz się dalej
Wybrano więcej przewodników na ten temat
NastępnyNastępny poradnik
ChatGPT i LLM
Językowa sztuczna inteligencja