はじめに
こんにちは、H×Hのセンリツ大好きエンジニアです。(同担OKです😉)
今回はAWS Summit Japan 2024で頻出だったRAGについて個人的に理解してまとめてみました。
誤った情報などありましたら教えていただけると幸いです。
RAGとは?
RAGは、Retrieval-Augmented Generationの略で、日本語訳すると検索拡張生成になります。その名前の通り、言語モデル(LM)によるテキスト生成に、学習していない外部情報を加えることにより回答精度を向上させる技術です。
どういうことか説明します。
生成AIが与えられた質問に対して回答を行う際、基本的には事前学習させたLLMを用いて適した回答を用意します。
しかし、ChatGPTなどの生成AIでは一般的な情報を学習させたLLMを用いているため、専門性の高い質問や個人に基づいた質問に対しては回答精度が低くなってしまいます。
例えるならば、大学受験の勉強している人にいきなり留数定理を説明して欲しいとお願いするようなもんです。
受験生が今まで習ってきたのは高校数学の範囲までなのに、急に留数定理とか言う大学数学の範囲を教えてと言われても答えられませんね。
このようにして、回答できない問題があった時あなたならどうしますか?
。。。そうですね!留数定理の公式と導き方が載っている書籍を手に取って学習することで答えてあげられます!
(何て優しい受験生、僕なら自分のことで頭がいっぱいになるのに。。。😉)
未学習の情報を、外部から受け取ることで質問に対しての回答が正確になりやすくなります!
上の図から、受験生を生成AI、参考書をRAGと解釈すると分かりやすいかと思います!
このように、RAGによって生成AIによる回答精度が向上する訳ですね!
ただし、デメリットももちろん存在します。
RAGは専門的な知識を要するために開発コストが掛かる点や、RAGを行うことで回答までの時間が掛かる点があるため、ユースケースによってRAGの利用は考える必要はありますね。
おわりに
今回は自分なりに解釈したRAGの仕組みについて解説しました!
RAGは非常に便利ですが、外部情報を全て言語モデルに与えてあげればいいじゃん!と言うものでもないのが難しい所だなと感じました。🤔(文字数の制限やコスト面などが原因)
最後までご覧いただきありがとうございました!
以上、センリツでした。🤓