2025年2月28日金曜日

うまくいったハイパーパラメータは何だったっけ?

 とんちんかんな記事です。

以前の記事(https://achromareport.blogspot.com/2021/11/blog-post.html)で順調に育つエージェントができた様子を紹介したが、再現しようとしても途中で設定変更するしよくまとまっていないので改めてハイパーパラメータをまとめることにする。

まずバッチサイズ。128から始まって可変で終わっている。最大値は1024だったと思うが、1024ステップを越えるエピソードは少ないので、実質一試合全部を読んでいることになる。本当に効率がいいのだろうか…。

LSTM レイヤーは3枚だったようだ。しかし、learn()の呼び出し方の変更後、昔あったようなパフォーマンスの低下はなくなったとも後の記事(https://achromareport.blogspot.com/2022/07/1.html)に書いてある…。

もしこれが本当なら、小さなバッチサイズでもいいことになる。しかしどちらにしても確認し直した方がいいような気もしなくもない。以下の設定で試してみることにしよう…。

Batch size: 4-128

LSTM Layers: 1

Learning rate: 1e-4

過学習になるかな…。

2025年1月23日木曜日

AIガオガエン再始動

 AI ガオガエンが止まってからかれこれ2年近く経ってしまった。取り巻く環境が変化し、また面白い事ができそうな気がしたので、活動を再開しようかと思う。

いったい何が変わったのか。列挙してみる。

  1. 大規模言語モデルにおいてトランスフォーマーが台頭し、他の分野でも有力なネットワーク構造だとわかった。
  2. 大規模言語モデル自体がコーディングの手助けができる程度に発達し、開発の労力が削減された。
  3. PytorchがMetalに対応し、GPUでのトレーニングが可能になった。
  4. CoreMLがpythonでも動き、ネットワークの実行にApple Neural Engine (ANE)が使用可能になった。
今までのAIガオガエンではデータ集めからトレーニングまで全て同じコンピュータで行い、しかもそのほとんどをCPUのみで行われていた。しかし、開発の途中でトレーニングのスレッドとデータ収集のスレッドは分離し、必ずしも同じコンピュータで行われる必要はなくなっていた。新しいセットアップでは計算機を二台用いてトレーニングとデータ収集を完全に分離し、かつGPUやANEに負荷を分散させることにより今までより大規模なインプットやネットワークを使えるようにすることを目指す。

また、アテンションを使うことで過去のどの動きを参照したらいいのかを把握し、今までより過去を気にした行動をとることが可能なように修正したい。かなり大規模な変更を加えることになり、作業量が心配ではあるが少しずつ解決していこうと思う。

とりあえずMetal Performance Shaderを使ったGPUでのトレーニングとANEを使ったネットワークの実行が可能なことは確認した。これらが望みのアーキテクチャで動くことを確認し、さらにアテンションを組込めるかどうかを検討していくことが次の課題になりそうだ。