プロジェクトの大別
AIプロジェクトは「予算」・「開発にあたって必要なスキル」・「リスクマネジメント」などの視点から、下記の3つに大別することができます。
・生成AIツールの活用(ChatGPTなど)
・DeepLearningを用いた開発
・ルールベースAIやDeepLearning以外の機械学習
以下、3つそれぞれの特徴や大まかなプロジェクトの大まかな進め方・注意点についてまとめます。
生成AIツールの活用(ChatGPTなど)
ChatGPTやGemini、Stable Diffusionなど、昨今は様々の会社から多くのAPIが提供されています。このようなAPIの活用によって、AI導入を行う事例が近年増えています。
特徴
基本的にはWeb画面やAPIを使う、LoRAやプロンプトエンジニアリングによって出力を制御する。
プロジェクトの進め方
- 実際にAPIを試す
- 試した中から目的に合ったAPIを選定する(利用規約には注意)
- 業務に導入する(業務内容に合わせて画面だけ作成する場合も含む)
注意点
APIの開発元の都合で使用料金や仕様が大きく変わる場合がある
商用の場合は利用規約を詳しく確認する必要がある
DeepLearningを用いた開発
近年、DeepLearning周辺の研究が大きな発展を遂げ、様々な場面で活用されるようになりました。主に画像はCNN、言語はTransformerを用いることで汎用的な取り扱いが概ね可能です。
特徴
基本的には学習済みのモデルを元にFinetuningを行うことが多い。規模が大きくなければ一般的なPCでもDeepLearningの学習・活用が可能。
プロジェクトの進め方
- プロジェクトの目的に近いDeepLearningの研究を探す
- 学習済みモデルが活用できるかを確認し学習を行う(Finetuningの場合が多い)
- UIの開発、業務フローへの導入
注意点
規模の大きい学習を行う場合は専用のGPUマシンもしくはクラウドの契約が必要。高額になる場合があるので、予算がそれほど大きくない場合は要検討。
一般的なPCで学習が難しい場合、ミニマムの開発費だけで200万以上は用意する必要あり。
ルールベースAIやDeepLearning以外の機械学習
ルールベースAIはプログラムにおける条件分岐を用いて実現するAIのことを指します。DeepLearning以外の機械学習は表型のデータに適用されることが多いです。
特徴
開発の予算がそれほどかからず、50万程度でもそれなりのものが作成できる。
プロジェクトの進め方
- 目的の設定
- 手法の選定・学習
- UIの開発、業務フローへの導入
注意点
手法やツールありきではなく、目的をどのように設定するかなどの上流工程が難しい。
専門用語集
共通用語
用語 | 意味 |
---|---|
LLM | Large Language Modelの略。ChatGPTもLLMの1つに含まれると理解しておくと良い。 |
モデル | 入力データと出力の対応を学習させたもの、モデルに新たな入力データを入力すると予測を行うことができる。 |
LoRA | Low-Rank Adaptationの略。DeepLearningのFinetuning結果の軽量化や、アプリケーション開発時のカスタマイズの軽量化を実現できる技術。 |
生成AIツール
用語 | 意味 |
---|---|
ハルシネーション | 生成AIがユーザーの質問に対して現実とは異なる回答を行うこと。 |
RAG | RAG Retrieval Augmented Generationの略。データベースの検索に基づいてLLMに回答を行わさせること。 |
DeepLearning
用語 | 意味 |
---|---|
CNN | 畳み込みニューラルネットワーク、画像を取り扱う際は基本的にCNNを用いる。 |
Transformer | ChatGPTなど、言語を取り扱う際はTransformerが基本的に用いられる。 |
Finetuning | 学習済みモデルの再学習、学習にかかる計算コストを大きく減らせる。 |
DeepLearning | 規模の大きなニューラルネットワーク、近年では規模の大きなニューラルネットワークがほとんどなのでDeepLearning=ニューラルネットワークと見なしてもそれほど問題はない。 |
GPU | 規模の大きなDeepLearningの学習にあたって用いられる、DeepLearningのプロジェクトの予算が大きくなる場合の要因。マシンを用意する場合・クラウドを活用する場合のどちらもそれなりにお金がかかる。 |
フレームワーク | DeepLearningのプログラムは一から作ると非常に難解になるので、TensorFlowやPyTorchなどのフレームワークを用いる。ライブラリではなくフレームワークと呼ばれることが多い。 |
ルールベースAIやDeepLearning以外の機械学習
用語 | 意味 |
---|---|
決定木 | 機械学習の手法の1つ、tree-basedと表される場合もある。 |
ベイズ | 事前知識をデータから得られる結果に反映させる仕組み。 |
if文 | プログラム言語における条件分岐はif文で表される場合が多い。ルールベースAIは基本的にif文やデータベースの検索によって実現される。 |
UI開発
用語 | 意味 |
---|---|
サーバ | Webアプリの実行元。Safariなどのブラウザはサーバと通信を行うことで、操作を行うことができる。 |
API | プログラムを介してアプリケーションを利用する際に使用するインターフェース。 |
UI | 人間と機械の境目。何かしらの機能を使う際に実行するボタンなどを指す。 |
Python | プログラム言語の一つ。AI開発ではPythonが用いられることが多い。 |
HTML/CSS/JavaScript | WebサイトはHTML・CSS・JavaScriptを元に記述される。画面の開発を行う際はこれらのスキルが必要。 |
ブラウザ | Safari・Chromeなどをブラウザという。 |