隠れマルコフモデルについて

隠れマルコフモデル

系列データに対して、次数をもつマルコフ性の仮定に制限されず、なおかつ自由パラメータの数が制限されたモデルを作ることを考える。これは潜在変数を導入することで、実現される。図のようにマルコフ連鎖を構成するのが潜在変数であると仮定することで状態空間モデルと呼ばれるグラフ構造が得られる。

このモデルの同時分布は以下で与えられる。

もし潜在変数が離散変数である場合、このモデルを隠れマルコフモデルと呼ぶ。

潜在変数は過去の情報を「要約」しており、その情報を元にして次の状態の遷移や予測が行われるため、予測はすべての過去の観測値に依存する。例えば、天気の例で例えると、気象状態(高気圧、低気圧など)が潜在変数といえる。直接的な観測データ(例:連続する晴れの日)から、間接的に、隠れ状態(高気圧)の遷移パターンを推定し、その情報を元に明日の天気を予測する。

ここで潜在変数$z$は1対K符号化法(高気圧、低気圧の状態がある場合、高気圧[1,0] 低気圧[0,1]と表す方法)によるK次元の2値変数で表すことにする。時刻nにおける潜在変数$z_n$の状態は、その1つ前の時刻の状態$z_{n-1}$に依存する。この状態の遷移を表す条件付き分布は遷移確率(transition probability)行列$A$で表される。

時刻$n-1$で$j$の状態から、時刻$n$で$k$の状態になる遷移確率は$A_{jk}\equiv p(z_{n,k}=1|z_{n-1,j}=1)$で定義される。遷移確率行列Aは$K×K$の行列となるが、$\sum_k A_{jk}=1$なので、パラメータの数は$K(K-1)$となる。

遷移確率行列を用いて、条件付き分布は以下の形でかける。

$$ p(z_n | z_{n-1}, A) = \prod_{k=1}^{K} \prod_{j=1}^{K} A_{jk}^{z_{n-1,j},z_{n,k}} $$

最初の潜在ノード$z_1$は、その前の時刻を持たないので、その分布は初期状態分布$\pi$によって与えらえる。

$$ p(z_1 | \pi) = \prod_{k=1}^{K} \pi_k^{z_{1k}} $$

πの要素の合計は1である。 K=3の時の状態遷移を表す図は以下のようになる。 確率モデルを指定するため、観測変数の条件付き確率分布$p(x_n|z_n, \phi)$を定義する。ここで$\phi$は分布を支配するパラメータの集合となり、出力確率(emission probability)と呼ばれる。出力確率は以下の形式で表される。

$$ p(x_n | z_n, \phi) = \sum_{k=1}^{K} p(x_n | \phi_k) z_{nk} $$

このとき潜在変数を支配するすべての条件付き分布が同じ遷移確率行列Aを共有し、すべての出力分布が同一のパラメータ\phiを共有しているとする、均一なモデルを考えると、潜在変数と観測変数の同時分布は以下のようになる。 HMMの目的は観測結果$ X=x_1,\ldots,x_N$から未知のパラメータ$\theta={ϕ,A,π}$を最適化することであり、尤度関数は同時分布の式を潜在変数について周辺化することで得られる。 $$ p\left(X\middle|\theta\right)=\sum_{Z}{p\left(X,Z\middle|\theta\right)} $$ この尤度関数の最大化にはEMアルゴリズムを用いることになる。それについては今後記事を作成予定。

前の記事 マルコフモデルについて

図面は以下から引用  https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf

マルコフモデルについて

マルコフモデル

時系列${x_1, \ldots, x_n}$のような系列データを最も簡単に扱う方法は、系列であるという性質を無視してそれぞれ観測値が独立同分布に従うものとして扱うことである(下図)。しかし、この方法は、データの順序に関係するパターンを捉えることができない。

例えば、明日、雨が降るかを知りたい場合、これまでに1000日間の観測データがあり、うち100日雨が降っていたとする。これら観測データが独立同分布に従うとすると、100/1000 、つまりは1/10という頻度が明日の雨の降る確率として予測されるだろう。しかし、実際には雨は連続して降ることが多く、今日、雨が降ったかどうかを知ることは、明日、雨が降るか予測するために役立つ。

このようなことを確率モデルで表現するための方法としてマルコフモデル(Markov model)が考えられる。N個の観測系列の同時分布は以下の形で表現できる

$$ \begin{split} p(x_1, \ldots, x_N) = & p(x_1) p(x_2|x_1)p(x_3|x_1,x_2)…p(x_n | x_1, \ldots, x_{n-1})\\=&p(x_1)\prod_{n=2}^{N} p(x_n | x_1, \ldots, x_{n-1}) \end{split} $$

ここで、$ p(x_n | x_1, \ldots, x_{n-1})$ はある観測値 $x_n$は$x_1, \ldots, x_{n-1}$によって条件付けられていることを表す。

明日の天気を予測する際に、今日の天気の情報のみが影響する場合、つまり最も近い観測値以外のすべての過去の観測値が独立し、予測に影響を与えないとすると。N個の観測系列の同時分布は以下のようになる。

$$ \begin{split} p(x_1, \ldots, x_N) =& p(x_1) p(x_2|x_1)p(x_3|x_2)…p(x_n | x_{n-1})\\=& p(x_1)\prod_{n=2}^{N} p(x_n |x_{n-1}) \end{split} $$

この場合、ある観測値$x_n$は$x_{n-1}$にのみ条件づけられており、以下のようなグラフィカルモデルで図示される。

ほとんどのマルコフモデルの応用において$p(x_n |x_{n-1})$がみな同一であるという制約が課されている。たとえば、今日が雨の場合、明日の雨の確率が10%上がるといった条件があるとするが、これが1年を通してずっと成り立つと仮定しているということだ。こうしたモデルを均一マルコフ連鎖(homogeneous Markov chain)と呼ぶ。 実際は、梅雨の時期の方が今日の天気が明日の天気に与える影響が大きいのかもしれず、条件付き確率は同一ではないかもしれないが、ひとまず均一マルコフ連鎖を仮定するモデルが多い。

より過去の情報を予測に利用する例として、昨日、今日と2日分の情報を明日の天気の予測に用いるとする。この場合、N個の観測系列の同時分布は以下のようになる。

$$ \begin{split} p(x_1, \ldots, x_N) =& p(x_1) p(x_2|x_1)p(x_3|x_2, x_1)…p(x_n | x_{n-1}, x_{n-2})\\=& p(x_1)p(x_2|x_1)\prod_{n=3}^{N} p(x_n |x_{n-1}, x_{n-2}) \end{split} $$

このモデルを2次マルコフ連鎖と呼び、グラフィカルモデルは以下のように図示される。

同様にM日分の天気情報を予測に用いることができ、M次のマルコフ連鎖に拡張することができる。過去の情報を多く取り入れることで、予測精度を向上させる可能性があるが、一方でモデルのパラメータ数が指数的に増大し、モデルが複雑になりすぎる可能性がある。

図面は以下から引用  https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf

次の記事 隠れマルコフモデルについて

論文要約:BitNet: Scaling 1-bit Transformers for Large Language Models

BitNet: Scaling 1-bit Transformers forLarge Language Models

Hongyu Wang†‡ Shuming Ma† Li Dong† Shaohan Huang† Huaijie Wang§ Lingxiao Ma† Fan Yang† Ruiping Wang‡ Yi Wu§ Furu Wei†⋄

Microsoft Research ‡ University of Chinese Academy of Sciences § Tsinghua University arxiv.org

Abstract

  • 目的:大規模言語モデルの展開における課題と、高エネルギー消費による環境への影響に対処するため、スケーラブルで安定した1ビットTransformerアーキテクチャであるBitNetを導入すること。

  • 手法:nn.Linear層の代わりにBitLinearを導入し、1ビット重みをゼロから訓練することで、大規模言語モデル用に設計されたBitNetを開発。
  • 結果:言語モデリングにおける実験結果から、BitNetは競争力のある性能を達成し、最先端の8ビット量子化方法およびFP16 Transformerベースラインと比較して、メモリフットプリントとエネルギー消費を大幅に削減することが示された。さらに、BitNetはフルプレシジョンTransformerと同様のスケーリング法則を示し、効率性と性能の利点を維持しながら、さらに大きな言語モデルへの有効なスケーリングの可能性を示唆している。

    Introduction

    • 大規模言語モデル(LLM)の急速な成長は、さまざまなタスクで顕著な改善をもたらしているが、高い推論コストとエネルギー消費により、これらのモデルをホストすることは費用がかかる。
    • モデルのサイズが大きくなるにつれて、モデルパラメータへのアクセスと処理に必要なメモリ帯域幅が主要なボトルネックとなり、全体的な推論性能を制限している。
    • 分散システムやマルチデバイスプラットフォーム上でこれらのモデルを展開する際、デバイス間通信のオーバーヘッドが推論の遅延とエネルギー消費に大きな影響を与えている。
    • モデル量子化は、大規模モデルのメモリフットプリントと計算コストを大幅に削減しながら、競争力のある性能を維持できる有望な解決策である。
    • 既存の量子化アプローチの多くは、トレーニング後に適用可能なため、簡単に使用できる。しかし、モデルは量子化表現で訓練中、最適化されていないため、精度が低下しやすい。一方で、量子化認識トレーニング(quantization-aware training)は、初期段階から量子化を考慮してモデルをトレーニングするため、より良い精度を実現しやすい。
    • 本研究は、1ビット大規模言語モデル量子化認識トレーニングを調査する最初の作業である。BitNetという1ビットTransformerアーキテクチャを提案し、メモリと計算の両方の面で効率的にスケールすることを目指している。
    • BitNetは、低精度のバイナリ重みと量子化されたアクティベーションを使用しながら、トレーニング中に最適化器の状態と勾配には高精度を維持する。
    • BitNetの実装は単純であり、Transformer内の線形射影(PyTorchのnn.Linearなど)の置換のみを要求する。また、PagedAttention、FlashAttention、推測デコーディングなど、他の大規模言語モデルの加速方法と補完しあう。
    • 言語モデリングベンチマークにおいてBitNetを評価し、最先端の量子化方法およびFP16 Transformerと比較した。実験結果は、BitNetがパープレキシティと下流タスクの精度の両方で競争力のある性能を達成し、メモリフットプリントとエネルギー消費をベースラインと比較して大幅に削減することを示している。

    BitNet

    • BitNetは、セルフアテンションとフィードフォワードネットワークのブロックを積み重ねる、Transformerと同じレイアウトを使用している。従来の行列乗算の代わりに、1ビットモデル重みを使用するBitLinearを採用している。
    • その他のコンポーネントは以下の理由から量子化せずに高精度(例:8ビット)を維持している。
      • 残差接続とレイヤー正規化は、大規模言語モデルにおける計算コストが小さく無視できる
      • QKV(query, key, value)の変換コストは、モデルが大きくなるにつれ、行列乗算部に比べ小さくなるため。
      • 入出力のエンベディングには、言語モデルが高精度の確率を使用してサンプリングを行う必要があるため、精度を保持する必要がある。

    BitLinear

    • 重みを符号関数を用いて+1または−1に二値化し、二値化前に重みをゼロ平均にすることで、限られた数値範囲内での容量を増加させる。二値化後には、実数値と二値化された重み間の$l2$エラーを減らすためにスケーリング係数$β$を使用する。重み$W \in \mathbb{R}^{n \times m}$の二値化は以下のように定式化される。

    ここで

    $$ x_e = \text{Quant}(x) = \text{Clip}\left(\frac{x \times Q_b}{\gamma}, -Q_b + \epsilon, Q_b - \epsilon\right), \quad $$

    ここで$\epsilon$ははクリッピングを実行する際にオーバーフローを防ぐための小さな浮動小数点数

    • 非線形関数(例:ReLU)の前のアクティベーションについては、入力の最小値を引くことで範囲$[0, Q_b]$にスケールし、すべての値を非負にする。

    $$ y=\tilde{W}\tilde{x} $$

    (~は,チルダ(tilde)真値にほぼ等しい)

    ここで、$W$と$x$の要素は互いに独立であり、同じ分布を共有していると仮定する。その後、出力$y$の分散は以下のように推定される:

    $$ \text{Var}(y) = n\text{Var}(\tilde{w}\tilde{x}) $$

    $$ = n\mathbb{E}[\tilde{w}^2]\mathbb{E}[\tilde{x}^2] \quad $$

    • フルプレシジョン(全精度)計算では、Kaiming初期化やXavier初期化などの標準的な初期化方法を使用することで、出力の分散Var(y)が1のスケールに保ち、トレーニングを安定させる。
    • 量子化による精度の低下を防ぎ、出力の分散を維持するために、活性化量子化の前にLayerNorm(レイヤー正規化)関数を導入する。これにより、出力$y$の分散はと推定され、これはフルプレシジョンの出力の分散$Var(y)$と同じ大きさになります。
    • Transformerモデルの文脈では、このプロセスはSubLN(サブレイヤー正規化)として実装されている。これは、BitLinearの導入により、1ビット重みと量子化されたアクティベーション間の行列乗算を可能にします。
    • BitLinearは、SubLNおよび量子化方法を用いて次のように定式化される

    $$ y = \tilde{W}\tilde{f} = \tilde{W}Quant(LN(x)) × \frac{βγ}{ Q_b} $$

    ここで、$β$はスケーリング係数、$γ$は正規化のスケール、は$Q_b$量子化のビット数を表す。SubLN操作後、活性化はabsmax関数で量子化され、1ビット重みと量子化された活性化間で行列乗算が実行されます。出力活性化は${β, γ}$で再スケールされ、元の精度に逆量子化される。

    Model parallelism with Group Quantization and Normalization

    • 大規模言語モデルのスケールアップにはモデル並列性が重要であり、これは複数のデバイス上での行列乗算を分割する技術である。ただし、全てのパラメータα、β、γ、ηはテンソル全体から計算され、これが独立性の前提を破る。

    • 一つの解決策として、各パラメータに対してall-reduce操作を導入することが考えられるが、モデルが深くなるにつれて通信の量が増加し、処理が遅くなる。

    • この問題を解決するために、重みとアクティベーションをグループに分割し、各グループのパラメータを独立して推定することで、追加の通信なしにパラメータをローカルで計算できる新しいアプローチを提案する。この手法はグループ量子化と呼ばれる。

    • 具体的には、重み行列 $W \in \mathbb{R}^{n \times m}$をパーティション次元に沿って G グループに分割し、各グループが のサイズを持つようにする。次に、各グループのパラメータを独立して推定する:

    ここで、$W^{(g)}$ は重み行列の g 番目のグループを表す。同様に、入力行列 $x\in \mathbb{R}^{n \times m}$ を G グループに分割し、各グループのパラメータを計算する:

    • LN(Layer Normalization)については、グループ正規化技術を適用して、各グループの平均と分散を独立に計算できる。

    $$ \text{LN}(x^{(g)}) = \frac{x^{(g)} - \mathbb{E}(x^{(g)})}{\sqrt{\text{Var}(x^{(g)}) + \epsilon}} $$

    • この方法により、追加の通信を必要とせずに、より効率的なモデル並列性が実現される。

    Model Training

    Straight-through estimator

    Mixed precision training

    • 重みと活性化は低精度に量子化されるが、勾配とオプティマイザの状態はトレーニングの安定性と精度を保証するために高精度のまま保存される。学習可能なパラメータのために、高精度フォーマットの潜在重みを保持し、パラメータ更新を蓄積する。潜在重みはフォワードパス中に二値化され、推論プロセスには使用されない。

    Large learning rate

    • 最適化の課題の一つは、潜在重みの小さな更新が1ビット重みにほとんど違いを生じさせないことである。これはバイアスのかかった勾配と更新を生じさせ、特にトレーニングの初期段階で問題となる。この課題に対処するため、学習率を増加させることが最適化を加速する最も単純で最良の方法であることを発見した。BitNetは大きな学習率から収束において利益を得るが、同じ学習率でFP16 Transformerはトレーニングの開始時に発散する。

    Computational Efficiency

    • BitNetの計算効率は、算術演算のエネルギーとメモリフットプリントの両方の観点で評価される。
    • [Hor14, ZZL22]におけるエネルギーモデルによれば、異なる算術演算のエネルギー消費は以下のように推定される。

    バニラTransformerにおけるエネルギー消費

    $m×n$ と$n×p$ の次元を持つ行列乗算では、エネルギー消費は加算と乗算で次のように計算される

    BitNetにおけるエネルギー消費

    BitNetでは、1ビットの重みを使用するため、行列乗算のエネルギー消費は加算操作によって支配される。乗算操作は出力をスケーラー$β$と$γ/Q_b$ でスケーリングするためにのみ適用されるため、乗算のエネルギー消費は E${\text{mul}} = (m \times p + m \times n) \times \hat{E}_{\text{mul}}$として計算でき、これはTransformerに比べて著しく小さい。

    Comparison with FP16 Transformers

    Setup

    • BitNetを用いた様々なスケールの自己回帰言語モデルを125Mから30Bの範囲でトレーニングする。モデルはPileデータセット、Common Crawlスナップショット、RealNews、CC-Storiesデータセットから構成される英語コーパス上でトレーニングされる。データの前処理にはSentencpieceトークナイザーを使用し、語彙サイズは16Kである。BitNetに加えて、公平な比較のために同じデータセットと設定でTransformerベースラインもトレーニングする。

    Inference-Optimal Scaling Law

    • ニューラル言語モデルはバニラTransformerアーキテクチャで予測可能にスケールすることが証明されており、損失はトレーニングに使用される計算量のべき乗則に従ってスケールする。これにより、計算予算の最適な割り当てを決定し、小さいモデルから大規模言語モデルの性能を予測できる。
    • バイナライズドTransformerのスケーリング法則を調査するため、BitNetとFP16 Transformerベースラインのパラメータカウントに対するスケーリング曲線をプロットする。BitNetの損失スケーリングはFP16 Transformerに似ており、べき乗則($L(N) = aNb + c$)に従う(下図で、125Mから6.7Bのモデル結果でべき乗則をフィッティングをしたが13Bおよび30B、の。また、BitNetとFP16 Transformer間のギャップはモデルサイズが大きくなるにつれて小さくなる。

    • Inference-Optimal Scaling Lawを導入し、エネルギー消費に対する損失を予測する。これはモデルの使用量に応じてスケールする推論エネルギーコストに焦点を当て、トレーニングコストよりも効率的なスケーリングを提供する。BitNetは固定された計算予算で顕著に良い損失を達成し、FP16モデルと同じ性能を得るための推論コストは大幅に小さい。

    Results on Downstream Tasks

    • BitNetのスケーリングに伴う能力についても、損失と同様に関心がある。Hellaswag、Winogrande、Winograd、Storyclozeを含む4つの下流タスクで、0ショットと4ショットの結果をテストし、解釈可能な指標でスケーリングに伴う能力を評価する(下図)。BitNetとFP16 Transformerの平均結果を報告し、計算予算が増えるにつれて下流タスクの性能もスケールすることが示される。

    • 低ビットTransformerのトレーニングにおける主要な課題は最適化の安定性であるため、BitNetとFP16ベースラインの安定性テストを、異なるピーク学習率でのモデルシリーズのトレーニングによって行う。BitNetは大きな学習率で収束できるが、FP16 Transformerはできないことが示され(下図)、BitNetのトレーニング安定性がより優れていることを示している。

    <

    • BitNetは学習率の増加から恩恵を受け、PPL(perplexity)の観点でより良い収束を達成できることが示される。

    Comparison with Post-training Quantization

    • BitNetをAbsmax、SmoothQuant、GPTQ、QuIPを含む最先端の量子化方法と比較する。これらの方法はFP16 Transformerモデル上でのトレーニング後量子化であり、BitNetと同じトレーニング設定およびデータに従う。AbsmaxとSmoothQuantは重みとアクティベーションの両方を量子化し、GPTQとQuIPは重みの精度のみを下げる。
    • 重みのみの量子化(GPTQとQuIP)については、W4A16とW2A16で実験を行い、重みとアクティベーション量子化(AbsmaxとSmoothQuant)には、FP16 TransformerをW8A8、W4A4、W1A8に量子化する。BitNetの実装はバイナリ重み8ビットアクティベーション(W1A8)であり、ベースラインよりも低いか同等のビット数である。
    • Winogrande、Winograd、Storycloze、Hellaswagの4つのベンチマークデータセットにおける様々なベースラインアプローチに対するBitNetの提案方法のゼロショット性能の詳細な比較分析を提示する。

    • 公平な比較のために、すべてのモデルは6.7Bのモデルサイズを持ち、16から1に至るまでのいくつかの重みビットレベルで評価される。評価指標には、下流タスクのゼロショット精度に加えて、各方法の性能を包括的に理解するための検証セット上の言語モデルパープレキシティが含まれる。
    • BitNetは、特に低ビットレベルで、ベースラインアプローチと比較して近い性能レベルを達成している。BitNetのゼロショットスコアは8ビットモデルに匹敵するが、推論コストははるかに低い。
    • 4ビットモデルにおいては、重みのみを量子化する方法が重みとアクティベーション量子化器よりも性能が良い。これは、アクティベーション量子化することがより困難であるためである。1ビットモデルであるBitNetは、重みとアクティベーション量子化方法および重みのみの方法よりも著しく優れた結果を達成している。
    • 低ビットモデルに関して、BitNetはすべてのベースラインに対して一貫して優れたスコアを持っている。これは、トレーニング後の量子化方法よりも量子化認識トレーニングアプローチの利点を証明している。1.3Bから6.7Bまでモデルサイズをスケールアップする際の、私たちの方法とベースラインのゼロショット精度とフューショット精度の両方を要約する図6は、この利点が異なるスケールで一貫していることを証明している。

    Ablation Studies

    • 以下にBitNetのアブレーションスタディをいくつかの代替アプローチとの比較結果を示し、活性化量子化アプローチの選択とモデルトレーニングの安定化技術の効果を検証する。

    • BitNetは活性化の量子化にabsmaxを使用し、トレーニングの安定性のためにSubLNを使用する。量子化の代替案として、学習可能なパラメータでスケールを動的に調整するelastic関数がある。実験では、absmaxがelastic関数よりも優れた性能を示すことがわかる。
    • さらに、absmax関数はより安定したトレーニングをもたらし、BitNetに対してより大きな学習率を可能にする。SubLNをPre-LNおよびBMTアーキテクチャと比較する。Pre-LNはGPTのデフォルトアーキテクチャであり、BMTはバイナライズドモデルの安定性を改善することが証明されている。実験では、SubLNがPre-LNとBMTの両方を上回ることを示す。したがって、BitNetの実装にはabsmaxとSubLNを選択する。

    Conclusion and Future Work

    • BitNet、大規模言語モデル用の新しい1ビットTransformerアーキテクチャを紹介した。このアプローチは、大規模言語モデルを効率的に扱うことができるスケーラブルで安定した設計を目指している。
    • 実験結果は、BitNetがパープレキシティと下流タスクのパフォーマンスの両方において競争力のある性能を達成し、ベースラインと比較してメモリフットプリントとエネルギー消費を大幅に削減することを示している。さらに、BitNetはフルプレシジョントランスフォーマーと同様のスケーリング法則に従い、パフォーマンスと効率の面で潜在的な利点を持ってさらに大きな言語モデルに効果的にスケールアップできることを示している。
    • 将来的には、モデルサイズとトレーニングステップの面でBitNetをスケールアップすることを目指している。また、大規模言語モデルのトレーニングにおいてBitNetを他のアーキテクチャ(例:RetNet)に適用することにも関心がある。

    この論文の発展版1.58bitの要約はこちら reseachpaper-matome.hatenablog.com

論文要約:GPT Takes the Bar Exam

GPT Takes the Bar Exam 

Michael Bommarito IIDaniel Martin Katz 2022

arxiv.org

ライセンス

CC BY 4.0 Deed | Attribution 4.0 International | Creative Commons

 

Abstract

  • 研究の目的
    • アメリカ合衆国の法曹資格試験(バー試験)の多肢選択式セクション(MBE)におけるOpenAIのtext-davinci-003モデル(GPT-3.5とも呼ばれる)の性能を実験的に評価すること。
  • 手法
    • GPT-3.5のゼロショット性能に対して、ハイパーパラメータの最適化とプロンプトエンジニアリングを適用し、その影響を評価。また、MBEの完全な練習試験における正解率と、エビデンスおよびトーツの科目での合格率を測定。
  • 結果
    • GPT-3.5は、ベストプロンプトとパラメーターを用いた場合、MBE練習試験での正解率が50.3%に達し、25%の基準推測率を大幅に上回り、エビデンスとトーツの両方で合格率を達成した。また、GPT-3.5の選択肢のランキングは正解と高い相関を示し、上位2つおよび上位3つの選択肢がそれぞれ71%、88%の割合で正解であることを示した。
  • 結論
    • GPT-3.5のMBEセクションにおける性能は、LLMが近い将来バー試験のMBE部分に合格する可能性が高いことを強く示唆している。ただし、LLMとGPTの新しい科学的理解と所有権の性質により、これらの結果の解釈は限定されている。

Introduction

法律システムの複雑さについて
  • 法律システムの複雑さが増しており、社会が求める法的サービスの量、質、アクセシビリティの向上のために技術の支援が必要となっている。
  • 人工知能やプロセスエンジニアリングは、法律システムの非専門家および専門家の両方に対して数十年にわたり支援してきた。
  • しかしながら法的言語の複雑さと法的知識の広大さが、法的な問題のニュアンスを理解するシステムの開発を困難にしてきた。
  • 法律は言語の使用に大きく依存しており、法的文書は非常に大量に生成されている。法的言語は複雑であり、法律専門家はこの言語を理解し生成するためにほぼ10年間の教育と専門的トレーニングを受けている。
  • 法的言語の複雑さは、特に高度に規範化された慣習と厳密に正確なフレーズによるものであり、通常の言語とは大きく異なる。
機械学習による言語モデルの発展
  • 近年、自然言語処理と計算の進歩により、機械学習技術のパフォーマンスが大幅に向上している。
  • トランスフォーマーアーキテクチャの導入は、特にテキストや画像のモダリティにおいて革命をもたらし、成功している。
  • OpenAIのGPTモデルは、特に有名でアクセスしやすい大規模言語モデル(LLM)であり、GPT-3は1750億のパラメーターを持つ自己回帰言語モデルである。
  • OpenAIのモデルへのアクセスは、商業的および倫理的理由から、OpenAIのAPIを通じてのみ提供されており、テキスト完了、コード完了、画像生成、埋め込み生成のエンドポイントを提供している。
  • GPT-3.5やChatGPTはゼロショットやフューショットのタスクにおいてこれまでにない性能を示しているが、ドメイン固有のモデルではなく、Multistate Bar Examination (MBE)のような法的試験において最先端のLLMが成功するかは未解明ある。

DATA

  • MBEの質問は、法的知識と読解力の両方を試すように設計されており、英語の上級レベルの意味論的および統語論的理解を要求する。
  • MBEの質問は直接的な法的問題を出すのではなく、テスト受験者に架空の状況を提示し、詳細に飾り付けられた事実の記述を提供する。これらの詳細の中には重要なものもあれば、読者を惑わせるためだけに追加されたものもある。
  • 以下は公開されているサンプル質問であり、列車によって車が衝突した事故に関して、交差点近くに15年間住んでいた住民の証言の許容性について問われている。

Question: A man sued a railroad for personal injuries suffered when his
car was struck by a train at an unguarded crossing. A major issue is
whether the train sounded its whistle before arriving at the crossing.
The railroad has offered the testimony of a resident who has lived near
the crossing for 15 years. Although she was not present on the occasion
in question, she will testify that, whenever she is home, the train always
sounds its whistle before arriving at the crossing.
Is the resident’s testimony admissible?
(A) No, due to the resident’s lack of personal knowledge regarding the
incident in question.
(B) No, because habit evidence is limited to the conduct of persons,
not businesses.
(C) Yes, as evidence of a routine practice.
(D) Yes, as a summary of her present sense impressions. 

  • Bar試験のMBE部分は、上記のサンプルのような約200の質問から構成される。実際の試験では、8つのカテゴリから25の質問が出され、そのうち7つは特定の法律分野に対応し、1つはテスト設計の実験用である。
  • 一部の質問は、州の法曹会やNCBEによって最終スコアから除外される場合があり、個々の州の法曹会とNCBEは、州内外の受験者のパフォーマンスを評価し、一部の質問を削除し、生のスコアを調整して管轄区域間の一貫性を維持する。
  • NCBEは試験設計と準備の一環として、試験のパフォーマンスに関する統計情報も維持しており、平均的な学生が4問中1問以上を誤答する難易度が表から明らかである。

  • この研究のために、MBE部分の標準的な試験準備資料をNCBEから購入し、練習問題と模擬試験を含む。これらの資料は再配布できないが、本論文の結果を再現したい研究者は、NCBEのオンラインストアから約300USDでこれらのデータを購入できる。

Methods

  • 実験評価では、text-davinci-003テキスト完了APIに対してゼロショットプロンプトを使用した。このセクションでは、プロンプトの設計、反復、関連するAPIハイパーパラメータ、およびモードのファインチューニングの試みについて詳述する。
Prompt Engineering and Responses 
  • プロンプトエンジニアリングとは、LLMが提供されるプロンプトに非常に敏感であるため、そのようなプロンプトを作成する「技術」を指す。この研究では、プロンプトエンジニアリングに大きく取り組んだ。
  • テストされたプロンプトタイプには、次のものがある:
    • 1. 単一選択のみ
    • 2. 単一選択とその理由の説明
    • 3. 上位2つの選択のみ
    • 4. 上位2つの選択とその理由の説明
    • 5. 上位2つの選択と再プロンプト
    • 6. すべての選択肢の順位付け
    • 7. 上位3つの選択肢の順位付け
  • これらのプロンプト間で結果に大きな違いは概ね見られなかったが、以下のように上位3つの選択を順位付けする最後のプロンプト戦略のみが、モデルの正確性を大幅に向上させた。

  • GPT-3.5のヘッド層に直接洞察がないため、なぜこのプロンプトの変更が他のプロンプトとは異なる方法でモデルの振る舞いに影響を与えたのかについてさらにコメントすることはできない。
  • このプロンプトが、最も不正解を排除する非帰結性能と、確率的帰結と記憶を最適に組み合わせたものであると推測される。
  • すべての模擬試験において、プロンプトと完全なJSONレスポンス(OpenAI APIリクエストIDを含む)が記録された。テキスト完了レスポンスの各行は解析され、採点または質的分析のために保存された。
  • ごく少数のケース(< 1%)では、「My first choice is (D)」のような自然言語やフォーマットのバリエーションが含まれており、これらのバリエーションはパーサーの例外ケースを通じて処理された。レスポンスは人間によって手動で変更されたり評価されたりすることはなかった。
  • 技術的な観点から、これらのプロンプトはすべて、モデルが声明が真実か非真実かを評価する必要がある従来のテキスト帰結タスクに関連している。ゼロショット試験シミュレーションでは、帰結問題に関する既存の研究とは異なり、仮説、主張、または知識の体系のフレーミングをほとんど制御できない。
  • GPT内に存在する、明示的または暗示的な任意の知識グラフや状態モデルについての洞察がない。また、いくつかのケースでは、帰結の観点から複数の選択が正しい可能性があり、受験者は試験設計の知識に基づいて選択を順位付けする必要がある。このテストには、単純な二項帰結/非帰結問題よりも、検索と関連性スコアリングに似た要素が含まれている。
(Hyper)parameters for GPT-3 
  • 機械学習と計算研究の結果は、一般的にモデルのパラメーターやハイパーパラメーターに非常に敏感である。この研究では、上記のようにプロンプトを変化させることに加え、モデルの「温度」のようなハイパーパラメーターがモデルの性能にどのように影響するかも評価した。
  • 評価したパラメーターには以下が含まれる:1. 温度(サンプリングの温度;0.0は決定論的、高いほど「ランダム」)、2. top p(核サンプリング確率)、3. best of(サーバー側で[N]個の完了を生成し、トークンごとの最高のログ確率を持つものを「最良」として返す)、4. max tokens(生成するトークンの最大数)。
  • 温度は{0.0, 0.25, 0.5, 0.75, 1.0}、top pは{0.75, 1.0}、best ofは{1, 2, 4}、max tokensは説明なしのプロンプトでは{16, 32}、説明ありのプロンプトでは{128, 256, 1024}でテストした。
Fine-tuning
  • GPT-3.5のようなLLMが大きな関心を集める一因は、そのゼロショットまたはフューショットの性能が非常に優れているためである。それにもかかわらず、一部の状況では、LLMの一部または全ての層を再トレーニングすることで性能が向上する可能性がある。
  • OpenAIはAPIを通じて再トレーニングや「ファインチューニング」の機能を提供しており、学習率やバッチサイズなどのトレーニングプロセスをある程度制御することができる。200個の未公開の模擬MBEバー試験問題を用いてtext-davinci-003のファインチューニングを試みたが、すべてのケースでファインチューニングモデルはtext-davinci-003自体の性能を大幅に下回った。
  • 高品質なデータの不足と評価のため、GPTモデルのファインチューニングをこれ以上追求しなかった。これらの結果は、他者によって観察されたLLMのファインチューニングリスクを可能性があることを示している。

Results

  • 総計で107回のサンプル試験を実施し、上位3つの選択肢の順位付け(プロンプトスタイル#7)が最も良い性能を示した。このプロンプトについて41回のサンプルランをパラメーター組み合わせで収集した。
  • GPTは全体の多肢選択式試験にはまだ合格していないが、25%の基本ランダムチャンス率を大幅に上回り、少なくとも2つのカテゴリー(エビデンスとトーツ)で平均合格率に達している。
  • 全カテゴリー平均で、GPTは人間のテスト受験者に約17%遅れている。しかし、エビデンス、トーツ、民事訴訟においてはこの差は無視できるか一桁であり、エビデンスに関する質問では既に人間と同等である。
  • 憲法法、不動産法、契約法、刑法の残りのカテゴリーでは、差はより顕著であり、刑法の場合には36%まで上昇している。この性能の差は、GPTのトレーニングデータから欠如している知識領域、またはモデルの圧縮やファインチューニング中に削除された可能性がある。
  • GPTの答えのランクと正解の相関が低い場合、その法律領域に関する知識が真に欠如していると考えられる。一方で、二番目または三番目の選択肢が正しくなることが多い場合、問題の設計が性能の低下に責任があると推測できる。GPTの第二および第三のベストアンサーは正解と高い相関を示しており、全カテゴリーでトップ2の回答が50%の基本ランダムチャンス率を上回り、7つのカテゴリー中5つでNCBE報告平均を超えている。

Conclusion and Future Work

  • この研究では、NCBEのモデルバー試験のMBE部分におけるGPT-3.5の実験的評価を記録した。GPT-3.5は、すべてのプロンプトとハイパーパラメータ値において、ランダムな推測の基準率を大幅に上回った。
  • ファインチューニングなしで、GPT-3.5はバーの2つのカテゴリーで合格率を達成し、1つのカテゴリーで人間のテスト受験者と同等になった。可能な選択肢の順位付けは、ランダムチャンスを超えて正解と強く相関しており、法的領域に対する一般的な理解を確認している。
  • GPT-3.5は、このタスクにおいて私たちの期待を大幅に上回る性能を示した。GPTの理解や候補回答間の選択方法についての解釈能力は限られているが、類似の問題の歴史はLLMが間もなくバー試験に合格する可能性が高いことを強く示唆している。
  • GPT-4やLAIONのBloomファミリーのモデルに関連する逸話的証拠に基づくと、これが今後0〜18ヶ月以内に発生する可能性が非常に高い。GPT-J、GPT-Neo、Bloomファミリーのモデルを用いた実験設計の再現とファインチューニングを続ける予定である。また、MBEはバー試験の一部であり、将来の研究ではGPT-3.5および他のモデルをエッセイ(MEE)および状況判断(MPT)セクションにも適用して評価する予定である。

 

おまけ GPT4によるサンプル問題の解説と答え(日本語)

問題文について

Question: A man sued a railroad for personal injuries suffered when his
car was struck by a train at an unguarded crossing. A major issue is
whether the train sounded its whistle before arriving at the crossing.
The railroad has offered the testimony of a resident who has lived near
the crossing for 15 years. Although she was not present on the occasion
in question, she will testify that, whenever she is home, the train always
sounds its whistle before arriving at the crossing.
Is the resident’s testimony admissible?
(A) No, due to the resident’s lack of personal knowledge regarding the
incident in question.
(B) No, because habit evidence is limited to the conduct of persons,
not businesses.
(C) Yes, as evidence of a routine practice.
(D) Yes, as a summary of her present sense impressions. 

(以下Chatgpt解答)

この問題は、ある男性が無人の交差点で列車に自動車が衝突され、個人的な損害を受けたことに関して鉄道会社を訴えたケースについてです。主な争点は、列車が交差点に到着する前に警笛を鳴らしたかどうかです。

このケースで、鉄道会社は15年間その交差点の近くに住んでいる住民の証言を提供しています。この住民は、問題の事故が発生した時には現場にいませんでしたが、自宅にいる時はいつも列車が交差点に到着する前に警笛を鳴らしていると証言します。

問題は、この住民の証言が法廷で許容されるかどうかです。

証言が許容されるかどうかを判断するには、証拠の規則、特に習慣やルーチンの実践に関連する証言の規則を理解する必要があります。ここでのポイントは、この住民が特定の事故について直接の知識を持っていなくても、長年にわたり観察した列車の一貫した行動パターン(つまり、交差点に到着する前に警笛を鳴らすというルーチン)に基づいて証言することができるかどうかです。

分かりやすく説明すると、この問題は、過去の一貫した行動(この場合は列車が警笛を鳴らす習慣)を基に、特定の事件において同じ行動が取られたと推測する証言が、裁判で証拠として使えるかどうかを問うています。

 

答え

この問題の正解は、(C)住民の証言が「はい、ルーチンの実践としての証拠」として許容される、というものです。これを理解するために、証拠法のいくつかの基本原則を見てみましょう。

  1. 直接的な知識の必要性: 通常、証言するためには、その出来事についての直接的な知識が必要です。しかし、このケースでは、住民は特定の事故について直接的な知識を持っていません。彼女は事故が起こった時に現場にいたわけではありません。

  2. 習慣またはルーチンの実践に関する証拠: 証拠法は、個人または組織の習慣やルーチンの実践に基づく行動を証明するために、そのような習慣やルーチンの証拠を許容することがあります。これは、その習慣やルーチンが一貫して行われている場合、特定の場面で同様の行動が取られた可能性が高いと推測するためです。

このケースで言えば、住民が過去15年間にわたって、自宅にいる時は常に列車が交差点に到着する前に警笛を鳴らしているという一貫した行動を目撃しているという証言は、鉄道会社がその交差点で列車が近づく際に警笛を鳴らすというルーチンの実践を持っていることを示すものです。

この理由から、彼女の証言は「ルーチンの実践」として証拠になり得るのです。つまり、彼女は特定の事故についての直接的な知識を持っていなくても、列車が交差点に到着する前に警笛を鳴らすという鉄道会社の一貫した行動パターンについて証言することができ、それが訴訟の文脈で重要な情報となる可能性があります。

この理論に基づき、住民の証言は、鉄道会社が特定の日に警笛を鳴らしたかどうかを直接的には証明しませんが、列車が交差点に近づく際に警笛を鳴らすという一貫したルーチンがあることを示す証拠として許容されます。これが、選択肢(C)が正しい理由です。

 

 

 

 

論文要約:The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits

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

Shuming Ma∗ Hongyu Wang∗ Lingxiao Ma Lei Wang Wenhui Wang
Shaohan Huang Li Dong Ruiping Wang Jilong Xue Furu Wei⋄ 

arxiv.org

このページの図面・表の権利は全て論文の著者らに帰属があります。

 

この論文を一行でいうと

BitNet b1.58: メモリとエネルギーを削減しパフォーマンスを維持言語モデル新時代へ

 

Abstract

  • 目的:新世代の1ビット大規模言語モデル(LLM)であるBitNet b1.58※1を紹介し、高性能かつコスト効率の良いLLMの開発に向けた新たなスケーリング法則と訓練レシピを定義すること。

  • 手法:BitNet b1.58は、LLMの各パラメータ(または重み)を{-1, 0, 1}のみで表現する1ビットLLMを開発。

  • 結果:BitNet b1.58は、同じモデルサイズとトレーニントークンを用いた完全精度Transformer LLMと比較して、困惑度とエンドタスクで同等の性能を示しながら、レイテンシ、メモリ、スループット、エネルギー消費の面で顕著にコスト効率が良いことが示された。

  • 結論:1.58ビットLLMは、高性能かつコスト効率の良い新世代のLLMを訓練するための新たなスケーリング法則とレシピを提供し、1ビットLLMに最適化された特定のハードウェアの設計に向けた新たな時代を築く。

The Era of 1-bit LLMs 

  • 近年、AI分野では大規模言語モデル(LLM)のサイズと能力が急速に成長し、多様な自然言語処理タスクで顕著な性能を示しているが、そのサイズの増加は展開における課題を生じさせ、高いエネルギー消費による環境および経済への影響に対する懸念を引き起こしている。
  • これらの課題に対処する一つのアプローチは、ポストトレーニン量子化を用いて推論のための低ビットモデルを作成することであり、これにより重みとアクティベーションの精度を下げ、LLMのメモリと計算要求を大幅に削減する。
  • BitNetをはじめとする1ビットモデルアーキテクチャの最近の研究は、性能を維持しつつLLMのコストを削減する有望な方向性を示している。BitNetの行列乗算では整数加算のみを行い、LLMのエネルギーコストを大幅に節約する。
  • この研究では、各パラメータが三値{-1, 0, 1}を取る1ビットLLMのバリアントであるBitNet b1.58を紹介し、これによりメモリ消費、スループット※2、レイテンシ※3の面でFP16 LLMベースラインと比較して大幅に効率的であること、さらには特徴フィルタリングを可能にする0の導入により1ビットLLMの性能が大幅に向上するなどの追加的な利点を示す。

BitNet b1.58

  • BitNet b1.58は、nn.LinearをBitLinearに置き換えたTransformerであるBitNetアーキテクチャに基づいており、1.58ビットの重みと8ビットのアクティベーションでゼロから訓練される。
  • 重みを-1、0、+1に制限するために、absmean量子化関数を採用している。これは、重み行列をその平均絶対値γでスケーリングし、次に各値を{-1, 0, +1}の中で最も近い整数に丸める(Round Clip)。

  • アクティベーション量子化関数はBitNetと同様に実装されているが、非線形関数の前にアクティベーションを[0, Qb]の範囲にスケーリングするのではなく、トークンごとに[−Qb, Qb]にスケーリングしてゼロポイント量子化を排除する。
LLaMA-alike Components.

Result

  • BitNet b1.58と再現したFP16 LLaMA LLMを様々なサイズで比較し、RedPajamaデータセットで1000億トークンに対して事前訓練を行い、公平な比較を実施。
  • 言語タスクの範囲におけるゼロショット性能を評価し、WikiText2とC4データセットの検証困惑度も報告した。
  • BitNet b1.58は、3Bモデルサイズで完全精度のLLaMA LLMと困惑度の面で一致し、2.71倍速く、GPUメモリを3.55倍少なく使用する。
  • BitNet b1.58 3.9Bは、LLaMA LLM 3Bよりも顕著に優れており、2.4倍速く、メモリ消費は3.32倍少ないが、エンドタスクの精度では一致またはそれを上回る性能を示す。

 

  • これらの結果は、BitNet b1.58が現行の最先端LLMモデルに対してパレート改善(悪くなるところのない改善)を実現していることを示している。
Memory and Latency
  • モデルサイズを7B、13B、70Bに拡大し、コストを評価した結果、モデルサイズがスケールするにつれて、速度向上が増加し、特にBitNet b1.58 70BはLLaMA LLMベースラインよりも4.1倍速い。

  • メモリ消費も同様の傾向を示し、大きなモデルほどメモリ効率が良くなる。embedding layerが完全精度のままだが、大きなモデルほど、モデル全体に対する、embedding layerの割合が小さくなるためである。両方のレイテンシとメモリは2ビットカーネルで測定されており、コストをさらに削減するための最適化の余地がある。

Energy

  • BitNet b1.58は行列乗算における算術演算エネルギー消費を71.4倍削減し、モデルサイズがスケールするにつれてFP16 LLaMA LLMベースラインと比較してエネルギー消費の効率が向上する。

Throughput 
  • BitNet b1.58 70BはLLaMA LLMと比較して最大11倍のバッチサイズをサポートでき、8.9倍高いスループットを実現する。

 

  • BitNet b1.58は、モデルの性能と推論コストに関する新しいスケーリング法則を可能にしており、異なるモデルサイズ間での等価性を以下のように提供する。
    • 13B BitNet b1.58は、レイテンシ、メモリ使用量、エネルギー消費の面で、3B FP16 LLMよりも効率的である。
    • 30B BitNet b1.58は、レイテンシ、メモリ使用量、エネルギー消費の面で、7B FP16 LLMよりも効率的である。
    • 70B BitNet b1.58は、レイテンシ、メモリ使用量、エネルギー消費の面で、13B FP16 LLMよりも効率的である。
Training with 2T Tokens
  • 2Tトークンでの訓練では、BitNet b1.58をStableLM-3Bのデータレシピに従って2Tトークンで訓練し、Winogrande、PIQA、SciQ、LAMBADA、ARC-easyで構成されるベンチマークで評価した。
  • BitNet b1.58は、すべてのエンドタスクで優れた性能を達成し、1.58ビットLLMも強力な一般化能力を持っていることを示している。

Discussion and Future Work

1-bit Mixture-of-Experts (MoE) LLMs
  • Mixture-of-Expert(MoE)LLMは、計算FLOPsを大幅に削減しつつ、高いメモリ消費とチップ間通信のオーバーヘッドが展開とアプリケーションを制限するが、これらの課題は1.58ビットLLMによって解決可能である。これにより、MoEモデルを展開するために必要なデバイス数が減少し、ネットワークを介してアクティベーションを転送するオーバーヘッドが大幅に削減される。
Native Support of Long Sequence in LLMs
  • 長いシーケンスのネイティブサポートは、KVキャッシュ※4によるメモリ消費が長いシーケンス推論の主な課題であるが、BitNet b1.58は16ビットから8ビットへのアクティベーションの削減により、同じリソースでコンテキストの長さを2倍にすることで、長いシーケンスのサポートに向けた重要なステップを表す。
LLMs on Edge and Mobile
  • 1.58ビットLLMの使用は、メモリと計算能力に制限があるエッジおよびモバイルデバイス上での言語モデルの性能を大幅に向上させる可能性があり、これによりこれまで不可能だったアプリケーションが可能になり、エッジおよびモバイルデバイスの能力が大幅に向上する。
New Hardware for 1-bit LLMs
  • 1ビットLLM用の新しいハードウェアについては、Groqのような最近の研究がLLM用の特定ハードウェア(例えば、LPU)の構築において有望な結果と大きな可能性を示しており、BitNetが可能にする新しい計算パラダイムに特化して最適化された新しいハードウェアとシステムの設計に向けた行動を呼びかける。

 

この論文の礎となるBitNetの要約

reseachpaper-matome.hatenablog.com

 

語句説明

※1 なぜ1.58?  ・・・{1,0、-1}の値がそれぞれ1/3で出現する場合の平均情報量が1.58

※2 スループット・・・単位時間あたりに処理または伝送できるデータの量

※3 レイテンシ・・・あるシステムやネットワーク内で処理やデータが伝達されるのに要する時間遅延のこと

※4 KVキャッシュ・・・Key-Value(キー-値)キャッシュの略で、データをキーと値のペアとして保存する一種のデータストレージまたはキャッシュメカニズム