Bawię się w trenowanie małego modelu dyfuzji tekstu na poziomie znaków z 11M parametrów! To jest w trakcie realizacji, ale kod jest obecnie mocno zmodyfikowaną implementacją nanochat gpt (aby zmienić z dekodowania autoregresywnego na dyfuzję) i trenowany na zbiorze danych Tiny Shakespeare. Naivna implementacja harmonogramu maskowania polega na stosowaniu jednolitego prawdopodobieństwa maskowania dla każdego tokena w każdej iteracji. Nowsze podejścia maskują w blokach z lewej do prawej, co poprawia jakość wyjścia i pozwala na pewne ponowne użycie KVCache. Zdałem sobie sprawę, że można właściwie stosować maskowanie w dowolny sposób podczas procesu generacji. Poniżej możesz zobaczyć, że zastosowałem maskowanie na podstawie zasad Gry w Życie Conwaya. Zastanawiam się, czy istnieją jakieś nietypowe strategie maskowania, które przynoszą korzyści. Tak czy inaczej, to bardzo interesujący i hipnotyzujący sposób na zniekształcanie i deformowanie tekstu.