(新版)Macで生成AIを使おうと思ったらGPUの歴史を辿った
GPT searchを使って、以前書いた記事の内容と、関連する情報源を改めてピックアップ。新しい情報源を加えることで、文章を再編集しました。
再編集の仕上げにはGeminiも使用しています。
(生成AIの回答は必ずしも正確とは限らないため、参考情報として使う場合は確認をお願いします)
MacでもWindowsのようにローカルでLLMを動かしてみたい。
でもそんな簡単にはいきませんでした。
調べいくうちにGPUの歴史の調査に目的が変わっていました。
※カバー画像はImageFXで生成しました。
MacのGPUの歴史
AppleのMacシリーズは、時代とともにさまざまなGPU(グラフィックス・プロセッサ・ユニット)を搭載し、グラフィック性能を向上させてきました。以下に、主なモデルと搭載されたGPUの変遷をまとめます。
1994年: Power Macintosh 9500/200にATIのRage IIc GPUを搭載。
1997年: Power Macintosh G3にATIのRAGE 128 GPUを搭載。
2002年: Power Mac G5にATIのRadeon 9700 GPUを搭載。
2006年: MacBook ProにNVIDIAのGeForce 8600M GT GPUを搭載。
2010年: MacBook AirにIntelのHD Graphics 3000 GPUを搭載。
2013年: Mac ProにAMDのFirePro D300 GPUを搭載。
2015年: MacBook ProにAMDのRadeon R9 M370X GPUを搭載。
2016年: MacBook ProにAMDのRadeon Pro 460 GPUを搭載。
2018年: MacBook ProにAMDのRadeon Pro Vega 20 GPUを搭載。
2020年: MacBook ProにApple独自開発のMチップ内蔵GPUを搭載。
Appleは、初期のMacではATI(現AMD)やNVIDIA製のGPUを採用していましたが、近年は自社開発のAppleシリコンに移行し、CPUとGPUを統合したSoC(System on a Chip)設計を採用しています。このため、M1チップ以降のMacでは、ユーザーによるGPUの拡張は原則できません。一方、Windows PCの場合、デスクトップPCであればグラフィックボードの交換、ノートPCであればeGPU(外付けGPU)の使用により、GPU性能を比較的容易にアップグレードすることができます。
AppleのM1チップ以降のMacでは、ユーザーがグラフィックボードを交換したり、eGPUを追加することはできません。これは、Appleが自社開発のSoC(System on a Chip)を採用し、CPUとGPUを統合した設計となっているためです。
Appleの公式サポートページでも、eGPUの利用には(現在は販売していない)Intelプロセッサ搭載のMacが必要と明記されています。そのため、M1チップ搭載機以降は、eGPUを利用していたユーザーも、内蔵GPUに頼らざるを得ない状況になっています。
ただし、Intelプロセッサ搭載のMacでも、すべてのモデルでeGPUが利用できるわけではありません。 Thunderbolt 3ポートの有無や、macOSのバージョンなど、いくつかの条件を満たす必要があります。
(Intel搭載Mac miniでeGPU活用例)
AppleとNVIDIA
AppleがNVIDIAのGPUを採用しなくなったのは、両社の技術的な方向性や市場戦略が大きく異なるようになったためです。Appleは、自社製品のハードウェアとソフトウェアを完全に統合し、独自のエコシステムを構築することを目指すようになり、自社開発のAppleシリコンの開発に注力しました。一方、NVIDIAはAI分野での技術革新を加速させ、高性能なGPUを開発することで、データセンターや自動運転車など、様々な分野で事業を拡大しています。
かつて、両社はMacの性能向上に協力していましたが、macOSにおけるCUDA(Compute Unified Device Architectureのサポート終了など、技術的な壁が生まれ、協力関係は次第に薄れていきました。現在、両社はそれぞれ異なる分野で競合しており、互いの技術を共有することは難しくなっています。
変化は2019年
かつてMacにはNVIDIA製のGPUが搭載されていましたが、2019年後半、AppleがAMD製GPUの採用を強化し始めた頃から、両社の関係に変化が見られるようになりました。Appleは、自社開発のSoCであるM1チップの発表により、ハードウェアとソフトウェアを最適化し、より一体感のあるシステムを実現することを目指すようになり、AMD製GPUとの連携を深めました。
一方、NVIDIAは、CUDA Toolkitのバージョン11でmacOSのサポートを正式に終了し、AI分野での技術革新に注力するようになりました。これにより、Mac上でのCUDAアプリケーションの開発や実行は、以前ほど容易ではなくなりました。ただし、一部のコミュニティや開発者によって、非公式な手段でCUDAを利用する方法が模索されています。
かつてMacBook Proに搭載されていたNVIDIA製GPUでは、2008年頃に一部のモデルで重大な不具合が発生し、大規模な修理プログラムが行われました。この問題は、両社間の信頼関係に影響を与え、Appleはその後、AMD製GPUの採用を強化するようになりました。
さらに、AppleはmacOS 10.14 MojaveでCUDAのサポートを終了したことで、Mac上でのNVIDIA製GPUの利用が制限されました。この決定は、機械学習やディープラーニングなど、GPUコンピューティングを必要とする分野でMacを利用していたユーザーにとって大きな影響を与えました。
AppleがM1チップを搭載したMacを発表したことで、NVIDIA製GPUの採用は事実上不可能となり、MacでのGPU利用は、Appleシリコンに最適化されたソフトウェアやフレームワークへの移行が求められるようになりました。
(両者は新たな舞台で競う)
M1チップの発表
2020年11月10日、Appleは、Mac向けの初の自社設計チップであるM1を発表しました。M1は、CPUとGPUを一体化することで、Macの性能と効率を大幅に向上させました。
M1チップのGPUは、モデルによって最大8コアを搭載し、2.6テラフロップスの演算性能を実現します。これは、従来のIntelプロセッサ搭載Macに比べて、最大5倍のグラフィック性能に相当すると言われています。これにより、動画編集や3Dグラフィックスなどのグラフィック処理を伴う作業が、よりスムーズに行えるようになりました。
M1チップのメリットは、グラフィック性能の向上だけではありません。CPU性能も大幅に向上し、マルチタスクやアプリケーションの起動が高速化されました。また、機械学習の処理も高速化され、AIを活用した機能がよりスムーズに動作するようになりました。さらに、M1チップは非常に省電力であるため、バッテリー駆動時間も大幅に延長されました。
Appleがシステム・オン・チップ(SoC)設計を採用した主な理由は、性能向上と電力効率の最適化です。SoC設計により、CPU、GPU、メモリ、I/Oなどの主要コンポーネントを一つのチップに統合することで、データのやり取りが高速化し、全体的なシステム性能が向上します。また、統合設計により、各コンポーネント間の通信距離が短縮され、電力消費が抑えられるため、バッテリー駆動時間の延長にも寄与します。
M1 ProとM1 Maxの登場
2021年10月18日、Appleは、M1 ProとM1 Maxを発表し、Mac向けの自社設計チップのラインナップを拡充しました。これらのチップは、M1をベースに、プロフェッショナルユーザー向けの高度な処理能力を実現するために開発されました。
M1 Proは、最大16コアのGPUを搭載し、200GB/sのメモリ帯域幅を持つことで、M1に比べてグラフィック性能が最大2倍、メモリ帯域幅が1.6倍向上しました。ProResコーデックのハードウェアアクセラレーションに対応し、4Kや8K動画の編集を高速化。また、強化されたメディアエンジンとNeural Engineにより、動画エンコードや機械学習タスクの性能も大幅に向上しています。
M1 Maxは、M1 Proをさらに強化したモデルで、最大32コアのGPUと400GB/sのメモリ帯域幅を搭載しています。これにより、極めて高度なグラフィック処理や、大規模なデータセットを用いた機械学習タスクもスムーズに実行できます。
M1 ProとM1 Maxは、動画編集者、グラフィックデザイナー、開発者など、高度な処理能力を必要とするプロフェッショナルユーザー向けに設計されており、これらのユーザーがよりクリエイティブな作業に集中できる環境を提供します。
Mチップの変遷
AppleのMシリーズは、トランジスタ数の増加に伴い、性能が着実に向上しています。特に、GPUコア数の増加により、グラフィックス処理や機械学習などの並列処理能力が大幅に向上し、プロフェッショナル向けの分野まで、幅広い分野で高いパフォーマンスを発揮できるようになりました。
チップ名/発表時期/トランジスタ数/GPUコア数
M1/2020年11月/160億個/最大8コア
M1 Pro/2021年10月/337億個/最大16コア
M1 Max/2021年10月/570億個/最大32コア
M1 Ultra/2022年3月/1140億個/最大64コア
M2/2022年6月/200億個/最大10コア
M2 Pro/2023年1月/400億個/最大19コア
M2 Max/2023年1月/670億個/最大38コア
M2 Ultra/2023年6月/1340億個/最大76コア
M3/2023年10月/250億個/最大10コア
M3 Pro/2023年10月/500億個/最大18コア
M3 Max/2023年10月/800億個/最大40コア
M4/2024年10月/300億個/最大10コア
M4 Pro/2024年10月/600億個/最大20コア
M4 Max/2024年10月/900億個/最大40コア
Macは機械学習に適しているのか
進化を続けるMチップですが、機械学習のツールとしては、NVIDIAのGPUが広く採用されている現状があります。NVIDIAのGPUは、CUDAという強力なプログラミングモデルを備えており、大規模な並列計算を効率的に実行できるため、特にディープラーニング分野で高い性能を発揮します。
一方、AppleのMチップは、独自のGPUアーキテクチャを採用しており、Metalというプログラミングモデルを提供しています。Metalは、Appleのエコシステムに最適化されており、Macのハードウェア性能を最大限に引き出すことができます。Mチップは、統合型の設計によりCPUとGPUが密に連携し、機械学習における様々なタスクを効率的に処理できる点が特徴です。
ただし、現状では、CUDAに比べてMetalに対応した機械学習フレームワークやライブラリは限られており、大規模なモデルのトレーニングなど、高度な機械学習タスクには、NVIDIAのGPUの方が適している場合があります。
最先端の深層学習研究や大規模なモデルのトレーニングには、NVIDIAのGPUを搭載したシステムが依然として有利とされています。
しかし、Appleは、Mチップの機械学習性能を向上させるために、Metal Performance Shaders(<PS)などの機能を強化しており、今後も更なる発展が期待されます。
また、2022年5月、機械学習フレームワークであるPyTorchが、AppleのMetal Performance Shadersを活用し、MacのGPUを利用したトレーニングをサポートするようになりました。これにより、従来のCPUのみを利用したトレーニングと比較して、トレーニング時間が大幅に短縮され、大規模なモデルのトレーニングも現実的になりました。
に対応するバージョンをリリースしており、Mチップ上で様々な機械学習モデルを構築できるようになっています。
ハイエンドプロにとって使いにくい?
Mチップ登場時、GPUの制約は特に映像制作や3Dレンダリングなど、高度なグラフィック処理や機械学習を必要とするプロフェッショナルユーザーにとって大きな問題として騒がれたようです。従来のIntelベースのMac Proでは、PCIeスロットを活用して外部GPUを追加し、グラフィック性能を向上させることが可能でしたが、Mチップ搭載のMacではそれが不可能となっています。
クリエイターやプロフェッショナル向けに設計されたM1 UltraやM2 Ultraチップ搭載のデスクトップ機であるMac Proも同様です。
M2 Ultraは、2023年6月6日に開催されたAppleの開発者向け会議「WWDC23」で発表されました。M1 Ultra同様にM2 Ultraチップ搭載のMac Proも、外部GPU(eGPU)をサポートされませんでした。
Appleのハードウェアエンジニアリング担当上級副社長であるJohn Ternus氏は、外部GPUをサポートしない理由として、Appleシリコンのアーキテクチャがユニファイドメモリを前提として設計されており、外部GPUとの最適化が難しいことを挙げています。このため、外部GPUのサポートは「追求したい方向ではなかった」と述べています。
最大メモリー容量も
また、M2 Ultra搭載機はメモリについても最大容量が192GBに制限されており、購入時の構成以上のアップグレードができません。8K映像のリアルタイム編集や、数十億パラメータのLLMを用いた自然言語処理タスクなど、大規模なデータセットを扱う高度なワークロードでは、大量のメモリが必要となるため、192GBの制限では処理が遅延したり、一部の機能が利用できなくなる可能性があります。 Windowsのハイエンド機種では、最大1TB以上のメモリを搭載できるモデルも存在するため、M2 Ultra搭載機のメモリ容量制限は、他の選択肢と比較してかなり厳しいと言えるでしょう。
Windowsパソコンでは、特定のハイエンドモデルにおいて最大メモリ容量が192GBを超える構成が可能です。これは、以下の理由で可能になっています:
メモリスロットの数と種類
高性能なWindowsワークステーションは、4〜8スロットのメモリスロットを持つことが多く、1スロットあたりの容量が32GB以上のメモリを使用することで、最大256GBやそれ以上のメモリ構成も可能です。ECCメモリやサーバー向け仕様のサポート
一部のWindowsパソコン、特にワークステーションやサーバー向けのモデルは、エラー訂正機能(ECC)メモリや、サーバー向けの高容量メモリモジュールをサポートしており、これにより256GBや1TB以上のメモリ搭載が可能です。こうした高メモリ構成は、仮想化や大規模データ処理、機械学習に特化した用途に対応しています。冷却システム
大容量メモリを搭載すると、発熱量が増加するため、十分な冷却性能を持つ電源ユニットや冷却ファンが必要になります。また、ケース内のエアフローも考慮する必要があります。ハイエンド棋譜にはこうした装備が整っています。
LLMにはMacよりWindows?
今後、ローカル環境でオープンソースのLLMや生成AIを実行するユーザーが増えていくでしょう。これまで述べたように、こうした点でMacは遅れをとっています。
改めて整理します。
ハードウェアの最適化不足: 多くのオープンソースLLMや生成AIモデルは、NVIDIA製のGPUを活用するよう設計されています。例えば、Stable Diffusionのような大規模な画像生成モデルは、NVIDIAのCUDA(Compute Unified Device Architecture)を利用した最適化が進んでおり、Windows環境では高速な処理が可能です。一方、MacのMシリーズチップは独自のGPUアーキテクチャを持ち、CUDAに対応していないため、同様の最適化が難しく、性能面で劣ることがあります。
ソフトウェアの互換性とサポートの差: 多くのAI関連のオープンソースソフトウェアやライブラリは、WindowsやLinux環境を主な対象として開発されています。そのため、Mac環境での動作確認や最適化が十分でない場合があり、インストールや実行時に問題が発生することがあります。
開発者コミュニティの規模と対応: WindowsやLinuxはAI開発者の間で広く使用されており、これらのプラットフォーム向けのサポートや情報が豊富です。一方、Mac向けの情報やサポートは相対的に少なく、問題解決に時間がかかることがあります。
ただ、Macは、高い安定性と直感的な操作性、そして洗練されたデザインが特徴です。 また、iOSデバイスとの連携がスムーズに行えるため、クリエイティブな作業を行うユーザーにとって魅力的な選択肢となっています。
Apple Intelligenceはどう?
Appleは、独自AI機能「Apple Intelligence」でこれまでの遅れを取り戻そうとしています。2024年10月から英語仕様の初期機能が提供開始されました。
しかし、以下の通り課題を抱えた状態でのリリースです。
ハードウェア要件の制約: Appleの生成AI機能「Apple Intelligence」は、最新のiPhone 15 Pro、iPhone 15 Pro Max、M1チップ以降を搭載したiPadやMacでのみ利用可能です。 これにより、対応デバイスが限定され、多くのユーザーが新機能を利用できない状況です。
提供地域の制限: Apple Intelligenceの提供は、米国英語から開始され、他の言語や地域への展開は2025年以降とされています。 特に日本語対応は2025年内と予定されており、日本のユーザーにとっては利用開始まで時間がかかります。
規制による遅延: 欧州連合(EU)のデジタル市場法(DMA)などの規制により、AppleはAI機能の提供を一部地域で遅らせています。 これにより、特定の地域ではAI機能の導入が遅れる可能性があります。
(Apple Intelligenceで何を目指す?)
進化を続けるAppleのGPU
AAppleは、独自設計のGPU(グラフィックス処理ユニット)を開発し、Appleシリコンに統合する戦略を継続しています。M3チップファミリーでは、次世代GPUアーキテクチャを採用し、Dynamic CachingによりGPUのメモリ帯域幅が大幅に向上し、メッシュシェーディングによりより精度の高い描画が可能となり、ハードウェアアクセラレーテッドレイトレーシングによりリアルな照明表現を実現するなど、数々の新機能を導入しました。
最新のM4チップでは、M3チップと比較して、CPU性能が約27〜30%、GPU性能が約25%向上しています。この性能向上により、より高解像度のゲームや、リアルタイムな3Dレンダリング、プロフェッショナルな映像編集など、高度なグラフィックス処理が可能なようになりました。
特に、Dynamic Cachingはリアルタイムでハードウェアのローカルメモリ使用量を割り当て、効率的なメモリ管理を実現します。また、メッシュシェーディングとハードウェアアクセラレーテッドレイトレーシングのサポートにより、グラフィックス性能が大幅に向上しています。
Appleは他社製GPUの導入をサポートせず、自社設計のGPUに注力しています。これは、Appleシリコンのユニファイドメモリアーキテクチャ(UMA)との高い親和性を確保し、最適なパフォーマンスと電力効率を追求するためです。
ハードウェアの進化に伴い、さらなるソフトウエア環境の充実も不可欠です。 Appleは、Metal APIのさらなる最適化や、機械学習フレームワークとの連携強化など、ソフトウェア環境の充実にも力を入れる必要があります。これにより、開発者はMチップの性能を最大限に引き出すことができるようになります。