自分だけのchatGPTが作れるmyGPTs機能。
例えばこれまで作っていた、論文の英文校正機能を持つ(予定の)Scholarly Wordsmith。
他にも様々な人が作っており、例えばPersonal Color AnalysisというGPTsを使えば、パーソナルカラー診断ができるそうです。
…実は、使ったところあまりしっくりこなかったのですが、もしかするとアジア人のカラーにはあまり対応していないのかもしれません。
それはさておき、それらのGPTsを最大限有用なものにするためには、GPT knowledgeと呼ばれる追加の知識を与えてあげる必要があります。
ところで、このknowledge、どうやって活用しているのでしょうか。
GPTsの機能に対してどのように寄与するのか、はとてもよくわかります。
実際に回答を考えるときの事前知識を与えてくれるものであり、前回のvol.10で試したときにも、knowledgeを与えることでそれらを考慮した形で回答を生成してくれました。
実際に「GPT knowledge 仕組み」等のキーワードで検索をすると、そのような内容を記述したブログがたくさん出てきます。
ですが、私が知りたいのはそういったことではないのです。
機械学習のモデルとして、どのように作用しているかが知りたいのです…!
推定するに、knowledgeを用いて再度モデルの学習をしているということはないはずです。
その理由は二つあります。
まず、knowledgeを入力してから、その変更を反映するまでにほとんど時間がかからないこと。
次に、膨大なメモリを使ってしまうモデルのパラメータを、knowledgeが与えられたGPTsごとに変更して保存しておくことは大変に非効率であることです。
OpenAI社が公開する情報は今のところ見つけられていないのですが、恐らく間違っていないかと思います。
最近多くの研究がなされている分野に、プロンプトエンジニアリングがあります。
これはどのようなプロンプトを入れてあげれば精度が上がるのか、といったことを研究する分野です。
例えば算数の計算はchatGPTにとって少し苦手分野なのですが、事前にいくつか例題を出してあげることで精度が上がることが知られています。
もしかして、GPT knowledgeはこのプロンプトに準ずる何かなのでしょうか。
あるいは、他の方法で出力に影響を与えている?
検証が間に合わず結論はいまだ不明ではあるのですが、機械学習の研究者の端くれとして、大変に気になるところです。
「これだ!」というものが検証や調査からわかりましたら、こちらにて共有させていただければと思います。
P.S.
…とても気になります。