orangeitems’s diary

クラウドで働くインフラエンジニアの日々の感想です(ほぼ毎日更新)。

MacOSで今後機械学習はしばらく無理?それとも秘策がある?

f:id:orangeitems:20191125171628j:plain

 

MacOSでNVIDIAドライバーが使えなくなっていく

MacBook Proは使っているんですが、ノートPCであり機械学習うんぬんはWindowsのデスクトップPCだよねということで気にもしていませんでした。

MacOS + eGPUでNVIDIA、なんて使い方はやろうと思えばできるかな、と頭の片隅では思っていたんですが、事情が変わったことを今さら理解しました。

 

applech2.com

 NVIDIAがCUDA Toolki 10.2をリリースすると共に、次期アップデートからはmacOSは非サポートになると発表しています。詳細は以下から。

 NVIDIAは現地時間2019年11月17日、ToolkitとNVIDIAドライバを含んだCUDA v10.2をリリースしましたが、同リリースノートによると、CUDA Toolkit v10.2はmacOSをサポートする最後のアップデートとなるそうです。

 

いや、そもそもNVIDIAのドライバー自体もMacOSでは使えなくなっていくと言う状況はもう現在起きている模様。

 

bombox.net

macOS MojaveにアップデートされたiMac, MacBookシリーズ, Mac miniでは、NVIDIAのグラフィックスカードをeGPUまたは内蔵GPUとして使うことができません。macOS High Sierraリリース時はそんなことは起きなかったのに、今現在、なぜそのような事態になってしまったのかを時系列で書いておこうと思います。これはCUDAがmacOS Mojave上で動作しないことも意味しています。ちなみに自分はAKiTiO Node ProにPalitのGTX 1080を載せていますが、もはや文鎮…。

また、当初はAppleがグラフィックスAPIである”Metal“を”Metal 2″にアップデートしたからだと言われていたが、どうやらそれは違うようだ。また、macOS Mojave上で非対応のNVIDIA GPUを無理矢理に動作させようとすると、ハードウェアアクセラレーションの恩恵が受けられなくなるため、使い物にならないほどにカクカクになる。

 

これは・・なかなか深刻です。

 

まとまっている記事

もっと正確に理解したいな、ということでまとまっている記事を探しました。

 

infornography.blue

2019年11月24日追記

NVIDIAがApple製デバイス向けのCUDAサポートを終了することが発表されたため、今後は非公式な方法でMacでGeForceを使用したとしてもCUDAの利用は実質不可能になります。
本ページの情報はあくまでRadeonをeGPUとして利用する想定で執筆しています。

 

eGPUは全く使えないというわけではなく、AMDのRadeonしかサポートしないと思ってよさそうです。

ただし、機械学習をやろうとするとCUDAを使えないイコールいろんなライブラリが使えないということにほかなりません。

うーん、私もNVIDIA中心でいろいろと勉強してきたので、MacOSは(今のところ)つらいことになっていますね。

 

感想

AppleはNVIDIAをバッサリ斬ったように見えます。

一方で、まだAI関連はNVIDIAの独壇場であり、今後MacOSでのAIデベロッパー関係はどうなっていくのか。むしろ、GPUに依存しないなにかAI専用チップが出てきて、ソフトウェアも巻き込んで変革があるのか。Appleもハードウェアまで手掛けている企業であるため秘策があるのか。

何か、大きなイノベーションが今後控えているのではないかと勘繰ってしまう、今回のAppleによるNVIDIA斬りでした。

 

追記

こういうのあるみたいですが、汎用的に使えるのかなぁ。

 

developer.apple.com

Core ML 3、Create ML、パワフルなAシリーズチップ、Neural Engineを使用して、業界最高水準のオンデバイス機械学習による、リアルタイムでパーソナライズされた体験を構築しましょう。Core ML 3は、これまでになく高度な機械学習モデルに対応しています。Create MLと組み合わせることで、Mac上で、コードを1行も書かずに機械学習モデルを構築できるようになりました。

 

調べてみよう。