雑に記述しておこうと思う。 transformersの学習済みモデルをRustで動かすためにONNXを使った。 現在はいくつかのフレームワークがあるようで先行事例としてはmagikaなどがある。 参考: ONNX推論クレートの比較と実装奮闘記 直近の開発のアクティブさなどみて最初はtractで組んでいたけど、static embeddingを動かすためのLoop operationがサポート外になっていて動かないことが途中で分かった。最終的にonnxruntimeのRustラッパーを使ってことなきを得た。
Rustでニューラルネットを動かす需要は結構あるように思うんだけど、意外にクレートが洗練されてなかったりするものも多いし、あまり世にユースケースが出回ってないように思うんだが(私だけ?)。