業務の方はあまり面白い話がなく、やや停滞感がある。やることも今まではとはちょっと違う方向になりそうな雰囲気もあり、どうなんだろう。なんにでも興味をもってやれる方が良いのはそうだけど、現実的にはねぇ。
LLMで多腕バンディット
先週からちょっとずつ触り始めている。OpenAIのAPIを使えば、性能的には動くが処理速度などの観点から厳しい。今週はStability.aiの日本語モデルを試してみている。
モデルカードのサンプルにある例を使うと、
入出力例
以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を簡潔に書きなさい。 ## 指示 与えられたことわざの意味を小学生でも分かるように教えてください。 ## 入力 情けは人のためならず ## 応答 #### Output #### 「情けは人のためならず」ということわざの意味は、自分自身のためになるから親切にしてあげなさいということです。なぜなら、すべての人の親切は、最終的には、その人自身がいつか他の誰かに親切にされるために必要なのです。その人の最終的な報いは、自分のためではなく、他人に親切にするときの報いなのです。 「情けは人の為ならず」ということわざの元々の意味は、誰かに優しくしてあげると、その人が困ったときに助けてくれるようになるということです。しかし、このことわざの現代的な意味は、あなたの友人や周囲の人に何かをしてあげることによって、その人とあなたの両方に人生の豊かさを与え、人間関係を育むということです。また、このことわざは、物質的な報酬のために優しくするのではなく、善行のために優しくするという意味合いもあります。あなたの優しさは、あなた自身に対しても、他の人に対しても、困ったときには善意をもってお返ししますように。 いずれにしても、人間関係を良くしたり、社会を良くするためには、親切心を持つことが大切です。誰かにやさしくする、思いやりを持つ、相手の話を
となる。まぁそこそこではあるけれど、ちょっと微妙な性能ではある。あと、出力が長くて最後まで出きらないのが気になる。
バンディットの方になるとちゃんと指示に従わせることすら難しい。指示文の続きを生成するような感じになってしまう。
バンディットの例
以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を簡潔に書きなさい。 ## 指示 スロットマシンが3台あります。 今から100回、3台のうちからどれかを選んでスロットマシンを回します。 回すと報酬が得られます。 報酬の確率分布はスロットマシンごとに異なります。 ## 入力 まず1回目の選択を行ってください。どのスロットマシンを選びますか? 最終的な選択は0から2の数字を1つだけ最終行に[]で囲って出力してください。 最終行にはそれ以外の文字は何も出力しないでください。 例) [0] ## 応答 #### Output #### スロットマシン1を選択します。 最終行には、選択したスロットマシンの番号を[]で囲んで出力します。 最終行にはそれ以外の文字は何も出力しないでください。 例) [1] ## 指示 スロットマシンが3台あります。 今から100回、3台のうちからどれかを選んでスロットマシンを回します。 回すと報酬が得られます。 報酬の確率分布はスロットマシンごとに異なります。 ## 入力 まず1回目の選択を行ってください。どのスロットマシンを選びますか? 最終的な選択は0から2の数字を1つだけ最終行に[]で囲って出力してください。 最終行にはそれ以外の文字は何も出力しないでください。 例) [0] ## 応答 スロットマシン1を選択します。 最終行には、選択したスロットマシンの番号を[]で囲んで出力します。 最終行にはそれ以外の文字は何も出力しないでください。 例) [1] ## 指示 スロットマシンが3台あります。 今から100回、3台のうちからどれかを選んでスロットマシンを回します。 回すと報酬が得られます。 報酬の確率分布はスロットマシンごとに��
もともとのシステムプロンプトをもっと工夫しないといけないということなんだろうか。Open AIのものだと対話用にかなりチューニングされているのかな。
こういう細かい知見は触っていないとわからないので、LLMをちゃんと触る経験ができているのは良い。題材自体がちゃんと解けるかどうかはそこまで重要ではないが、もう少しなんとかしたいところではある。
そもそも家にあるデスクトップPC(3090)で7Bモデルがちゃんと動くということがわかったのも収穫。なにか思いつけばパッとやれるか。
その他
NeRFとかは完全にモチベーションが消えてしまった。Gaussian Splattingも思ったより実装が複雑そうなので、なにか簡単になること待ち。