Wpis z mikrobloga

Hej, jeśli śledzicie informacje o kolejnych lmm, to pewnie was to zainteresuje.

Otóż kolejne źródło podaje, że OpenAI mogło testować GPT-4 na danych treningowych, zwłaszcza w aspekcie problemów programistycznych.

Temat ten podejmował wcześniej Horace He, który po wstępnym testowaniu GPT4 odkrył, że model rozwiązuje 10/10 problemów Codeforces sprzed 2021 roku i 0/10 najnowszych problemów (których nigdy wcześniej nie widział).

Tutaj link do threada:

https://twitter.com/cHHillee/status/1635790335535374336

Nowe badania Narayana z Princeton to potwierdzają. Jak piszą:

"Jako kolejny dowód na poparcie tezy prezentowanej przez Horace Ha, przetestowaliśmy GPT-4 na problemach Codeforces z różnych okresów w 2021 roku. Odkryliśmy, że może on regularnie rozwiązywać problemy z łatwej kategorii z przed 5 września, ale żadnych problemów po 12 września".

Koniec trenowania miał miejsce we wrześniu 2021, a więc model nie jest w stanie rozwiązać ani jednego nowego problemu programistycznego.

Dalej piszą oni, jeszcze ciekawsze rzeczy, otóż:

"W rzeczywistości możemy definitywnie pokazać, że model zapamiętał problemy w swoim zbiorze treningowym: po podaniu promptu z tytułem problemu na Codeforces, GPT-4 podaje link do dokładnego konkursu, w którym występuje ten problem".

Łamie to ogólnoprzyjętą zasadę, że nie testuje się na danych treningowych, bo system w taki sposób nie wnioskuje, ale zapamiętuje. Jest to także dość istotne w innych benchmarkach, które model może nie "rozwiązywać za pomocą wnioskowania", ale zwyczajnie wyciągać odpowiedzi z danych treningowych. Autorzy wskazują, że np. proste zmiany w treści pytań w MBA, które są nieistotne dla człowieka, sprawiają że model się gubi, co tylko dowodzi prezentowanej hipotezy.

Tutaj link do threada:

https://twitter.com/random_walker/status/1637929631037927424?s=46&t=m4xgLKFgqFafJXbRTotN1Q&fbclid=IwAR2iWkxaQuvjp7_rR2jdWlxUZYPCgpLgliG0lP5lAFWOwYT5OZ6ycYRZ2no

i artykułu:

https://aisnakeoil.substack.com/p/gpt-4-and-professional-benchmarks

#programowanie #chatgpt #programista15k #sztucznainteligencja
JamesJoyce - Hej, jeśli śledzicie informacje o kolejnych lmm, to pewnie was to zainte...

źródło: Zrzut ekranu 2023-03-26 213827

Pobierz
  • 49
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@JamesJoyce: może dlatego, że ChatGPT to model językowy, a nie sztuczna inteligencja do rozwiązywania problemów matematycznych czy informatycznych. Ona nie ma posiadać zdolności do generalizacji wiedzy jak rozwiązać dany problem, tylko ma swoją generalizację ukazywać w taki sposób, że prawidłowo dobiera słowo po słowie, i potrafić odpowiedzieć w spójny sposób na takie pytanie, jakie jeszcze nie padło. Jeżeli ktoś rozumie podstawową zasadę działania ChatGPT, to taki test wyda mu się
  • Odpowiedz
  • 1
@CXLV: Nie prawda. Badanie zanieczyszczenia danych jest jednym z podstawowych testów przy analizie działania modeli, który sprawdza czy model lepiej się uczy czy lepiej zapamiętuje. Robiło się to lata przed modelami językowymi i bada się w ten sposób modele językowe, np. tutaj masz analizę BERTa:

https://arxiv.org/abs/2203.08242

Istotą działania modeli językowych jest wnioskowanie, czyli rozwiązywanie problemów podobnych do tych, które znajdują się w zbiorze treningowym. Nie tych samych. Nie testuje się
  • Odpowiedz
@JamesJoyce: przecież wiadomo było od początku że ten model NIE WNIOSKUJE. Przecież to jest model językowy działający w oparciu o skojarzenia, gdzie kolejne słowo odpowiedzi wyznaczane jest na podstawie poprzednich (coś trochę jak strumień świadomości).
  • Odpowiedz
  • 1
@Krolik: co to znaczy "było wiadomo"? Modele językowe wnioskują w oparciu o określenie prawdopodobieństwa następnego słowa w zdaniu, na podstawie danych treningowych. Takie jest ich założenie, a nie "oparcie o skojarzenia" czy "strumień świadomości". Dlatego każdy model testuje się na nowych danych, które są podobne do danych treningowych, a nie takich samych
  • Odpowiedz
@zobq: Przeczytałem, koleś pisze:

Thus, I would expect that these problems are roughly of "equal" difficulty, and my spot check would agree


Wział nowo dodane zadania o zblizonej trudności i ma pretensje że chat sobie z nimi nie radzi a ze starymi tak. To sa nowe problemy których chat nie widział. Jesli wezmiesz popularne zadanie
  • Odpowiedz
@JamesJoyce: No dokładnie, model potrafi rozwiazywac problemy podobne do tych które sa w zbiorze treningowym a nie zadania o podobnej trudności które są w zbiorze treningowym. To zasadnicza róznica
  • Odpowiedz
  • 1
@zibizz1: We wpisie autorzy pokazują właśnie, że ten model tego nie robi. Nie rozwiązuje problemów podobnych do tych ze zbioru treningowego, tylko te same. Jest w stanie nawet podać konkretną nazwę pytania z Codeforces. Można więc pomyśleć, że to bardziej skomplikowane select * from codeforces database where problem name = 'xyz', a nie np. jakis wysokopoziomowy pseudokod typu model.predict(problem solution)
  • Odpowiedz
@JamesJoyce: Moim zdaniem nie wynika to z tego że jest przetrenowany czy tez ze był trenowany na danych testowych tylko problem jest w zbyt małej ilości zadań danego typu. Są pewnie dość unikanlne i jest mało wariacji danego typu zdania, a może jest właśnie tylko jedno takie zadanie w datasecie. On jest niedotrenowancy z powodu zbyt małej ilości danych na dany temat.

Wymysiłem pewne zadanie, poradził sobie, przeformułowałem i nadal
  • Odpowiedz
  • 0
@zibizz1: Hipoteza autorów nie brzmi: GPT4 nie jest w stanie rozwiązać żadnego nowego problemu programistycznego, ani żadnego problemu problemu programistycznego, a raczej GPT-4 wskazuje zaskakująco wysoką (praktycznie 100 procentową) poprawność rozwiązywania problemów, które znajdują się w nizmienionej formie w danych treningowych i zaskakująco niską, w podobnych problemach, na podobnym poziomie trudności, których w zbiorze treningowym nie ma.

Ja nie stawiam, żadnej tezy, tzn. takiej, że model jest lub nie jest, albo będzie lub nie będzie w stanie zrobić x,y,z. Martwi mnie tylko to, że nauka została skomercjalizowana w tym aspekcie w taki sposób, że naukowcy (OpenAI) nie muszą podawać już żadnych informacji nt. modelu który stworzyli, ani tego jak dokładnie działa, a społeczność to przyjmuje na wiarę, "bo działa dobrze". Zgadzam się, działa super, ale jednocześnie takie podejście tworzy patologię, która sprawia, że nie wiemy co jest hypem, a co przełomem. Bo realnie nie wiemy nic. Te przykłady pokazują, jak bardzo kruche mogą być wyniki modelu, ale nie są dowodem, bo ponownie, nie wiemy na czym model był trenowany.

Troche zgadzam się z Piekniewskim, w poniższych
  • Odpowiedz
Wymysiłem pewne zadanie, poradził sobie, przeformułowałem i nadal sobie radzi. Także obalam przedstawiona przez autorów hipoteze


@zibizz1: nie wiem jak jeden przykład mógłby wystarczyć, żeby obalić twierdzenie, że dane testowe są zanieczyszczone danymi uczącymi.

Ja dla przykładu wziąłem takie zadanie z codeforces. Po przekopiowaniu treści z jedną zmianą (liczba liter ma być zapisana słownie, a nie za pomocą cyfr) ChatGPT (3.5) ciągle przedstawia wynik w poprzedniej formie. Bing podobnie,
  • Odpowiedz
@JamesJoyce:

Stworzyliśmy potwora nie do odtworzenia, nie pozwalamy go badać naukowo i sprzedajemy go tłumom zupełnie nieprzygotowanym na to i nieświadomym tego, jak może ich całkowicie oszukać w dowolnym momencie


Ale to to samo co FSD od Tesli. Nikt nie wie które elementy są zaprogramowane a które wytrenowane. Liczy się efekt końcowy, zeby skasować za ten efekt pieniądze i nikt nie będzie pozwalał ich badac naukowo, bo to produkt komercyjny
  • Odpowiedz
@zobq: Ale co tutaj maja dane testowe do rzeczy? Jaki wpływ dla uzytkownika końcowego modelu ma to że dane testowe są zanieczyszone danymi uczącymi? Żaden. To ma tylko znaczenie dla procesu trenowania i jego optymalziacji.

Zrobiłem to samo zadanie, napisałem pytanie zupełnie sam w diametralnie inny sposób, w innym jęsyzku z innymi przykładami i danymi, ale typ zadania jest dokładnie ten sam. I dosatłem w 100% poprawną odpowiedź

Zapisanie liczby
zibizz1 - @zobq: Ale co tutaj maja dane testowe do rzeczy? Jaki wpływ dla uzytkownika...

źródło: zadanie

Pobierz
  • Odpowiedz
Jaki wpływ dla uzytkownika końcowego modelu ma to że dane testowe są zanieczyszone danymi uczącymi? Żaden


@zibizz1: Oj sorry, ale przecież to co piszesz to takie bzdury, że szkoda mi marnować czas na dalszą dyskusję. Dane uczące i dane testujące to coś co w sporym stopniu definiuje jakość modelu. W skrajnych przypadkach może powodować, że zamiast prawdziwego uczenia maszynowego, mamy po prostu wielką bazę danych. Nie mówię, że tak źle
  • Odpowiedz
@zibizz1: Btw. popełniłeś błąd w tym teście, który wykonałeś. Najpierw poprosiłeś go o wersję x, a później tylko o zmodyfikowanie tej wersji. Spróbuj od razu go poprosić (w nowym czacie) o zmodyfikowaną wersję. Ja tak zrobiłem, a on próbuje wpisywać odpowiedź na wersję niezmodyfikowaną.
  • Odpowiedz
Stworzyliśmy potwora nie do odtworzenia, nie pozwalamy go badać naukowo i sprzedajemy go tłumom zupełnie nieprzygotowanym na to i nieświadomym tego, jak może ich całkowicie oszukać w dowolnym momencie


@JamesJoyce:

To jest mój największy problem z tym co się dzieje od początku roku w obrębie AI. To wszystko super zajebiście działa i jest imponujące, ale ludzie, którzy to udostępniają w ogóle nie zastanawiają się nad społecznymi następstwami tego, nasze prawo,
  • Odpowiedz
@zobq: No jasne że to definiuje jakość modelu ale to ma znaczenie tylko przy dokładnym określeniu jego jakości i przy ustalaniu porcesu trenowania, a nie przy jego używaniu. Czyli ze wersja X jest lepsza od Y, że jeden radzi sobie lepiej od drugiego itp. Trenując dokładnie w ten sam sposób dane testowe nie mają żadnego znaczenia bo nie sa używane do trenowania. A jakie znaczenie dla użtykownika ma to że
zibizz1 - @zobq: No jasne że to definiuje jakość modelu ale to ma znaczenie tylko prz...

źródło: zadanie

Pobierz
  • Odpowiedz
Trenując dokładnie w ten sam sposób dane testowe nie mają żadnego znaczenia bo nie sa używane do trenowania


@zibizz1: nie rozumiem tego zdania. Twierdzisz, że dane testowe nie mają znaczenia dla jakości odpowiedzi?

Dla użytkowników wazne jest jak ogólnie sobie radzi model a nie jak rozwiazuje problemy opublikowane na stronie xyz.com po danej dacie.

No i okazuje się, że użytkownik musi wiedzieć, które pytania i odpowiedzi były w danych uczących,
  • Odpowiedz
  • 0
@zibizz1: Myślę, że zbytnio spłacasz temat. Przykład kodu oprogramowania jest jedynie ilustracją głębszego problemu. O ile tworzenie oprogramownia opiera się w dużej mierze na korzystaniu z tego co jest dostępne w internecie bez podawania źródła i to jest ok, tak w innych obszarach już tak nie jest.

Popatrz na zawody, które się obawiają automatyzacji przez SI, zgodnie z clickbaitowymi artykułami, np. copywriterzy czy prawnicy. Kiedy prawnik twierdzi, że model napisał za niego wzór umowy, to jednak chciałby on, żeby to rzeczywiście była jakaś sklejka stworzona na podstawie podobnych dokumentów, a nie np. dokument wzięty bezpośrednio ze strony internetowej innej kancelarii. Tak samo jest z pisaniem każdego innego tekstu. Prosisz o wyjaśnienie czegoś, a wyjaśnienie okazuje się być bezpośrednim cytatem z czyjejś pracy, bez podania źródła, czyli kradzieżą.

Jednak dalej robi się jeszcze ciekawiej. Sam doświadczałem tego w pracy badawczej. Otóż jeśli wejdziesz w jakiś temat głębiej, chatgpt, także oparty na gpt4, poda ci nieistniejące artykuły naukowe, które ponoć dowodzą tezy którą podaje. Skądś jednak wzięły się dosłowne definicje naukowe, które wcześniej uzyskałeś. Skąd? No może właśnie z danych treningowych. Jest to jeden z aspektów tzw. halucynacji, ale w zakresie większym niż się o tym z reguły
  • Odpowiedz
@WaveCreator jedna z możliwości jest taka, że każda kolejna wersja modelu będzie trenowana na coraz bardziej syntetycznym tekście i wszystko w internecie będzie wyglądać podobnie. Pojawi się ocean bełkotu i dysinformacji. Mówi się, że Open Ai w najbliższych wyborach prezydenckich w USA będzie miało swój Cambridge analytica moment. Jedno jest pewne. Bez regulacji pójdziemy w stronę dystopii.
  • Odpowiedz