Delphi 12.2から利用できるようになったスマート支援機能ですがOllamaで公開されているcodeLlamaでは日本語で出力されませんでした。
そこで,codeLlamaで日本語が使えるようにしたモデルがないか調べてたところELYZA-japanese-CodeLlama-7bを見つけました。
ELYZA-japanese-CodeLlama-7bは,ELYZA社が提供するcodeLlamaに日本語の追加学習をしたモデルで,ELYZA-japanese-CodeLlama-7b-instructは事後学習もしているそうです。Hugging Face https://huggingface.co/ で公開されていました。しかし,Ollamaですぐ使えるものは公開されていませんでした。
そこで,ELYZA社が提供するLlamaをOllamaで動かす手順を開設する記事を見つけ,ggufファイルがあれば可能なのではないかと思いつきました。
再度Hugging FaceでELYZA-japanese-CodeLlama-7bのggufファイルが提供されていないか調べたところ
を見つけました。Ollamaを使ってダウンロードし利用できるコマンドがそちらで公開されています。
いくつか量子化のバリエーションがあるので,どれを使えばよいか迷ったのですが,こちらの記事を参考に選択しました。
試すだけであればまずはQ2_Kでしょうか。試したのですがうまく動かず,Q5_K_Mで動作を確認しました。
と同じようにOllamaのプラグインで指定するモデル名を
hf.co/mmnga/ELYZA-japanese-CodeLlama-7b-instruct-gguf:Q2_K
に変更すれば利用できます。
関数一つを対象にして試してみたところ,モデルはVRAMに収まっていたのですがcodeLlamaより処理に結構な時間がかかりました。出力された内容もちょっと怪しいです。
かなり長いプロンプトを処理を始める前に渡しているようで,日本語にはそれが反映されないのではないかと感じました。
日本語での運用にはまだ課題がありそうですが,別のLLMモデルを試すことができて興味深かったです。
皆様の参考になれば幸いです。使い方などで問題があればお知らせいただけるとありがたいです。