通常価格 3,740 円(税込)
通常価格 セール価格 3,740 円(税込)
SALE 売り切れ
ネットストア在庫 詳細
    読み込み中...
My店舗在庫
    My店舗登録で在庫確認と店舗お受け取りのご利用が可能になります。(要ログイン)
  • 在庫表示のサンプル
商品説明
LLM をはじめとする生成AI の台頭により、パフォーマンスエンジニアリング (Performance Engineering)が再び注目されています。パフォーマンスエンジニアリングとは、コンピューターシステムやソフトウェアのパフォーマンス(処理性能)を改善するために必要な技術を扱う総合分野です。近年のAI は、「モデルの規模を大きくすることで精度が良くなる傾向がある」という考え方が主流になりつつあり、大規模なモデルを扱えなければ最新のAI 分野についていくことが難しくなっています。そこで、本書では、パフォーマンスエンジニアリングを用いてAI の処理性能を改善し、処理時間を削減するための技術を取りまとめました。前半ではパフォーマンスエンジニアリングの理論や技法を網羅的に解説し、後半では大規模AI の代表格であるLLM を中心とした題材を通して、具体的にどのようにパフォーマンスエンジニアリングを実際のAI に適用できるのかを紹介します。本書を読み通すことで、これまで体系的に説明されてこなかったパフォーマンスエンジニアリングを理解し、AI 時代に必要な知識と技法を習得できます。
目次
第1章 パフォーマンスエンジニアリング概論
1.1 パフォーマンスエンジニアリングとは
1.2 なぜ今パフォーマンスエンジニアリングか
1.3 AI 処理の概要
1.3.1 AI モデルとは
1.3.2 Llama3
1.3.3 BEVFusion
1.3.4 学習と推論
1.4 ハードウェア環境の概要
1.5 パフォーマンスエンジニアリングの実践方法
1.5.1 推測するな、計測せよ
1.5.2 体系的な分析手法:USE メソッドとRED メソッド
1.5.3 5 段階の実践プロセス
1.5.4 継続的パフォーマンスエンジニアリング
1.5.5 組織にパフォーマンス文化を根付かせる
1.6 本書の構成

第2章 まずはパフォーマンスを計測する
2.1 計測とは
2.2 計測の基本戦略
2.2.1 目的を定める
2.2.2 対象の絞り込み
2.2.3 理論性能と実効性能の差の把握
2.2.4 チェックリスト
2.3 計測のための基礎知識
2.3.1 ハードウェアの動作モデル
2.3.2 性能指標の種類
2.3.3 性能指標の取り扱い
2.3.4 性能のモデル化
2.3.5 仮説駆動の計測
2.3.6 計測における観測者効果
2.4 計測の実践
2.4.1 正しさの検証
2.4.2 タイマーによる時間計測
2.4.3 NVIDIA Nsight Systems
2.4.4 NVIDIA Nsight Compute
2.4.5 PyTorch Profiler
2.5 まとめ

第3章 次にパフォーマンスを改善する
3.1 どこから着手するか
3.1.1 効果の高いところから
3.1.2 優先順位の見極め
3.2 アプリケーション・データ層の改善
3.2.1 適切なモデル
3.2.2 高品質なデータ
3.2.3 目的達成に最適な処理方法
3.2.4 最適なAI 処理フレームワーク
3.2.5 MLOps を構築して持続的な性能維持
3.3 モデル・アルゴリズム層の改善
3.3.1 モデル改善
3.3.2 アルゴリズム改善
3.4 ソフトウェア・フレームワーク層の改善
3.4.1 集団通信手法の選定
3.4.2 複数台による処理:分散並列
3.4.3 メモリ余地の捻出
3.4.4 演算とそれ以外の同時実行
3.4.5 連続的なデータアクセス:テンソルの次元の順番
3.4.6 処理の固定:深層学習コンパイラ
3.4.7 特定のモデルに特化した高速ライブラリの利用
3.5 ハードウェア・カーネル層の改善
3.5.1 ハードウェアの特性に合わせた調整
3.5.2 カスタムカーネルによる演算コードの改善
3.5.3 ハードウェアの変更
3.6 まとめ

第4章 実践1:LLM 推論
4.1 問題設定
4.1.1 計測の対象
4.1.2 ベンチマークスクリプトの作成
4.1.3 本章の構成
4.2 ベースラインの計測
4.2.1 ベースラインの実行
4.2.2 理論限界スループットとの比較
4.2.3 PyTorch Profiler による分析
4.3 パフォーマンス改善の実践
4.3.1 改善策の実施と分析
4.3.2 性能の最大化:GPU 計算負荷の増加
4.3.3 メモリ使用量の削減:重みの量子化(Quantization)
4.3.4 バッチサイズの増加
4.3.5 モデルサイズの増加と投機的デコーディング
4.4 さらなる高みへ:推論エンジンと高度な技術
4.4.1 vLLM:高スループット推論エンジンの仕組み
4.4.2 vLLM によるベンチマーク結果
4.4.3 量子化による精度の補足
4.5 まとめ

第5章 実践2:LLM 事後学習
5.1 問題設定
5.1.1 環境構築
5.2 計測
5.2.1 学習時間とLoss 値の確認
5.2.2 NVIDIA Nsight Systems によるプロファイリング
5.2.3 PyTorch Profiler によるプロファイリング
5.3 パフォーマンス改善手法の考察
5.4 精度に影響のないパフォーマンス改善
5.4.1 MemoryCallback の削除
5.4.2 ハイパーパラメータチューニング
5.4.3 Torch Compile の適用
5.5 精度に影響のあるパフォーマンス改善
5.5.1 グローバルバッチサイズの調整
5.6 まとめ

第6章 実践3:LLM(継続)事前学習
6.1 問題設定
6.1.1 概要
6.1.2 LLM 学習処理のおさらい
6.2 評価基準の決定
6.3 観測と改善の繰り返し
6.3.1 初期問題の発見
6.3.2 最適化器の変更
6.3.3 プロファイリングで次の改善点を探す
6.3.4 ハイパーパラメータの調整
6.3.5 ハイパーパラメータチューニングの効果の確認
6.3.6 ハイパーパラメータの知見と影響の考察
6.4 まとめ

第7章 実践4:自動運転AI 学習
7.1 問題設定
7.2 プロファイルの設定
7.3 データローダーの分析
7.3.1 ログの確認によるデータローダー性能の評価
7.3.2 nsys によるデータローダーのプロファイリング
7.4 train プロセスの分析
7.5 Voxelize の分析と改善
7.6 TransFusionHead のget_targets の分析と改善
7.7 DepthLSSTransform の分析と改善
7.7.1 matmul の高速化
7.7.2 CPU 律速の改善
7.8 まとめ

第8章 実践5:自動運転AI 推論
8.1 問題設定
8.1.1 題材デバイス
8.1.2 題材モデル
8.1.3 使用ツールのバージョン
8.1.4 本章の構成
8.2 エッジデバイスへのデプロイの基本
8.2.1 高速なアクセラレータ・ランタイムエンジンの活用
8.2.2 カスタム実装
8.2.3 補足:モデルの修正
8.3 量子化適用の留意点
8.3.1 量子化の適用ステージ
8.3.2 混合精度量子化の留意点
8.3.3 キャリブレーション手法
8.3.4 対称量子化と非対称量子化
8.4 BEVFusion のデバイスへのデプロイ
8.5 CUDA-BEVFusion の更なる高速化(概要)
8.5.1 計測
8.6 CUDA-BEVFusion の更なる高速化(詳細)
8.6.1 Camera Backbone の改善
8.6.2 画像データの転送部の改善
8.7 まとめ
詳細を表示する

カスタマーレビュー

honto本の通販ストアのレビュー(0件)

並び順:
1/1ページ

最近チェックした商品