Bardzo podoba mi się nowy artykuł DeepSeek-OCR. To dobry model OCR (może trochę gorszy niż dots), a tak, zbieranie danych itd., ale w każdym razie to nie ma znaczenia. Bardziej interesującą częścią dla mnie (szczególnie jako osoba z zamiłowaniem do wizji komputerowej, która tymczasowo udaje osobę zajmującą się językiem naturalnym) jest to, czy piksele są lepszymi wejściami do LLM niż tekst. Czy tokeny tekstowe są marnotrawne i po prostu okropne jako wejście. Może ma sens, że wszystkie wejścia do LLM powinny być tylko obrazami. Nawet jeśli przypadkiem masz czysty tekst jako wejście, może wolałbyś go renderować, a następnie wprowadzać: - większa kompresja informacji (zobacz artykuł) => krótsze okna kontekstowe, większa efektywność - znacznie bardziej ogólny strumień informacji => nie tylko tekst, ale np. pogrubiony tekst, kolorowy tekst, dowolne obrazy. - wejście może być teraz przetwarzane z łatwością i jako domyślne z dwukierunkową uwagą, a nie autoregresywną uwagą - znacznie potężniejsze. - usuń tokenizator (na wejściu)!! Już narzekałem, jak bardzo nie lubię tokenizatora. Tokenizatory są brzydkie, oddzielne, nie są etapem end-to-end. "Importują" całą brzydotę Unicode, kodowania bajtów, dziedziczą wiele historycznego bagażu, ryzyko bezpieczeństwa/łamania zabezpieczeń (np. bajty kontynuacji). Sprawiają, że dwa znaki, które wyglądają identycznie dla oka, wyglądają jako dwa zupełnie różne tokeny wewnętrznie w sieci. Uśmiechnięty emoji wygląda jak dziwny token, a nie... rzeczywiste uśmiechnięte oblicze, piksele i wszystko, co się z tym wiąże. Tokenizator musi odejść. OCR to tylko jedno z wielu użytecznych zadań wizji -> tekst. A zadania tekst -> tekst mogą być przekształcone w zadania wizji -> tekst. Nie odwrotnie. Więc wiele wiadomości od użytkownika to obrazy, ale dekoder (odpowiedź asystenta) pozostaje tekstem. O wiele mniej oczywiste jest, jak realistycznie wyjść z pikselami... lub czy byś chciał. Teraz muszę również walczyć z pokusą, aby zająć się wersją nanochatu tylko z wejściem obrazów...