0224
本を読んだり箱が振られるのを眺めたり。箱は今日もイマイチだったので、振動数と振幅は固定しつつ反発係数などを調整するようにしてみた。ただ、よく考えると(別に厳密な最適化が必要なわけではないのだし)各種パラメータをUI上でリアルタイム変更できるようにして挙動を見ながら当たりをつければいいんじゃないかと思う。まあ今の実験で芳しい結果が無ければそうしよう。
いい加減これは終わらせて次のことをやりたい。ぴよログのデータ集計とか。
寝ます。
本を読んだり箱が振られるのを眺めたり。箱は今日もイマイチだったので、振動数と振幅は固定しつつ反発係数などを調整するようにしてみた。ただ、よく考えると(別に厳密な最適化が必要なわけではないのだし)各種パラメータをUI上でリアルタイム変更できるようにして挙動を見ながら当たりをつければいいんじゃないかと思う。まあ今の実験で芳しい結果が無ければそうしよう。
いい加減これは終わらせて次のことをやりたい。ぴよログのデータ集計とか。
寝ます。
Optunaは予定していた回数だけ箱を振り終わったが、結局自分で発見したのよりいいパラメータには到達できなかった。指示の出し方が悪いのかな。スコアの定義が悪いというのもありそうだが。
今度は別のパラメータを探索させてみる。そろそろ飽きてきた部分はある。他にもやりたいことはあるのよ。
ふと懐かしくなって「三光インテック事件」を再読した。何度読んでも面白いのだけど、「2号主体」のイメージはbefore LLM時代のそれだなあと思った。2020年の作品。
寝ます。
新しいシフトで生活リズムが破壊され、深刻な睡眠不足に陥ったため、一旦元に戻すことになった。うーん。
深刻な睡眠不足なので日記はお休みします。グウ
あいかわらずOptunaが箱を振っているのを眺めている。やっぱりサンプラーがあまりいいパラメータを引いてこないので、スコアの定義を微調整したり、望みのないケースで早期終了させたりなどのテコ入れをしているが、結局待つしかないのでボーッとしている。まあそれでも徐々に良くなってるような気もするな?手動でやるのとどっちが早かったかは正直よくわからないが。
今日はこのまま深夜シフトなので寝ません。シフトの組み方も模索中である。
なんか日記書いたつもりで投稿してなかった。やば。
Optunaが箱を振りながらパラメータ空間を探索しているのをぼんやり眺めている。きれいな振動が見られるのは結構限られた条件であるらしい。手動で1つ見つけられたのはもしかすると運がよかったのかも。
待っている間は暇なのだが、GPUをブン回している関係上ゲームなどをするわけにもいかない。そういえば休業の間に積読も崩せないかと目論んでいたのだが、実際はTwitterのあとで読むブックマークが増えるばかりだ。
寝ます。今日はあまり体調が良くなかった。疲れているのかな。
オニーク。
(書く機会を迷っていたのだが、)最近家に新生児がおり、育休を取得している。子についてあまり詳らかに書くことは(プライバシーおよび日記性の観点から)ないと思われるけれども、とにかく現在は子への対応が生活のほぼ全てを占めているので、書かずにいることは不可能であろう。(「ほぼ」に含まれない残りの部分はCodexへの指示出しである)
現在は夕食後〜深夜のシフトを主に担当しており、そこで妻と交代して寝ている。幸い、睡眠時間はそれほど深刻な課題にはなっていないが、何をしても泣きやまないなど気苦労は絶えない(こんな話はどこにでもありふれていて、何も面白くはないでしょう)。
Optunaが粉体シミュレイタのパラメータを探索している。振動現象が観られるのは100秒程度の時間スケールなので、どうしても1本あたりの時間が長く、なかなか進まない。たぶん数日動かすことになるだろう。パラメータ空間を広く取りすぎているかもしれない。
具体的にどういうスコアを最大化するかはCodexがよしなに決めたので、本当に望むとおりの結果が得られるのかも正直わからないが、AIに雑に投げてやってくれること自体が驚異なので、そこはあとで考えればいいやと思っている。
こういう雑なソフトウェア作成ならAIコーディングは楽しいんだけど、仕事だとそうもいかないので、そういう時はちょっと面倒。でもそれは指示の出し方が下手なだけかもしれないし、来年には解消されていそうな気もする。
寝ます。
粉体シミュレイタの映えるパラメータを探そうとしているのだが、こんなもん人力でやる必要はないので自動探索させられないかCodexに相談したら、Optunaでやれるんじゃない?とのことだったので、やらせようとしている。どんな感じになるのかな。
寝ます。
粉体シミュレイタのパフォーマンスがCodexによって10倍くらい向上した。GPU計算がボトルネックではなく、非効率な処理があったので、そこを除去しただけだけど。でも元のコードを書いたのもCodexなんだから、最初からそうしてくれよという話ではある。
パラメータの探索はなかなかうまくいかない。一方に偏らせるのは簡単なのだが、周期的に変動させるのには職人技がいる。とはいえ高速化によって試行回数は大幅に増やせるようになったので、数日中には何かしら見つかるでしょう。
寝ます。
6の3乗というキリの良さがゆえに、この日が金正日元総書記の誕生日であるということを忘れられずにいる。そういうこともある。
粉体シミュレイタはCloudflareにデプロイするところまで。ChromeとFirefoxでは動いたが、Safariではなぜか動かない。Edgeでは試していないが、まあ中身はChromiumだった気がするし動くんでしょう。
Chromeで動かすのがネイティヴより速いことがわかってびっくりした。おそらくChromeのWGSL処理系がFirefoxのそれより速いコードを出すとかなんだろう。Firefoxのは要するにwgpuなので、bevyでネイティヴ動作させるときと同条件、というのがチャピ公の見解だった。wgpuって遅いのか?
あと、Chromeでだけ実行がだんだん遅くなる現象があったので、プロファイラを見て解決した。GCがだんだん遅くなってるし、なんか謎のアロケイションが多発してるよとCodexに教えたら、bevyのログプラグインを止めれば?と言ってきて、実際それで直った。AIとの美しき協働!
寝ます。
粉体シミュレイタはほぼ完成形になってきた。設定ファイルをtomlで渡せるようにしたり、ブラウザでの表示を最適化したり。これまでwasm-packを使っていたけど、trunkのほうがだいぶ便利なのでこれからはそうしたい。
Cloudflareにアップロードするとこまでやりたかったが、wasmのサイズが制限に引っ掛かったので、なんとかして小さくする。なんでこんなに大きいんだろうな。bevyがデカいのか?
寝ます。