SLM(Small Language Model)のサーベイ論文を読む

# はじめに

- 2023年後半からWebGPUの実用化とモデル軽量化の進展により、ブラウザ上でLLMを直接実行することも現実的になってきました。
- ブラウザ提供会社から[Gemini 1.0 Nano](https://deepmind.google/technologies/gemini/nano/)などのSLMも出始めています

- この分野どこまで進んでいる？いつから投資したら良いでしょうか？ 

自分の理解のために、サーベイ論文を読みます。

https://arxiv.org/html/2409.15790v1#S5

---

# 1. Introduction
- SLMとLLMの進化は2つの方向性に分かれている
     - LLM: データセンターでのAGI実現を目指す
     - SLM: デバイス上での効率的な展開を目指す
- SLMは実際の商用デバイスで広く使用されているが、学術的な研究は限定的である
- サーベイの範囲:
     - 59個のオープンソースSLMのレビューと技術革新の分析
     - 様々な領域での性能評価とベンチマーク
     - デバイス上での実行時コストの測定

# 2. アーキテクチャ、データセット、トレーニング

## 2.1 SLMの概要
- 100M-5BパラメータのデコーダーオンリーTransformerモデルを対象とする
- 2023年末以降、SLMモデルの数が急増している
- 選定基準:
     - デコーダーオンリーTransformerアーキテクチャ
     - オープンウェイトのモデル
     - 100M-5Bパラメータ範囲
     - 基本モデルのみを対象(指示調整モデルは除外)

## 2.2 モデルアーキテクチャ
- 主要な構成要素の傾向:
     - Group-Query Attention(GQA)の採用増加
     - Gated FFNの普及
     - SiLU活性化関数の主流化
     - RMSNormの採用増加
     - 50K以上の語彙サイズが一般的
- 革新的なアーキテクチャ手法:
     - パラメータ共有
     - レイヤー単位のパラメータスケーリング
     - 非線形性補償

## 2.3 トレーニングデータセット
- 高品質なデータセットの重要性が増している
     - DCLM-baselineとFineWeb-Eduが優れた性能を示す
     - モデルベースのフィルタリングが効果的
- 訓練トークン数の特徴:
     - 1.5T以上の大規模なトークンで訓練される傾向
     - Chinchillaの法則よりも多くのトークンで訓練される
     - 小規模モデルでも大量のトークンで訓練される例がある

## 2.4 トレーニングアルゴリズム
- 主要な手法:
     - Maximal Update Parameterization(μP)
     - Knowledge Distillation
     - Two Stage Pre-training Strategy

# 3. SLMの性能評価

## 3.1 評価データセットとメトリクス
- 3つの領域で12のデータセットを使用:
     - 常識的推論
     - 問題解決
     - 数学
- 評価指標は主に精度(accuracy)を使用

## 3.2 全体的な性能
- 2022-2024年の期間で大幅な性能向上:
     - 常識的推論: 10.4%向上
     - 問題解決: 13.5%向上
     - 数学: 13.5%向上
- PhiファミリーがLLaMA 3.1に匹敵する性能を示す
- オープンソースモデルと非公開モデルの性能差は縮小傾向

## 3.3 文脈内学習能力
- 5ショットでの文脈内学習で平均2.1%の性能向上
- タスクによって効果に差がある
- モデルサイズが大きいほど文脈内学習能力が向上する傾向

# 4. 実行時コスト

## 4.1 概要
- 推論レイテンシー:
     - プレフィル段階でアーキテクチャの影響が大きい
     - デコード段階ではモデルサイズに比例
- メモリ使用量:
     - モデルサイズに概ね比例
     - 語彙サイズの影響が大きい

## 4.2 量子化とハードウェアの影響
- 量子化の効果:
     - デコード段階で効果が大きい
     - 4ビット量子化が最も効率的
- ハードウェアの影響:
     - GPUはCPUより並列処理に優れる
     - 温度管理が性能安定性に影響

## 4.3 レイテンシーとメモリの内訳
- レイテンシー:
     - 行列-ベクトル乗算が70%以上を占める
- メモリ:
     - コンテキスト長が32,000以上でKVキャッシュが80%以上を占める

# 5. 結論と今後の方向性
- 重要な研究方向:
     - SLMアーキテクチャとデバイスプロセッサの共同設計
     - 高品質な合成データセットの構築
     - デプロイメントを考慮したモデルスケーリング
     - デバイス上での継続学習
     - デバイス-クラウド間の協調
     - 公平なベンチマーク手法の確立
     - スパースSLMの研究

---
# 用語まとめ

| カテゴリ | 用語 | 説明 |
|---------|------|------|
| アーキテクチャ | Decoder-only | エンコーダーを持たず、デコーダーのみで構成されるTransformerモデル |
| アーキテクチャ | FFN | Feed Forward Network (順伝播型ニューラルネットワーク) |
| アーキテクチャ | Gated FFN | ゲート機構を追加した順伝播型ニューラルネットワーク |
| アーキテクチャ | GQA | Group-Query Attention: クエリを共有するグループベースの注意機構 |
| アーキテクチャ | LayerNorm | レイヤー正規化: ニューラルネットワークの各層での入力を正規化する手法 |
| アーキテクチャ | LM head | Language Model Head: 言語モデルの出力層 |
| アーキテクチャ | MHA | Multi-Head Attention: 複数の注意機構を並列に用いる手法 |
| アーキテクチャ | RMSNorm | Root Mean Square Normalization: LayerNormの軽量版 |
| アーキテクチャ | SiLU | Sigmoid Linear Unit: 活性化関数の一種 |
| アーキテクチャ | Transformer | 自己注意機構を基本とする深層学習モデルアーキテクチャ |
| デバイス/ハードウェア | DVFS | Dynamic Voltage and Frequency Scaling: 動的電圧周波数制御 |
| デバイス/ハードウェア | GPU | Graphics Processing Unit: 並列計算に特化したプロセッサ |
| デバイス/ハードウェア | NPU | Neural Processing Unit: ニューラルネットワーク処理に特化したプロセッサ |
| 学習手法 | Chinchilla law | モデルサイズとトークン数の最適な比率を示す法則(20:1) |
| 学習手法 | Knowledge Distillation | 大規模モデルの知識を小規模モデルに転移する手法 |
| 学習手法 | μP | Maximal Update Parameterization: レイヤー幅に依存しない学習手法 |
| 推論/実行時 | KV Cache | Key-Value Cache: 注意機構の計算結果をキャッシュする仕組み |
| 推論/実行時 | Prefill | 入力文脈を初期処理する段階 |
| 推論/実行時 | Q4_K_M | 4ビット量子化の一種で、k-quantsを用いる手法 |
| モデル種別 | LLM | Large Language Model: 大規模言語モデル |
| モデル種別 | SLM | Small Language Model: 小規模言語モデル |
| 評価指標 | Zero-shot | 事前例示なしでのタスク実行能力 |
| 評価指標 | 5-shot | 5つの例示を用いたタスク実行能力 |