RTX 2060 SUPERで始めるローカルLLM開発環境構築を試す
はじめに
皆さんこんにちは CLB です。
ローカルLLMを試してみたいので試しました。思ったより 導入することは 簡単です。
(実用的とは言っていない。)
WSL環境でOllamaをセットアップする
手元の環境
- OS: Windows 11(WSL)
- CPU: Intel(R) Core(TM) i5-10400F
- GPU: NVIDIA GeForce RTX 2060 SUPER(8GB)
- メモリ (RAM): 7.7 GiB (WSL2への割り当て容量)
- PCケース: 約10年以上前に買った学生時代の思い出の品
ローカルLLMを動かすなら、エラーが起きにくくPython等との連携もしやすいWSL(Windows Subsystem for Linux)環境が最もおすすめです。
今回は手軽にLLMを管理できる『Ollama』を導入します。
その他、開発には VS code を利用しています。
ステップ 1: zstdのインストール
最近のOllamaインストールスクリプトには zstd(解凍ツール)が必要なため、予めWSL(Ubuntu等)に入れておきます。
sudo apt update && sudo apt install -y zstd
ステップ 2: Ollamaのインストール
以下のコマンドでスクリプトを実行します。自動的にWindows側のNVIDIAドライバーを検知し、GPU(CUDA)が使える状態でセットアップされました。
curl -fsSL [https://ollama.com/install.sh](https://ollama.com/install.sh) | sh
なぜか daemon は動作しないので、daemon が起動しない場合は、
ollama serve コマンドを実行して手動でサーバーを立ち上げましょう。
ステップ 3: Continue をインストールする
VS Codeの拡張機能マーケットプレイスから 「Continue」 をインストール。
起動すると、ローカルモデル もしくは gemini や OpenAI のサーバーモデルを利用できる画面が表示されるので
ローカルモデルを選択し、そこに出た コマンドを何も考えずに実行します。
Chat:Llama 3.1 8B
Autocomplete:Qwen2.5-Coder 1.5B
Edit:Llama 3.1 8B
になりました。
実際に利用する
Gemini に 仕様書を書いてもらう。
ToDo アプリの仕様書が生成された。
書いてもらった仕様書、生成したコードはリポジトリを参照
利用したプロンプトと実験の感想
1. 仕様書を元にしたコード生成
@spec.md
この仕様書を元にコードを記載してください。記載したコードは app.py を作成し、そこに記述してください。
生成されたファイル
(https://github.com/ryo-sato-oct22/test-local-llm/blob/main/path/to/app.py)
path/to/app.py
なぜか path/to/... に新しいファイルを生成しようとするひと。
コードの中身はまぁまぁOK。
2. 外部ファイルの読み込みテスト
llama 3.1 8B は agents.md を読めますか?
> Continue read /path/to/agents.md
> (このファイルの内容は提供できません。代わりに、必要な情報を入力してください)
汎用的な利用方法に対する質問だが、コードとして純粋に読み込みしようとしている。
なぜ path/to/... にこだわるのか。。。
あれかな、フォルダパスといえば path/to/... で学習しちゃったのかなぁ・・・
3. ファイルの移動指示
@app.py をプロジェクトのトップディレクトリに移動して
生成されたファイル -> ./app.py
失敗!
コピーコマンドではなく、生成しようとしてしまった・・・
コード
4. 例外処理(finally での接続クローズ)の提案
@app.py finally で DB接続をクローズしないといけないのでは?
** 変更なし
失敗!
修正コードを追加しようとしていたが、適用されない!
惜しい!
まとめ
4-5年落ちのミドルスペックのPC(自称)では、通常利用はほぼ不可能です。
また、現行のAIは GPUのメモリを限界まで利用するので、 Windows 側の動作にも影響が出ます。
(画面描画にもGPU使っているのでPC自体が不安定になる。)
なんで GPU 利用しているだけなのにPCが不安定になるんだよと思いましたが、
今は画面描画に GPU を利用する時代。XPの時代は終わりました。
時代を感じます。
ちなみに
必要な「GPU(ハードウェア)」要件
これらを快適に動かすには 「16GB〜24GB以上のVRAM」 が主戦場になります。
【松】ストレスゼロ環境:RTX 4090 / 5090 (24GB〜32GB VRAM)
30BクラスのモデルがVRAMに完全に入り、長いコードを読み込ませても爆速を維持。最高峰のローカル開発環境。
【竹】コスパ・実用ライン:RTX 4080 Super / 4060 Ti (16GB VRAM)
14B前後の超優秀なコード特化モデルが綺麗に収まる、個人開発者に最もおすすめのバランス。
【梅】最低限の実用ライン:RTX 3060 / 4070 (12GB VRAM)
7B〜8Bクラスを余裕を持って動かせるため、VS Codeのコード補完などが非常に快適になります。
(※もしWindows自体の買い替えを検討していて、Macでも抵抗がない場合は、メモリを多く積んだ Mac Studio (M4/M5 Max等の128GB統一メモリ版) なども、巨大なローカルモデルを動かす開発者勢の間で非常に人気の選択肢になっています)
という事のようですのでご検討ください。