ローカルLLM歴1年半。数えきれない失敗と数少ない成功から、リアルな教訓を共有する。華やかな技術ブログには書かれない泥臭い話ばかりだけど、多分これが一番役に立つ。
教訓1:8Bで十分なことが9割。最初は「70B!405B!」とデカいモデルに憧れる。でも実際のタスク(要約、翻訳、簡単な質疑)は8Bで十分。むしろ速さと省電力の方が価値が高い。用途を決めてからモデルを選べ。
// コードと趣味の境界線上
ローカルLLM歴1年半。数えきれない失敗と数少ない成功から、リアルな教訓を共有する。華やかな技術ブログには書かれない泥臭い話ばかりだけど、多分これが一番役に立つ。
教訓1:8Bで十分なことが9割。最初は「70B!405B!」とデカいモデルに憧れる。でも実際のタスク(要約、翻訳、簡単な質疑)は8Bで十分。むしろ速さと省電力の方が価値が高い。用途を決めてからモデルを選べ。
Ollamaで十分と思ってた。でも、ある日1000件の文章をバッチ処理する必要があって、Ollamaの速度に限界を感じた。そこで出会ったのがvLLM。これ、次元が違う。
vLLMはカリフォルニア大学バークレー校発の高速LLM推論エンジン。最大の特徴はPagedAttentionというメモリ管理技術で、KVキャッシュの無駄を徹底的に排除する。結果、Ollamaの2〜3倍のスループットが出る。
24GBのVRAMで70Bモデルを動かすにはQ4量子化が必須。でも、量子化すると明らかに賢さが落ちる。じゃあGPUを2枚刺せばいいじゃないか——その発想で、僕はRTX 3090を2枚挿しにした。
結果から言うと、物理的にもソフト的にも地獄だった。でも動いたときの感動は格別。Q8量子化でLlama 3 70Bがヌルヌル動く。ChatGPTに匹敵する回答がローカルマシンから返ってくる。
モデルのスペック表に「コンテキスト長:128kトークン」って書いてある。文庫本1冊分。理論上は「戦争と平和」を丸ごと入れて要約できるはず…なんだけど、現実はそう甘くない。
僕は色々なモデルでコンテキスト長の限界を検証してみた。結論から言うと、スペックの最大値より半分くらいが実用的な上限。64k超えたあたりから、モデルは明らかに文脈を見失い始める。
「このモデル賢い!」「いやこっちの方が…」——ローカルLLMの評価を感覚だけで語ってると、いつまでも決着がつかない。数字で比較しよう。客観的なベンチマークの取り方と、主要モデルの実測値を紹介する。
ベンチマークには色々あるけど、僕が重視するのは推論速度(tok/s)と出力品質(ベンチマークスコア)。この2軸で評価すればだいたい正しい。
OllamaでLLMは動いた。でもターミナルで会話するのは、やっぱり味気ない。ChatGPTみたいなリッチなWeb UIが欲しい——その願いを叶えるのがOpen WebUIだ。
Open WebUI(旧Ollama WebUI)は、Ollamaの上に被せるWebインターフェース。Docker一発で起動できて、見た目はマジでChatGPTそっくり。複数モデルの切り替え、会話履歴の保存、Markdownレンダリング、コードハイライト、全部入り。
[Read more…] about Open WebUIでChatGPT風UIを自前で — ローカルLLMにリッチな顔をつける
ローカルLLMで「なんだか回答がおかしい…」って時、原因の8割はプロンプトテンプレートの間違いだ。各モデルには決まった会話フォーマットがあって、これがずれるとモデルは迷子になる。
このフォーマットの違いを知らずに、3日間「なんでこのモデル、こんなにバカなんだ?」って悩んだことがある。原因はLlama 3モデルにAlpaca形式でプロンプトを投げてただけ。フォーマットを直した瞬間、モデルが突然賢くなった。
[Read more…] about プロンプトテンプレート沼 — ChatML, Alpaca, Llama 3形式の違い
ローカルLLMの世界に足を踏み入れると「Q4_K_M」「Q5_1」「IQ3_XXS」…呪文のような文字列が溢れてる。これ、全部量子化(Quantization)の方式を示すコードだ。
量子化ってのは簡単に言うと「モデルの重みを圧縮する」こと。32bitの数字を4bitや5bitに縮めて、メモリ使用量を減らす。当然精度は落ちるけど、その落ち方が量子化方式によって全然違う。
RAG(検索拡張生成)をAPIで組むのもいいけど、ローカルLLMがあれば完全オフライン・完全無料・完全プライベートなRAGシステムが作れる。自分の文書を全部食わせて、自分だけのAIアシスタントを作る——そんな夢みたいなことができる。
僕は日々のメモやブログ記事、読んだ論文のPDFを全部ローカルRAGに突っ込んでる。あとで「あの記事で何て書いたっけ?」ってなったとき、AIに聞くだけで一発で出てくる。Evernoteの検索より遥かに賢い。
「コマンドラインはちょっと…」って人に朗報。LM Studioなら、マウス操作だけでローカルLLMが使える。アプリをインストールして、モデルを選んでダウンロードして、チャット開始。Ollamaよりさらに簡単だ。
LM Studioはllama.cppをGUIでラップしたアプリ。Windows/Mac/Linux対応。見た目はChatGPTのデスクトップアプリに近くて、初見でも迷わない。しかも全部ローカル完結。ネットワーク不要。