preloader

お知らせ・ブログ

AI開発のプロセスとは?|具体的な流れ、開発成功のポイントも解説

AI開発のプロセスとは?|具体的な流れ、開発成功のポイントも解説

更新日 : 2023.12月.04

「AI開発はどのようなプロセスで行われるのか?」
「AI開発を外注したいけれど、どんな流れで進むのか、発注側は何をすればいいのか知りたい」

これからAIを導入したいと考える企業の中には、そのような疑問や要望を持っている方も多いでしょう。

AI開発のプロセスは、一般的に以下の4つのフェーズに分けられています。

1)構想フェーズ
2)PoCフェーズ
3)実装フェーズ
4)運用フェーズ

基本的な流れは、一般的なシステム開発とさほど違いませんが、大きく異なるのは「目指すゴール」です。

一般的なシステムやソフトウエアは、計画段階ですでに完成形を想定し、100%それを実現することを目指して開発されます。

が、AIの場合はリリース=完成ではありません。

リリース後に、運用しながら精度を高めていく必要があります。

そのため、運用フェーズに入ってからも保守点検するだけではなく、データ解析やプログラミングに高いスキルを持つエンジニアが、モニタリングとチューニングを続ける必要があるのです。

そこでこの記事では、AI開発のプロセスについて、知っておくべきことを解説します。

◎AI開発のプロセス:4つのフェーズ
◎AI開発のプロセスと一般的なソフトウエア開発プロセスとの違い
◎総務省による「AI開発ガイドライン」

といった基本的な知識をくわしく説明したあとで、実際にAI開発を行う際に必要な以下のことも解説していきます。

◎AI開発を外注する際の具体的な流れ
◎AI開発を成功させるポイント

最後まで読めば、AI開発のプロセスについてひと通りのことがわかるでしょう。
この記事で、あなたの会社が業務に役立つAI開発をできるよう願っています。

1.AI開発のプロセスとは

そもそもAI開発は、どのようなプロセスで行われるでしょうか?
それは一般的に、以下の4段階のフェーズで進められます。

1)構想フェーズ
2)PoCフェーズ
3)実装フェーズ
4)運用フェーズ

まずはこの流れについて説明していきましょう。

1-1.AI開発のプロセスは大きく4つのフェーズにわかれる

AI開発のプロセスは、個々のケースによって細かく異なりますが、一般的には以下の4段階に分けて考えられます。

それぞれくわしく説明します。

1-1-1.構想フェーズ

まず最初に、どのようなAIを開発するのかを検討、計画する「構想フェーズ」です。
ここで行うのは以下のような工程です。

・課題の洗い出し
・ROIの検討
・AIの開発目的決定:AIでどの課題を解決するか
・プロジェクトチームの編成
・社内での開発承認

1-1-1-1.「解決すべき課題=開発の目的」が重要

まずいちばん最初にすべきことは、AI開発の目的を明確化することです。

自社の課題を洗い出し、その中でAIによって解決できるものがあるか、あればどのようにAIを利用するか、どの業務・事業を自動化できるかを検討し、「AI開発で解決する課題」を定めます。

ここで重要なのは、「AI導入を目的にしない」ということです。

AI導入が目的になってしまうと、開発途中で「AとBどちらを選ぶか」と迷ったときに判断を誤ります。

ここで定める「解決すべき課題=開発の目的」は、AI開発に関わるメンバー全員が共有して目指す「ゴール」ですので、この時点でわかりやすく明確化しておきましょう。

1-1-1-2.ROIは具体的に想定する

また、ROI(=Return On Investment、投資利益率、費用対効果)について検討することも重要です。

AI開発には数百万~数千万円という大きな費用がかかりますので、実行するのであればかならず投資する以上の利益が期待できる計画を立てなければなりません。

どの程度のROIをどれくらいの期間で達成するのか、具体的な数字を想定してください。

課題とROIが定まったら、次にAI開発のプロジェクトチームを組みます。
内製の場合は社内で誰をアサインするかを決めればよいですが、外部の開発会社に委託する場合は委託先を選定する工程も加わります。

プロジェクトチームが編成でき、開発体制を整えた上で、社内で開発の承認を得るところまでが「構想フェーズ」です。

1-1-2.PoCフェーズ

次に、「PoCフェーズ」に移ります。

「PoC=Proof of Concept」とは「概念実証」、つまり「考えたことを証明すること」を指しますが、開発においては「プロトタイプ(またはモックアップ)を作成して、構想している計画が実現可能かどうか実証実験すること」を意味します。

ここで行うことは以下です。

・学習させるデータの用意
・AIのプロトタイプの構築
・データの学習、検証
・開発計画やROIの検討
・開発スケジュールの作成

まず、プロトタイプに学習させるデータを用意します。
そして、プロトタイプを構築したら簡易的にこのデータを学習させ、運用してみた上で以下について検証していきます。

・データの質と量は十分か
・構想通りの効果が期待できるか
・オペレーションに問題はないか
・想定したROIは達成できそうか     など

これらが問題ないと判断できたら、実際のAIモデルの開発スケジュールを立てましょう。

ここまでで「PoCフェーズ」は終了です。

1-1-3.実装フェーズ

ここからは「実装フェーズ」に入り、PoCフェーズで構築したプロトタイプをもとに、実際のAI開発を進めていきます。

実装フェーズでは、通常のシステム開発と同様に、以下の流れで開発を行います。

1)要件定義
2)設計
3)コーディング
4)テスト+バグ修正

テストで問題がなくなれば、「実装フェーズ」からいよいよ「運用フェーズ」に移行します。

ただAI開発は、ウォーターフォール型で行われるケースも多いですが、リリース後にも学習とチューニングを繰り返して精度を上げていくというAIの性質を踏まえると、アジャイル開発が適しているとも言えます。

アジャイル型で進める場合は、「企画→設計→リリース→テスト」のサイクルを短い期間で繰り返しながら開発していくことになるでしょう。

1-1-4.運用フェーズ

AI開発最後の段階は「運用フェーズ」です。
テスト結果に問題がないことが確認出来たら、いよいよAIを実際の業務で運用します。

この段階で行うのは以下です。

・保守、点検
・モニタリングと、実情に合わせたチューニング

前項でも触れましたが、AI開発はリリースしたら終わりではありません。
「構想フェーズ」で定めた目標やROIを達成するためには、つねにモニタリングを続ける必要があります。

KPIを定めた上で、その達成度を見ながら場合によっては学習データを追加したり調整するなどのチューニングを行い、AIの精度を高めていきます。

ただ、この段階で「データが多けば多いほど、AIの精度が上がるだろう」と考えるかもしれませんが、これは誤りです。

間違ったデータや不要なデータをAIが学習してしまうと、逆に精度が下がってしまうケースもあります。

そのようなことがないよう、KPIを見ながらつねにAIをチューニングし、課題解決と目標達成を目指しましょう。

1-2.AI開発のプロセスと一般的なソフトウエア開発プロセスとの違い

ここまで、AI開発のプロセス4段階がわかりましたが、ではこの流れは一般的なソフトウエア開発のプロセスとどう異なるのでしょうか?

リリースまでのプロセスは、どちらも基本的には同じような流れで進められます。
が、両者の大きな違いは、目指すゴールです。

一般的なソフトウエア開発では、計画段階ですでに完成形を想定し、それを100%の形で実現することを目標に開発を進めます。

一方AI開発では、リリース時点で完成形になっているとは限りません

もちろん、なるべく計画通りのAIモデルを構築するよう努めますが、基本的にはリリース後にデータの調整やチューニングを行うことで、誤差をゼロに近づけ精度を高めていくことが求められます。

そのため運用フェーズに入ってからも、一般的なソフトウエア開発のように保守点検だけ行えばいいわけではなく、データ解析やプログラミングに高いスキルを持つエンジニアが携わる必要があるのです。

1-3.総務省による「AI開発ガイドライン」

このようなプロセスで進められるAI開発ですが、AIの需要が高まる現状を踏まえて、政府も以下のようなAI開発のガイドラインを制定しました。

◎総務省「AI開発ガイドライン(2017年7月28日)
◎総務省「AI利活用ガイドライン(2019年8月9日)

このうち後者の「AI利活用ガイドライン」では、AIの開発だけでなく利用・活用まで含めた流れを以下のように図式化しています。

出典:総務省「AI利活用ガイドライン

「PoCフェーズ」がなかったり、「デプロイ=AIソフト/システムを利用可能な状態にする」というプロセスが加わっているなど、1章で説明した4つのフェーズとは少し異なります。

このように、ケースバイケースで多少流れが異なるので、開発案件に合った進め方をしましょう。

ちなみにこのガイドラインの中で、政府は以下のような「AI開発原則」を定めています。

【AI開発原則】

<主にAIネットワーク化の健全な進展及びAIシステムの便益の増進に関する原則>
① 連携の原則:開発者は、AIシステムの相互接続性と相互運用性に留意する。

<主にAIシステムのリスクの抑制に関する原則>
② 透明性の原則:開発者は、AIシステムの入出力の検証可能性及び判断結果の説明可能性に留意する。
③ 制御可能性の原則:開発者は、AIシステムの制御可能性に留意する。
④ 安全の原則:開発者は、AIシステムがアクチュエータ等を通じて利用者及び第三者の生命・身体・財産に危害を及ぼすことがないよう配慮する。
⑤ セキュリティの原則:開発者は、AIシステムのセキュリティに留意する。
⑥ プライバシーの原則:開発者は、AIシステムにより利用者及び第三者のプライバシーが侵害されないよう配慮する。
⑦ 倫理の原則:開発者は、AIシステムの開発において、人間の尊厳と個人の自律を尊重する。

<主に利用者等の受容性の向上に関する原則>
⑧ 利用者支援の原則:開発者は、AIシステムが利用者を支援し、利用者に選択の機会を適切に提供することが可能となるよう配慮する。
⑨ アカウンタビリティの原則:開発者は、利用者を含むステークホルダに対しアカウンタビリティを果たすよう努める。

出典:総務省「AI開発ガイドライン

AI開発の各フェーズでは、これらの原則に留意しながら進めてください。

2.AI開発を外注する際の具体的な流れ

さて、前章ではAI開発の基本的なプロセスについて詳しく説明しました。
が、「自社で内製開発するのではなく、開発会社に委託して開発する」という企業も多いでしょう。

そこで、開発を外注する際に、発注したクライアント企業側が何をすればいいのか、流れに沿って見ていきましょう。

2-1.構想フェーズですべきこと

まず、開発会社にAI開発を依頼すると、ヒアリングがあります。
そこで、1-1-1-1.「解決すべき課題=開発の目的」が重要で説明したのと同様に、自社の課題を洗い出し、それをAIでどう解決するかという「AI開発の目的」を決定します。

この目的は、開発会社が開発を進めていく際の指針になりますので、納得できるよう、またお互いに認識の齟齬がないように話を詰めましょう。

目的が定まったら、AIの学習のためのデータを準備します。
顧客データなど、自社で保有しているデータを集めておいてください。

ただ、データは集めただけでそのまま学習データとして使えるわけではありません。
間違ったデータや関係ないデータが紛れ込んでいると、それを学習することでAIの精度が下がってしまう恐れがあります。

そのため、データを集めたら、内容を確認して修正や整理をしておく必要があるのです。

2-2.PoCフェーズ・実装フェーズですべきこと

開発会社が実際にAI作成に入ったら、準備したデータを提供します。
そして、プロトタイプやAIモデルができたときには、開発会社とともにその精度を検証します。

この段階は、開発の手法によってクライアントが何をするのかは多少異なるでしょう。

最初にどのようなAIにするかくわしく要件定義して進める「ウォーターフォール開発」の場合は、開発中はほぼ開発会社にお任せです。

一方、必要な基本機能をまず完成させて、後からひとつずつ機能を追加していく「アジャイル開発」の場合は、各機能ができるごとにテストや検証が必要になります。

この開発手法については、別記事「システム開発の4手法|ウォーターフォール型、アジャイル型など解説」で説明していますので、そちらも参照してみてください。

2-3.運用フェーズですべきこと

テストで問題がなければ、運用に入ります。
実際にAIを業務で利用する環境で正しく稼働するか確認し、これも問題なければ業務に導入することになります。

ただ、一般的なシステム開発であれば、リリース後は基本的には運用・保守をすればいいのですが、AIの場合はそれだけでは終わりません。

AIは、運用しながら学習を続け、精度を上げていく必要があるからです。

そのため、リリース後もクライアント側では当初に定めた「課題を解決できているか」「目的を達成できているか」のモニタリングを続けます。

もし、期待通りの成果が上がらない場合は、学習データを追加するなどチューニングが必要になります。
運用・保守の担当者の求めに応じて、追加学習用のデータを用意するなど対応してください。

3.AI開発を成功させるポイント

AI開発の流れの全体像は掴めたかと思います。

ただ、このプロセス通りに進めたからと言って、AI開発がかならず成功するとは限りません。
意図したものとは異なるAIが仕上がり、多額の予算をかけても期待通りの成果が上がらない恐れもあります。

そこで、そのような失敗を回避して開発を成功させるためのポイントを、最後にお伝えしておきましょう。

3-1.目的を明確化する

まず第一に重要なのは、開発を計画した時点でAI開発の目的を明確化することです。
1-1-1.構想フェーズでも触れましたが、以下のようなことをよく検討する必要があります。

・解決したい課題は何か
・その課題はAI導入で解決できるか
・解決できるならどのようなAIにすべきか
・AIでどんな業務を効率化したいか
・ROIは期待できるか        など

これらを整理した上で、「AIで〇〇という課題を解決する」「〇〇業務を効率化する」など、明確な目的を掲げた上で開発に乗り出しましょう。

そうすれば、もし開発途中で何か迷ったり、予算やスケジュールに調整が必要になった場合でも、「目的を達成できるかどうか」を判断基準として、ブレずに開発を進めていくことができるでしょう。

3-2.更新しやすいアルゴリズムにする

AIは、運用していく中で学習とチューニングを繰り返し、徐々に精度を高めていくものです。
となると、リリース時のアルゴリズムも随時アップデートしなければなりません。

そこで、開発時からのちのちのアップデートを見込んで、更新しやすいアルゴリズムにしておくとよいでしょう。

開発から運用に移行すると、担当者も変わるケースも多くあります。
その際に、AIがブラックボックス化していると、更新に手間がかかってしまいます。

そのようなことがないように、誰にでもわかりやすいコード、アルゴリズムを組むようにしてください。

3-3.運用しやすいプログラムにする

また、前項と同様の理由で、運用のしやすさも重要です。
運用中に不具合が生じた場合、開発者でなければ対応できないようでは、その間に業務が止まってしまいます。

運用担当者にもわかりやすく、トラブル対応が可能なようにプログラムを組むようにしましょう。

4.まとめ

いかがでしたか?
AI開発について、知りたかったことがわかったのではないでしょうか。

ではあらためて、記事のポイントをまとめましょう。

◎AI開発のプロセスは、以下の4段階のフェーズで進められる
 1)構想フェーズ
 2)PoCフェーズ
 3)実装フェーズ
 4)運用フェーズ
◎AI開発を外注する際の具体的な流れは、以下の通り


◎AI開発を成功させるポイントは、
 ・目的を明確化する
 ・更新しやすいアルゴリズムにする
 ・運用しやすいプログラムにする

これをふまえて、あなたの会社がAI開発に成功するよう願っています。

その他の記事

上部へスクロール