実現したいこと
自社製品のマニュアルの内容を質問応答するAIの開発
前提
rinnaモデルを用いる。
発生している問題・エラーメッセージ
rinnaモデルに自社製品のマニュアルをファインチューニングさせたら、
〇〇に同時接続するのは何台可能ですか?などと聞けば、
「3台です」と答えてくれるような応答システムを作りたいです。
この場合、ファインチューニングするデータは
どのような形式にまとめるのでしょうか?
また、ファインチューニングする際には、汎用モデルではなく下記の対話モデルが適しているでしょうか?
https://huggingface.co/rinna/japanese-gpt-neox-3.6b-instruction-sft
ファインチューニングにこだわる理由を教えてください.
ありがとうございます。
ファインチューニングにこだわっているわけではなくて、
上記の希望が叶えば方法は問いません。
他に最適な方法があれば教えて頂きたいです。
であればChatGPTのプラグインを利用するのはどうでしょう?
マニュアルを参照して適切な応答をする例は既にOpenAIが示しています.
https://openai.com/blog/chatgpt-plugins#retrieval
リンク下部の動画では2018 年から 2022 年までの国連年次報告書にアクセスしながら応答するプラグインのサンプルが示されています.
rinnaモデルを絶対条件にしているなら, ReAct https://arxiv.org/abs/2210.03629 を参考にドキュメント検索するようなプロンプトとシステムを組めばよいはずです.
ありがとうございます。まさにイメージとしては教えていただいた動画のようなものを描いていました。
たとえば文書管理システムのマニュアルを客先サポートとしてGPTやrinnaを活用して行いたいと思っています。
検索してよく出てくるのがファインチューニングだったのですが
ファインチューニングでなくプラグインを提案していただいた理由を
もしよければ教えていただけますか?
今後の知識としてぜひお伺いできれば嬉しいです。
もしファインチューニングを軸としたマニュアル参照サポートシステムであった場合,マニュアルの更新や新規作成のたびにLLMを学習にかけなくてはなりません.学習のみならずモデルの精度に重大な変化がないかなどの検証も含めると,マニュアル更新のたびに膨大なコストを払うことになります.
対してReActをはじめとするプロンプトエンジニアリングの隆盛は,ファインチューニング等にかける学習へのコストや時間を鑑みた結果になっています.LLMに対してプロンプトを工夫するだけで,欲しい結果を生成させようというものです.ChatGPTプラグインも同様,プロンプトを工夫してあのような結果を得ているにすぎません.
さて,プロンプトエンジニアリングで質問のタスクを解決した場合,マニュアル更新/新規作成が生じた際にはこれらLLMが参照する文書データの更新だけで済みます.ここに再学習のコストは存在しません.
したがって,ファインチューニングではなく,プロンプトエンジニアリングによる解決を提案しました.
ありがとうございます。ここ数日ファインチューニングを試してみましたがおっしゃる通り時間もコストもかかり非常に手間だということがわかりました。
プラグインの検討をしてみます。
拙い質問にお答えいただきありがとうございます。
精進してまいります。
あなたの回答
tips
プレビュー