「Show HN」:1989 年のマッキントッシュ上に構築されたハイパーカード(HyperCard)内のトランスフォーマー型ニューラルネットワーク、MacMind です

2026/04/16 22:16

「Show HN」:1989 年のマッキントッシュ上に構築されたハイパーカード(HyperCard)内のトランスフォーマー型ニューラルネットワーク、MacMind です

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

MacMind は、古いマッキンтоッシュハードウェア(具体的には System 7.6.1 を搭載する SE/30)上で完全な HyperTalk で実装された画期的なニューラルネットワークであり、高速フーリエ変換 (FFT) に必要な複雑なビット反転置換を成功裏に学習しました。このプロジェクトは、現代的なコンパイル済みコードや外部ライブラリを使用せず、トークン埋め込み、位置エンコーディング、自己注意機構、交差エントロピー損失、完全なバックプロパゲーション、および確率的勾配降下を含む完全なトランスフォーマーアーキテクチャを活用して、先進的な数学的構造を発見できることを示しています。5 つの HyperCard カードにわたる 1,216 のパラメータを持つこのモデルは、FFT ルーティングパターンの回復において 100% の精度を達成し、Python/NumPy 実装による参照実装によって確認された独立した Cooley-Tukey アルゴリズムの再発見を確認しています。この作業は、深層学習には巨大な計算能力が必要だという前提に疑問を投げかけ、8 MHz プロセッサを使用しながら、レガシーハードウェア上で直接学習を行い(約 1,000 ステップで数時間に収束)います。透明スクリプトエディタを通じて検査および修正が可能であり、プリトレーニング済みおよび空白のスタックは古典的なハードウェアまたは現代のエミュレーター上で動作します。Frank Rosenblatt、Vasvani、Cooley および Tukey といった研究者らの基礎理論を踏まえたこのプロジェクトは、限られたレガシーシステムにおいても深遠な AI 能力にアクセスできることを証明しています。

本文

1987 年のハイパートーク(HyperTalk)スクリプト言語だけで記述され、マッキンтоッシュ SE/30 で学習された完全なトランスフォーマー型ニューラルネットワーク「MacMind」です。

MacMind は、ランダムな例題から位相反転置換(高速フーリエ変換の最初の工程である)を学習する、1,216 パラメータを持つ単一層・単一のヘッド構成のトランスフォーマーです。このネットワークの各行は、行列計算ではなく対話式のカードスタック構築を目的として設計された 1987 年のスクリプト言語「ハイパートーク」で記述されています。それゆえ、トークン埋め込み、位置エンコーディング、スケールドドットプロダクトスコアを用いた自己注意機構、クロスエントロピー損失関数、完全な逆伝播、確率的勾配降下といった複雑な機能を備えても、コンパイルされたコードは使用せず、外部ライブラリに依存せず、ブラックボックスにはなりません。

任意のボタンをクリックして、実際にどのような計算が行われているのかを確認できます。

本プロジェクトが生まれた理由

MacMind を学習させた「順伝播 → 損失計算 → 逆伝播 → 重みの更新」という根本的なプロセスは、現在存在するあらゆる大規模言語モデルを学習させるのと同じものです。唯一の違いは「スケール」であり、「種類」ではありません。MacMind は 1,216 パラメータを持ち、GPT-4 は約 1 兆パラメータありますが、使用される数学的プロセスは完全に同一です。

私たちは、AI がほぼすべての人に影響を与えるにもかかわらず、その中身を理解できる人はほとんどいないという時代にあります。MacMind は、このプロセスが理解可能なものであることを示すデモであり、「逆伝播や注意機構とは魔法ではなく、単なる数学である」「かつ、その数学は TPU クラスタ上でも 1987 年の 68000 プロセッサ上でも同じように機能する」という事実を提示します。

すべての要素は検査可能で、すべてを変更可能です。学習率を変更したり、学習タスクを切り替えるか、モデルのサイズを変更することも、ハイパーカードのスクリプトエディタ内から行うことができます。これは「ボンネットが上げられたエンジン」そのものです。

何が学習されるのか

位相反転置換は、配列内の各位置インデックスのバイナリ表現を反転することで順序を入れ替える操作です。8 つ要素を持つ配列の場合には以下のようになります:

位置01234567
バイナリ000001010011100101110111
反転後000100010110001101011111
対応する位置04261537

したがって、入力は

[3, 7, 1, 9, 5, 2, 8, 4]
から、出力は
[3, 5, 1, 8, 7, 2, 9, 4]
に変換されます。

この置換は計算において最も重要なアルゴリズムの一つである高速フーリエ変換(FFT)の最初の工程です。モデルにはこのルールが明示的に教えられません。自己注意機構と勾配降下によって、単に位置のパターンを純粋に発見し、巨大な規模でスケールアップされたプロセスと同じように、より大きな言語モデルが言語を理解できるように訓練されました。

学習後、カード 4 の注意マップ(アテンションマップ)からは FFT の蝶番パターンが可視化されます。モデルは独立して、コウリーとタキーが 1965 年に発表した同じ数学的構造を発見しました。

スタック構成

MacMind は 5 つのカードからなるハイパーカードスタックです:

カード目的
1 タイトルプロジェクト名とクレジット
2 学習(Training)モデルを学習させ、そのプロセスを実況で観測する
3 推論(Inference)学習済みのモデルを検証するための任意の 8 桁の入力に対してテストを行う
4 アテンションマップ8x8 の注意重み行列を視覚化する
5 について(About)モデルが行っていることに関するテキスト説明

学習(カード 2)

"Train 10"をクリックして 10 ステップ分の学習を行うか、"Train to 100%"をクリックしてサンプルでのスコアが完璧になるまで学習を続行できます。より深い学習を行う場合は、繰り返し "Train 10"を実行するか、再度"Train to 100%"をクリックすれば、モデルは中断した箇所からつづいて学習します。長時間の学習を行いたい場合は、メッセージボックス(Cmd-M)を開き、

trainN 1000
と入力することで、連続して 1,000 ステップ分の学習を行います。

各ステップでは、ランダムに生成された 8 桁のシーケンスに対して全順伝播を行い、クロスエントロピー損失を計算し、すべての層を通じて勾配を逆伝播させ、そして 1,216 つの重みをすべて更新します。進行状況バー、各位置の精度、および学習ログはリアルタイムで更新されます。

備考: 学習ログフィールドには 30,000 文字までしか入力できません(これはハイパーカードの制約です)。およそ 900 ステップ経過後にログが満杯となり、エラーが表示されてしまいます。これをクリアして学習を継続するには、メッセージボックス(Cmd-M)を開き、以下のコマンドを入力してください:

put "" into card field "trainingLog"

その後、

trainN 500
(または希望するステップ数)で学習を再開します。

推論(カード 3)

学習後、「New Random」をクリックしてテスト用の入力を生成し、次に「Permute」をクリックして学習済みのモデルを実行します。出力行にはモデルの予測結果が、信頼度行には各位置についてどれほど確実かを表します。

結果を検証するには、手動で位相反転置換を適用してみましょう。出力は入力の位置を次の順序で再編成するはずです:

  • 出力 [0] = 入力 [0]
  • 出力 [4] = 入力 [1]
  • 出力 [1] = 入力 [4]
  • 出力 [5] = 入力 [5]
  • 出力 [2] = 入力 [2]
  • 出力 [6] = 入力 [3]
  • 出力 [3] = 入力 [6]
  • 出力 [7] = 入力 [7]

例えば、入力が

[3, 7, 1, 9, 5, 2, 8, 4]
の場合は、出力
[3, 5, 1, 8, 7, 2, 9, 4]
が得られるはずです。モデルが十分に訓練されていれば、各位置の予測はすべて正しく、かつ信頼度は 90% を超えるでしょう。

アテンションマップ(カード 4)

この 8x8 のグリッドは、各出力位置を生成する際に、モデルがどの入力の位置に注目しているかを可視化します。学習後、以下の蝶番パターンが見られるはずです:位置 0, 2, 5, 7 はそれ自身に注目し(置換の不動点)、位置 1 と 4 は互いに、また位置 3 と 6 は互いに注み合う(交換ペア)ことになります。

これは、コウリーとタキーが 1965 年に高速フーリエ変換について発見した同じルーティング構造です: (古典的な FFT の蝶番図を参照のこと、パブリックドメイン)

モデルは注意機構を通じて、この構造を独立して発見しました。

アーキテクチャ

コンポーネント次元パラメータ数
トークン埋め込み (W_embed)10 x 16160
位置埋め込み (W_pos)8 x 16128
クエリ射影 (W_Q)16 x 16256
キー射影 (W_K)16 x 16256
バリュー射影 (W_V)16 x 16256
出力射影 (W_out)16 x 10160
合計-1,216

データの流れ:

  1. 入力数字 [8]
  2. トークン埋め込みルックアップ+位置埋め込み → [8 x 16]
  3. Q, K, V の射影 → それぞれ [8 x 16]
  4. アテンションスコア = Q × K^T、1/sqrt(16) でスケーリング → [8 x 8]
  5. 各行ごとのソフトマックス関数適用
  6. アテンション重み → [8 x 8]
  7. コンテキスト = 重み × V → [8 x 16]
  8. リゾリューション接続:コンテキスト+埋め込みされた入力 → [8 x 16]
  9. 出力ロジット = リゾリューション × W_out → [8 x 10]
  10. 各位置ごとのソフトマックス関数適用
  11. 予測結果 → [8 x 10] の数字上の確率分布

すべての重みとアクティベーションは、カード 2 の隠されたハイパーカードフィールドに区切り符(カンマ)で接続した数字として保存されます。例えば 16x16 の重み行列は、単一のフィールド内の 256 個のカンマ区切りの値です。スタックを保存して終了し、再度開くと、学習済みのモデルが依然としてそこにあります。

リアルハードウェアでの学習

MacMind は System 7.6.1 を動作させたマッキンтоッシュ SE/30 で学習され、また Apple Silicon 上で動作する Basilisk II エミュレーターを通じてテストされました。ハイパートークは解釈実行される言語であり、すべての乗算、フィールドへのアクセス、変数の参照がインタプリタを経由します。そのため、1 つの学習ステップには数秒を要し、収束までの学習(約 1,000 ステップ)には数時間を要します。

モデルはovernight の間放置され、8 MHz の乗算・累算ごとに逆伝播が行われ続けました。翌朝には、その置換関係が学習されていました。

要件

HyperCard 2.0 以降が必要です。HyperCard 1.x は算術演算を左から右に評価し、標準的な優先順位を持たないため(例:2 + 3 * 4 = 20 となってしまい、14 のはず)、モデルのすべての行列乗算や勾配計算を沈黙して壊してしまいます。HyperCard 2.0 は標準的な数学演算子の優先順位を導入しました。このスタックは HyperCard 2.1 で構築され、テストされました。

特徴MacMind リファレンス
HyperCard2.0 / 2.1
システムソフトウェアSystem 7(最低限:7.6.1)
RAM1 MB(推奨:2 MB)
プロセッサ68000 / 68030 (Mac SE/30)
対応 OSMac OS 8, Mac OS 9, Mac OS X Classic Environment (PowerPC 版 10.4 Tiger まで)

実際のビンテージハードウェア上では、各学習ステップで数秒を要し、完全な学習には数時間を要します。Basilisk II または SheepShaver で動作する現代のマッキン tosh 上でもパフォーマンスは同等です。ボトルネックはホスト CPU ではなく、ハイパートークの解釈実行にあります。

ご自身でも動かす方法

クイックスタート(学習済みモデル)

  1. Releases から
    MacMind-Trained.img
    をダウンロードします。
  2. System 7 からの Mac OS 9 までのマッキン tosh か、エミュレーター(Basilisk II, SheepShaver, Mini vMac)で開きます。
  3. MacMind スタックをダブルクリックします。
  4. カード 3(Inference)へ移動し、「New Random」をクリックし、次に「Permute」をクリックします。

学習過程を観察する(空のスタック)

  1. Releases から
    MacMind-Blank.img
    をダウンロードします。
  2. マッキン tosh かエミュレーターで開きます。
  3. カード 2(Training)へ移動します。
  4. 短時間の試行には「Train 10」をクリックするか、「Train to 100%」をクリックしてサンプルでのスコアが完璧になるまで学習を続けます。長時間の学習を行う場合は、メッセージボックス(Cmd-M)を開き、
    trainN 1000
    と入力することで連続して 1,000 ステップ分の学習を行います。モデルは毎回中断した箇所からつづいて学習します。

数学的妥当性の検証(Python)

validate.py
スクリプトは、正確に同一のトランスフォーマーを再実装した Python/NumPy のリファレンス実装です。同じタスクで同じアーキテクチャを使用して学習を行い、100% の精度に収束することを確認します。

pip install numpy
python3 validate.py

クレジット

  • Frank Rosenblatt (1958) -- ペルセプトロン:重みを調整することで例題から機械が学習できることを初めて実証したものです。
  • Paul Werbos (1974) / Rumelhart, Hinton & Williams (1986) -- 逆伝播:本プロジェクトが実装している学習アルゴリズムです。
  • Vaswani et al. (2017) -- "Attention Is All You Need":このモデルが実装しているトランスフォーマーアーキテクチャです。
  • Cooley & Tukey (1965) -- その位相反転置換が学習タスクである高速フーリエ変換(FFT)アルゴリズムです。

MacMind は Sean Lavigne によるオリジナル実装です。

Falling Data Zone よりも他

AgentBridge -- AI エージェントをクラシックマックに接続します。Claude や他の AI エージェントをクラシックマック OS に接続するための、シンプルなテキストベースのプロトコルに基づくネイティブな System 7 / Mac OS 8 / Mac OS 9 アプリケーションです。実際のハードウェアとエミュレーターで動作します。 さらに多くのアプリは apps.fallingdata.zone でご覧いただけます。

ライセンス

MIT。LICENSE ファイルを参照してください。

同じ日のほかのニュース

一覧に戻る →

2026/04/16 23:23

Claude オプス 4.7

## Japanese Translation: Claude Opus 4.7 は、すべての Claude プラットフォーム、API、Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry において大幅な向上と一般利用を開始しました。先進的なソフトウェア工学における主要な飛躍として、長期的自律性と自己検証機能が強化された Opus 4.6 を引き継ぎます。モデルのビジョン能力も著しく向上し、最大約 375 万画素(従来の 3 倍以上)までの画像に対応します。料金は Opus 4.6 と同一の、入力トークン当たり 5 ドル、出力トークン当たり 25 ドルで維持され、より微細なトレードオフ制御を可能にする新たな"xhigh"レベルが導入されました。内部評価では、93 タスクからなるベンチマークにおけるコーディング精度が 13% 向上し、4 つの以前は解決不能だったタスクを完遂することを実現するなど大きな進歩が見られます。また、「General Finance」モジュールでは、Opus 4.6 の 0.767 に対し 0.813 という大幅な金融分析能力の進歩、CursorBench(明確回答率 70%)や Complex Multi-step Workflows(+14%)といったベンチマークでも著しい向上を記録。さらに Rakuten-SWE-Bench 上の本番タスク解決数は 3 倍に増加し、コード品質でも二位桁の改善が実現しました。これらの進展は、Devin などのような環境での長期的自律性を可能にし、Replit においては同等かそれ以下のコストで高性能な実行を達成します。新機能としては、「task budgets」ベータ版およびバグレビュー専用の `/ultrareview` スラッシュコマンドが含まれます。本リリースは「Project Glasswing」の一貫した慎重な安全アプローチと整合しており、自動的な防護機構により高リスクのサイバーセキュリティ用途をブロックすると同時に、正当な研究者に新しい Cyber Verification プログラムへの参加を呼びかけています。結論として、Opus 4.7 は金融分析や工学など重要分野における一貫性の新基準を設定し、次世代 AI ツールの採用準備が整った企業向けに、強化されたパフォーマンスと戦略的リソース管理を提供します。

2026/04/17 2:12

ほぼすべてのことに適用可能なコードックス。

## Japanese Translation: OpenAI は、Codex アプリに対する主要なアップデートを導入し、それを受動的アシスタントからユーザーのコンピュータを直接操作する能動的で自律的なエージェントへと変革します。macOS 上の高度なバックグラウンド機能(カーソル制御[見る、クリック、打つ]とマルチエージェント並列処理)を活用し、Codex はプルリクエストのレビュー、SSH を介したリモート環境の管理、PDF やスプレッドシートなどのリッチなファイルプレビューを開くことができます。アプリ内に統合されたブラウザを通じて、ユーザーは Web ページ上に直接コメントを付けることで正確な指示を提供できます。新しいシステムには、個人のコンテキストと好みを記憶するためのメモリレイヤーが追加され、90 以上のプラグインにより GitHub、GitLab、Atlassian、CircleCI、CodeRabbit などの外部ツールとの接続が可能になります。Codex は désormais、来週の日数や週間を跨いで作業をスケジューリングし、自律的に目覚めることで長期タスクをサポートします。また、Google Docs、Slack、Notion、コードベース内のオープンなコメントに基づき、能動的にアクションを提案します。さらに、このアップデートには gpt-image-1.5 が統合され、製品コンセプト、フロントエンドデザイン、マockアップ、ゲームなどの同じワークフロー内で画像の生成と反復を行うことができます。今日、ChatGPT にサインインしたデスクトップユーザー向けにロールアウトされており、これらの機能は間もなく Enterprise、Edu、EU、UK アカウントにも拡大されます。

2026/04/17 6:56

グイが、デュオテープ、古いカメラ、およびCNCマシンを組み合わせて、AIを駆使したハードウェアハッカー用の腕を作成しました。

## Japanese Translation: **改善されたサマリー:** 本テキストの主なメッセージは、電子機器に対する安全なピンプローブを可能化することを目的としたソースアベイラブルなハードウェアハッキング自動化スタックである「AutoProber」の導入です。標準的なツールが盲目的に進む可能性に対して、AutoProber は CNC モーション制御、光学顕微鏡、リアルタイムオシロスコープ監視を「安全第一」というアーキテクチャに統合します。本システムはプロジェクトを読み込み、ハードウェアと接続し、軸をキャリブレーションし、エージェントまたはダッシュボードを使用してターゲットを検出およびアノテーション済みマップをステッチします。特に重要なのは、安全が独立したチャンネル(オシロスコープ チャンネル 4)によって執行されており、電圧を連続的に監視することであり、あらゆる曖昧さ、アラート、またはトリガーが発生した場合に自動回復なく即座に停止し、作業者の介入を必須としている点です。 GRBL 互換 CNC ミル(例:SainSmart Genmitsu)、USB 顕微鏡、および Siglent オシロスコープを基盤とし、本スタックは現在、特定の安全制約付きで制限リリースカンドイドとして存在しています:コントロールダッシュボードが信頼できないネットワークに露出させてはならないこと、および商用ライセンス発行にはメールでの申請が必要であることが含まれます。本プロジェクトは、複雑なプローブ作業中の機器破損や人身傷害を防ぐために、ダッシュボード上でのプローブターゲット承認などの作業者による専用の監督を強調しており、ハードウェアハッキングにおける標準的な自動化ワークフローの前提を根本的に変化させます。