ディスカッション (10件)
HyperCard上でトランスフォーマーを動かしました。パラメータ数は1,216。マシンは1989年製のMacです。もちろん、学習にはそれなりの時間がかかりました。「MacMind」は、埋め込み表現、位置エンコーディング、セルフアテンション、バックプロパゲーション、勾配降下法を網羅した完全なトランスフォーマーニューラルネットワークです。すべては1987年にAppleがHyperCardに同梱したスクリプト言語「HyperTalk」で実装されています。コードはHyperCardのスクリプトエディタですべて閲覧可能で、ボタンをオプションクリックすれば、数学的なアルゴリズムを直接確認できます。今回取り組んだタスクは、高速フーリエ変換(FFT)の初期段階である「ビット反転置換」の学習です。モデルにはあらかじめ与えられた公式はなく、アテンションと試行錯誤を通じて自律的にパターンの位置を導き出します。学習193ステップ目には、精度が50%、75%、100%の間で振動し始め、まるでボールがボウルの中に転がり落ちるように収束しました。この「知能」を司る1,216個の数値は、HyperCardスタック内の隠しフィールドに保存されます。ファイルを保存して終了し、再び開いてもモデルは学習済みの状態で正しく動作します。System 7からMac OS 9まで、あらゆる環境で動くのが特徴です。物理学専攻だった私にとって、信号処理や量子力学、波形分析の心臓部であるFFTは旧友のような存在です。このプロジェクトを立ち上げたのは、AIが私たちの生活に浸透する今こそ、その実態を正しく理解すべきだと考えたからです。バックプロパゲーションもアテンションも、魔法ではなくただの数学。そして数学は、それがTPUクラスターで動こうが、1989年製の68030(CPU)で動こうが一切関係ないのです。リポジトリには、学習済みスタック(1,000ステップ)、自由にトレーニングできる白紙スタック、そして数学的妥当性を検証するためのPython/NumPy実装版が含まれています。
現代的な概念が「現代的」なのは、当時は誰も思いつかなかったからに過ぎない、って考えると不思議だよな。古代ギリシャの時代に細菌説を持ち込むような、そんな感覚だ。
これめっちゃクールじゃん。推論結果のデモとかもっとある?
やあ。XCMDが使われてないなら、HyperCard Simulatorでも普通に動くはずだよ。今スマホからだけど、さっきインポートしといた。https://hcsimulator.com/imports/MacMind---Trained-69E0132C
最新のAIのアイデアを古いハードで動かすのって、静かな感動があるよな(今回のプロジェクトとか、Windows 3.1でLLMの推論を動かすやつとか)。進歩=GPUと計算資源の強化って思いがちだけど、こういうのを見ると、結局は賢い数学やアルゴリズムで限られたリソースから最大限の成果を引き出すことが重要なんだと思い出させてくれる。今の「ハードウェアをぶち込んで解決」っていう流れより、初期のコンピュータの精神に近い気がするよ。
MacMindのアーキテクチャ、かなり興味深いな。
実際のHyperCard本体と.imgのビルド用コードはどこにあるの?リポジトリにはPythonのバリデータしか見当たらないんだけど。
面白い。BasiliskIIのARM64 JITの新しいベンチマークにちょうど良さそうだな。(まだデバッグ中だけど、ほぼ網羅できるところまで来てるよ)
最高だな!1988年に誤差逆伝播法を勉強し始めたのと、HyperCardでのプログラミングにハマった時期がちょうど同じでさ。このプロジェクトを見ると、より洗練された時代の優雅な武器を思い出して懐かしい気分になるよ。
これ大好き。実装の「パラメータ」(笑)の細かい部分を読んだ感じだと、結局のところ、通常なら少なくとも48ビットは必要なデータサイズを32ビットプラットフォームで扱わなきゃいけないのが最大の制約ってことかな?