最近、ビジネスにおいてAIの活用が一般化し、AIシステムをコア業務に統合したり、社内支援業務に組み込んだりするトレンドが増えています。
生成AI(たとえばChatGPT)の発展により、これまで難しかった活用方法が大幅に簡素化され、多くの企業が業務に取り入れるようになっています。
企業でAIを利用する方法は、他社が開発した市場にあるAIサービス(SaaSなど)を使用するか、自社のニーズに合わせたAIシステムを独自に開発するかの二通りです。しかし、いずれの場合も、AIシステムの開発プロセスと、それに関連する留意点を理解することが、ビジネスへのAI導入の成功と競争優位性を得るために重要です。
※関連記事:【2023年】 AIトレンド 10選!ノーコードからイラストAIまで
目次
AIシステム開発とは?
AI(人工知能)は、コンピュータが学習、推論、判断、認識など、人間の知的活動を模倣する技術を指します。今日では、AIは私たちの日常生活に欠かせない存在となり、AI-OCRや故障診断や医療診断、音声認識や手書き文字データ化といった分野でのAIシステムの活用が進んでいます。
AIシステムの開発は、機械学習やディープラーニングの技術進化によって加速しています。これらの技術は、大量のデータからパターンを学習し、新たな情報を予測する能力を持っています。
AIシステム開発のプロセス
AI開発は複数の段階に分かれ、それぞれ異なる注意点が求められます。これらを理解しておくことで、社内でのAI開発や外部に委託する際の選定に役立ちます。
AI開発は主に4つのフェーズに分かれます:
・アイデアフェーズ
・ PoC(概念実証)フェーズ
・実装フェーズ
・運用フェーズ
各フェーズを詳細に見ていきましょう。
アイデアフェーズ
AI開発の最初のステップは、開発するAIモデルのアイデアを具体化することです。この段階では、目的を明確にし、どのようなAIモデルを開発するかを検討し、システムの全体像を設計します。
多くの人がAIがすべてのビジネス課題を解決してくれると期待していますが、実際にはAIは万能ではなく、特定の課題に最適なソリューションを提供する技術です。そのため、次のような質問を議論することが重要です。
・自社の課題は何か?
・ AIで解決すべき課題はどれか?
・その問題はAIで解決する価値があるのか?
※関連記事:システム開発流れ
アイデアフェーズでのタスクは以下のようです。
・課題の特定
・機械学習で解決可能な問題の特定
・プロジェクトチームの決定
・ ROI(投資対効果)の確認
・誰(どのチーム)が開発を担当するかの決定
・必要なデータの種類とAIモデルの選定
ROIの見積もり
ROI(投資対効果)は「Return on Investment」の略で、投資した資金に対するリターンを指します。ROIを設定することで、ビジネスの有効性を客観的に評価し、他の企業やプロジェクトとの比較、さらに実施する各施策の評価が可能になります。
開発チームの決定
AI開発はチームで進めることが重要で、最低限以下の人材が必要です:
・経営層/ビジネスマネージャー:ビジネスの意思決定
・プランナー/コンサルタント:プロジェクトの進行
・プロジェクトリーダー:開発のリード
・データサイエンティスト:分析・開発の実施
AIエンジニアには次のスキルが求められます:
・ AI開発言語のプログラミングスキル
・数学的知識
・データベース運用スキル
・ AIによるデータ分析の知識
・ AI開発に役立つフレームワーク・ライブラリの知識
これらのスキルを社内でカバーできない場合、外部委託(アウトソーシング)も一つの選択肢です。その際には、開発チームやAI開発会社との打ち合わせが必要です。
AI開発会社やチームとの打ち合わせ
この打ち合わせでは、会社の課題やAIで解決したい内容を明確に伝え、AI開発会社やAI開発チームと共通理解を得ることが大切です。これにより、両社間で基本的な協力の基盤が形成されます。
AI導入の要件、範囲、正確な目標、必要なデータの量と質、開発スケジュールなどを詳細に話し合い、合意を得ることが重要です。AI開発は一定の不確実性があるため、PoCを通じて何度も検証しながら進めます。また、この段階では、ChatGPTのAPIなどを利用することも含めて、AIモデルにこだわらず柔軟な発想を持つことが重要です。
AI開発会社は最新のAI技術を常に研究しており、同様のプロジェクト経験も豊富であるため、最適なAIモデルや技術を選定する能力に優れています。もし特定のAIモデルや方法を選んで実装を進める際は、その方法を十分に理解し、経験豊富な専門家のアドバイスを参考にすることが望ましいです。
※関連記事:システム開発 要件定義AIモデルと必要なデータの決定
ROI(投資対効果)や開発チームの確認が終わったら、次にどのタイプのAIモデルを開発するか、また必要なデータの種類を決定します。その後、データを収集し、ラベリング(アノテーション)を行ってAIを訓練します。機械学習やディープラーニングでは、大量の高品質なデータが必要です。
アノテーションは時間がかかるプロセスですが、データの品質はAIのパフォーマンスに直接影響するため、妥協せずに丁寧に進めることが重要です。データの収集とアノテーションは、しばしば大きな障壁となるため、これらのステップに十分なリソースを割り当てることが極めて重要です。社内リソースで対応できない場合は、専門の外部企業にアノテーション作業を委託することを検討してください。
例えば、画像認識AIを開発する際には、認識対象となる物体や人物が写った大量の画像データを準備し、正確にラベル付けを行う必要があります。自然言語処理(NLP)AIの場合は、音声の一部や命名実体、意図ラベルなどの情報をテキストデータに付加します。たとえば、会社のウェブサイトで自動応答を365日24時間提供するチャットボットAIを構築したい場合、事前に大量のクエリデータ(FAQなど)を収集し、AIに学習させる必要があります。このように、具体的な問題や必要なAIの種類、必要なデータが明確になると、プロジェクトの全体像がはっきりしてきます。
※関連記事:画像認識 ならカオピーズ!AIを使った仕組み・活用例を紹介!
PoCフェーズ
次のステップは「PoC検証」です。PoCは「Proof of Concept」の略で、日本語では「概念実証」と訳されます。これは、アイデア段階で考えられたAIが技術的に実現可能かどうかを実際に検証・確認するステップです。
「PoC検証」では、まず仮のAIモデルである「モックアップ」を開発します。PoCプロセスでは、収集したデータの一部を使ってAIモデルの小規模な構築を行い、それをテストします。これにより、技術的な実現可能性の確認や、運用環境に必要なインフラやセキュリティ要件の把握が可能です。
PoCで行う具体的な作業は次のとおりです。
・ データの収集と確認
・ アノテーションとコスト効率の確認
・ 実現可能性の確認
AIモデルが失敗する主な理由は、データ量が不十分であることが多いです。トレーニングデータの準備方法や、準備にかかる時間とコスト、データの正確性に問題がないかを慎重に確認することが重要です。
PoCを進めた後は、以下の要素を確認し、プロジェクトの実現可能性を評価します。
・ 機械学習やディープラーニングに必要なデータの量と質が確保されているか?
・ 期待通りの精度が達成できるか?
・ コスト効率に見合った処理速度であるか?
・ 出力にエラーが発生した場合に正確に対応できるか?
PoCを通じて、アイデアが実現可能であることが確認されたら、次はプロトタイプモデルの開発に進みます。PoCはAIシステムの核となる重要なプロセスです。
※関連記事:日本システム開発
開発環境
PoCにおけるAIシステム開発では、大量のデータを処理するための開発環境が必要です。具体的な環境には次のものが必要です。
・ 大容量のデータを保存できるストレージ
・ ディープラーニングや機械学習を実行できる高性能なコンピュータ
また、AI開発にはPythonやSQLの知識が必要です。この時点で、プログラム内で頻繁に使用される関数を抽出し、それらを再利用しやすい形で整理するためのライブラリやフレームワークが役立ちます。典型的なライブラリやフレームワークには、Numpy、Pandas、Matplotlib、Google提供のTensorFlowなどがあります。
開発フェーズ
PoCによるAIの実現可能性を確認した後、次のステップは本格的な導入です。これは、モックアップの開発内容を基に最終的なシステムを完成させるフェーズです。
導入フェーズでは、AIが実際に使用される環境に必要な要件を特定し、それに基づいてシステム開発を進めます。AIが完成した後、正常に動作することを確認し、実際の運用に向けてテストを実施します。また、運用に移行する前に、「デプロイ」という段階でリスク対応策や予防措置を講じ、フィードバックを収集することも重要です。
開発チームの選定は、このフェーズにおいて非常に重要な役割を果たします。なぜなら、技術的な知識だけでなく、業務内容を適切に整理するノウハウ、顧客とのコミュニケーション能力、リアルタイムでの対応、そして問題解決のスキルが求められるからです。そのため、AI開発会社をお探しの場合は、ぜひ以下の記事をご参考ください!※関連記事:AI開発会社 | ベトナム企業がおすすめ!メリットや優良企業について紹介
AIシステム開発の方法
「デプロイ」フェーズでの標準的なAIシステム開発手法は「ウォーターフォールモデル」です。
ウォーターフォール開発は、システム開発を複数のステップに分割し、各ステップを順序通りに進める手法です。次のプロセスで進行します。
・ 要件定義
・ 基本設計
・ 詳細設計
・ 単体テスト
・ 統合テスト
・ 総合テスト
・ システム導入
・ 運用フェーズ
※関連記事:システム開発 V字モデル
運用フェーズ
導入フェーズが完了した後、次は運用フェーズに移行します。システムが安定して稼働するよう、メンテナンスを行うとともに、アイデアフェーズで設定した目標がどの程度達成されているかを定期的に確認し、PDCAサイクルを回します。このPDCAサイクルを実行することで、AIを活用して初期に設定した目標を達成することが可能となります。
開発プロセスの注意点
開発プロセスを構築する際のポイントは次の通りです。
・ 現場と連携した開発プロセスの構築
・ マイルストーンの設定と現場との合意形成
・ プロジェクト進行の認識の統一
AI開発は複数のステップから構成されており、プロジェクトチームと現場が協力して開発プロセスを構築することが重要です。現場の意見を集め、開発目標を共有することで、自社に最適な開発プロセスを構築することができます。
また、各フェーズで問題が発生することも少なくありません。予算やスケジュールの調整、進行方法の見直しが必要になる場合がありますが、プロジェクトチームと現場の合意がなければ問題解決は難しく、開発過程での食い違いが発生する恐れがありますので注意が必要です。
さらに、AI開発では学習の繰り返しや精度向上のための調整が不可欠です。そのため、重要なマイルストーンを設定し、進行状況を逐次確認しながら進めることが大切です。
開発プロセスが一貫性を欠かないようにするため、運用者と管理者はプロジェクト全体の進行状況に関する理解を統一する必要があります。
AIシステム開発プロセスと一般的なシステム開発プロセスとの違い
一般的なシステム開発プロセスとAI開発プロセスのワークフローは似ていますが、最大の違いは目標の設定にあります。
通常のソフトウェア開発では、開発は計画段階で定義された最終製品を目指して進行しますが、AI開発では、リリース時に最終的な製品が完成している必要は必ずしもありません。AI開発では、リリース後にデータを調整しながら精度を向上させることが基本です。そのため、運用フェーズでもデータ分析やプログラミングの知識を持ったエンジニアの配置が不可欠です。
※関連記事:WEBシステム開発とは?言語・流れ・契約形態も徹底解説
結論
今回は、AIシステム開発のプロセスと、システム開発を成功させるために注意すべき重要なポイントについてご紹介しました。これらの重要なフェーズで以上説明した要求を十分に満たさない場合、AIシステム開発を外部のチームや会社に委託することを検討するのも一つの方法です。企業の課題解決に十分な知識を持っていなければ、AI導入そのものが失敗につながる可能性があります。
カオピーズでは、10年以上の経験と600件以上の開発プロジェクト実績、150社以上の日本企業とのパートナーシップを誇りとしています。カオピーズのAIおよびシステム開発プロジェクトは、高い水準で提供されており、AIの専門的な知識を持つコンサルタントが参加しています。これにより、データの自動化や診断、検出を行うAIシステムが、カオピーズの主要サービスとして多くのIT賞を受賞し、数々の実績を上げています。
もし、売上の向上、利益の増加、単純な手作業の自動化をお考えの場合、または「AIを開発できるのか?」「コストはどれくらいかかるのか?」「ツールとカスタム開発のどちらが良いのか?」といったAI開発に関するご質問がございましたら、ぜひカオピーズまで直接ご連絡ください。お客様の成功が、カオピーズの使命です。