🔰

【初心者】基盤モデル?LLM?RAG?Amazon Bedrockに飛び込む前に知っておきたいワード

2023/12/13に公開

はじめに

この記事では、Amazon Bedrockを利用するにあたって基礎のきとなるいくつかの機械学習・生成系AIに関連する概念について、初心者目線でわかりやすく(浅く)解説・図示します。なお、筆者もまだまだ勉強中なので、理解が間違っていたらご指摘いただければ幸いです。

解説するものは以下となります:

  • Amazon Bedrockの概要
  • 基盤モデル(FM)
  • ファインチューニング
  • 大規模言語モデル(LLM)
  • RAG

●Amazon Bedrockの概要

Amazon Bedrockとは、

  • 生成系AIを構築するツール/プラットフォーム
  • 様々なサードパーティ製/Amazon自家製の基盤モデルを提供している
  • 自社データで基盤モデルをカスタマイズすることができる

簡単に言うと、Bedrockはあくまでもプラットフォームであり、重要なのは次で解説する基盤モデルです。

●基盤モデル(Foudation Model、FM)

基盤モデルとは、大量で多様なデータを用いて訓練され、言語の理解、テキストや画像の生成、自然言語での会話など、様々な一般的なタスクを実行できる機械学習モデルです。
図ではこんなふうに表すことができます。

2023年12月時点でAmazon Bedrockで提供されている基盤モデル一覧はこちら↓になります。
https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html
基盤モデルは、ファインチューニングなどの機械学習の手法によってさらに特定のタスクに適応させることができます。

●ファインチューニング

では、ファインチューニングとはなんでしょうか?
ファインチューニングとは、事前に訓練済みのモデルに対して、手元のデータセットを再学習させ、モデルのパラメータを調整して特定のタスクに適用させるような、モデルを生成する機械学習の手法です。
具体的には、下記の図のような仕組みになります。

さらに詳しく言いますと、追加するデータをpromptとcompletionの形式に変換してから、promptとcompletionの関係性を基盤モデルに学習させる、という仕組みになります。

ちなみに、↑のA社の情報は、ChatGPTに作ってもらったものとなります。

●大規模言語モデル(Large Language Model、LLM)

大規模言語モデルは、上記でご紹介した基盤モデルの1種です。
大量のテキストデータを使ってトレーニングされた自然言語処理のモデルです。
図で表すとこんな感じになります。

●RAG(Retrieval Augmented Generation、検索拡張生成)

当たり前なのですが、大規模言語モデル(LLM)は、学習した分のデータ以外に含まれていない内容に関して、質問に回答することができません。
そこで、RAGを実装することで、このような課題を解決することができます。
RAGとは、LLM外部のデータソースを検索し、取得した情報に基づいてLLMに回答を生成させる手法です。
図で表すとこんな感じになります。

●参考記事

https://trail.t.u-tokyo.ac.jp/ja/blog/22-12-01-foundation-model/
https://aws.amazon.com/jp/what-is/foundation-models/
https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/what-is-bedrock.html
https://qiita.com/ksonoda/items/b9fd3e709aeae79629ff
https://atmarkit.itmedia.co.jp/ait/articles/2303/13/news013.html
https://dev.classmethod.jp/articles/implement-rag-with-aws-services/

Discussion