HumanRank

Dziś przeczytałem wpis o human.json i stwierdziłem, że temat jest godny pełnowymiarowego wpisu. Nie dlatego, że jest ciekawy, ale dlatego, jak bardzo nieprzemyślany i słabo wykonany jest to pomysł. Uprzedzam, że będzie stronniczo i trochę mi się uleje.

W skrócie, LLMosceptycy wpadli na pomysł, żeby ludzie zaczęli dodawać plik JSON, w którym będą wskazywać URLe do innych treści (stron) tworzonych przez ludzi. Do tego dodatek do przeglądarki, który pokaże ilu ludzi wskazało odwiedzaną stronę na tworzoną przez człowieka i jaka jest odległość (ilu pośredników) względem naszej strony.

Czyli – cytując wytłuszczenia ze strony projektu – autor strony deklaruje się jako człowiek i umieszcza plik. Następnie poręcza za inne strony. I rozszerza scope poręczeń.

Jeśli komuś się z czymś to kojarzy, to – jeśli jeszcze nie zorientował się na podstawie tytułu wpisu – jest to w założeniu bardzo podobne do PageRank stworzonego przez Google. Może i Google stwierdziło, że to nie działa dobrze, jest podatne na manipulacje SEO i wycofało się z projektu, ale tym razem się uda. OK, jest różnica, bo aktualnie human.json nie uwzględnia wag. Ale to wczesna wersja, więc możliwe, że wszystko przed nami.

Wersja Google była o tyle lepsza/prostsza, że nie wymagała osobnego pliku i używała po prostu linków ze strony. Ale to nic, wiadomo, że wszyscy ludzie są techniczni, tu sobie nagłówek dopiszą, tam plik wygenerują. Na ironię zakłada wybór formatu JSON, który jest pomyślany jako przetwarzalny przez automaty i niezbyt przyjazny ludziom.

Dalsze wady pomysłu? Ależ proszę bardzo. Rozwiązanie jest podatne na manipulację. Nie ma żadnego problemu, żeby kupić kilka(-naście, -set) stron, umieścić na nich human.json, który będzie linkować do pozostałych. Zapewne będą miały wyższą ilość potwierdzeń, niż wiele stron tworzonych przez ludzi.

Kolejny problem to założenie, że wszyscy pieczołowicie będą utrzymywać swoje pliki. O ile z dodaniem pliku nie ma większego problemu, to z czasem domeny wygasają, zmieniają właścicieli. Po kilku latach może być na nich zupełnie inna treść. Znam to doskonale i z linków na blogu, i z czytnika RSS. W przypadku PageRank był jeden opiekun, który dbał o jakość wskaźnika.

Czy to koniec problemów? Na pewno nie. Na pewno znajdą się chętni do „wymiany linków” tj. wzajemnego potwierdzenia swojego człowieczeństwa. Pamiętacie sprzedaż linków? Gdyby pomysł jakimś cudem się przyjął (w co nie wierzę) to handel linkami powróci w wielkim stylu. Tym razem linkami w human.json.

Czym więc jest human.json, albo jakie widzę jego niezamierzone skutki? Przede wszystkim jest deklaracją nie lubię LLM. Do tego oczywiście każdy ma prawo. Ale czy człowiek musi polegać na automatycznym, algorytmicznym wskaźniku z przeglądarki, żeby ocenić czy treść jest wartościowa? Wydaje mi się to dziwne.

Ostatni niezamierzony skutek, który widzę, to tworzenie kolejnego bąbelka. Bo czy strony ludzi, z których poglądami się nie zgadzamy, trafią do human.json równie często, jak tych, z którymi się zgadzamy? Szczerze w to wątpię.

Podwójne standardy

Przy okazji wchodzącej w wielu zakątkach Internetu weryfikacji wieku i protestów z nią związanych, zauważyłem występowanie podwójnych standardów. Chodzi o to, że w świecie fizycznym raczej nikt nie ma problemu z tym, że wiek jest weryfikowany i istnieją ograniczenia wiekowe, a pewne rzeczy dostępne są tylko dla osób pełnoletnich.

Chodzi o możliwość zakupu alkoholu, wyrobów tytoniowych, ostatnio do towarów dostępnych tylko dla pełnoletnich zostały dodane energetyki. Podobnie jest z głosowaniem – czynne prawo wyborcze przysługuje od ukończenia 18 lat. Bierne – jeszcze później.

Tymczasem podnoszony jest argument, że tak nie można, bo prywatność, bo anonimowość, bo wolność. Zastanawiam się jednak, czy anonimowość – czy też: przyzwolenie na nią – mieliśmy do tej pory. Czy możliwość względnej anonimowości pojawiła się dopiero wraz z pojawieniem się Internetu. Przecież idąc do sklepu czy lokalu wyborczego nie jesteśmy anonimowi. Widać, kto kupuje (nawet niekoniecznie towary dostępne od 18 roku życia). W lokalu wyborczym sprawdzana jest tożsamość (i pośrednio wiek) osoby głosującej.

Co więcej, zakaz utrudniania (nawet nie: uniemożliwiania) identyfikacji osoby występuje – już teraz – także w miejscach, gdzie w przypadku uczestnictwa nie ma wymogu ukończenia określonego wieku. Na przykład ustawa o bezpieczeństwie imprez masowych mówi:

Art. 57a. Kto w miejscu i w czasie trwania masowej imprezy sportowej używa
elementu odzieży lub przedmiotu w celu uniemożliwienia lub istotnego utrudnienia rozpoznania osoby, podlega karze ograniczenia wolności albo grzywny nie niższej niż 2000 zł.

Czyli nie można anonimowo kibicować drużynie sportowej. I jakoś nikt nie robi o to afery, prawda?

Podobnie jest z rejestracją kart SIM. Obowiązek rejestracji mamy od około dekady. Jest to ograniczenie anonimowego dostępu do komunikacji telefonicznej, internetu oraz SMSów. Oraz niejawny wymóg weryfikacji wieku. Osoba poniżej 18 roku życia może zarejestrować kartę SIM, o ile ukończyła 13 lat i posiada dowód osobisty. Ten uprawniający do rejestracji karty SIM można mieć po ukończeniu 13 roku życia ale… za zgodą rodziców.

Realny, odczuwalny wpływ w przypadku kart SIM? Dla przytłaczającej większości obywateli żaden. Anegdotycznie, słyszałem, że po wprowadzeniu obowiązku rejestracji kart SIM, osoba zarządzająca w branży budowlanej przestała dostawać telefony z pogróżkami w weekendy od niekoniecznie trzeźwych expracowników.

Dyskusja nt. weryfikacji wieku online mogłaby być znacznie bardziej konstruktywna, gdybyśmy przestali stosować podwójne standardy…

Instrukcje były niejasne

Czasem na LinkedIn, z którego coraz mniej korzystam, pojawi się ciekawa dyskusja[1]. Zaczęło się od LLMów i stwierdzenia, że AI nie umie dotrzymać tajemnicy, każdy model LLM w końcu ujawni coś, czego nie powinien. Trochę wzięło mnie na filozofowanie i szukanie analogii, efektem jest myśl, którą parę osób uznało za trafną/interesującą, więc, żeby nie zginęła, niech będzie i tu.

Generalnie większość ludzi jest zgodna, że faktycznie tak jest i LLMy „ciekną” sekrety. Trochę zeszło na no ale tu wyraźne instrukcje były, żeby tego nie robił. Czyli klasyczne, że nie LLMy się nie nadają do danego zastosowania, tylko, a może zły prompt, a może zły model, a może tory złe…

Widzę to nieco inaczej, a różnica jest fundamentalna. Podobnie jak w LLMy nie kłamią trzeba przestać traktować LLMy jak maszyny deterministyczn czy myślące. W zamian trzeba cały czas pamiętać, że pod spodem jest to jednak złożony, ale proces stochastyczny.

Dlatego instrukcje, które dajemy LLMom nie są przepisem na ciasto, który zostanie odtworzony przez człowieka. Nie są algorytmem/programem, który zostanie wykonany precyzyjnie w określony, zawsze taki sam sposób, jak ma to miejsce w tradycyjnych programach. Czyli nie są dla „odbiorcy”, czyli modelu LLM ścisłą instrukcją, choć wydaje nam się, że są.

Czym zatem są? Wydaje mi się, że najbliższą analogią, którą znamy z życia są… przykazania religijne. Wg twórcy są precyzyjne, nie ma problemu z ich przestrzeganiem i powinny być przestrzegane. W praktyce jest z tym różnie. Mogą być różnie zrozumiane, zinterpretowane, czy wreszcie po prostu zignorowane. Nawet jeśli większość wyznawców ich przestrzega, to znajdą się przypadki, gdy nie są przestrzegane. Analogicznie zachowują się LLMy. Co któreś uruchomienie, w odpowiednich okolicznościach, znajdzie się taka instancja LLMa, która „złamie”[2] otrzymane instrukcje. I według mnie należy to po prostu przyjąć jako cechę rozwiązań opartych o LLMy.

[1] Bo ważne jest, z kim się rozmawia, nie gdzie.
[2] Cudzysłów, bo złamanie oznaczałoby konieczność zrozumienia, co nie zachodzi.