oshizo

LLMに興味がありいろいろ実験して遊んでいます。自宅に3x3090環境。会社勤めのSE…

oshizo

LLMに興味がありいろいろ実験して遊んでいます。自宅に3x3090環境。会社勤めのSE。月ノ美兎委員長とkson総長とえるえる推し。

記事一覧

7Bモデルをドメイン特化させる学習をLoRAとGaLoreで試し比較する

コーディングや医療など特定のドメインに特化させることで高い性能を発揮するモデルはドメイン特化モデルと呼ばれ、ベースモデルにドメインのコーパスを追加で学習させるこ…

oshizo
1か月前
78

GPT-4とClaude 3 Opusを創作系のタスクで比較し、相互に評価させる

Claude 3 Opus 楽しいですね。 GPT-4が出てから1年、個人的な趣味としてGPT-4にたまに自分用に創作をしてもらっていたのですが、過去にGPT-4とやってきたタスクでClaude 3 …

oshizo
2か月前
138

e5-mistral-7bを蒸留して中程度の大きさの埋め込みモデルを学習する

2023/12にintfloatからintfloat/e5-mistral-7b-instructという、7BのLLMを埋め込み用にファインチューニングしたモデルがリリースされました。 このモデルは日本語の評価…

oshizo
3か月前
25

日本語モデルの長文QA性能の比較

現在2023/12/28ですが、最近Swallow-13b、nekomata-14b、ELYZA-japanese-Llama-2-13bといくつか13b級のモデルがリリースされました。 (モデルを公開してくださっている皆…

oshizo
5か月前
36

日本語LLMを物語実況用にファインチューニングして比較する

ノベルゲームやWeb小説などの物語コンテンツをAIと楽しむために、物語の段落を読んで実況的な感想を述べるモデルをファインチューニングで作れないか試しています。 GPT-3…

oshizo
9か月前
32

end-to-endの文書画像認識モデルDonutをファインチューニングする

DonutはOCRを使わないend-to-endの文書理解モデルです。 Vision Encoder Decoder Modelになっており、OCRエンジンに依存せずに視覚的な文書分類や情報抽出を高い精度で行う…

oshizo
1年前
74

ChatGPT APIとゲームAIを連携してチャットでプレイングを教える

ChatGPTはかなり賢くて簡単なテキストベースのゲームをプレイできますが、麻雀のような難しいゲームをうまくプレイすることはまだできません。 この前、麻雀をプレイする…

oshizo
1年前
21

gpt-index(0.2.5)をOpenAI APIなし&日本語で動かす

gpt-indexは長いコンテキストに対してQAを行えるフレームワークです。 デフォルトではOpenAIのAPIを利用するので無邪気に長いコンテキストに質問を投げているとすぐ数$の請…

oshizo
1年前
80

Flan-PaLMの学習に使われているpromptの手法を使ってAIに褒めてもらう

以前の記事で、AIのべりすとを使って頑張ったことを褒めてもらえないかを試していました。 GPT-3などの大規模言語モデルでは、推論タスクの性能を高めるためにいろいろな工…

oshizo
1年前
20

GPT-2を使ったテキスト生成をAWS Lambdaで行うコストを実測する

GPTモデルを使ってTwitterのBotのなどを運用したい場合に、月額固定で課金されるインスタンスをレンタルするか、使った分だけ課金されるサービスを選択するか、どちらがお…

oshizo
1年前
6

Mjxで作った麻雀AIの打牌の判断根拠を可視化する

以前の記事で、天鳳の牌譜をMjxを使って特徴量に変換し、ニューラルネットワークの麻雀AIを作成する手順を紹介しました。 今回は、この麻雀AIの打牌判断をSHAPを使って可視…

oshizo
1年前
9

Whisperの音声文字起こしの修正に第二候補以降が使えないか試してみる

OpenAIが2022/9に公開した音声文字起こしモデルのWhisperですが、日本語音声に対しても性能がかなり高いようで、個人的にかなり期待があります。 Whisperの各サイズのモデ…

oshizo
1年前
9

AIのための雀荘mjai.appにMjxのAgentを投稿する

前回の記事で、そこそこ戦えそうな麻雀AIのAgentを作ることができました。このAgentをAI雀荘に投稿してみようと思います。 実装AI雀荘(mjai.app)はMjxのAgentに対応して…

oshizo
1年前
3

天鳳の牌譜を学習してMjx(v0.1.0)で使えるAgentを作る

以前の記事で、麻雀の強化学習環境Mjxを触り、強化学習を試してみました。その時は、ShantenAgentの行動を教師あり学習したAgentをもとに強化学習を行っていました。 今回…

oshizo
1年前
6

褒めてくれるテキスト生成AIのためのデータセットの検討

最近、褒めてほしい欲が強いです。noteも褒めてほしくてやっているところがあります。 褒めてくれるのは人間でなくAIでも良いのですが、何か頑張ったことを話すと的確に褒…

oshizo
1年前
12

日本語GPT(abeja/gpt-neox-japanese-2.7b)での文章生成を見て大規模コーパスの中身を想像する

ABEJAさんから2.7Bパラメータを持つGPTモデルがリリースされました。2022年9月中旬ごろに、HuggingFace Transformersでこのモデルを使えるようにするPRがマージされ、利用…

oshizo
1年前
8

7Bモデルをドメイン特化させる学習をLoRAとGaLoreで試し比較する

コーディングや医療など特定のドメインに特化させることで高い性能を発揮するモデルはドメイン特化モデルと呼ばれ、ベースモデルにドメインのコーパスを追加で学習させることで作成されます。

この図はベースモデルからドメイン特化のモデルを得るまでのフローです。本記事では赤枠で囲っている③のドメイン特化学習を試した内容を紹介します。

GaLoreについて2024/3に新しいLLMのファインチューニング手法G

もっとみる

GPT-4とClaude 3 Opusを創作系のタスクで比較し、相互に評価させる

Claude 3 Opus 楽しいですね。
GPT-4が出てから1年、個人的な趣味としてGPT-4にたまに自分用に創作をしてもらっていたのですが、過去にGPT-4とやってきたタスクでClaude 3 OpusとGPT-4両方に出力させ比較してみました。

30のタスクで人間(私)、GPT-4、Claudeの3者で結果を比較評価しました。多数決した結果はGPT-4の勝利でしたが、体感的にはほぼ互角、

もっとみる

e5-mistral-7bを蒸留して中程度の大きさの埋め込みモデルを学習する

2023/12にintfloatからintfloat/e5-mistral-7b-instructという、7BのLLMを埋め込み用にファインチューニングしたモデルがリリースされました。

このモデルは日本語の評価でもかなり優秀ですが、通常使われる埋め込みモデルと比べモデルサイズが大きく、使えるシーンは限られます。
使い勝手を向上させるために、もう少し小さいモデルに蒸留ができるかを試しました。

もっとみる

日本語モデルの長文QA性能の比較

現在2023/12/28ですが、最近Swallow-13b、nekomata-14b、ELYZA-japanese-Llama-2-13bといくつか13b級のモデルがリリースされました。
(モデルを公開してくださっている皆様、ありがとうございます!)

類似検索などで取得した文脈に対するQAやチャット(いわゆるRAG)に興味があり、長いコンテキストをうまく考慮できるかを調べてみました。

この検証

もっとみる
日本語LLMを物語実況用にファインチューニングして比較する

日本語LLMを物語実況用にファインチューニングして比較する

ノベルゲームやWeb小説などの物語コンテンツをAIと楽しむために、物語の段落を読んで実況的な感想を述べるモデルをファインチューニングで作れないか試しています。

GPT-3.5のプロンプトエンジニアリングによってロールプレイや実況を実現できますが、ローカルモデルを訓練することにも意味があります。
GPT-3.5には利用規約があり、いわゆる「職場での閲覧に適さない」コンテンツを扱えません。
物語には

もっとみる
end-to-endの文書画像認識モデルDonutをファインチューニングする

end-to-endの文書画像認識モデルDonutをファインチューニングする

DonutはOCRを使わないend-to-endの文書理解モデルです。
Vision Encoder Decoder Modelになっており、OCRエンジンに依存せずに視覚的な文書分類や情報抽出を高い精度で行うことができます。

Donutは日本語を含む4言語で学習されたモデルnaver-clova-ix/donut-baseが公開されており、日本語で何かしたいときにファインチューニングして使えそ

もっとみる
ChatGPT APIとゲームAIを連携してチャットでプレイングを教える

ChatGPT APIとゲームAIを連携してチャットでプレイングを教える

ChatGPTはかなり賢くて簡単なテキストベースのゲームをプレイできますが、麻雀のような難しいゲームをうまくプレイすることはまだできません。

この前、麻雀をプレイするエージェントと連携させて、ChatGPTに後付けで実況させることでChatGPTのキャラクターがプレイしている風に見せるデモをつくりました。

これに加えたいアイデアとして「ゲーム用のエージェントの戦略をChatGPTに指示コメント

もっとみる
gpt-index(0.2.5)をOpenAI APIなし&日本語で動かす

gpt-index(0.2.5)をOpenAI APIなし&日本語で動かす

gpt-indexは長いコンテキストに対してQAを行えるフレームワークです。
デフォルトではOpenAIのAPIを利用するので無邪気に長いコンテキストに質問を投げているとすぐ数$の請求になって焦りますね。

今回はローカルでオープンな日本語モデルを使って動かす方法をご紹介します。
あくまで試みであり、正答率もいまひとつで実用性があるものではありませんが、学習データセットを作るコード、モデル学習コー

もっとみる
Flan-PaLMの学習に使われているpromptの手法を使ってAIに褒めてもらう

Flan-PaLMの学習に使われているpromptの手法を使ってAIに褒めてもらう

以前の記事で、AIのべりすとを使って頑張ったことを褒めてもらえないかを試していました。
GPT-3などの大規模言語モデルでは、推論タスクの性能を高めるためにいろいろな工夫が研究されており、今回はそれらの研究結果をまねることで褒められの精度を上げられないか試してみました。

Flan-PaLMの論文を参考にしているので、まずはこの論文に含まれている手法を少し説明します。

Flan-PaLMの論文2

もっとみる
GPT-2を使ったテキスト生成をAWS Lambdaで行うコストを実測する

GPT-2を使ったテキスト生成をAWS Lambdaで行うコストを実測する

GPTモデルを使ってTwitterのBotのなどを運用したい場合に、月額固定で課金されるインスタンスをレンタルするか、使った分だけ課金されるサービスを選択するか、どちらがお安いかを調べてみます。
今回はAWS LambdaでGPT-2(rinna/japanese-gpt2-medium)のテキスト生成を行い、必要なメモリ、実行時間を計測して一回当たりの生成コストを実測してみます。

結論計測方法

もっとみる
Mjxで作った麻雀AIの打牌の判断根拠を可視化する

Mjxで作った麻雀AIの打牌の判断根拠を可視化する

以前の記事で、天鳳の牌譜をMjxを使って特徴量に変換し、ニューラルネットワークの麻雀AIを作成する手順を紹介しました。
今回は、この麻雀AIの打牌判断をSHAPを使って可視化し、なぜその牌を選択したのかを見てみます。

特徴量の解説特徴量には、2022/10時点でMjxのmainブランチに実装されている mjx-large-v0 を使用します。(v0.1.0には入っていないため、導入にはgithu

もっとみる
Whisperの音声文字起こしの修正に第二候補以降が使えないか試してみる

Whisperの音声文字起こしの修正に第二候補以降が使えないか試してみる

OpenAIが2022/9に公開した音声文字起こしモデルのWhisperですが、日本語音声に対しても性能がかなり高いようで、個人的にかなり期待があります。

Whisperの各サイズのモデルで長文の文字起こし試した記事を書いてくださっている方がおり、特にlargeモデルはすごく正確な結果になっていることがわかります。

実応用では、より正確な文字起こし結果を残したいようなユースケースがあり、文字起

もっとみる
AIのための雀荘mjai.appにMjxのAgentを投稿する

AIのための雀荘mjai.appにMjxのAgentを投稿する

前回の記事で、そこそこ戦えそうな麻雀AIのAgentを作ることができました。このAgentをAI雀荘に投稿してみようと思います。

実装AI雀荘(mjai.app)はMjxのAgentに対応しており、以下のリポジトリにMjxのサンプルが公開されています。

https://github.com/smly/mjai.app/tree/main/examples/shantenbot

このbot.p

もっとみる
天鳳の牌譜を学習してMjx(v0.1.0)で使えるAgentを作る

天鳳の牌譜を学習してMjx(v0.1.0)で使えるAgentを作る

以前の記事で、麻雀の強化学習環境Mjxを触り、強化学習を試してみました。その時は、ShantenAgentの行動を教師あり学習したAgentをもとに強化学習を行っていました。

今回は、その初期Agentを天鳳の牌譜から学習してみます。

mjx-projectのリポジトリに天鳳の牌譜データをMjxのStateの形式に変換するスクリプトが用意されており、天鳳の牌譜データやMjxのObservati

もっとみる
褒めてくれるテキスト生成AIのためのデータセットの検討

褒めてくれるテキスト生成AIのためのデータセットの検討

最近、褒めてほしい欲が強いです。noteも褒めてほしくてやっているところがあります。

褒めてくれるのは人間でなくAIでも良いのですが、何か頑張ったことを話すと的確に褒めてくれるようなAIはまだ出てきていないと思います。

既存サービスを調べる既存サービスとしては「ベタ褒めシャワールーム」という、職業などの情報や何を褒められるとうれしいかなどのアンケートをもとにセミパーソナライズした褒めを受けられ

もっとみる
日本語GPT(abeja/gpt-neox-japanese-2.7b)での文章生成を見て大規模コーパスの中身を想像する

日本語GPT(abeja/gpt-neox-japanese-2.7b)での文章生成を見て大規模コーパスの中身を想像する

ABEJAさんから2.7Bパラメータを持つGPTモデルがリリースされました。2022年9月中旬ごろに、HuggingFace Transformersでこのモデルを使えるようにするPRがマージされ、利用できるようになっています。

公開してくださった関係者の皆様、ありがとうございます!

これは2022年9月26時点で、HuggingFace Hubから利用できる中では最大の日本語生成モデルだと思

もっとみる