t_wの輪郭

Feedlyでフォローするボタン
ベクトルDBベクトル検索ベクトルサーチベクター検索
knownetの曖昧検索ベクトルDBpgvectorQdrantChromaVector search for Amazon DynamoDBあれあれAzure Cognitive SearchあれあれあれFaiss『[速報]Amazon DocumentDBおよびAmazon DynamoDBのベクトルサーチ機能が一般提供開始に!』Microsoft、Azure OpenAI ServiceembeddingあれVoyager検索文2023年で良かったコト・モノあれハイブリット検索『Microsoft、Azure OpenAI Serviceに自社データを取り込んで活用できる機能をプレビュー提供』あれあれknownetにベクトル検索を実装NGTsqlite-vssAWS Lambdaでベクトル検索『グラフを用いた近似最近傍探索の理論と応用』k-NN

あれ

2024/1/6 20:56:00

世の検索エンジンがベクトル検索を使ってるせいか知らんけども補正が強すぎる。

Xの方は字で検索してくれてる感じがあって「デススタバ」とか検索した時にしっくり来る結果が出てくる。

検索文

2024/1/5 19:58:00

ベクトル検索では文章にて検索するため、私は検索と呼んでいる。検索語としてしまうと、単語での検索に限定されてしまう。


iPhone 15 Pro Max

 顔認証なので、指先カッサカサの民でもサッとロック解除できる。良い。


Magic Trackpad

 Macbookに備え付けのトラックパッドを使っていたら、痛みが出るレベルで猛烈な肩こりになった。いわゆる巻き肩?なので、肩を開いてPC操作できるようにすべく購入。使い始めてしばらくしたら、猛烈な肩こりでは無くなったので、仕事だと必須だと思う。


 インフレがやべーので手を出した。三つ買って、今のところ全部上がってるので、ホクホクしている。もっと買う銘柄を増やしたい。
 ビギナーズラックもいいとこで、そのうち大損を出すと思う。


職場の近くに引っ越した

 徒歩17分。最高。ストレスフリーな生活。満員電車にはもう乗れない。
 時差出勤も相まって、「起きたら適当に出社する」みたいな感じになっており、自由人感がある。フレックスになってくれたらもっといいのにとは思う。


副業を始めた

 引っ越しとなんやかんやによって100万ほど貯金が減ったり、家賃が上がるわ物価が上がるわで収支がトントンでヤベェとなっていたところ、私が行っていた前の前の現場の人からお声がかかった。
 業務はエーアイを使う研究開発をしている。今年に入ってエーアイで遊んでたのが役立って良かった。
 本業で解雇されてもなんとかなるというのは精神的に安定感が出る。業務量は単純に増えるので体力的にはしんどい。


ベクトル検索

 LLMで文章とかをベクトルに変換し、そのベクトルの類似度によって元の文章を検索できるという技術。

 社会が「生成AIすげー」となってる裏で、地味にヤベー技術だと思う。どうヤベーかというと、ベクトルにできるなら、任意のメディアを任意のメディアで検索できるのだ。つまり、画像を文章で検索したり、3Dモデルを画像で検索したり、コンテンツをニンゲンで検索したりできる。理屈の上では。Multimodal Embeddingとかいうらしい。おもろ。

 あと、文章を文章で検索するときには類義語とか、文章の意味とかを加味して検索してくれる。そんなんもうGoogle検索やんとなっており、時間ができたら自前の検索エンジンを作ってみたくなっている。

knownetの曖昧検索

2023/10/4 23:50:00

当初ベクトル検索を用いようとしていたが、検索速度や精度に問題が有るため取りやめた。

現在は検索語を分かち書きして、検索語を構成する句を含む投稿を取得、さらにその投稿と紐づく投稿を取得し、投稿のEmbeddingと検索語のEmbeddingのコサイン類似度で並び替えしている。

Embeddingの取得にはAmazon Bedrockを使っている。

あれ

2023/8/13 22:10:00

そういうわけで、knownetでは現在、検索の精度・速度に問題があるものの、ベクトル検索がご利用できます。

あれ

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 21:48:00

ベクトル検索を高速化してぇわよ
Lambda関数の実行で500msもかかりよる

Node.jsからGoに変えるべきか

embedding

2023/6/8 8:34:00

ニューラルネットワークなどを使ってデータをベクトルに変換したもの

k-NN

2023/5/30 7:58:00

あれ

2023/5/24 9:00:00

AWSでベクトル検索しようとするとAmazon OpenSearchとかいうのを使うのが正攻法なのだけど、OpenSearchはEC2インスタンスが立ち上がってしまって費用的にも労力的にも良くない。そこで、ベクトル検索ライブラリで生成したインデックスをAmazon DynamoDBのインデックスにすればサーバーレスで安価に運用できる気がしている。

未検証。できるかどうか不明。果たして、任意のインデックスをレコードに設定することができるのか?

というか、そういう機能をAWSが作るべきだと思う。作るでしょ。そのうち。