0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GPUが高いので、「日本語特化クラウドLLM」をVPS上に作った話(LFM2.5で検証)

0
Posted at

資格勉強や日々のタスクでまとまった時間も資金も確保できず、
GPU 搭載 PC を買うのは厳しい。でもローカル LLM を動かしたい!
そんな状況からスタートした、LFM2.5 を使った CPU 専用クラウド LLM 構築ログです。


1. ローカル CPU 推論の「遅さ」に挫折

「ローカルLLMはPCで動く!なんならGPUなしでもいける!」
という噂を聞いて、まずは手元のノート PC(GPU無し)で
LFM2.5-1.2B-JP(Q4_K_M)を llama.cpp で実行してみたところ…

  • 速度:3〜5 tok/s
  • Chrome + VSCode を開くとさらに遅くなる
  • ファン全開で実用は厳しい

まあ「おお!動いた」と言う感動はあるけど、実用となるとちょっと疑問符が付く。
おそらくwindows機ですし、CPUが他タスクと奪い合うのでLLM にリソースを
集中できないのが原因と思われる。

まあそうですよね700MBと、ローカルLLMにしては軽いけどそのサイズに頻繁に
アクセルするので。パソコンのSSDの耐久テストのようなものかもしれない。


2. しかたなく格安CPU専用VPSに逃がしたら爆速化した!

そこで ConoHa VPS(CPU 6コア/メモリ12GB/GPUなし)に
Docker + llama.cpp でホストしてみたところ…

  • 10〜15 tok/s に向上
  • 応答開始もほぼ一瞬で快適

「おなじCPU駆動でもこんなに違う?!」
というくらい見た目でわかるほどその差は歴然。

理由はおそらく
VPS では LLM が CPU を100%専有できるからか。Ubuntuで動いているのも効いてるかも


3. Liquid AI 公式ベンチ(116 tok/s)とのギャップ考察

今回つかったモデルLFM2.5を出しているLiquidの
公式ブログでは Ryzen AI 9 HX 370 + Q4_0 で
116 tok/s のベンチが出ているが、
VPSで実測してみると(10〜15 tok/s)とは 8〜10 倍の差がある。

おそらくその理由は…

  • 共有vCore(VPS)と 専有物理コア(公式ベンチ)の違い
  • ネットワーク往復 + Node.js 処理を含む計測範囲の差
  • Docker のオーバーヘッド?
  • 量子化方式の違い(Q4_K_M は Q4_0 より重い)

…などが考えられる。
公証値とはかなり違いますが、個人で使う分には十分早いので満足なレベルです。


4. 実際の API レスポンス例

短文生成

Q4_K_M(軽量)
処理時間: 1.86秒

Microbeats in silence
No GPU, yet minds weave
Silicon dreams take flight.

Q8_0(高精度)
処理時間: 1.66秒

Circuits whisper code,
Silent core hums thought unseen,
Light in the void.

5. 技術スタック構成

今回構築したVPSについて
すべて1台のVPS上で Docker Compose により構築しました。

llama-q4   : LFM2.5 Q4_K_M(軽量・高速)
llama-q8   : LFM2.5 Q8_0(高精度・長文向け)
server     : Node.js / Express(署名検証・レート制限)
admin      : Next.js(管理画面)
caddy      : Caddy v2(HTTPS・リバースプロキシ)
db         : SQLite(軽量DB)
payments   : Stripe(買い切り課金)

搭載したモデル

  • LiquidAI / LFM2.5-1.2B-JP-202606-GGUF(HuggingFace)
  • LiquidAI / LFM2.5-1.2B-JP-202606-Q8_0.gguf(HuggingFace)

認証

  • HMAC-SHA256 の 2段階 API キー署名方式

6. Q4とQ8の通信デモについて

「あれこれ数値言われても、実際見ないとわからん!」という人もいると思うので、
実際触われるようにQ4(軽量・高速)とQ8(高精度・長文向け)を
ブラウザ上で切り替えて比較できるデモをつくってみました。

実際に触れるページ作っておきました
https://otemotollm.spiel-life.com/demo/index.html

  • Q4:軽量で応答が速い。キャラチャットとか要約、短文翻訳とかできそう。
  • Q8:精度が高く、長めの生成ができそう。

上のサイトで実際のレスポンス速度や生成傾向をそのまま確認できます。


まとめ

  • LFM2.5は軽いとはいえ、ローカルでCPUだけで回すのはきつい。
  • しかし、CPU専用VPSに逃がすだけで 3〜5 tok/s → 10〜15 tok/s に改善
  • Docker Compose でクラウド LLM を安価に構築できる
  • Q4/Q8は結構違うけど、どっちもVPSでいける
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?