More Related Content
Similar to 信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料) (20)
More from NTT DATA Technology & Innovation (20)
信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
- 1. © 2020 NTT DATA Corporation
NTTデータ テクノロジーカンファレンス 2020
信頼できるAIシステム開発の勘どころ
~AI開発方法論×AI品質保証~
2020年10月14日
株式会社NTTデータ 武田 光平
- 2. © 2020 NTT DATA Corporation 2
AIの導入効果は高そうだ。でも・・・
AIを組み込んだシステムの開発って、
普通の開発と何が違うのだろう
どんな工程で開発を進めるといいのだろう
どうやれば、サービス開始に十分な品質だと
判断できるのだろう
本日は、これらの疑問に対するNTTデータの取り組みをご紹介します。
- 3. © 2020 NTT DATA Corporation 3
一般的なAIの動作の仕組み
• 大量の例から、入力と出力の間の関係(モデル)を導出
• モデルをアプリケーションに組み込んで利用
学習データ
学習 推論
以下を参考に作成
出典: 最新のITトレンドとビジネス戦略, ネットコマース, 2018, https://www.slideshare.net/after311/libra-042018-92449481
機械学習
アルゴリズム
学習済み
AIモデル
入力データ
推論結果
アプリケーション
推論
エンジン
(例) 音声データ
(例) 音声認識結果
テキスト
(例)
録音した音声と
対応するテキスト
書き起こしデータ
- 4. © 2020 NTT DATA Corporation 4
従来のソフトウェアとAIの違い
従来のソフトウェアは演繹的に開発、AIは帰納的に開発
特
徴
従来のソフトウェア AI(機械学習)
データ
• 仕様から動作を導出
(演繹的)
• 動作方法を直接記述
• ホワイトボックス データ
• 学習データから動作を導出
(帰納的)
• 学習のしかたを記述
• ブラックボックス
開
発 要件
定義
設計 製造 試験
仕様を段階的に詳細化して
プログラムに落とす
期待する関係を獲得できるまで試行錯誤
要件
定義
試行① 試行②
データを
変えてみる
・・・
学習処理を
変えてみる
試行②
- 5. © 2020 NTT DATA Corporation 5
AI活用システムの例(審査支援システム)
• PoC等で性能検証したAIモデルをシステムに組み込み、改修・連結して利用
• 一度作ったら終わりではなく、データを増強・最新化してAIを継続的に改良
エンドユーザ
登録情報の入力
登録情報
推論用AI
データ加工
推論結果 審査結果の出力
学習用に格納
学習用
データDB
更新用AI
データ加工
AIモデル
モデル開発用
データDB 一部コピー
データ加工
評価
結果の正誤をフィードバック
デプロイ
正誤情報
〇
×
運用環境に合わせた
実装変更
正誤情報の登録
データサイエンティストを中心に開発
AIの専門家ではあるが開発経験がある保証はない
システム開発者を中心に開発
システム開発のノウハウはあるがAIの知識があるとは限らない
AIを活用したシステム
フ
ロ
ン
ト
エ
ン
ド
検証用AI
- 6. © 2020 NTT DATA Corporation 6
AI活用システムの開発・運用時の課題
AI固有の特性から派生する様々な要因により、
精度低下、プロジェクト遅延、社会的問題などの問題が発生
エンドユーザ
登録情報の入力
登録情報
推論用AI
データ加工
推論結果 審査結果の出力
学習用に格納
学習用
データDB
更新用AI
データ加工
AIモデル
モデル開発用
データDB 一部コピー
データ加工
評価
検証用AI
結果の正誤をフィードバック
デプロイ
正誤情報
〇
×
運用環境に合わせた
実装変更
正誤情報の登録
データサイエンティストを中心に開発
AIの専門家ではあるが開発経験がある保証はない
システム開発者を中心に開発
システム開発のノウハウはあるがAIの知識があるとは限らない
AIを活用したシステム
フ
ロ
ン
ト
エ
ン
ド
不公平な
結果を出力
正誤情報獲得までの時差が大きく
精度低下に気づくのが遅れる
予測ミスによる
損害が発生
実装変更にかかる
コストが想定外に増加
悪意ある
データを投入
質の悪いデータを
学習用に利用してしまう
AIとの連携部分の
設計が不十分
性能低下時の施策、
実施タイミング決定が困難
予測精度に影響が
出るほどの傾向変化
精度が出ないことが発覚
不十分な評価
学習に利用したデータの
トレーサビリティが無い
データが不十分
データが不公平
AI関連部分の
開発者が不在
定義されたI/Fが無い
モデル開発⇒システム化の
工程移行判断が出来ない
判断根拠が不明瞭
進捗管理が困難
実験履歴がなく
問題発生時に
トレースできない
- 7. © 2020 NTT DATA Corporation 7
AI開発における代表的な課題とNTTデータの取り組み
• 社内外の情報から抽出した課題を類型化し、その解決のために
開発プロセスと品質管理手法を策定
• AI活用に求められるシステム的視点だけでなく、社会的な視点、
倫理的な視点を考慮
代表的な課題
役割分担
AI開発とシステム開発のI/Fが不明瞭
開発環境に合わせたAIの改修、結合
プロジェクト管理
進捗管理が困難
AIに対する要求管理が困難
AIの出力制御の難しさ
不公平な出力、予測ミスによる損害
精度低下に気づくまでの時差
継続的なAIの学習
データの傾向変化に伴う精度低下
性能低下時の対策の難しさ
AI開発
方法論
AI品質
保証
• AIのPoC~システム化に必要な開発プロセスを定義
• 工程内で実施すべき作業と作成すべき成果物の定義
• AI開発に関わる役割及び各成果物の責任者の定義
⇒ システム化を想定したAIの検証、設計、製造及び
共通仕様による管理を目指す
• システム開発から拡張したAI開発の場合の品質特性
• 工程別、品質確認のためのチェック項目
• AI固有の特性の評価・改善のための技術の検証・開発
⇒ システム開発同様、お客様の要求を踏まえた
AIの開発と品質管理を目指す
NTTデータの取り組み
- 9. © 2020 NTT DATA Corporation 9
AI開発プロセスの策定
案件特性によらないAIを組み込んだシステムの開発プロセスを、
社内300件以上の事例および社外情報をもとに体系化
AI固有の管理観点が盛り込まれているため、プロジェクトに
おける問題の発生を防止し、より信頼のおけるAIシステムの
開発が可能
AIシステム開発において特に重要となるデータの取り扱いに着目、
データ整理、前処理、AIモデル構築といった一連のプロセスを
円滑に実施可能
*1 https://www.nttdata.com/jp/ja/news/release/2020/063000/
ニュースリリース (*1)
AIを組み込んだシステムのハイレベルな開発プロセスを、
2020年6月社内公開
- 10. © 2020 NTT DATA Corporation 10
AI開発プロセスの構成
NTTデータグループAI指針
AI指針
AI開発プロセス
AI開発
ナレッジ
AI開発
プロセス
プロジェクト
管理プロセス
社内事例
社外ガイドライン
AI開発標準様式集(仮)
成果物ひな形
環境構築手順
設計・テスト
観点チェックシート
具体化 プロセス化
活用する道具の
具体的解説
AI開発ナレッジ
• AI開発プロセス全般のノウハウを集約
AI開発プロセス(AIモデル開発編)
• AIシステムのコアとなるAIモデル開発のプロセスを定義
AI開発プロセス(AIシステム開発編)
• AIモデルを組み込んだシステム開発のプロセスを定義
AI開発
プロセス
FY2020内に整備
初版の範囲
- 11. © 2020 NTT DATA Corporation 11
AI開発プロセスのスコープ
企画 AIモデル開発
AIシステム開発 運用
社内外の情報・状況を基に
AI活用戦略をデザインし、
AIシステムの要件や
適用領域を決定。
AIで解決したいビジネス課題を
明確化、AIによる実現可能性を
検証。期間内に試行錯誤を
繰り返す。
検討したシステムの要件を
再定義、設計・製造・テスト。
AIモデルをリファクタリングして
品質を向上。
開発したAIシステムを
継続的に監視し、
問題に対処。
運用での対処が困難な場合
AIモデルを改修
AI開発プロセスのスコープ
現時点では、開発フェーズが対象。順次対象は拡大予定。
- 12. © 2020 NTT DATA Corporation 12
AI開発ナレッジ
• AI案件固有の体制/役割の定義
• スケジュールの考え方
• AIシステム開発における特徴、課題、
チェック観点
• モデル開発
• 構成管理
• 品質管理
• リスク管理(法的リスクなど) ビジネス
アナリスト
データ
サイエンティスト
機械学習
エンジニア
(AI)
プロジェクト
マネージャー
AIモデル開発チーム
お客様対応
メンバー
ソフトウェアエンジニア
(設計者・実装者・テスター等)
AIシステム開発チーム
データ
エンジニア
運用チーム
データ
管理者
システム
運用者
機械学習
エンジニア
(AP)
体制/役割
AIを組み込んだシステムを開発する上で前提となる
固有の知識について解説
- 13. © 2020 NTT DATA Corporation 13
AI開発プロセス(AIモデル開発編・AIシステム開発編)
• AI開発において属人的、属組織的なノウハウだった情報を集約して工程を定義
• 性能が事前に予測しにくいAIそのものの開発・検証プロセスであるAIモデル開発編と、
そのシステム化プロセスであるAIシステム開発編で構成
• AIモデル開発の進め方、特にデータの前処理、AIモデルとデータの一体的管理、
運用開始後のAIモデル更新手順を重点的に整理
• 作業漏れ・確認漏れ防止のために、各工程および成果物に責任を持つ役割を明確化
イテレーション開発部分
AI構築
AI設計
データ加工
データ準備
AI方針検討
全データ
品質調査
全データ受領
ビジネス仮説導入
モデル
概要設計
AI
基本検討
ビジネス
課題抽出
KPI設定
サンプル
データ受領
サンプルデータ
基礎集計
データ
管理方式検討
データ分割
モデル学習
モデル構築
モデル評価
AI活用領域
の決定
課題解決
プロセス検討
評価方針検討
DL構築 DWH構築 DM構築
DL設計 DWH設計 DM設計
AI検証
ビジネス
課題検証
設計詳細化
設計書
詳細化
CI/CDを実現する
までのフェーズ
仕様を確定するまでのフェーズ
要件に対する
妥当性を検証
するまでの
フェーズ
仕様に対して検証する
までのフェーズ
モデル
リファクタリング
単体テスト
単体テスト
開発モデル
デプロイ
開発モデル
学習
開発モデル
評価
詳細見積を
出すまでの
フェーズ
非機能検討
開発要件
定義
機能検討
データ/モデル
管理方式設計
構成検討
開発手法
検討
KPI検証
システム
テスト
結合テスト
推論監視
設計
継続的学習
パイプライン
設計
推論
パイプライン
設計
継続的学習
パイプライン
開発
推論
パイプライン
開発
コンサル データサイエンティスト データエンジニア システムエンジニア
主に担当する役割の凡例:
AIモデル開発(PoC) AIシステム開発(システム化)
反復開発
- 15. © 2020 NTT DATA Corporation 15
AI活用に求められる品質の変化
AIの影響力増大を背景に、AI活用に求められる視点は、
社会的なものに拡大
精度
可用性、運用・保守性、性能・拡張性、セキュリティ
公平性、アカウンタビリティ、透明性(FAT)
倫理
社会的背景 AI活用に求められる視点
AIの悪用
AIのテスト不足
による事故
学習用データの
偏りや不足による
AIの誤動作
AIの能力向上
AIによる
差別
- 16. © 2020 NTT DATA Corporation 16
AI開発のための品質保証技術の開発
• AIを含むシステムは、AIモデル+学習用データによって機能が定義される
⇒ ソフトウェアだけでなく、AIモデル及びデータの品質保証が必要
• AIシステムの開発に必要な品質の定義およびその計測・改善技術を開発中
従
来
SW
AI
+
SW
データ
ソフトウェア
データ
ソフトウェア
学習
データ
AI
構成 特徴と品質保証の観点 AI+SWの場合に考慮すべきこと
• 実装した通りに動作する
- 要件⇒仕様⇒設計⇒実装で品質保証
• 入力データのバリエーションに対する
動作の正しさを検証可能
• 動作が学習データや学習方法によって変わる
- 仕様のみをテストのよりどころにできない
• 100%正確に動作するAIの構築は不可能
- 一般的に用いられる精度だけでなく、
頑健性、公平性、セキュリティなどの要件も
考慮したテストケースでの品質保証が必要
AI固有の品質特性
AIデータ品質 AIモデル品質
ソフトウェアの品質特性
利用時品質 製品品質
+
- 17. © 2020 NTT DATA Corporation 17
品質特性の抽出
既存のソフトウェア品質(ISO/IEC 25000シリーズ, SQuaRE)に加え、
社外AI品質ガイドラインや、社内の知見をもとに、AIに求められる品質特性を抽出
データ品質
モデル品質
精度
公平性
セキュリティ
異常値
欠損値
偏り
解釈性
十分性
リスク回避
誤り
合要求性
ノイズ耐性
データ変化
機密性 高速性
プライバシー
データ分析に関する領域 サービス化に関する領域
信頼性に関する領域
性能に関する領域
※項目名は検討中のもの
- 18. © 2020 NTT DATA Corporation 18
【参考】 産業技術総合研究所ガイドラインとの比較
産総研ガイドラインにおける整理
モデル品質
※ NTTD定義
※ NTTD定義
満足性
適用領域
の妥当性
AIモデルの
妥当性
データの
適切性
データ加工
の妥当性
AIの解釈性
AIモデル
の可用性
データの
可用性
評価方法の
妥当性
AI固有の
セキュリティ
データ取得
の妥当性
利用状況
網羅性
データ品質
※項目名は検討中のもの
独自に抽出した品質
NTTデータ版AI品質保証プロセスの検討範囲
参考:機械学習品質マネジメントガイドライン P.9
AIモデルの
機密性
- 19. © 2020 NTT DATA Corporation 19
AIのための品質保証ツールの整備
• システム開発における要求分析~システム化のノウハウをAIに拡張
• AI固有の品質特性に対するチェック項目を整理
• 重要かつ技術的に未成熟な領域を対象に学術機関と連携して技術開発を実施
外
部
品
質
内
部
品
質
人的リスク
経済リスク
公平性
解釈性
・・・
モ
デ
ル
品
質
デ
ー
タ
品
質
・・・
モデルの正確性
モデルの安定性
運用時性能の維持性
・・・
要件分析の十分性
データ設計の十分性
データの被覆性・均一性
・・・
チェック観点 想定リスク AIモデル開発フェーズ AIシステム開発フェーズ
計画 加工 試行 ・・・ 要件定義 設計 設計 試験
Step①
プロジェクト
特性に応じて
リスクレベルを
設定
Step②
設定した要求レベルに合わせて
各フェーズにチェックすべき内容
及び検討すべきリスク詳細を提示
※ チェックの詳細は項目一覧を参照
Step③
お客様とすり合わせ、
チェック観点を
カスタマイズして適用
リスクに繋がる
確認の漏れを防止
※ プロセスとの併用
チェック状況を
共有することで
合意形成に利用
適用効果
AI開発のための品質アセスメントツール
チェック項目一覧
一覧から必要な観点を抽出して利用
チェック実行に必要な情報を記載
定量的な品質データ測定技術が確立されていない公平性、AIセキュリティ、
モデルの安定性、運用時性能の維持性等について技術開発を実施中
- 20. © 2020 NTT DATA Corporation 20
信頼できるAI活用を支えるAI品質管理技術
公平なAI活用のための技術 安全なAI活用のための技術
課題の例 偏った
学習データ
• データ内の不公平な偏りを学習し、
機会を不当に割り当ててしまう
• 差別的なふるまいを学習してしまう
• 既存の不公平、差別、ステレオタイプを
固着化・強化してしまう
NTTデータの
取り組み
監視 是正
データ モデル 予測
運用時も絶えず監視が必要
不当な偏り
はないか
事実に反する偏った
予測をしていないか
データ モデル 予測
不公平に関連
する属性を削除
予測をマスク
異なる基準を設定
他社・外部研究機関と連携して技術の検証・開発を実施中
悪意あるユーザ
• 既存データで構築したモデルでは
そのデータに含まれないパターンの
入力がAIの脆弱性になりうる
• クエリを連投して学習データやモデル
が獲得したパターンを剽窃される
【未知の不正】
学習データに
含まれないもの
元のクエリ 予測
悪意あるクエリ 予測
① 攻撃を想定
した加工
②脆弱性検出
③ 結果を
フィルタ
脆弱性への対処
ベンチャー企業と連携して技術の検証・開発を実施中
加工によって既存データにないが
付くべきラベルが想定できるデータ
発見した脆弱性をふさぐための
パッチを適用した予測結果
• 倫理観点、セキュリティ・プライバシー観点での技術獲得を重点的に実施
• NTT研究所技術に加え、オープンイノベーションを推進
- 22. © 2020 NTT DATA Corporation 22
まとめ
• AIシステムの開発には、AI固有の性質を考慮した
開発プロセスと、品質保証が必要
• AIシステム開発のキモは、
1. 帰納的開発、継続的開発への理解
2. データとAIモデルに着目した開発プロセスと品質保証
3. 技術的だけでなく、社会的観点でのリスクアセスメント
• AIシステムの開発手順や品質でお悩みのことがあれば、
お気軽にお問合せください!
- 23. © 2020 NTT DATA Corporation
本資料に記載されている会社名、商品名、又はサービス名は、各社の商標又は登録
商標です。
Editor's Notes
- 6/30にニュースリリースを打った。
- AI管理プロセスはナレッジに含まれているが、記述が十分でないことは認識している。今後のアップグレードでAI管理プロセスを充実させる予定。
- 企画、運用については一部触れているがスコープ外。
前段の企画はAI&IoTのAI指南書を参考にしてもらいたい。運用はインテグレーション技術センタやAPCと連携して検討を進めている。
- 最初期のAIに集まった期待は、従来の手法を大幅に超える精度(機能)だった。
その後、AIのビジネス適用が進むにつれ、可用性、運用・保守性、性能、拡張性、セキュリティといった非機能も求められるように。
さらに、AIが人間に迫る能力を持つに至った現在では、透明性やアカウンタビリティ、公平性といった、人間と同様の社会的な責任の視点もAIに求められるようになっている。
しかし、最終的にAIを導入、活用するのはあくまで人間であり、最後に悪用や誤用を防ぐのは、AIを活用する企業や個人の倫理である。
- 業界の技術マップ+成熟度+活動方針+活動状況⇒ その調査状況、開発状況もチェックリストに反映し、利用者が参照・利用できるようにする
全体像としての検討をきっちりやっている感