More Related Content
Similar to 機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料) (20)
More from NTT DATA Technology & Innovation (20)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
- 1. © 2023 NTT DATA TOHOKU Corporation
© 2023 NTT DATA TOHOKU Corporation
機械学習モデルを REST API としてサービングするシステム開発
における上流プロセスの絞り込みと効果検証
2023年9月1日 株式会社NTTデータ東北 佐藤 柚希
株式会社NTTデータグループ 湯浅 晃
プロジェクトマネジメント学会
2023年度秋季研究発表大会
- 2. © 2023 NTT DATA TOHOKU Corporation
2
目次
1. 背景
2. 現状と課題
3. 取り組み概要
4. 取り組み① 既存のAI 開発ガイドラインをもとにした最低限のタスクや成果物
の絞り込み
5. 取り組み② AIモデル定義書など機械学習モデルに関する成果物の詳細仕様
の定義
6. 取り組み③ AI 関連の基盤系設計書のテンプレート化
7. まとめ
- 3. © 2023 NTT DATA TOHOKU Corporation
背景
近年,様々な研究機関や企業によってAI開発に関するガイドラインや方法論が策定されており,AIが組み込まれた
システム開発における汎用的かつ網羅的なプロセスが定義されている
NTTデータ、 「AI開発プロセス」を体系的に整理し、AI案件への試行適用を開始」、
https://www.nttdata.com/jp/ja/news/release/2020/063000/
一般的なAIを含むシステム開発方法 一般的に、AIを含むシステム開発の際には、
AIモデル開発と
システム開発チームを分けて実施する。
- 4. © 2023 NTT DATA TOHOKU Corporation
現状と課題
実際の開発現場においては,網羅的なプロセス定義の中からプロジェクト特性に応じて必要なタスクを
選定する方法がわからない等の原因により,標準類の定着において課題がある
AIモデル開発視点の課題(一部)
• モデル作成環境の整備・自動化する際の必要なタスクが多い
• データ、ハイパーパラメータ、作成されたモデルの管理が何を
どう管理するか明確になっていない
• 最適なハイパーパラメータの探索が複数回発生する
→専門的な知識がないとプロセスのテーラリングが難しい
システム開発視点の課題(一部)
• AIモデルの概要が把握できず、
設計が難しい(AIモデル開発との
プロセスがわからない)
• モデルアルゴリズム変更による仕
様変更が発生する
→専門的な知識がないために自チームで
解決ができない。ノウハウがたまりにくい
一般的なAIを含むシステム開発方法
- 5. © 2023 NTT DATA TOHOKU Corporation
取り組みの概要
今回は様々な AIを含むシステム開発のうち,BERT 等の事前学習済みモデルをベースに学習を行いREST API
の形で推論機能を提供する部分のシステムコンポーネントに焦点を当てプロセスを整理した
① 企業ごとに整理されたAI を含む開発ガイドライン、方法論をもとにした最低限のタスクや成果物の絞り込み
および AI モデル開発チームとシステム開発チームの分担と連携方法を定義
→効果 : タスク等の絞り込み、各開発チームの役割と連携を定義することでスムーズな運用ができる
②AI モデル定義書など連携において重要となる成果物の詳細仕様を定義
→効果 : 機械学習モデル開発の詳細仕様を定義することで開発チーム間の連携が明確にすることができる
③AI 関連の基盤パラメータや性能監視方式などの基盤系設計書のテンプレート化
→効果 : テンプレート化によって環境の再利用を可能にし、環境準備を容易にすることができる
取り組み
目的
汎用的なAI開発ガイドラインや開発標準を整理し、「現場にあった開発プロセスの整備」を行う
課題
AI開発における全体的な指針に関しては,総務省による「国際的な議論のためのAI開発ガイドライン案」が策
定されていたり、各企業でAIを含むシステム開発におけるガイドラインを整備しているが、汎用的にかつ網羅
的に定義されているものをすべて実施することが難しい
- 6. © 2023 NTT DATA TOHOKU Corporation
1.AIモデルといっても様々な分野利用できるよ
うに網羅的かつ汎用的になっているので、どこま
で定義すればいいかわからない
NTT DATA
AI開発ガイドライン
取り組み① 既存のAI 開発ガイドラインをもとにした最低限のタスクや成果物の絞り込み
既存のAI開発、システム開発ガイドラインや方法論の中で、基本構想から製造工程までの成果物とプロセスを整理し、
成果物を作成した
絞り込みの必要性
1. AI開発ガイドラインでは様々なパターンに対応して記載されており、本プロジェクトで適応するパターン以外の
内容が記載されており絞り込みが必要
2. 画面設計はゼロベースで作ることを想定されており、フレームワークを利用する際には設計不要領域の削減が
必要
NTT DATA
開発標準
総務省
AI開発ガイドライン案
2. ゼロベースで作ることを想定されているので、
すべて作成すると時間やコストがかかってしまう
問題
- 7. © 2023 NTT DATA TOHOKU Corporation
取り組み① 既存のAI 開発ガイドラインをもとにした最低限のタスクや成果物の絞り込み
本プロジェクトでは、自然言語処理と画像処理を扱う機械学習モデルを開発していたため、この分野に関するプロセ
スの絞り込み、成果物の定義を実施した
NTTDATA AI開発ガイドライン
様々な対応分野
ポイント 今回対象となる分野で絞り込むが重要である
絞り込み結果:約40.6%に絞り込み(91種類→37種類)
NTTDATA 開発標準
画像処理
音声処理
自然言語処理
異常検知
様々な対応分野
画像処理
音声処理
自然言語処理
異常検知
対応端末
帳票機能
画面構成
ユーザビリティ
対応端末
帳票機能
画面構成
ユーザビリティ
ポイント 必要な項目、成果物を絞り込むことが重要
画面定義
画面定義
- 8. © 2023 NTT DATA TOHOKU Corporation
取り組み① AI モデル開発チームとシステム開発チームの分担と連携方法の定義
実際のAIを含むシステム開発案件の中でAIモデル開発とAIモデルを利用する側のシステム開発の2つのチームに
分け、それぞれの開発プロセスを整理した
プロジェクトにおける各チームのプロセス
案件概要
• AIモデル開発のR&Dフェーズで作成したAIモデルをAPI、GUIなどの複数のインターフェースを使って
AIモデルの推論を行い結果を返却するシステムを開発
• AIモデル開発チームとシステム開発チームの二つに分かれて開発を実施
アジャイル開発
開発フェーズ
推論コード
作成
API作成
U
T
リファクタ
リング
RD
(要件定義)
モデル
開発
基本構想
立案
AIモデル
開発チーム
R&Dフェーズ
モデル
開発
M/UT(製造/単体試験)
アジャイル開発
RD
(要件定義)
ED
外部設計
ID
内部設計
M/UT(製造/単体試験) IT
(結合
試験)
ST
(システム
試験)
リリース
システム
開発チーム MLパイプ
ライン実装
API/GUI実装
開発フェーズ
- 9. © 2023 NTT DATA TOHOKU Corporation
取り組み① AI モデル開発チームとシステム開発チームの分担と連携方法の定義
実際のAIを含むシステム開発案件の中でAIモデル開発とAIモデルを利用する側のシステム開発の2つのチームに
分け、それぞれの開発プロセスを整理した
開発フェーズ
RD
(要件定義)
ED
外部設計
ID
内部設計
M/UT(製造/単体試験) IT
(結合
試験)
ST
(システム
試験)
リリース
推論コード
作成
API作成
U
T
リファクタ
リング
RD
(要件定義)
モデル
開発
基本構想
立案
AIモデル
開発チーム
システム
開発チーム
R&Dフェーズ
モデル
開発
MLパイプ
ライン実装
M/UT(製造/単体試験)
API/GUI実装
プロジェクトにおける各チームのプロセス
開発がそれぞれ独立している
開発フェーズ
①
画面定義がわからないので
推論前後の処理ロジックに齟齬が発生する可能性が
ある
→引き渡し時にコードの理解、説明などが必要になる
②
AIモデル開発チームとシステム開発チームで
インターフェース定義や実装方式などは合わせておかない
とバラバラになる
→引き渡し時にコードの理解、説明などが必要になる
③
問題②
②
③
問題③
機械学習モデルが完成しないと
システム開発の要件の洗い出しができない
→プロジェクトの運用が遅れが発生
問題①
①
- 10. © 2023 NTT DATA TOHOKU Corporation
取り組み① AI モデル開発チームとシステム開発チームの分担と連携方法の定義
本PJにおける開発プロセスの中で、AIモデル開発チームとシステム開発チームで連携ポイントを三点整理した。
開発フェーズ
RD
(要件定義)
ED
(外部設計)
ID
(内部
設計)
M/UT (製造/単体試験) IT
(結合
試験)
ST
(システ
ム試験)
リリース
推論コード
作成
API作
成
UT
リファクタ
リング
RD
(要件定義)
モデル
開発
基本構想
立案
AIモデル
開発チーム
システム開発チーム
R&Dフェーズ
モデル
開発
MLパイプ
ライン実装
M/UT (製造/単体試験)
API/GUI実
装
R&Dフェーズの段階でAIモデル定義書を
詳細に作成することで
システム開発チームの要件定義がモデル受
領からスムーズ進められる
画面表示に必要なデータ加工ロジックを
明確にすることで推論コードのロジックと
の齟齬を防げる
AIモデル開発チームとシステム開発チーム
間でのAPIに関するインターフェースルー
ルを合わせることで、
組み込みが容易になる
ポイント① ポイント② ポイント③
- 11. © 2023 NTT DATA TOHOKU Corporation
取り組み② AIモデル定義書などAIに関する重要となる成果物の詳細仕様の定義
AIモデル開発プロセスおける必要な成果物を検討し、成果物のフォーマットと要件を細かく定義した
AIモデル定義書
AIモデル開発ガイドラインで書かれているモデル定義は、モデルのロジック、解決する課題などのAIモデル
開発に必要な項目を定義する
組み込みに必要となる要件の洗い出しをAIモデルの受領後実施すると、
次工程の実施することができない
問題
スムーズなプロジェクト進行のためには、
システム開発チームがシステムに組み込む上で必要な情報をプロセスや成果物
(モデル定義書含む)へ詳細に定義して連携することが重要
- 12. © 2023 NTT DATA TOHOKU Corporation
取り組み② AIモデル定義書などAIに関する重要となる成果物の詳細仕様の定義
AIモデル開発プロセスおける必要な成果物を検討し、成果物のフォーマットと要件を細かく定義した
AIモデル定義書 開発プロセスの整理
Point
開発プロセスを整理することで、システム開発チームと
AIモデル開発チームの開発プロセスの中で必要になる
インプットを明確が重要
Point
基本となるアルゴリズム、モデル名称、ロジック概要、システ
ム要件(GPU、NVIDIA driver等)、INPUT形式、OUTP
UT形式を定義し、システム開発担当がわかりやすい成果物
にすることが重要
- 13. © 2023 NTT DATA TOHOKU Corporation
取り組み② AIモデル定義書などAIに関する重要となる成果物の詳細仕様の定義
MLOpsの実装における必要な要件定義について、成果物のフォーマットと要件を細かく定義することでMLOpsの検討におけ
る問題に対して対応した
MLOps
AIモデル開発では、開発の工数軽減や管理をしやすくするため、MLOPSを実装、検討することがある
MLOps製品選定せずに実装・導入しただけでは、製品によって機能が不足していたり
使わない機能を設定してしまったりする
問題
MLOpsで実現したい要件や機能について、
必要な要件を定義して製品選定、設計・実装をすることが重要
- 14. © 2023 NTT DATA TOHOKU Corporation
MLOpsとは
MLOps は 、※MLシステム開発(Dev)と ML システム オペレーション(Ops)の統合を目的とする
ML エンジニアリングの手法のこと
AIモデルの開発方法
ビジネス
仮説導入
AI
方針検討
AI設計 データ準備
データ加
工
AI加工 AI検証
MLOpsで管理できる項目(一部)
・各プロセスにおけるソースコード
・モデル学習のハイパーパラメータ
・モデルデータ、バージョン
・入力データ、中間出力データ
・評価データによるモデル精度
・モデルデプロイ
・実行パイプラインの自動化
MLについての概念的な補足
- 15. © 2023 NTT DATA TOHOKU Corporation
取り組み② AI モデル定義書などAIに関する重要となる成果物の詳細仕様の定義
AIモデル開発における実施すべき管理やパイプライン開発の項目を定義し、様々なMLOpsソフトウェアから最適
な組み合わせを検討し、パイプライン基盤の設計・構築を行った
AIモデル開発のパイプライン設計・開発
データ
収集 前処置 学習 評価
モデル
管理
各プロセスのパラメータの記録
AIモデルの評価管理
AIモデルのバージョン管理
実行プロセスのパイプライン化
・手動実行
・一部モデルのサンプル実装
MLOPS要件定義書
MLOpsで管理すべき最低限の項目の要件を洗い出し
必要な機能の絞り込みを行うことが重要
→必要な機能から適切な製品の選定や管理実施方法を策定できる
- 16. © 2023 NTT DATA TOHOKU Corporation
取り組み③ AI 関連の基盤系設計書のテンプレート化
外部ベンダーや社内の基盤担当者(有識者)による設計済みの基盤について、AIモデルの学習・推論実行時のレスポンス等簡易
性能試験結果からインスタンス、環境パラメータの設計書に細かく定義し、テンプレート化を実施
AIモデル開発における基盤設計・構築
機械学習には、「画像処理」、「自然言語処理」、「音声処理」等多くの分野があり、求められる性能が定まって
いないためモデル開発のたびに設計、構築を実施する必要がある。
再利用性を高めることができていないため、AIモデル開発で知見を高めたのにノウハウが蓄積されない
AIモデルの学習・推論実行時のレスポンス等簡易性能試験結果から
機械学習モデルにおける特定パターンに最適なテンプレートを
作成することが重要
問題
- 17. © 2023 NTT DATA TOHOKU Corporation
取り組み③ AI 関連の基盤系設計書のテンプレート化
外部ベンダーや社内の基盤担当者(有識者)による設計済みの基盤について、AIモデルの学習・推論実行時のレス
ポンス等簡易性能試験結果からインスタンス、環境パラメータの設計書に細かく定義し、テンプレート化を実施
基盤インスタンス設計(一部)
自然言語処理,画像処理などのパターンごとに最適なAI開発の基盤パラメー
タを定義し,テンプレート化による再利用性を高めることが重要
- 18. © 2023 NTT DATA TOHOKU Corporation
AIモデルを組み込んだシステムの監視
AIモデルの推論処理は、入力されたデータやモデルごとにより変動的なリソースが必要になる
リソース不足による急なシステムダウンなども想定されるため、監視についてもしっかりと検討が必要である
ログによる監視のみであると、障害の原因分析が遅くなってしまう
問題
マシンリソースの消費量とAIモデル毎のレスポンスタイム等の性能値を継続し
て監視することが重要
取り組み③ AI 関連の基盤系設計書のテンプレート化
マシンリソースの消費量とAIモデル毎のレスポンスタイム等の性能値を継続して監視するため、監視する必要がある項目を整理
し、簡易性能試験の結果と過去のプロジェクトノウハウから視覚的に確認しやすい方式を実装した
- 19. © 2023 NTT DATA TOHOKU Corporation
基盤インスタンス設計(一部)
取り組み③ AI 関連の基盤系監視系設計書のテンプレート化
マシンリソースの消費量とAIモデル毎のレスポンスタイム等の性能値を継続して監視するため、監視する必要があ
る項目を整理し、視覚的に確認しやすい方式を実装した
インスタンスの統合監視 AIモデル、各サービスの死活監視
AIモデルを含むシステムにおける必要な監視項目を定義することと
簡易的かつ視認性の高いモニタリング方法を検討して実装することが重要
- 20. © 2023 NTT DATA TOHOKU Corporation
まとめ 案件適応による効果・課題
案件のPJリーダにヒヤリングと実プロジェクトでの運用を行うことで本検討の効果を確認した
機械学習モデルを含むシステム開発におけるプロセスの整理や上流工程における各種定義を実施し、プロジェクト運用におけるプロセスに対して
の効果が確認し、今後の課題として品質管理や下流工程におけるプロセス整理を洗い出した
検討が必要な課題
案件適応による効果(ヒヤリング結果)
PJ計画
プロセス
• モデルI/OをR&Dの時点で確定させることで、AIモデル定義書を作成し、モデルができる前に設計に着手できた。
• AIモデル開発者とシステム開発者の役割分担ができ、スムーズなAIモデルの受け渡しや成果物の作成を実施できた。
品質管理
見積り
• AI モデル構築作業の開発プロセスへの落とし込み
• 下流工程のテストや品質管理メソッドを含む開発工程全体を通じたプロセス整備
プロセス
AI モデル開発とシステム開発のチーム連携に関してスムーズなプロジェクト運営が可能となった
• 品質の担保をした開発方法や品質管理方法の整理、実施
• 本プロジェクトを参考に見積り方法を定める