[2310.11453] BitNet: Scaling 1-bit Transformers for Large Language Models
 
概要
計算効率化の為に精度を落とす. この論文では BitNet というアーキテクチャを提案する. BitNet は Transformer の中の nn.Linear 部分を BitLinear に全て置き換える. この中では重みを全て 1bit にする.
精度と効率のトレードオフになってる.
BitLinear
  - 
    重み \(W\) を量子化する
    
      - \(W \in \mathbb{R}^{n \times m}\)
- 
        \(\tilde{W} = \mathrm{sign}(W - \beta)\)
        
          - sign は正なら \(+1\) , 0 以下なら \(-1\) に写す関数
- \(\beta\) は \(W\) の成分の平均
 
 
- 
    入力 \(x\) を absmax 量子化する
    
      - \(b\) bit 精度に落とす
- \(Q_b = 2^b - 1\) として \(x\) を区間 \([-Q_b, Q_b]\) に収める
- 
        \(\tilde{x} = x \times Q_b / \gamma\)
        
          - \(\gamma\) は \(x\) の成分の max
 
 
- 
    ReLU 活性化するなら次の通り
    
      - 
        \(\tilde{x} = (x - \eta) \times Q_b / \gamma\)
        
          - \(\eta\) は \(x\) の成分の min
 
 
- 
    dequantize する