t_wの輪郭

BERT

2023/6/14 21:05:00

あれ

2023/8/13 22:06:00

いや、「ベクトル検索ぐらいマネージドサービスあるやろ」とはなるんだけど、たけーのよ。Azure Cognitive Searchとか、一番安いので月額1万円以上する。

DynamoDBとLambdaでやりくりすれば、維持費をほぼ0円、処理があっても月額100円ぐらいで何とかなるはずなんや。

で、そのために文章をベクトル化(Sentence Embedding)する処理が必要だったのだけどもですね、世のSentence Embeddingするライブラリやら言語モデル(BERTとか)やらはファイルサイズが巨大で、Lambda関数に乗り切らんかったわけです。

そこで、BERTを小型化したALBERTでSentence Embeddingが取れるように学習してたんですけども、やっとこさそれらしい結果が出せるようになってきた。

となると、次の課題はベクトル検索のDB部分なわけです。今はJavaScriptのライブラリを使ってるので速くないので、Go言語とかでやりたい。

というか、JavaScriptでのSentence Embeddingの計算は遅いはずなので、そこもGo言語に切り替えるうまみがあるはず。

あれ

2023/8/13 15:39:00

BERTとALBERTの学習させてるんだけど、BERTの成績が良すぎて辛い。ALBERTが追い付かない。使っているALBERTのモデルが、「小さすぎる」可能性はある。

ALBERT

2023/8/13 15:39:00

BERTを小さくしたやつ。でも性能はそのまま。と言われている。

あれ

2023/12/2 23:21:00

knownetの検索をBedrockからBERTに移行した。
検索精度の変化は定量的な比較をしてないので謎。体感的には変わらん気がする。

あれ

2023/12/3 8:59:00

LambdaでBERTを動かせるようになったんだけども、この知識を200万円ぐらいで売りたい。

誰か買ってくんねーかなぁ……
AI構築を外注すると考えると、安いほうですわよ。

ちなみにAI構築を外注すると、1回の試行で数百万円かかった上でだいたい失敗するらしいぞ♥

2023年11月14日日記

2023/11/15 0:26:00

 特に記憶に無いです。

仕事

 「Next.jsを使えば忌々しいAmplifyDataStoreを無くせるんじゃね?」とか思って、社内システムの移植を開始した。もともとReactで動いていたので、3時間ほどでシステムがNext.jsの上で動くようになった。Next.jsの恩恵が受けられるのはこれからだ。

 「Next.jsを使えばBERTSentence Embeddingを取るAPIをサーバーレスでつくれるんじゃね?」とかおもって実装した結果、比較的高性能な開発機であっても計算に3秒もかかることがわかり、検索には使えず無事死亡した。

デライトが落ちていた

 「あれ」ってどんなんだったっけと思って、デライトで検索しようとしたところ、デライトが落ちていた(障害のお知らせ)。普段当たり前のようにデライトが使えているが、knownetの開発を通じてデライトが安定稼働していたことの異常さに気付きつつある。knownetの方はちゃんと動いている期間のほうが短い。

 探そうとしていた情報については『t_wの輪郭』を参照して見つけられた。いざというときの保証として機能してくれた。

あれ

2023/12/3 0:24:00

500MBあるBERTをONNXに変換した後に量子化したら110MBほどになってLambdaで動かせるようになった。
Githubに乗せるファイルは100MB以下でないとだめなので、ダメ押しでgzipで圧縮したら75MBになった。

あれ

2023/10/22 17:19:00

ぬーん。Mozc漢字変換が気に入らない。


IMEは儲からないっぽいので、なかなか進歩してくれない。

BERT入れるだけで漢字変換がいい感じになりませんかのう……。


というか、iPadOS(多分iOSも)のIMEの漢字変換が進化しすぎやねんな。