ローカルLLM歴1年半。数えきれない失敗と数少ない成功から、リアルな教訓を共有する。華やかな技術ブログには書かれない泥臭い話ばかりだけど、多分これが一番役に立つ。
教訓1:8Bで十分なことが9割。最初は「70B!405B!」とデカいモデルに憧れる。でも実際のタスク(要約、翻訳、簡単な質疑)は8Bで十分。むしろ速さと省電力の方が価値が高い。用途を決めてからモデルを選べ。
教訓2:量子化の劣化はタスク依存。Q4とQ8の差は、コード生成ではほとんど感じないのに、クリエイティブライティングでは明確に出る。自分の用途でベンチマークを取るべし。
教訓3:システムプロンプトを舐めるな。同じモデルでもシステムプロンプト次第で出力品質が激変する。「あなたは優秀な…」で始めるか、「あなたは完璧主義のエンジニアで…」で始めるかで回答が変わる。何度も試行錯誤すべし。
教訓4:プロンプトテンプレート、ちゃんと確認しろ。これで3日溶かした。Ollamaのテンプレートを暗黙的に信用するな。`ollama show ` で確認しろ。
教訓5:VRAMは正義。電気代も正義。3090×2は24時間稼働させると月の電気代が5000〜8000円上がる。APIの方が安いケースもある。常時稼働が必要かどうか、ちゃんと考えろ。
教訓6:モデルのアップデートを追うな。毎週新しいモデルが出る。全部追うと人生が終わる。セットアップしたモデルは3ヶ月は使い倒せ。アップデートは四半期に一度で十分。
教訓7:APIの補完として使え。ローカルLLM一本はキツい。普段はローカル、難しいタスクはGPT-4o API。このハイブリッドが結局一番強い。
総じて、ローカルLLMは「趣味」としては最高に面白い。実用ツールとしてはまだ発展途上。でもその発展途上を一緒に歩けるのが楽しいんだ。