AIも物理的な計算機の上で動く
AIという言葉は抽象的に聞こえます。
しかし、modelのTrainingやInferenceは、最終的には物理的なcomputer上で行われます。
つまりAIも、
- processor
- memory
- storage
- network
- power
- cooling
などの制約から完全に自由ではありません。
この章では、AIが動く場所を、
Local
Cloud / Server
Data Center
という大きな視点から見ます。
CPU
CPUは汎用のprocessorです。Operating Systemやアプリケーションを含む多くの処理に使われます。AI systemでもCPUが関係することがあります。ただし、
CPUは制御だけ
GPUはAIだけ
という固定した役割分担がすべてのsystemに当てはまるわけではありません。
AI workloadによってはCPUだけで処理される場合もあります。
GPUやAccelerator
AI、とくに大規模なneural networkの計算では、GPUやTPUなどのacceleratorが使われることがあります。こうしたprocessorは、多数の計算を並列に処理する用途に適した設計を持つものがあります。しかし、
AI = 必ずGPU
ではありません。
modelの大きさ、処理内容、software、hardwareなどによって、必要な計算資源は異なります。
Memoryも必要になる
Modelを実行するには、model weightsや処理中のdataなどを保持するmemory(メモリ/RAM)も必要になります。大きなmodelほど、一般に多くの計算資源やmemoryを必要とする場合があります。
ただし、本書では、
「このparameter数なら必ず何GB」
といったhardware sizingは扱いません。必要資源はmodel format、precision、runtime、hardwareなど複数の条件に依存するためです。
Local LLM
AI modelは必ずremote cloudで動くわけではありません。対応するmodelやruntimeを使えば、PCやmobile deviceなどlocal device上でGenerative AI modelを実行できる例があります。
概念的には、
自分のdevice
├─ CPU / GPU / accelerator
├─ memory
├─ runtime
└─ model
という形です。
これを広くLocal LLM、on-device inferenceなどと呼ぶことがあります。ただし、
Local = 必ずoffline
Local = 必ず安全
Local = Cloudより高性能
とは限りません。
Local executionが可能であることと、そのsystem全体がnetworkを利用しないことも、同じではありません。
Cloudで動く場合
AI serviceでは、利用者の端末とは別のserver側でmodelが実行される場合があります。利用者はnetworkを通じてrequestを送り、server側でInferenceが行われ、resultを受け取ります。
概念的には、
User Device
↓ network
AI Service / Server
↓
Model Inference
↓
Result
↓ network
User Device
となります。この図は、Local executionとの違いを理解するための概念図です。
一台だけとは限らない
大規模なAI workloadでは、一台のコンピュータだけで処理するとは限らず、複数のacceleratorやserverを組み合わせる構成も存在します。
その場合、
- compute
- memory
- network
を複数machine間で連携させる必要があります。
ただし、どのsystemも同じcluster構成を持つわけではありません。Vendorのreference architectureが存在していても、それは「そのような構成が存在する」Evidenceであり、全AI system共通の構造を証明するものではありません。
Data Center
多数のserverを運用する環境では、コンピュータ本体だけではなく、付帯設備も必要になります。たとえば、
- electrical power
- network
- cooling
- physical space
などです。AI workloadが動くdata centerでも、こうした設備が関係します。
なぜCoolingが必要なのか
コンピュータは計算するとエネルギーを消費し、その一部は熱になります。大量のIT機器を運用するdata centerでは、熱を適切に処理する必要があるため、気流の管理や冷却設備が重要になります。ただし、
すべてのdata centerが同じcooling方式
ということではありません。
具体的な設計方式は施設や機器によって異なります。
「Cloud」は物理世界から消えることではない
Cloudという言葉を使うと、コンピュータがどこか抽象的な空間に存在するように感じることがあります。しかしCloud serviceも、最終的には物理的な設備の上で動きます。Cloudは物理hardwareが存在しないことを意味しません。
Cloud
!=
物理hardwareが存在しない
AIがremote serviceとして提供されていても、その裏側にはcompute、network、電力などが必要です。
LocalとCloudは単純な優劣ではない
LocalとCloudを「Localが良い、Cloudが悪い」あるいはその逆として分類することはできません。
比較には、
- model size
- hardware
- latency
- network
- cost
- operation
- security/privacy requirements
- required capability
など多くの条件が関係します。
この章の目的は選定方法を教えることではなく、
AIのInferenceにも実際の物理計算資源が必要である
と理解することです。
この章のまとめ
AI computation
↓
physical compute
├─ CPU
├─ GPU / accelerator
├─ memory
├─ network
└─ supporting infrastructure
- AIもphysical computer上で動く
- CPU、GPU、TPUなどがAI workloadに関係する場合がある
- AIにGPUが必須とは限らない
- Local device上でmodelを実行できる例がある
- Local executionとCloud executionは異なる構成になり得る
- 大規模環境では複数serverやacceleratorを使う構成もある
- Data Centerではpower、network、coolingなども必要になる
- Cloudも物理infrastructureの上で動く
- 特定vendorのreference architectureを全AI systemへ一般化しない
次の章では、このような計算資源を使って動く現在のAIに、どのような限界や未解決課題が残っているのかを整理します。