4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Llama2とかrinnaなどを使ってIMEを作って見る試行

Posted at

出来はしたけど色々な理由で微妙です。

目的

今流行りのLLMでIMEとかできないか興味あった。

結論

  • 基本的に漢字変換されない
    • Text Generationモデルでやるのは合わないのかもしれない?Text2Textあたりでなんかいいのないかな。
    • もしかしたら漢字変換用に調整したモデルならうまくいくかもしれない。今回は手元になかったので試してない。
  • 重い・遅い
    • 一般的なIMEなど、一瞬で数十個の候補が出るものと比べると、明らかに遅い。
    • GPU使用すれば高速化は期待できるが、どちらにせよユーザーが選べるような複数候補を一瞬で出すというのは叶わない気がした。

ということを考えると、別にわざわざLLMをIMEへ実装しなくてもいいと思った。
もしかしたらやり方次第で使えるIMEになるのかもしれないが、ちょっと実現方法が思いつかなかった。

やったこと

rinnaLlama2を使い、mac上でIMEを実装。

バックエンドはllama.cppを使用しました。rinnaはGPTNeoXなので、redpajama.cppです。

Macで使用するためのswiftコードです。llama-cpp-pythonとサンプルを参考に実装しています。
https://gist.github.com/ebisuke/823999258feeb891f3ab77d92a10ac3e
https://gist.github.com/ebisuke/4d7732acb7ca2212f6b3a06e6d4b613f

IMEのコードですが、xcodeで作成したコードをそのまま公開していいか(個人情報的に)よくわかってないので、今の所upしてません。
もし必要でしたらコメントで教えてください。ただ、若干フリーズしたりして、実用的ではないです。

結果

rinna

llama2

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?