ARM64 Windows PC (Copilot+ PC) を開発業務に使う
こんにちは!
株式会社テックピットでテックリードをしている土川です。
テックピットでは、プログラミング教材プラットフォームの「techpit.jp」や、企業向けのスキルマップ管理SaaSの「SkillDB」を運営しています。
そんなサービス開発に使う、開発PCに ガジェットに詳しい方なら聞いたことのあるであろう Copilot+ PCを使ってみたことが今回のテーマです。
Copilot+ PC とは
Copilot+ PCは、Microsoftが定義したAI特化のPCです。ローカルでAIが動作し、以下のような機能を提供します:
- 文字起こし
- Webカメラのリアルタイム画像加工
- 画像生成
また、まだリリースされていませんが、「Recall」という機能も予定されています。これは画面録画をマルチモーダルAIで分析し、後から言葉だけでファイルを検索できるようにするものです。例えば、「赤い風船が挿絵に入ったスライド」といった検索が可能になると思われます。
具体的には、ローカルで機械学習のモデルが省電力に動かせるように40TOPS以上の演算性能をもつNPUや16GB以上のメモリなどの要件が定められています。
NPUとは
NPU(Neural network Processing Unit)は機械学習のモデルを推論するのに特化したチップで、整数演算にのみ対応することで浮動小数点演算にも対応したGPUよりも効率良く推論をすることができます。
Appleは早くから、AシリーズチップやMシリーズチップにこのNPUを搭載していましたが、ようやくPCにもIntel Core Ultraシリーズなどから搭載され始めています。
ただし、2024年8月現在、現行のモバイルIntel CPU はNPU性能が16TPOSとCopilot+ PCの要件を満たしていません。
現状Copilot+ PCに対応するのはSnapdragon X Elite / Plusだけ
そんな、AI特化のCopilot+ PCは、現状 Snapdragon X Elite / Plus のCPUだけが40TOPSを満たしているため対応しています。
Snapdragonに聞きなじみが無い方も多いかもしれませんが、Android向けスマホではかなりのシェアを持っているブランドです。
Snapdragonは、IntelのCPUがx86アーキテクチャを採用しているのに対し、ARMアーキテクチャを採用しています。
ARMアーキテクチャは、低消費電力と高効率性で知られており、スマホなどのモバイルデバイスで広く使用されてきました。
同じくARMアーキテクチャを採用しているPC向けプロセッサとしてAppleのMシリーズがあります。
RaspberryPiも同じくARMアーキテクチャを使ったPCですね。
ARM版のWindows
ここまで見てみると、MicrosoftがAppleのMシリーズの成功を見て、急遽真似してきたように見えますが、そういうわけでもありません。
実はこのCopilot+ PCの前にはいろいろな負の遺産があるのです...
WinRT
悪名高いWindows8や、SurfaceProシリーズが発表されたころ、無印Surfaceの搭載OSとして「WindowsRT」がリリースされました。
このWindowsRTは、ARMプロセッサ向けに設計されたWindowsの特別版でした。しかし、x86アプリケーションとの互換性がなく、専用のアプリストアからのみアプリをインストールできるという制限があったため、ユーザーからの評判は芳しくありませんでした。結果として、WindowsRTは市場での成功を収めることができず、短命に終わりました。
Windows 10 on ARM
WindowsRTの失敗を経て、MicrosoftはARMプロセッサ向けのWindows開発を続けました。2017年には「Windows 10 on ARM」を発表し、QualcommのSnapdragonプロセッサを搭載したPCで動作するWindows 10を提供し始めました。このバージョンでは、x86アプリケーションのエミュレーションをサポートし、WindowsRTの主な欠点を克服しました。
私が初めて購入したARM Windowsマシンも、このWindows 10 on ARMを搭載したSurface Pro Xです。
ARMプロセッサ搭載によりファンレスで本体の厚さもPCとは思えないほど薄くなっています。(余談ですが、現行のCopilot+ なSurfaceProよりも薄いです。)
しかし、初期のWindows 10 on ARMには性能面での課題がありました。エミュレーションによる性能低下や、64ビットアプリケーションのサポート不足などの問題があり、一般ユーザーへの普及は限定的でした。
Windows 11 on ARM
Windows 11のリリースに伴い、ARM版Windowsも大きく進化しました。
- 64ビットアプリケーションのエミュレーションをサポート
- 全体的な性能が向上
- ARM向けにネイティブコンパイルされたアプリケーションの増加
これらの改善により、使い勝手が大幅に向上しました。
Windows 11 on ARM 24H2
Copilot+ PCのリリースに合わせて、Microsoftはx86アプリのエミュレーション機構を刷新しました。
- 新しいエミュレーション機構の名称:Prism
- ソフトウェアの互換性が大幅に向上
- エミュレーションのパフォーマンスが劇的に改善
個人的な使用感でも、以前のバージョンと比較して、パフォーマンスの向上を実感しています。
ただし、カーネル付近など、よりシステムに近い領域で動くソフトウェア(例えばデバイスドライバーなど)は動作しないなど、まだ課題も残されています。
Windows 11 on ARM / Copilot+ PC を開発業務で使う
さて、いよいよ主題です。
6月に発売された新型のSurface Proを約2か月、開発に使ってみてよかった点、悪かった点をまとめていきます。
ARM、Copilot+ PCの特徴が混ざらないようにそれぞれでまとめていきます。
Windows 11 on ARM
良かった点
- Microsoftがソフトウェア会社に呼びかけたからか、ARM64対応アプリがかなり増えた
- ChromeやSlack、VPNなどに使うtailscaleが対応してくれたのは大きい
- 普段業務に使うアプリケーション群が動作しない・使えないレベルで遅いなどが無い
- Prismエミュレータが優秀。DBeaverやVisual Studioも普通に動く
- 特にWSL2上のUbuntuでは、全く困らない(linuxでARM64は結構使われていますしね)
- 電源などが確保できない会議室などで2時間以上会議しても、余裕で電池が持つ
- これまでMacを使っていた理由の一番が電池持ちだったので、これは大きい
- めったにファンが回らない・熱くならない
電池持ちやファンがめったに回らなくて回ったとしても静かなのは大きなメリットですね。
悪かった点
- サードパーティーIMEが動かない
- 具体的にはATOKが正常に動かない。x86アプリに対して入力できるがARM64対応しているChromeなどには入力出ない。
- ARM64対応していないElectronアプリが、少しストレスを感じるレベルで重い
- SlackやMattermostなどはARM64対応しているが、NotionやDiscordが対応していなくかなりもっさり。
- Web版を使うことで回避できる。
- ただし、AIコードエディタのCursorはx86ビルドだが結構快適に動いた(これが遅かったら耐えられなかったかも)
- SlackやMattermostなどはARM64対応しているが、NotionやDiscordが対応していなくかなりもっさり。
- 数日間、起動しっぱなしだと主に画面描画あたりでバグる
- これはARM Windowsの問題というよりは、ドライバーの成熟度の問題であると思います。(Intel Arcも最初はひどかった)
Copilot+ PC
良かった点
- CPUに負荷がかからずWebカメラの背景ぼかしや、目線のAI修正、漫画調のフィルタなどが使えた点
- 弊社はオンラインのメンバが多いため、ビデオ会議はかなり多いのでかなり良かった点の一つ。
他は画像生成や文字起こしは実用に耐えないため使っていないです。Recallは早くリリースされてほしいですね。
悪かった点
- 使えるアプリが限定的すぎるし、機能もお粗末
- NPUを使って開発をする体制ができていない
- Microsoftが提供するDirectMLなどにNPUはまだ非対応(対応する気はあるらしい)
上にも書いた通り、画像生成や文字起こしは実用できないレベルで、サードパーティーアプリも全然リリースされていない。
総評
電池持ちが良いという理由でWindowsからMacへ乗り換えようとしている人には最適。
ARMなどのCPUが好きな人には最高級の嗜好品。
あとはATOKなどのIMEが対応してくれれば、何も言うことはありませんね。
ただし、一部のセキュリティソフトウェアがまだ完全にARM64に対応していないため、企業での導入には慎重な検討が必要かもしれません。
(騒ぎを起こしたCrowdstrikeなどは対応している模様)
また、一部の専門的なソフトウェアやレガシーなアプリケーションが動かない場合もあるので、業務上必要不可欠なソフトウェアの互換性を事前に確認することが重要ですね。
今後とおまけ
Surface Pro、キーボードが取り外せるということもあり、画像のように自分の好きなキーボードと組み合わせてつかえるというのも良い点ですね。
せっかく40TOPSも性能があるNPUを遊ばせておくのはもったいないので、対応アプリなどを個人で開発してみようと思います。
こちらのMicrosoftのページにある程度まとまっています。
参考程度に自分が確認したアプリの一覧を載せておきます。
正式にARM対応しているアプリ
- Chrome
- Firefox
- Slack
- VSCode
- Microsoft Office(プラグイン互換性維持のため一部x86動作)
- PowerToys
- RustRover
- Rider
- Unity6000
ベーター版などでARMに対応しているアプリ
- Docker Desktop
- Mattermost
- tailscale
ARM版はないが、快適に動くアプリ
- Cursor
- Dbeaver
- Kindle for PC
- 1Passowrd
- Cider (AppleMusic)
快適ではないが動くアプリ
- Notion
- Discord
- Unity
落ちる、インストールできない、動作しないアプリ
- ATOK
Discussion