GPT5とgpt-ossで同じ処理をしてみる

以前にも触れましたが、モノづくり塾での活動で得た知識や技術をAIの文章生成に活かしたいと思っています。そのためにこのブログの文章のクローリングして本文を取り出すプログラムを書き、そのデータを使ってLoraやQLoraの手法でローカルLLMをファインチューニングするという試みをしました。そこまでの段階で、「データセットの品質」に問題があることに気づいたので、しばらくはデータセットを作成する努力をします。

テキストデータはプログラムによって容易に取得できるようになったので、そのテキストデータをJSON形式に変換しているところです。JSONデータにするのは、後々、データの加工がやり易いから。ファインチューニングで使用するデータセットは、求めるLLMの性格に応じていくつかの形式を使い分けることになりますが、JSON形式のデータになっていれば、簡単なプログラムを書いて一括処理できます。

すでに取得したテキストデータをベクターデータベースに登録してRAGを試したのですが、あまり良い結果が得られませんでした。ブログ投稿の本文をそのまま登録しても、ベクターデータベースの類似性検索に上手く引っかかりません。ですので、投稿文にいくつかのテーマが含まれていたらそれらを分割し、それぞれをカテゴリー分けする、タグを付与するといった加工をしようと思います。

こういう作業を手作業でやるのは大変なので、ChatGPT(GPT5)に頼りました。冒頭のスクリーンショットはそれを実行したときの様子です。

サービスの混み具合など、条件によってはChatGPTの反応が良くないので、試しに塾のPCでgpt-oss 20bを使って同等の処理をしてみました。

これがプロンプトです。JSONデータの形式を指定し、項目に設定されるべきデータを示すなど、少し工夫しています。(ChatGPTでは、こんな工夫は不要でした)

得られた結果がこれです。GPT5と比べても遜色のない結果が得られます。速度も60トークン毎秒を超えるので待ち時間も気になりません。

このレベルの文章生成ができれば、以前紹介したn8nなどのオーケストレーションツールを使えば、定期的にブログからデータをダウンロードするところからベクターデータベースに登録するまでの一連の処理を人手を介さずに問題なく実行できることになります。あるいは、データのダウンロードからLLMのファインチューニングまでの処理を自動化することもできるでしょうし、簡単なプログラムを作れば強化学習までやれそうです。そこまで行けば「AI塾長」の実現が見えてきます。

元データがファイル数にして700くらいあります。それぞれに2つか3つのテーマが混ざっているので、最終的なJSONデータ数は2000くらいになりそうです。ファインチューニング用データセットとしては良いボリュームだと思いますし、その数は日々確実に増えて行きます。

モノづくり塾では、これらすべての技術や知識は塾生全員が共有します。

「GPT5とgpt-ossで同じ処理をしてみる」への1件のフィードバック

コメントする