Open2

LLMs(Large Language Models)の勉強

tomonoritomonori

BitNet

BitNet

...

BitNet b1.58

arxiv:The Era of 1-bit LLMs:All Large Language Models are in 1.58 Bits

BitNet b1.58とは?

  • 1bitのLLM
  • パラメータの値が3つ(-1,0,1)
  • BitNetの構造がベース
    • BitNetとは?
      • 全結合層の代わりにビット全結合層を利用
      • ビット全結合層で値が2つ(-1,1)に量子化される
      • 1.58 bitの重みと8 bitの活性化で、最初から学習されている
    • BitNet b1.58とは?
      • 量子化関数にAbsmax Quantization Functionを採用

  • オープンソースモデルであるLLaMAをベースとしたモデル
  • RMSNormやSwiGLU、rotary embeddingを利用していて、全バイアスの削除をしている。
tomonoritomonori

位置埋め込み(PE:Positional Embedding)

入力トークンに位置情報を付与することで、時系列として扱えるようにする手法です。

絶対位置埋め込み(APE:Abosolute Positional Embedding)

文頭から順に位置ベクトルを割り当て、その一ベクトルを埋め込んだトークンに加算してTransformerへ入力します。

相対位置埋め込み(RPE:Relative Positional Embedding)

APEだと後半の文章の位置ベクトルが微小になってしまう課題がありました。RPEではあるトークンから見た相対的な距離で位置ベクトルを割り当てることでAPEの課題を解決しました。

回転位置埋め込み(RoPE:Rotary Positional Embeddings)

しかし、PREでは実装の複雑さや計算コストの高さが課題となっていました。RoPEはAPEとRPEの良いとこどりをした手法です。

参考文献

1.Rotary Positional Embeddings (RoPE) とは