あれ
いや、「ベクトル検索ぐらいマネージドサービスあるやろ」とはなるんだけど、たけーのよ。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言語に切り替えるうまみがあるはず。
あれ
あれ
BERTとALBERTの学習させてるんだけど、BERTの成績が良すぎて辛い。ALBERTが追い付かない。使っているALBERTのモデルが、「小さすぎる」可能性はある。
あれ
やったー
幣WindowsでGPUでALBERTのSimCSEの学習ができるようになったぞ
1回の学習にかかる時間が40時間から2時間に短縮された
それでもGoogle Colabと比べると2倍時間かかるので、良いぱしょこんが欲しい
1070 Tiはそろそろ買い替えていい頃合いと思う
あれ
昨日・今日とSentence Embeddingを吐くALBERTをSimCSEで学習させているが、少し前にちょいと試しで学習させたときの性能を上回ることができない。
機械学習はそんな淡い夢みたいなことが度々起こる。
ajinkyaT/albert-japanese-v2-finetuned-ner
CTranslate2はALBERTに対応していなかった
CTranslate2はALBERTに対応していなかった。モデルの変換時に下記のエラーが出る
ValueError: No conversion is registered for the model configuration AlbertConfig (supported configurations are: BartConfig, BertConfig, BloomConfig, CodeGenConfig, GPT2Config, GPTBigCodeConfig, GPTJConfig, GPTNeoXConfig, LlamaConfig, M2M100Config, MBartConfig, MPTConfig, MT5Config, MarianConfig, OPTConfig, PegasusConfig, RWConfig, T5Config, WhisperConfig)