責任あるソフトウェアエンジニアリング

―現実社会におけるGoogleのケーススタディとともに

[cover photo]
TOPICS
System/Network
発行年月日
PRINT LENGTH
232
ISBN
978-4-8144-0158-1
原書
Responsible Software Engineering
FORMAT
Print
Print
3,520円

本書は、AIチャットボットやディープフェイク画像/動画、SNSのフィルターバブル、厳格化するプライバシー規制、気候変動といった課題が渦巻く現代において、ソフトウェアに求められる「正しさ」や「使いやすさ」を超え、社会的な責任を果たすための考え方と実践を解説する一冊です。専門家の助言と、Googleのエンジニア100名以上の知見をもとにした実践的なケーススタディを通じて、現実世界に耐えうる公平性・安全性・倫理性を備えたソフトウェア開発の指針を示します。「責任あるソフトウェアエンジニアリング」の定義と全体像からはじまり、AIにおける公平性、社会的文脈の理解、ソフトウェアが社会にもたらす意図せぬ有害な影響、プライバシーの保護、環境負荷の低減といったテーマを、章ごとに紐解いていきます。また、実践するための組織づくりについてもまとめています。

目次

本書への賛辞
はじめに

1章 責任あるソフトウェアエンジニアリング:イントロダクション
    1.1 責任あるソフトウェアエンジニアリングとは何か
        1.1.1 頼れるスペシャリスト
        1.1.2 責任あるエンジニアリングではないものとは?
    1.2 ちょっとした歴史の振り返り
    1.3 責任ある考え方を身につける
    1.4 まとめ

2章 すべての人にとって役立つAIシステムの構築
    2.1 公平性とは何か
    2.2 公平性が難しい理由
        2.2.1 公平性は正確性とは異なる
        2.2.2 公平性は相対的である
        2.2.3 バイアスは常に存在する
        2.2.4 AIの入力は曖昧になり得る
        2.2.5 AIの出力は評価が難しいことがある
    2.3 公平性の評価
        2.3.1 パリティの問題
        2.3.2 ステレオタイプの問題
        2.3.3 正確性の問題
        2.3.4 問題の組み合わせ
        2.3.5 公平性を評価するためのリソース
    2.4 公平性の問題の緩和について、簡潔に
        2.4.1 人とプロセスに関する提案
        2.4.2 技術的解決策
    2.5 ケーススタディ:過度に性的な生成画像
    2.6 まとめ

3章 社会的文脈の組み込み
    3.1 社会的文脈とは
        3.1.1 抽象化の問題
        3.1.2 因果関係の仮定を明示する
    3.2 ケアマネジメントアルゴリズムにおけるバイアスの軽減
    3.3 ベストプラクティス
        3.3.1 エージェント、アーティファクト、心的前提の特定
        3.3.2 率直に意見交換できる環境づくり
    3.4 ケーススタディ:有害なコメントの検知
    3.5 まとめ

4章 波及効果の予測と計画
    4.1 安全性と害
        4.1.1 害の種類
        4.1.2 安全性のためのテスト
        4.1.3 安全性と倫理の関係
        4.1.4 倫理を回避するための常套句
    4.2 結果を見越すための方法
        4.2.1 幅のあるテスト
        4.2.2 ユーザーとの協働設計
        4.2.3 被害一覧の見直し
        4.2.4 将来的後悔の実践
        4.2.5 机上演習の実施
        4.2.6 加害者テストとサバイバー(被虐退者)テストの実装
        4.2.7 アプリケーションのストレステスト
        4.2.8 カオスエンジニアリングの試行
        4.2.9 自分とは異なる生活の学習
    4.3 ケーススタディ:Googleの道徳的想像力ワークショップ
        4.3.1 準備
        4.3.2 次に何をするか
    4.4 まとめ

5章 プライバシーの保護と尊重
    5.1 プライバシーとは何か
        5.1.1 個人識別情報
        5.1.2 データ収集、トレードオフ、利便性
    5.2 ユーザー視点のプライバシー
        5.2.1 驚かせない
        5.2.2 透明性
        5.2.3 同意
        5.2.4 制御
    5.3 データ視点のプライバシー
        5.3.1 最小化
        5.3.2 保持
        5.3.3 匿名化
    5.4 ツールからポリシーへ
    5.5 ケーススタディ:COVIDパンデミック下でのプライバシー保護
    5.6 プライバシー重視の世界での生活と仕事
    5.7 まとめ

6章 コードのカーボンフットプリントの測定と削減
    6.1 炭素排出量の測定
        6.1.1 電力の原則
        6.1.2 直接的な炭素排出量を超えて
    6.2 コードのカーボンフットプリントの制御
        6.2.1 プロセッサー使用量の制御
        6.2.2 パフォーマンスを意識したコーディング
        6.2.3 コードの実行場所の制御
        6.2.4 時間帯による最適化
    6.3 さらなる貢献
    6.4 ケーススタディ:AIによるデータセンターの冷却
    6.5 まとめ

7章 責任あるソフトウェアエンジニアリングの文化を築く
    7.1 方針の策定
        7.1.1 スポンサーシップと支援
        7.1.2 責任ある文化にまつわる誤解
    7.2 メッセージの発信
        7.2.1 メッセージング
        7.2.2 新規採用者の教育
    7.3 プロセスの確立
    7.4 インセンティブの創出
        7.4.1 トップダウンのインセンティブ
        7.4.2 ボトムアップのインセンティブ
    7.5 失敗からの学習
    7.6 成功の測定
    7.7 ケーススタディ:責任あるイノベーションチャレンジ
    7.8 まとめ

訳者あとがき
索引