Slide 1

Slide 1 text

gpt-3.5-turboのFine-tuningによる 分類タスク改善の試み ⾳声メモアプリ「シャべマル」のUX改善 にょす

Slide 2

Slide 2 text

󰞴 ⾃⼰紹介 ‧個⼈開発が好きなエンジニア(Swift, Python)🐣 ‧今年5⽉~10⽉まで育休(LLM無職の⽣活スタイル) ‧LLMを活⽤したPoCやプロダクト作りが趣味 ‧ChatGPT対応のSlackBot ‧arXiv最新論⽂のサマリSlack Bot ‧会話型求⼈検索システム(PoC) ‧⻑時間対応の⽂字起こしシステム ‧毎朝⾝近な歴史を教えるLINE Bot「rekky」 ‧アイデアを創発する⾳声認識メモアプリ「ideaPot」 ‧しゃべって丸投げできる⾳声メモアプリ「シャべマル」 今年作ったもの

Slide 3

Slide 3 text

‧個⼈開発が好きなエンジニア(Swift, Python)🐣 ‧今年5⽉~10⽉まで育休(LLM無職の⽣活スタイル) ‧LLMを活⽤したPoCやプロダクト作りが趣味 ‧ChatGPT対応のSlackBot ‧arXiv最新論⽂のサマリSlack Bot ‧会話型求⼈検索システム(PoC) ‧⻑時間対応の⽂字起こしシステム ‧毎朝⾝近な歴史を教えるLINE Bot「rekky」 ‧アイデアを創発する⾳声認識メモアプリ「ideaPot」 ‧しゃべって丸投げできる⾳声メモアプリ「シャべマル」 今年作ったもの 󰞴 ⾃⼰紹介

Slide 4

Slide 4 text

  ⾳声メモアプリ「シャべマル」 ‧⾼精度な⾳声⼊⼒(Whisper)でサクッとメモ作成 ‧⽂字起こしから様々な情報を⾃動で紐付け  →タイトル、カテゴリ、絵⽂字、感情分類 簡単にデモします💪 どんなアプリか?

Slide 5

Slide 5 text

  ⾳声メモアプリ「シャべマル」 ‧⾼精度な⾳声⼊⼒(Whisper)でサクッとメモ作成 ‧⽂字起こしから様々な情報を⾃動で紐付け  →タイトル、カテゴリ、絵⽂字、感情分類 簡単にデモします💪 今⽇は、絵⽂字の分類タスクについて取り上げます! どんなアプリか?

Slide 6

Slide 6 text

📝 メモから絵⽂字を分類する 買い物メモ。今晩は鶏肉と トマトを使ったカレーを作 ろうと思っているから、鶏 肉2パックとトマト5個が必 要。 朝ごはんにはシリアルを 食べるから、牛乳1リット ルも忘れずに。... ⽂字起こし内容 買い物 Vector(topic) Vectors(emoji) 類似度計算 ChatGPT API Function Callingで トピックを一つ生成 text-embedding-ada-002 でベクトルに変換 1番類似するものを システム的に選択 絵文字ベクトル (1364種類) shopping-bags

Slide 7

Slide 7 text

shopping-bags 📝 メモから絵⽂字を分類する 買い物メモ。今晩は鶏肉と トマトを使ったカレーを作 ろうと思っているから、鶏 肉2パックとトマト5個が必 要。 朝ごはんにはシリアルを 食べるから、牛乳1リット ルも忘れずに。... ⽂字起こし内容 買い物 Vector(topic) Vectors(emoji) 類似度計算 ChatGPT API Function Callingで トピックを一つ生成 text-embedding-ada-002 でベクトルに変換 1番類似するものを システム的に選択 絵文字ベクトル (1364種類) 絵文字が1364種類なので、 few-shotなどで教えるのは無理

Slide 8

Slide 8 text

shopping-bags 📝 メモから絵⽂字を分類する 買い物メモ。今晩は鶏肉と トマトを使ったカレーを作 ろうと思っているから、鶏 肉2パックとトマト5個が必 要。 朝ごはんにはシリアルを 食べるから、牛乳1リット ルも忘れずに。... ⽂字起こし内容 買い物 Vector(topic) Vectors(emoji) 類似度計算 ChatGPT API Function Callingで トピックを一つ生成 text-embedding-ada-002 でベクトルに変換 1番類似するものを システム的に選択 絵文字ベクトル (1364種類) トピックに対応する絵文字が 存在しないケースがある 情報がかなり欠落する (特に長文の場合) 絵文字が1364種類なので、 few-shotなどで教えるのは無理

Slide 9

Slide 9 text

📝 メモから絵⽂字を分類する 買い物メモ。今晩は鶏肉と トマトを使ったカレーを作 ろうと思っているから、鶏 肉2パックとトマト5個が必 要。 朝ごはんにはシリアルを 食べるから、牛乳1リット ルも忘れずに。... ⽂字起こし内容 shopping-bags Vector(topic) Vectors(emoji) 類似度計算 Fine-tuningモデルで 絵文字名を出力 text-embedding-ada-002 でベクトルに変換 1番類似するものを システム的に選択 絵文字ベクトル (1364種類) shopping-bags

Slide 10

Slide 10 text

😎 絵⽂字分類に特化させたFine-tuning 学習用データセットの作成( ×100) user message メモ内容をgpt-3.5-turboを用いて生成 例)買い物メモ。今日はトマトと鶏肉を使った ... assistant message 生成したメモに自力で絵文字をラベリングしたもの 例)shopping-bags あなたは与えられたメモ内容に対して、最も該当する絵文字ラベル を分類します。 system message epoch数1,3,6,8,9,10で試してみた 存在する絵文字ラベルが生成されたら OK🙆 ※epoch数とは「一つの訓練データを何回繰 り返して学習させるか」の数のこと

Slide 11

Slide 11 text

✅ 存在する絵⽂字が⽣成されているか テスト用メモ100個を用意し、Fine-tuningモデルを使って絵文字ラベルを生成する "今週末はハイキングに行く予定。ルートは山岳 地帯なので、装備はしっかりと準備する必要が ある。特に、適切なハイキングシューズとウィン ドブレーカーが必要だ。天候が不安定な場合も あるので、雨具も忘れずに。また、水分補給の ために水筒も持参する。前回は蚊に刺されたの で、虫除けスプレーも必須アイテムになる。しっ かりと計画を立てて、安全かつ楽しいハイキン グを楽しみたい。 " "mountain" 例) ラベリング 存在する数 存在しない数 epoch = 1 67 33 epoch = 3 83 17 epoch = 6 80 20 epoch = 8 87 13 epoch = 9 89 11 epoch = 10 80 20 epoch数をあげると改善するが、 9を超えるとパフォーマンス低下 架空のラベルを 生成した数

Slide 12

Slide 12 text

✅ メモ内容に合致する絵⽂字であるか topic生成 epoch=9

Slide 13

Slide 13 text

🏁 おわりに ● Fine-tuningを利用すると、出力形式をかなり強めに強制できることが 分かった ● epoch数は多ければ多いほど良いわけではない。ケースごとに最適 解がありそう。 精度向上のためのPrompt Engineeringを頑張っている方は、 Fine-tuningを試してみると、世界が広がる気がします...!