エネルギーで予測すると推論力UP! (自分アイデア追加)
初めに! Energy-Based Transformersを読んで思ったこと
お!おもろい論文!あたま柔らか!
精度上げる方法浮かんだ。今回は著者にメールしたが返信ないから書く(これ見てと一応Mailする)
自分の理解で書く
1. どんなもの?
エネルギー予測をキーに思考力UP!system2に対応!
2. 技術や手法の"キモ"はどこにある?
ラベルなしで、幅広いタスク、モダリティにおいて、難しい推論能力(system2)を得ることができるか?の問いにYES!と答えるもの
自己回帰モデル比較すると、1 動的計算量使用 , 2 不確かをモデル , 3 予測の検証 の機能があるのはEBTだけ!
言葉(離散)でも画像(連続)でも使える!


思考時の予測の変化及びエネルギーの変化の図
最適エネルギー探す上で局所解におちいらないように3つの工夫あり
1 Replay buffer 2 stepにノイズ追加 3 ステップサイズや最適化回数をランダムへ


学習、推論の疑似コード
学習 : N回推論(言葉なら正解トークン分布を予測)したあと、正解と普通にloss(クロスエントロピーやMSE)でモデルパラメータ更新
lossを2回微分しているのが、N回推論ところからはわかる気がするが、なぜ使う必要がるか、通常の微分じゃだめ?なのかよくわかってない。
推論 : M回の予測の中でN回推論(言語なら次トークン、動画なら次画像)一番小さいエネルギーの分布を最終的に予測結果に選ぶ

面白く感じる点
画像生成の GAN って 学習時にはジェネレーター もディスクリネーターも学習するけど、推論 時は通常は ジェネレーターだけ使う。?EBTはそこ合体して一部品で、行はディスクリネーターで帰りはジェネレーター としてうごく!
3. どうやって有効だと検証した?
data,batch size,depth,parameter数,FLOPs,埋め込み次元の全てで、スケールするとtransfomer++より性能がいい。つまりスケール性が高い


エネルギーの値の地図の中で局所にはまらないための正則化のablation study結果
面白い(というかきくと当然に思えた)のはstep size、つまり疑似コードのαだと思うが、そこをランダムにしないとかなり悪い
また、思考を長くするだけならノイズは足さない方が良い
図5(b)をみると計算コストでこの実験では負けているが、角度が急で大きくしたら抜かす?そしたら計算コストでも勝つ!

分布外データにも強い 左図) 思考長くなり、かついくつかサンプルだしいいの選ぶと強い!
右図) 学習データ増えるとより強い

分布外率があがるほど、思考の効果が表れる(基準の推論方法が明確に書いていない気している)

4. こうしたら精度あがらない?これよくない? の独自考え
最初の3つはアマゾンにmailしたが、返事もこないので発表
1 学習中に使用したワンホットベクトルの代わりに、既存のTransformerを用いて分布を作成し、それを学習ターゲットとして用いる。
2 推論中に複数のエネルギー予測器を用意し、それらを用いてビームサーチのような方法で適切なトークンを見つける。
3 このebtを用いて他のTransformerの出力のエネルギーを計算するという興味深い使い方がある。ebtを量に付与し、不適切な値を再推論することで、良い結果が得られると思う。
4 学習や推論時の次トークンの初期値をreplayBufferでなく、それまでのトークンの平均or後ろのトークンほど重みづけした平均つかったら、文脈がまとまったところからのスタートで良さそう
5 学習や推論時の次トークンの初期値を他のTransformerの出力値とする
6 NextToken一つでないで、n個のNextTokenでエネルギー出して、全体で修正していくと速く推論できるかも
7 6をさらに、すでに予測した部分も対象にする(変化率は過去ほど低くする調整して)
8 いろいろoptimizerを試したら、相性いいの見つかるかも
(8/22の勉強会で最適化の部分でADM使えると発言してもらった)
5. 何人かにサービス化された?(されない?)的なこと聞かれた(新規アイデア論文だとたまに聞かれる)
最後にサービス化されているか聞かれたときにいかのような回答した(+今説明一部追加)
そもそもLLMサービス化には時間かかる。実験レベルでなくサービスレベルでは通常、サイズがかなり大きくなる。ぱっと考えても以下の手順。やると論文だしたあとに決めてもそれなりに時間かかる。
1 リスク考えて、プロジェクト開始するか検討
スケール性あると実験ではでているが、実験レベルでは、計算量に対して精度まけているので、スケール性あるにしても、いつ逆転するかの予測と、その時の計算量が妥当か等の検討必要
新しいアイデアはどんどんでてくるので、これでやる価値あるかは慎重に通常なる
2 予算確保、人員確保、リソース(電気も)確保、学習データ確保
3 モデル作成(プログラミング)
4 学習(時間かかる)、評価(アライメント等も含む)(時間かかる)
後日追加します!
あとがき
記事よかったら、いいね♡ 押してね!
Discussion