AI News HubLIVE
站內改寫2 分鐘閱讀

使用Claude Code將Moebius 0.2B圖像修復模型移植到瀏覽器中運行

西蒙·威利森使用Claude Code將Moebius 0.2B圖像修復模型從PyTorch/CUDA移植到使用WebGPU的瀏覽器中。整個過程涉及模型轉換、部署和緩存優化,最終實現了可在線運行的演示版本。

西蒙·威利森(Simon Willison)近日成功將Moebius 0.2B圖像修復模型移植到了瀏覽器中,並分享了他的整個過程。Moebius是一個輕量級但效果出色的圖像修復模型,能夠智能填充圖像中被標記的缺失區域。該模型最初依賴PyTorch和NVIDIA CUDA,主要面向服務器端運行。威利森受到其小參數量的啓發,決定嘗試將其遷移到WebGPU上,實現純瀏覽器端的運行。

項目的起點是Hacker News上的一篇帖子,威利森隨後使用Claude.ai進行了初步可行性研究。研究建議使用ONNX Runtime Web作為WebGPU後端,而非他最初設想的Transformers.js。在確認可行後,他啓動了Claude Code來實際執行代碼工作。

威利森在本地創建了項目目錄,並準備了必要的資源,包括Moebius的源代碼、模型權重以及ONNX Runtime和Transformers.js的倉庫。隨後,他讓Claude Code開始工作,並指示其頻繁提交代碼和記錄notes.md文件。整個過程他幾乎未查看任何代碼行,而是將時間花在測試和提出改進建議上。

在Claude Code的努力下,模型被成功轉換為ONNX格式,併發布了約1.24GB的權重到Hugging Face上的simonw/Moebius-ONNX倉庫。隨後,前端代碼被部署到GitHub Pages,用户可以通過simonw.github.io/moebius-web/訪問演示。

早期版本存在一個顯著問題:每次頁面刷新都會重新下載約1.3GB的模型權重。為解決此問題,威利森參考了Whisper Web演示的實現,指示Claude Code使用CacheStorage API(caches.open("transformers-cache"))來緩存權重,從而避免了重複下載。

最終,該模型在Chrome、Firefox和Safari上均能正常工作。威利森強調,這次經歷讓他認識到幾個關鍵點:Claude Opus 4.8能夠獨立完成從模型轉換到Web應用的全流程;主要瀏覽器已具備運行此類模型的能力;CacheStorage API可以處理大文件緩存;以及最重要的是,客户端純Web應用的圖像修復功能已成為可能。

威利森還分享了他從該項目中學到的技術細節,特別是關於ONNX的理解:ONNX是一種與框架無關的神經網絡文件格式,包含計算圖和權重,僅描述計算內容而不指定硬件,通過opset版本控制算子語義。PyTorch內置的torch.onnx.export函數可用於導出ONNX模型。

該項目的完整Claude Code對話記錄也已公開,供有興趣的開發者參考。