7月30日、Simon Willison氏が「My 2.5 year old laptop can write Space Invaders in JavaScript now」と題したブログ記事を公開し、大きな話題となっている。この記事では、**Z.aiのオープンウェイト(MITライセンス)大規模言語モデル「GLM‑4.5**」をローカル環境で量子化して実行し、HTML5版スペースインベーダーを自動生成させた実践例**について詳しく紹介されている。以下に、その内容を紹介する。
44 GB・3bit量子化モデルをMacBook Proで走らせる
- 元モデル「GLM‑4.5 Air」は1060億パラメータ、205 GB。
- Ivan Fioravantiが公開した 3bit量子化版(44 GB) を利用し、MLXエコシステムで動作させた。
実行環境
項目 | 内容 |
---|---|
ハードウェア | 2022年製 64 GB RAM MacBook Pro (M2) |
ライブラリ | mlx‑lm main ブランチ(glm4_moe 対応コミットを含む) |
パッケージマネージャ | uv |
コマンド例(コードサンプル)
uv run \
--with 'https://github.com/ml-explore/mlx-lm/archive/489e63376b963ac02b3b7223f778dbecc164716b.zip' \
python
from mlx_lm import load, generate
model, tokenizer = load("mlx-community/GLM-4.5-Air-3bit")
prompt = "Write an HTML and JavaScript page implementing space invaders"
messages = [{"role": "user", "content": prompt}]
encoded = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
response = generate(
model, tokenizer,
prompt=encoded,
verbose=True,
max_tokens=8192
)
- 生成開始前にモデル重み44 GBを
~/.cache/huggingface/
以下へダウンロード。 - プロンプト14 トークンを14.1 t/sで処理、続く生成4 193 トークンを25.6 t/sで出力。
- ピークメモリ使用量は47.7 GB。
生成されたスペースインベーダー
<思考中>
ユーザーはHTML、CSS、JavaScriptでスペースインベーダーを実装する完全なゲームを求めている。必要機能は:
- 左右移動し弾を撃つプレイヤー機
- 隊列移動し反撃する敵インベーダー
- スコア表示
- 残機システム
- ゲームオーバー判定
モデルは上記仕様を自律的に宣言し、そのまま実行可能なHTMLファイルを一発生成した。ファイル全文はGitHubソースで閲覧でき、ブラウザ上のデモも公開されている。
SVG生成ベンチマーク:ペリカンも合格点
スペースインベーダー生成後、恒例の「ペリカンが自転車に乗るSVG」プロンプトでもテストした。44 GBモデルは以下の画像を生成した。

トランスクリプト全文はこちら。
ローカルLLM時代の到来
2025年に入ってから公開されるモデルの多くがコーディング性能を重視している。GLM‑4.5 Air 3bitをはじめ、Mistral 3.2 Small、Gemma 3、Qwen 3などがノートPC単体で実用的に動く水準へ躍進した。2年前にLLaMAを試した段階では想像もできなかった速度と品質である。
詳細はMy 2.5 year old laptop can write Space Invaders in JavaScript nowを参照していただきたい。