t_wの輪郭

あれTitan Text Embeddings v2AWS LambdaでSentence EmbeddingあれあれあれあれGloVeSentence EmbeddingはBERTよりGloVeの方が良いGLuCoSEE5でTwo-Towerモデルっぽいことができるあれ『OpenAIの埋め込みよりも高性能?多言語E5を日本語で評価してみる』『オープンな日本語埋め込みモデルの選択肢 / Exploring Publicly Available Japanese Embedding Models』intfloat/multilingual-e5-small『日本語に対応した Embedding Model のベクトル検索での精度比較』輪郭法によるSentence Embeddingを用いた検索の強化knownetの2023年9月30日アップデートCartesian Genetic Programmingで文章の類似度を学習あれあれuniversal-sentence-encoderajinkyaT/albert-japanese-v2-finetuned-nerはEnergeticAI Embeddingsで動く可能性があるかと思われたが動かなかったEnergeticAI EmbeddingsE5JSTS『sentence transformersで日本語を扱えるモデルのまとめ』『local llmでsentence embeddingどれ使えば良いんだっけ』sonoisa/sentence-bert-base-ja-mean-tokens-v2あれqxencoderあれあれllm-book/bert-base-japanese-v3-unsup-simcse-jawiki『【論文要約】SimCSE: Simple Contrastive Learning of Sentence Embeddings』SimCSEあれあれ『日本語Embeddingモデルのベンチマーク比較: OpenAIが圧倒的な精度でリード』あれNext.jsでサーバーレスSentence Embedding2023年11月14日日記tokenAとtokenBの全組み合わせからEmbeddingを計算して平均を取るajinkyaT/albert-japanese-v2-finetuned-nerからsentence embeddingっぽいものが取れたajinkyaT/albert-japanese-v2-finetuned-nerからsentence embeddingっぽいものが取れたと思ったが、Word Embeddingだったinstructor-embeddingJaColBERTalbert-japanese-tinysegmenter『Sentence Transformers 2.2 : 事前訓練済みモデル』sentence-transformers/all-MiniLM-L6-v2Universal Sentence Encoder liteAmazon BedrockのSentence Embeddingの料金はOpenAIと同じAmazon BedrockでSentence Embeddingを取得する

あれ

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/12/5 1:10:00

Web Prowlerの推薦性能を改善する方法が見えた。
ユーザーのベクトル化であるUser Embeddingを計算して、User EmbeddingとリンクのSentence Embeddingの類似度でクロールすれば良い。
推薦も今見ているページのSentence Embeddingを使って良きようにする。
User Embeddingは操作に応じて随時修正する。

User Embeddingの初期状態は、ブラウザに保存されたお気に入りや、履歴から計算すれば良い。ローカルで動作して情報が外には出ないので、こういった情報を安全に取り扱える。

あれ

2023/6/18 14:57:00

ボロボロの研究成果です

遺伝的プログラミング、精度出ねぇんだわ。

でも、モデルのサイズは小さいぞ!!
812KBや。
一般的な大規模言語モデルというかディイイイイイプラーニングはGBとかサクッと行く


食事の文章に関してはいい感じに類似判定されているのは、データ元の人格が出てますねぇ。

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になった。