AI News HubLIVE
サイト内リライト2 分で読了

Claude Codeを使ってMoebius 0.2B画像修復モデルをブラウザで動作させる

Simon Willison氏がClaude Codeを用いて、Moebius 0.2B画像修復モデルをPyTorch/CUDAからWebGPU対応のブラウザへ移植。モデル変換、デプロイ、キャッシュ最適化を経て、オンラインで動作するデモを実現した。

Simon Willison氏は、Moebius 0.2B画像修復モデルをブラウザ上で動作させることに成功し、その全工程を公開しました。Moebiusは軽量ながら高性能な画像修復モデルで、画像の欠損領域をインテリジェントに補完します。当初はPyTorchとNVIDIA CUDAに依存していましたが、Willison氏はそのパラメータ数の少なさに着目し、WebGPUへの移植を試みました。

プロジェクトはHacker Newsの投稿をきっかけに始まり、Claude.aiで事前調査を行いました。その結果、Transformers.jsではなく、ONNX Runtime WebをWebGPUバックエンドとして利用する方針が提案されました。その後、Claude Codeを用いて実際のコーディング作業に着手しました。

Willison氏はローカルにプロジェクト用のディレクトリを作成し、Moebiusのソースコード、モデル重み、ONNX RuntimeやTransformers.jsのリポジトリを準備。Claude Codeに「モデルをONNXとWebGPUに移植し、シンプルなUIでブラウザ上で実行できるようにする」という指示を与えました。作業中は頻繁にコミットし、notes.mdファイルに進捗を記録するよう指示しています。

Claude Codeの努力により、モデルはONNX形式に変換され、約1.24GBの重みがHugging Faceのsimonw/Moebius-ONNXリポジトリに公開されました。フロントエンドはGitHub Pagesにデプロイされ、simonw.github.io/moebius-web/からアクセス可能です。

初期バージョンではページをリロードするたびに約1.3GBのモデル重みを再ダウンロードする問題がありましたが、Whisper Webデモの実装を参考に、CacheStorage API(caches.open("transformers-cache"))を用いたキャッシュ機構を追加することで解決しました。

最終的に、このモデルはChrome、Firefox、Safariの主要ブラウザで正常に動作しました。Willison氏はこの経験から、Claude Opus 4.8がモデル変換からWebアプリケーション構築までを自律的に行えること、主要ブラウザがこうしたAIモデルの実行に対応していること、CacheStorage APIが大容量ファイルのキャッシュに有効であること、そして何よりクライアントサイドのみで画像修復が可能になったことを重要な学びとして挙げています。

また、ONNX形式についての理解も深まりました。ONNXはニューラルネットワークのポータブルなファイル形式であり、計算グラフと重みを内包し、ハードウェアに依存せず計算内容のみを記述します。PyTorchにはtorch.onnx.export関数が組み込まれており、簡単にONNXモデルをエクスポートできます。

プロジェクトのClaude Codeとの対話記録も公開されており、興味のある開発者は参考にすることができます。