2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

日本語の単語や文法を自然な英語で説明できるLLM「JPNSensei」をfinetuningで作りました。

Last updated at Posted at 2023-10-18

①背景

海外の方、特に英語圏の人々は日本語を学ぶ時に、単語や文法の微妙なニュアンスを正確に理解するのは結構難しいではないかと思います。
そこで、これらの方々に向けて、わかりやすい英語で日本語の難しい単語や文法を解説できるモデルを作ろうと考えました。特に周りに聞けるネイティブな日本人がいない方には役に立てると思います。モデルの名前は「JPNSensei」と考えてます。

②学習データについて

StackExchangeという「海外の知恵袋」みたいなサイトの日本語スレのデータを使いました。

以下のような質問は毎日数十件ほど投げられています。
image.png

回答は基本「英語に詳しい日本人」や「日本語に詳しい外国人」の方が書いてます。
こちらのサイトから22000件くらいのデータをとりあえずInternet Archive上で取りました。
前処理はシンプルで、未回答のデータとtokenが長すぎる(2000token以上)データを除外し、約20,000件のデータに絞り込みました。処理後のデータは以下の形となります。

123123123123.png

③ベースモデルの選定

今回は、最近一番人気なMistralでトレーニングしました。

*Preferred Networksという日本会社が先月公開された「英語と日本語のバランスが最強」と誇るLLama2ベースのfinetuningモデル「PLaMo-13B」も最近試してみたいと思います。

トレーニング時間はかなり長くて(試行錯誤を含めて約100時間かかりました)、lossの推移は以下のようになりました。
5667.png

紫は1回目で、安定して1.9から1.1まで下がりました。
赤は2回目で、1回目の引き続きでトレーニングしてみたら、1.0くらいから不安定な状態になったので、こちらのデータセットに対しては多分1.0くらいはベストの収束だと思います。(20000件はまだ比較的に少ないので、データの量を増やせば変えると思います。)

④結果検証

モデルのアーキテクチャは以下の二つの質問を聞いてから回答するように設計しました。
①Chatbot: What's the topic or context of your question
②Chatbot: Please specify your question:

質問はこちらにしました:
①What does よろしくおねがいします mean when departing?
②When on business in Japan last year, a Japanese colleague said よろしくおねがいします to me as the group were leaving after dinner. I'm aware of its usage in initial greetings, as is usually taught in textbooks, but what is its English meaning in this context?
「よろしくお願いします。」はどんな気持ちを伝えているのかに関する質問ですね。

まずトレーニング前のモデルの回答は以下となります。
002.png
意味わからない回答してますね。

次はトレーニング後のモデルの回答です。
001.png
複数の状況で「よろしくお願いします。」を使う例を挙げて説明してます。
トレーニングが効いたのがわかりますね。

もちろん、一番強いchatgpt4にも聞いてみます。
12345678.png

やはりChatgpt4の方がより詳しく説明してますね。
ですが、まだ改善できるところいっぱいありますので、chatgpt4を超える可能性は高いと思います。

5.今後の改善点

①RAGで学習データと連携する
①学習データを増やす:目安としては5万件くらい
③StackExchangeからのデータ取得方法を見直す:最高評価の回答のみを取るのではなく、5点、8点以上の回答も取得し、モデルの回答の多様性を強化する
④ChatGPTを使って学習データを作る(同じ質問に対して、ChatGPTの回答の良いところを学習させる)
⑤他のモデルに変わってみる:Plamoとか
⑥「自分の回答を評価する」という機能を出力に反映させるように設計する

v2からはhuggingfaceへ公開したいと思います。

END

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?