見出し画像

AIアイネス開発記録 #2

私が開発しているAIである、AIアイネスフウジン(略AIネス, AIアイネス)の進捗です。

日々の開発の様子はTwitterにて「#AIアイネス」のハッシュタグで発信してます!


前回のあらすじ

前回の内容・これまでの活動内容については、
AIアイネス開発記録 #1』を参照してください。

進捗

今月はAIキャラクターオフ会に展示するためのモデルの学習と冬コミ応募でお金を使い切ってしまったのでモデルのトレーニングや新しいモデル/技術のお試しを一切することができませんでした・・・😭

なのでコーパスの作成とOCRエンジンのお試しのみです。

アイネスの会話コーパス

友人氏の助けもあり、OCRに向けてテキスト領域を指定する作業(アノテーション)が終わりました!
ありがとう・・・ありがとう・・・

ここからOCRしてデータセットに追加していきます。
今が大体1250位のサンプル数なので、残りのイベントを全て処理し終えたら2000位になると予想しています。

また、現在、TesseractベースのOCRから、bunkoOCRに使われている機械学習モデルを使用したOCRに切り替えることを目指しています。

公開されている、既に学習済みのモデルを用いたOCRでは、かなり精度が良かったので、実際にウマ娘で使用されているフォントで学習することで更なる精度向上が見込めます。

このOCRエンジンは、文字の認識が非常に上手くいくので、このOCRエンジンを上手く導入できれば、OCRのアノテーション作業も必要なくなります。
現状アノテーション作業はかなりのコストがかかっていたので、実現できれば非常に役立つでしょう。

ということで学習データの作成をしているのですが、PCのリソースまるごと持って行かれるので、Colabとかで無料のインスタンス借りようかな・・・と思ってます
(CPU100%で回ってて他の作業できないから記事書いているまである)
WSLに移行しようかな・・・WindowsネイティブだとTensorflowのGPUサポート無いし

記事執筆時点でCPU100%のまま4時間くらい経過・・・トホホ

今後の作業内容

まず、どのような作業を優先していくかを整理していきます。
その次に各作業内容の簡単な説明をします。

作業優先度

優先度1:
- findtextCenterNetのトレーニング
- アイネスの会話コーパス作成(OCR作業)・データのバランス調整

findtextCenterNetのトレーニングをしている最中にOCR作業を進められたらいいなと思っています。

優先度2:
- マルチターン会話データセットの作成

優先度3:
- ウマ娘の知識コーパスの拡充

優先度その他:
- チャットアプリ開発
- アイコン、カバーイラストの依頼
- Misskeyのボット開発
- モデルのトレーニング
- 論文読み

findtextCenterNetのトレーニング

前述したので省略します。

アイネスの会話コーパス作成(OCR作業)・データのバランス調整

会話ログのOCRを進めるとともに、プロフィール、あいさつなどの会話の割合を増やす作業を行います。
現在すべてのプロフィールは2つの会話バリエーションを含んでいますが、とりあえず4つに増やしておき、お金が入ったら3, 4と実験的に増やしてちょうどいい分量を量っていく予定です。
(モデルをトレーニングする資金が無いので試しつつ分量を調整することができない)
また、前回のファインチューニング時に、挨拶が返せなくなる事象が発生したため、挨拶についてもデータの追加をします。

具体的には、入力/出力ペアの見直しと、頭の中のアイネスをひねり出して会話データの作成を行います。

マルチターン会話データセットの作成

AIアイネスは、具体的には以下のステップを踏んで開発します。

  1. 事前学習済みモデルをウマ娘知識コーパスで追加事前学習

  2. マルチターン会話タスクとinstructionタスクをmixしてファインチューニング

  3. アイネスの会話データセットでファインチューニング

なお、現在のAIアイネス(AIキャラクターオフ会で展示したChat with AInesのモデル)は1, 2を飛ばして3だけを実行した状態です。

ここで、ステップ2では、instructionデータセットの他に高品質なマルチターンの会話データセットが必要です。
instructionデータセットはいくつか日本語に翻訳したものがあるのですが、マルチターン会話データセットは丁度いいものが存在しません。
そこで、動画から話者分離しつつ文字書き起こし(トランスクリプト)することを目指しています。
どんな技術を使うかの目途は立っているので、それの実証実験から始める予定です。

ウマ娘の知識コーパスの拡充

ウマ娘自体の知識やニュース、攻略情報などを集めたコーパスについては、引き続きWebページのスクレイピングを行っています。
それと同時に、動画のテキスト書き起こし+LLMによる整形・要約も試しています。
ただし、LLMによる整形や要約は難易度が高いので、実用レベルとなるまで効率的に文字起こしできるようになるまでにはもう少し時間がかかりそうです。
精度よく、重要な情報を漏らさずに動画の内容を自然な日本語で取得できる方法を探している最中です。

チャットアプリ開発, アイコン, カバーイラストの依頼

冬コミ応募してしまいました。色々計画を立てていくと、若干間に合いそうにないかもしれなくて既に焦りだしていますwなんてことを・・・
チャットアプリはともかく、AIアイネスのアイコンと出版物のカバーイラストを依頼する人を早めに探さないといけないなと思っています。

モデルのトレーニング

AIネスのトレーニングは、28日以降になる予定です。(バイト代が入るので
まずはOptunaを使ってハイパーパラメータ探索をしてみたいと思っています。

論文読み

中々時間が無くて読めていないのですが、まずは以下の論文を読みます。
今まではパッと目を通してどんな内容なのかを把握するだけだったので、
詳しく正確に理解することを目的に読み進めていきます。
読んだ内容はnoteで公開する予定です。

  • MemoChat

  • llama 2

  • phi-1

  • generative agent

ということで、今回の進捗報告は以上です。
今後も開発続けていきます。

それでは。

出典

カバー画像: ゲーム『ウマ娘 プリティーダービー』アイネスフウジンとのうまさんぽより ©Cygames, Inc.


この記事が気に入ったらサポートをしてみませんか?