ロシア語エンベッダーを2400万パラメータに縮小した方法、そして1桁の間違いで台無しにしかけた話
DeepPavlov
BAAI
Microsoft
あるエンジニアが、共有GPU上でのローカルRAG用に、24.4Mパラメータ、4層の軽量ロシア語デンスレトリーバーSTRIZHをトレーニングした。トークナイザ設定の1桁の間違い(model_max_length=256)により、Recall@10が0.589から0.448に低下し、作業がほぼ無駄になるところだった。このモデルは、AMD Strix Halo上での高速な一次段階検索を目的としており、共存シナリオでbge-m3と競合する。
著者は、128 GBのユニファイドメモリを搭載したAMD Strix Haloノード上で動作するローカルRAGシステム用に、STRIZHと呼ばれる小型のロシア語高密度レトリーバーを開発しました。このノードのiGPUは生成LLM、エンベッダー、リランカー、および定期的な再インデックス処理で共有されているため、計算競合を減らすために軽量なレトリーバーが必要でした。MSE損失を用いた埋め込み回帰の試みが失敗した後、著者は対照学習を用いて12層の検索ドナーモデルを訓練し、それを4層に蒸留することに成功しました。STRIZHは2440万パラメータ、ベクトルサイズ384、平均プーリング、クエリ/パッセージプレフィックスなし、最大8192トークンのコンテキストをサポートします。ローカルコーパスでは、フィルタリングされたサブセットでRecall@10が0.751、完全なセットでは0.800を達成しました。Qwen3.6-35B-A3Bとの共存ベンチマークでは、STRIZHは毎秒200クエリのオンライン負荷時に、bge-m3の7%低下に対して生成スループットの低下はわずか2%であり、インデックス処理は毎秒46バッチ対4.9バッチでした。しかし、公開後にエラーが発見されました。トークナイザー設定にmodel_max_length=256が設定されており、それを適用するとRecall@10が0.589から0.448に低下しました。著者は、STRIZHがUSER2-smallやbge-m3のようなより大きなモデルの代替を意図しているのではなく、厳格な計算予算の下での効率的な高密度検索のニッチを埋めるものであると述べています。
出典: Habr — хаб ИИ —
原文
