Cline(Roo code)をOllamaで動かすのに良いモデルはあるか調査
Clineを動かすのであればどのモデルがいいか、ざっくり確認していこうと思います。
これは色々実験していてわかったことですが、Clineを動かすのにはどんなモデルでもOKというわけではないようです。モデルの選択をミスると、無限loopしてタスクが終わらないという状況になるようです。以下参考にしました。
https://github.com/cline/cline/discussions/241
ちなみに、今回も例のごとくvast.aiでホスティングしました。

注意しないといけないのが、ClineもRoo codeもローカルでホスティングしているOllama以外だと現状エラーが出てしまうというところです。これについては別記事で記載しましたが、私はとりあえずコードを一部修正して手元で動くようにしてます。これをForkしたものを後ほど記載する。
さて、レンタルしたのはRTX3090なのでVRAMも以下モデルを動かす分には十分でした。
1時間あたり0.219ドルなので、33円くらいですかね。これでClineサクサク動くのであれば十分安い気がします。
ちなみに、お値段の概算はこんな感じです。
かなり余談ですが、$/dayは24時間計算です。推論での利用だとclineで使っても一日8時間くらいじゃないかな?僕の場合だと休みの日に2時間稼働、休憩のためインスタンス停止、また2~3時間稼働くらいで終わりだと思う。そうなると圧倒的に買うより安い。電気代も考えなくていいし。
というわけで使いたくなったら以下からお願いします。
https://cloud.vast.ai/?ref_id=200495

さて、以下モデルであればCline,Roo code両方で動くと思います。
https://ollama.com/acidtib/qwen2.5-coder-cline
https://ollama.com/library/codegemma
https://ollama.com/hhao/qwen2.5-coder-tools
ollama pullしてlistしたやつ

それぞれのモデルに対して以下を要求します。
あと、最初日本語でやってましたが、一旦英語でタスク投げます。英語でも厳しいことがわかりますが、日本語だともっと厳しい。コードのタスクは基本英語でやった方が精度があるのか。パラメータ数が少ないからかもしれない。
codegemma:latestで確認

かなり軽快に動くものの、途中でエラー止まり。
acidtib/qwen2.5-coder-cline:7bで確認


かなり軽快に動いてちゃんとタスク達成された。
hhao/qwen2.5-coder-toolsで確認
いい感じのとこまでいったけど、結局エラーでそれ以上進めれない。

途中でタスク止まっちゃう問題の回避策のあたり
https://github.com/cline/cline/discussions/241
ここにヒントがある、けどまだ検証してない。
何が起きているのか?
• num_ctx(コンテキスト長)がデフォルトで32768トークンになっている。
• しかし、Clineで使うプロンプトがこれを超える長さになっている。
• その結果、モデルが一部の情報を読めず、期待通りの動作をしない。
Modelfileを作成して対応するっぽい。
FROM qwen2.5:14b
PARAMETER num_ctx 65536
重要なポイント
• 「ollama create」はモデルの学習ではなく、設定変更のみ
→ GPUが貧弱でもOK。時間もそれほどかからないっぽい。
• 適切なnum_ctxを指定しないと、長いプロンプトが切れる
→ つまり、Cline側での挙動が不安定になる。
• ローカル環境で簡単に設定変更可能
→ 再学習のような負荷の高い処理ではなく、単なる設定の適用。
要するに、「モデルが悪い」のではなく、「設定が足りない」だけの話ですね。
適切にパラメータを調整すれば、Cline上でも問題なく動作するはず?これは要検証。
まとめ
今回のタスクでいうとacidtib/qwen2.5-coder-cline:7bが一番良さそうだった。
ディスカッション
コメント一覧
まだ、コメントがありません