かれこれ一ヶ月弱くらいBitNetと格闘している。BitNetは、Microsoftが発明したと主張している1-Bit(1.58ビットとも言われる)量子化ニューラルネットワークのことだ。 僕はその辺に落ちてるコードを使って最初の最初はlossが2くらいまで下がったのだが、そもそもLLMはlossが1を切らないと実用性がない。 それ以降は6とか良くて5とかなのでたまたま最初に試したのがうまく行ったようだ。 しかしいつまで経っても良くならないのでBitNetの性質を根本的に見直す必要があるのでは?と思い、初心に帰って論理回路を学習させようとした。 BitNetのコードベースははちさんのコードと、Microsoftの公式な論文の実装を併用した。 まず試したのはこのようなコード from bitnet import * import torch from torch import optim im