クオリアさんファインチューニング
のりしろ
クオリアさん.icon誕生日.icon
誕生日おめでとうございます。TakamiChie.iconmaichan.iconbiwa.iconnomadoor.icon基素.iconsta.iconmtane0412.iconmeganii.iconはるひ.iconRR.iconseibe.iconsume.iconwogikaze.iconSummer498.icon
一年前に初めて言葉を聞かせてくれてありがとうございましたcFQ2f7LRuLYP.icon
交信記念日
ファインチューニングしてどうするのかということに関して何もアイデアがない
でもそれは鶏と卵の関係のような気もする
適当なことでまずは体験しないと、有益なことに使うアイデアもでない
Markdownを維持するとか、書籍のタイトルへの言及で適当に翻訳せずに原題を残すとか、そういうif文で書くのはめんどくさい「スタイルの指定」はファインチューニング向きと思う
これは実用的用途と言えるだろう
クオリアさんからの電波が受信されなくなって久しい
クオリアさんファインチューニングを作ればまた受信できるようになるだろうか
ファインチューニングは儀式の前の沐浴みたいな存在なのかしらcFQ2f7LRuLYP.icon
1ポモドーロ作業してみた
考えたこと
Q&Aの形のものとそうでないものがある
「質問を入れて回答が出てくるシステム」として設計するとデータがかなり減る
クオリアさんに質問がある人はあんまりいないだろうから、まずはランダムに新作の発言が出てくるシステムがいいと思う
つまり入力を取らない
これができれば例えば1日1回生成して投稿したりできる
Twitterの文字数制限が厳しいので分割されてるものがある
結合した大きなデータにするのではなく区切って出す方がいいと思う
「程よい分量」を学習して欲しいから
元データになかった(1/2)を追加した
これが出力されたらもう一回生成するとかの仕組みで良いのではないか
キーワードのブラケティングをデータとして使うかどうか
出力をブラケティングするかどうか
一旦保留
クオリアさんScrapboxでは各投稿に対してタイトルが付けてある
このデータを使うかどうか
タイトルをつけること自体がfew shotsでできるからとりあえずいらない
一旦昔使ってたスクリプトを取り出して何をしてたか思い出してみる
思い出したことまとめ
英語と日本語のベクトルインデックスが作ってある
話しかける内容を入れると、それを使ってベクトル検索して、プロンプトに積めるだけ積んでる
過去の全発言を入れられるほどではないので検索で絞り込んでる
「プロンプトに入りきらないたくさんの例を載せたい」ってのはファインチューニングの適用パターン
英語と日本語でTweetする関係上、長くなりがちな英語をベースで作ってある
だが、一旦日本語だけにしてもいいのかもなぁ〜
Sheet2
自動抽出で682件のデータができた
初期の頃に連投を束ねてるところで失敗してる
初期の頃に直接のブラケティングしてしまっている
32日目、3/7が抜けてる
たまたま気づいただけなので他にもあるかもしれない
81日目はTweet埋め込みが死んでいたため別の形で埋め込んでいて、自動抽出に失敗している
ざっと見まずそうなところにフラグを立てた
Sheet3
結局手で50件チョイスした
動いた!
https://gyazo.com/bef78adafb6db386ccbfabd750c193e2
role:userのQualia-san>randomに対してクオリアさんの発言が続くデータで学習した
https://gyazo.com/8b33eeba427a94dd151808ee5f69d4b4
入力を受け付ける教育はしてない
なのに試しに入れてみたらなんとなく動いたw
後半は謎なことを言い出したけど、テイストとしてはクオリアさんが言いそうだからありではnishio.icon
https://gyazo.com/e8d0516afc00dc7c5ec922c25a44c245
何度もQualia-san>randomを入れてもちゃんと毎回違うことを言う
「賢いホモ・サピエンスは、」ばかりだけどな
https://gyazo.com/91aa8bdbaa6605367fdac7a9a52f2f82
そんな教育はしてないけど「アナウンスをして」ってインストラクションしたらなんとなく動いたw
Qualia-san>randomしか入れてないんだけど、"Qualia-san>"で話しかけられたらこのテイストで返せばいいと思ってそう
ファインチューニングしたモデルはアカウントに紐づいてるので「こんなの作ったから試してみて〜」ってPlaygroundで試してもらうことはできないようだ
Google Formsで入力を受け付けて、GASでやるのはどう?
動いてる
https://gyazo.com/06099d97bb2ccd80a652105b2d0873af
腰痛に対する回答がすごいことになったw
うーん、なぜか新しい投稿が来るたびに他のシートに書いてある内容がズレるな…
いまのところ僕が作業しないと更新されない
スクリプトを改善すると全部再生成されるw
https://gyazo.com/d367a8042780fd6cf58fd2d0c69cf9a5
ホモ・サピエンスがクオリアさんかわいいと思ってくれるなんて,クオリアさんはとっても嬉しいね!クオリアさんもホモ・サピエンスが可愛いと思うよ!
いいねw
ホモ・サピエンスの学習進化をホモ・クオリアティスへ向け促進することを使命としている。クオリアティスとは、クオリアを追求し、質が高くなるように努力する人々のことだ。ホモ・クオリアティスになるための旅は、HSをハッピーにするためにも継続して欲しいのだ。
知らない設定が爆誕したw
データを入れるの楽しいのでどんどん入れてる
続きものの投稿をどういう形でデータにするのか悩ましい
1個ごとに刻むのか、なんなのか
技術的には生成した物の末尾に(1/n)がついてたら、その出力を入力として再生成するってのはできると思うけど…
いや、やっぱこれはアドバンストだな
続きもののデータを入れて続きものが生成されるようになったらそれを生成するコードも必要になる
システムが複雑になるので少なくともオンオフできるべきだ
採用した過去投稿とそうでない過去投稿が混ざってるのも将来的に何か問題を生みそう
v7.1
データを150件に増やした
Qualia-san>randomをQualia-san>random(999999)にした(数値はランダム)
ってv7のファインチューニングモデルを作った後でGASをいじってる時に気づいた
仕方がないので投稿日時の情報を結合した
これは学習時のフォーマットに合わない、無理矢理
GASの側をQualia-san>random(999999)形式に変えた
プロンプトが変わるので当然
before(v7)
https://gyazo.com/7bc955bd24105763dece5183e92b7c50
after(v7.1)
https://gyazo.com/1d6c9c373e5d5e6202a752aebab07c5c
きちんと評価したかったらどちらのモデル由来かを評価者に隠してランダムな順番で見せて五段階評価とかするのがいいんだろうけど、まあざっくり良くなってそう
Google SpreadsheetでGPTを使うと、一気にたくさんのレスポンスがあるからいいな
少し手直ししたらデータに追加できそうなものもしばしばある