はじめに
普段Geminiへの壁打ちやGitHub Copilotでコーディングをぶん投げている筆者。
だがしかし生成AIひいてはLLMについてそこまで知らないので調べてみて記事にまとめてみました。
生成AI
学習したデータを活用し、新たなコンテンツ(テキスト・画像・動画など)を生成する人工知能。
大規模言語モデルとは
通称LLM(Large Language Models)。
自然言語処理(テキストデータ)に特化した基盤モデル。
ハルシネーション
AIが事実と異なる情報をあたかも本当かのように情報を作成してしまう現象。
(自信もってこれです!って言ってる情報が実は嘘)
発生原因
- 学習データに問題がある(偏ったデータや誤った知識の学習)
- プロンプト(LLMへの指示内容)に問題がある(あいまいな質問)
改善策
- 学習データの質をよくする
- プロンプトを修正
- 人間によるフィードバックを行う
- RAGの活用
LLMをより目的に沿ったものにするための技術
プロンプトエンジニアリング
LLMが望ましい回答を生成するように適切なプロンプトを作成する手法。
具体例を出す・曖昧な表現を避ける・フィードバックを行い段階的に改善するなど様々な手法がある。
(細かい内容は割愛)
RAG
検索拡張生成(RAG:Retrieval-Augmented Generation)。
LLMの生成を最適化するために、別で知識ベースを提供すること。
例えば社内規定の質疑応答に生成AIを活用したいときに、その社内規定のデータが必須になる。
そのデータをモデルに学習させるのではなく、知識ベースを用意し参照することで適切な生成を行えるようになる。
ファインチューニング
学習済みのAIモデルに追加学習を行うこと。
生成AIモデルをユースケースに沿って特化させるために行う。
MCP
Model Context Protocol。
LLMと外部ツールを繋ぐ共通規格。
リアルタイムの情報を使用して出力したいとき等に、外部データをコンテキストに追加できる。
RAGより容易に導入できる。
※コンテキスト:生成AIの出力に必要な背景情報や文脈
所感
調べれば調べるほど知らないことがたくさん出てくる未知の領域でした。
とりあえずMCPをお試しで使ってみたいところ。