日記の日付と本文からタイトルを生成するモデルを作るために、usuyuki のすべての日記を食わせて fine tuning を行った。
結果、(当たり前だが)usuyuki の個人情報が反映されすぎたモデルができた。
また精度に関しても日記の本文が一部のみ加味されたタイトルとなっており、個人利用としても実用性に欠ける結果となった。
Error. Human is Dead, mismatch.
タスク:
タスク | 日記の日付と本文からタイトルを生成する |
---|---|
fine tuning に用いたデータ | usuyuki の 2018 年 1 月 10 日から 2022 年 10 月 24 日までの 1275 日記(日付、タイトル、本文)、UTF8 で 2MB 程度 |
根幹となるモデル | GPT-2 |
pre training とした事前学習済モデル | rinna/japanese-gpt2-medium(パラメータ 3 億,レイヤー 24 層) |
訓練のバッチサイズ(per_device_train_batch_size ) | 1 |
評価のバッチサイズ(per_device_eval_batch_size) | 1 |
訓練のエポック数(num_train_epochs) | 10 |
何ステップ毎に保存するか(save_steps) | 10000 |
save_total_limit | 3 |
実行は環境構築の都合上 Google Colab を用いて行っており、その都合で軽量の rinna/japanese-gpt2-medium を使っている。
生成結果の一例(2022 年 10 月 25 日の日付と日記本文を与えた)
- 日本語として自然な文章
- 文中で登場した人物がタイトルに含まれている
- 日記の本文に登場していない usuyuki の日記に入っていた人物や固有名詞が登場する
- 日記とは関係のない出来事が登場する(与えた日記には電話もアルバムも VTuber も出てこない)
以上の観点から、現状使える学習データでは個人情報が強く出てしまい、かどで日記の機能として実装することはできない。
データ中の個人情報を強く反映するため、個々人の日記でモデルを作成するか、個人情報と判別できないレベルの大量の日記データでのモデル作成が必要だと思われる。
1 では日付も入れていたが、日時による影響を受けすぎないように日時を入れないで学習させた。
タイトルの長さは短くなったが、usuyuki の日記タイトルの傾向を引き継ぎつつも学習本データの特定の名詞などを出さず、与えた文章を反映した結果となった。
一方で空文字列となることも増えた(これも usuyuki の日記にタイトルがない日記もあることを反映している可能性が高い)
igaito ikeru kamo
タスク:
タスク | 日記の日付と本文からタイトルを生成する |
---|---|
fine tuning に用いたデータ | usuyuki の 2018 年 1 月 10 日から 2022 年 10 月 24 日までの 1275 日記(タイトル、本文)、UTF8 で 2MB 程度 |
根幹となるモデル | GPT-2 |
pre training とした事前学習済モデル | rinna/japanese-gpt2-medium(パラメータ 3 億,レイヤー 24 層) |
訓練のバッチサイズ(per_device_train_batch_size ) | 1 |
評価のバッチサイズ(per_device_eval_batch_size) | 1 |
訓練のエポック数(num_train_epochs) | 10 |
何ステップ毎に保存するか(save_steps) | 10000 |
save_total_limit | 3 |
実行は環境構築の都合上 Google Colab を用いて行っており、その都合で軽量の rinna/japanese-gpt2-medium を使っている。
生成結果の一例(2022 年 10 月 25 日の日付と日記本文を与えた)
- 空が多い(学習元データもタイトル空にしている日記が多数あり、学習を反映していると言える)
- 日記のタイトルとしては短いが、usuyuki の日記ではありうるパターン(長いタイトルもあるため、偏っているが)
- 特に日記で主軸となった人物名をタイトルにすることもあり、自然ともいえる
GPT というか、Transformer が入力 2 つ取るので、やはり本文+何か入れる必要があるのかもしれない(これは Transformer に対しての認識違いの可能性があるため曖昧)。 日付を入れないほうが汎用的な結果となり、こちらであれば実用的なのかもしれないが、もう少し長めで文章を加味したタイトルが生成できると強い。
- 13 億パラメータが自慢の rinna/japanese-gpt-1b は Google Colab の VRAM 不足で実行不能。
- rinna/japanese-gpt2-small であればローカルの VRAM 容量でも学習できるが、あえてこれを利用する必要性はないため、モデルを作った後検証はしていない