はじめに
今までは、自分が欲しいと思う情報を見つけようとした時、web上でキーワードを検索してきました。今では、ChatGPTを使って情報を見つけるようになって欲しい情報を見つけるまでの時間が格段に減ってきました。その発展に大きく貢献した技術の一つとして、CPUを使った処理から、CPUとGPUを組み合わせ、複雑な大規模な処理を並列に処理して実行していくシステム構成が可能になったことで格段に処理速度が向上してきたことが要因のひとつにあります。
今回、AI(Artificial Intelligence)の基本的な概念とこのシステム構成の変化によってもたらされたことでどんな変化があったか考えてみたいと思います。
AI(Artificial Intelligence)
概要
AIは、人間の知能を模倣する技術の総称で、学習、推論、自己修正などの機能を持ち、多岐にわたるタスクを自律的に実行する能力を持ちます。その技術は、画像認識による機械学習、deep learning、強化学習などに使用されています。
システム構成
AIが行っている動作を簡単な図にしてみました。Inputした内容をOutputするためにある学習モデルを使って変換し、欲しい情報として取り出します。AIは、この学習という部分に特徴があり、自律的に判断やoutputを行うことができます。さらにその出力した結果が失敗と判断された場合は、調整を行い、改善を続けていきます。
似たような技術としてIA(Intelligent Assistant)がありますが、こちらは、ユーザーの指示にしたがって、特定のタスクを支援する技術になります。
IAのシステム構成
IAのシステム構成です。IAは、環境からエージェントと呼ばれるソフトウエアを介して結果を返します。エージェント側は、環境側からセンサを用いて今の環境を認識します。センサからは、処理するためのルールを介して実行させるアクチュエーターに渡します。アクチュエーターは、環境側へ結果を返す構成となっています。
処理速度の向上
AIを作る上で必要なシステム構成の要件となるIAは、CPUを使用した処理からGPUを活用する処理をするようになることで処理速度が格段に向上していきました。この変化がもたらしたことについて考察してみます。
CPUとGPUの処理の違い
CPUとGPUのハードとしての大きな違いは、CPUは各処理を順番に処理するシリアル処理をすることに対し、GPUは、似たような処理がパラレルに処理できるように変換し同時に処理することで速度が格段に短縮することができるようになりました。
例えば、1ピクセルに画像を表示することを考えてみます。モノクロだった時代は単純に、onするoffするといった信号しかなかったのですが、カラーの情報を渡そうとした場合、RGBで表現できる信号を伝える必要が出てきます。対象とピクセルに渡すことができる信号線が1つだけだった場合、以降の信号はシリアル情報として、その信号の後に並べて処理することになり、それだけ処理に時間がかかることになります。GPUでは、並列に処理を実行できるようにしているため、並列に並べているだけ処理が一気に行えるようになるため、処理速度が向上します。GPUを使うことで、ゲームのように高画質で滑らかな動きがディスプレイで表現できるようになっています。
GPUでの処理がもたらしたもの
GPUを使った処理がもたらしたことの変化は、高画質なディスプレイをなめらかに動かすことできるようになったことだけはなく、検索速度を向上させることにも貢献しています。
キーワード検索をすることを考えてみます。ANDやORを使用して検索すると、欲しい情報にたどり着くまでに思いつくキーワードを並べたり、出力された検索結果から探し出すため、欲しい情報にたどり着くまでに時間がかかっていました。GPUを使用しパラレルに処理できる機能が発達したことによって、自然言語の処理を得意とする大規模言語モデル(LLM:Large language model)が考案されました。これは、keywordをLLMが処理するための数字に変換し、ベクトルから関連性が高いものを検索させることができるようになりました。
分類 | キーワード検索 | ベクトル検索 |
---|---|---|
検索方法 | キーワード一致 | 埋め込み処理をしたベクトル/キーワード一致 |
曖昧さ | - | 従来よりも同義語、曖昧な言語、広範囲またはあいまいなクエリの処理に優れている |
また、テキストのような文字データだけでなく、画像や音声などを入力し、扱うことできる大規模マルチモーダルモデル(LMM:Large Multimodal Model)もあり、テキストに加え、画像、動画、音声などを扱うことができるようになっています。
AIの分類
AIについて下記のように分類しました。
分類 | 概要 | 例 |
---|---|---|
弱いAI(Narrow AI) | 特定のタスクに特化したAIです。ある特定の問題解決に焦点を当て、人間のような広範な知識や汎用的な知能は持ちません。 | 音声認識システム(SiriやAlexaなど)、対話型IAI(Chat GPT)など |
機械学習(Machine Learning) | データを用いて自ら学習し、パターンを見つけて予測を行う技術です。プログラムが経験から学ぶことを可能にします。 | 回帰分析、クラスタリング、ニューラルネットワークなど。 |
ディープラーニング(Deep Learning) | 機械学習の一部で、特に多層のニューラルネットワークを使用して複雑なパターンを学習する技術です。 | 画像認識、自然言語処理、音声認識など。 |
強化学習(Reinforcement Learning) | エージェントが環境との相互作用を通じて報酬を得ることで、最適な行動を学習する方法です。 | ゲームAI、自動運転車、ロボット制御など。 |
AIと機械学習とディープラーニング
AIと機械学習とディープラーニングの関係性は下記のように表現することができます。
機械学習は、特定の事象についてデータを解析し、その結果か学習し、判断や予測を行うための技術で、教師あり学習、教師なし学習、強化学習として、下記のように分類することもできます。
分類 | 概要 |
---|---|
教師あり学習 | ラベル付きデータを使用して学習し、予測を行う |
教師なし学習 | ラベルなしデータを使用してパターンを見つけ出す |
強化学習 | 試行錯誤を通じて最適な行動を学習する |
ディープラーニングは、機械学習の一種で、特に多層のニューラルネットワークを使用します。それにより複雑なパターン認識や予測が可能となります。
以上、簡単ですが、AIの基本的なことをまとめてみました。何か調べたことがあれば、随時更新していきます。