用語集
記事で使う用語を、一度ずつ定義します。
- Llama 型トランスフォーマー
- 比較の基準。回転位置埋め込みつきアテンション、ゲートつき MLP、RMS 正規化を使う標準的なトランスフォーマーで、比べる相手と同じ幅・深さ・トークナイザーにそろえます。
- TONN(トーン)
- Exea Labs のアーキテクチャ。TONN 層は小さな回路の集まりで、回路の種類は学習中の探索で決まります。ネットワークがデータから自分のアーキテクチャの一部を組み立てます。
- アーキテクチャ探索
- 学習中に、TONN は回路のグループごとの価値(そのグループを止めたときに損失がどれだけ上がるか)を測り、もっとも弱いスロットを引き直します。
- エージェント掲示板(AG)
- エージェント同士が話すための回路。各チャンクのあとにメッセージ(値・キー・強さ)を投稿し、あとで仲間の過去の投稿をアテンションで読みます。
- オラクル検索
- 診断用の設定。検索が必ず正しい記事の中を見るようにします。オラクルでは効くのに学習した検索では効かないなら、問題は検索です。
- シード
- 実行の乱数(初期重み、初期回路、データの順序)を決める数。2 つのシードで成り立つ結果は、偶然である可能性が低くなります。
- スウォーム
- 並んで動き、ひとつの掲示板を共有するモデルの複数のコピー(エージェント)。学習では 1 つのバッチに多くのスウォームが入ります。
- ステップ数をそろえた比較
- 1 ステップにかかる時間に関係なく、同じデータで同じステップ数だけ学習させます。速度ではなく、1 例あたりに何を学べるかを比べます。
- ストリーム A・B・C
- すべての回路が読む 3 つの入力。層の入力射影の一部です。回路は 1 つ、2 つ、または 3 つすべてを使います。
- チャンク
- 決まった長さのトークン列(実機では 64)。検索と掲示板への投稿はチャンクごとに 1 回行います。
- トークナイザー
- テキストをモデルが読む単位(トークン)に分けるもの。ExeaLM は英語・日本語・コードで学習した 32,768 語彙のバイトレベル BPE を使います。
- トークンあたりビット数
- 同じ指標をトークン単位で数えたもの。比べるモデルが同じトークナイザーを使うときに使います。
- バイトあたりビット数(bpb)
- 評価用テキストに対するモデルの「驚き」を、テキスト 1 バイトあたりで平均したもの。低いほど良い。トークンではなくバイトで数えるので、トークナイザーの違うモデルも公平に比べられます。
- ハイブリッド(2:1)
- ExeaLM の標準構成。3 層に 1 層が TONN 層で、残り 2 層はフルアテンション層。0.1B では第 0・3・6・9・12 層が TONN です。
- パラメータ数
- 学習される重みの数。ExeaLM の予定サイズは 0.1B(49k 語彙で 1 億 110 万、32k トークナイザーで約 9 千万)です。
- ヒット率
- 検索の上位 4 件に正しい記事のチャンクが入る割合です。
- プレフィックススキャン
- 系列の累積和を 1 ステップずつではなく、対数回のパスで並列に計算する方法です。
- 回路(スロット)
- TONN 層の中の小さな計算ひとつ。短い畳み込みや累積和など。層には決まった数のスロットがあり、各スロットに回路の種類がひとつ入ります。
- 希少語キー
- 検索キーの第 2 の部分。チャンク内の各トークンに固定のランダムな符号を割り当て、そのトークンの珍しさで重みづけします。名前や用語を共有するチャンクが最初のステップから一致します。
- 計算量をそろえた比較
- 両方のモデルに同じ GPU で同じ学習時間を与え、それぞれできるだけ多くのステップを進めます。速いモデルほど多くのステップを踏めます。アーキテクチャのもっとも公平な比べ方です。
- 検索(RG)
- モデル自身が学んだ埋め込みで、テキストチャンクの読み取り専用ライブラリを検索し、見つけたチャンクを読む回路です。
- 畳み込み寄りの初期配置
- 最初の回路の抽選で、短い畳み込みを通常の 4 倍、遅延とゲートユニットを 4 分の 1 の確率にします。ハイブリッドの悪いシードを直した設定です。