パフォーマンスエンジニアリングとは何か?
- 処理性能:データ処理帯域を高め、スループットを向上させる
- 応答性能:ユーザーへの応答時間を短縮し、レイテンシを削減する
- 効率性:電力効率を改善し、ワットあたりの性能を向上させる
- 経済性:費用対効果を改善し、TCOを削減する
組み込み機器
- バッテリー寿命の延長
- 省メモリ・省電力動作
PC
- 快適な操作性の実現
- 待ち時間の削減
クラウド
- 利用料金の削減
- リソース使用の最適化
スパコン
- 最高性能の実現
- 電力効率の最大化
なぜ今パフォーマンスエンジニアリングか?
-
Time-to-Marketの短縮
AIモデルの開発には多大な時間がかかりますが、学習の最適化により同等の精度をより少ない計算で達成できれば、反復回数が増え、製品改良のサイクルを高速化できます。これにより、他社に先駆けて新しいモデルやサービスを提供することができます。
-
運用コストの最適化
大規模なAIモデルの学習や推論には膨大な計算資源が必要とされ、多大なコストが発生します。パフォーマンスを最適化することは、これらの運用コストを直接削減し、ビジネスの持続可能性を高める上で不可欠です。
-
ユーザー体験とリアルタイム性の要求
AIアシスタントや自動運転システムなど、リアルタイムでの応答が求められるアプリケーションでは、わずかな遅延もユーザー体験や安全性に大きな影響を与えます。
-
環境負荷への配慮
AIの計算負荷増大に伴うエネルギー消費は、環境問題としても認識され始めています。より少ないエネルギーで効率的に動作するシステムの実現(電力効率の向上)は、企業の社会的責任としても重要視されています。
生成AIにおけるパフォーマンスエンジニアリング
- 小規模 ×
推論
スマートフォンのAIアシスタント、IoTデバイスのセンサー処理、自動運転システム - 小規模 × 学習
オンデバイスファインチューニング、フェデレーテッドラーニング
- 大規模 × 推論
生成AIサービス、推論APIサービス、エージェントAIサービス - 大規模 × 学習
基盤モデルの事前学習、継続事前学習
成功の原則:「観測」と「改善」のサイクル
この繰り返しが性能を押し上げます。
-
適切な環境を選択する
計測環境は本番環境と同等か限りなく近いものを選びます。 -
計測による副作用を制御する
計測手法や計測コード自体のオーバーヘッドを最小化するか、オーバーヘッドがある前提で計測結果を取り扱います。 -
実行時間のブレを正しく扱う
計測ノイズらしきものが観測された際に因果関係を正しく把握し、計測誤差として無視できる場合は適切な統計値(中間値や平均値)を取ります。
-
目標値を決める
理論性能は超えられず、近づくほど膨大な努力が必要になります。 -
真のボトルネックを狙う
支配的ではない処理の改善に取り組んでも効果が薄いため、ボトルネックを特定し、そこに最適化リソースを集中させます。 -
処理自体の必要性を再検討する
処理自体の必要性を再検討すること。場合によっては、処理を速くするよりも、そもそも処理をなくす方が大きな改善につながります。
フィックスターズの
パフォーマンスエンジニアリング・オファリング
フィックスターズは20年以上の実績を基に、お客様の課題に応じた3つのアプローチをご用意しています。
ソフトウェア高速化サービス
- 現状の性能では事業要求を満たせない
- アルゴリズムレベルから根本的に見直したい
- 開発を伴走形式でサポートして欲しい
Fixstars AIBooster
- AI処理のコストが事業の負担になっている
- AI開発の開発効率を上げたい
- GPUインフラを導入したが効果がよくわからない
Fixstars AIStation
- 外部サービスを利用するのはセキュリティ面でNG
- 社外秘情報を活用したAIモデルを開発したい
- 手元で際限なく最新GPUを使える環境が欲しい