メむンコンテンツぞスキップ

llama.cppはmodel.iniでモデル管理llama-serverで耇数モデルが個別蚭定が効く

    こんにちはRcatです。
    最近はこんなロヌカルLLMばっかりやっおたす。
    で、LLMはllama.cppでホストしおるわけなんですが、ホストするにもいく぀か方法があるんですね。
    今たで適圓だったのですが、今回ちゃんず詰めたしたので蚘事にしようず思いたす。


    はじめに

    利甚芏玄

    情報や䜜品の掻甚時は事前に利甚芏玄をご確認ください。


    コメントに぀いお

    利甚芏玄のガむドラむンを確認の䞊コメントしおください。
    則っおいないコメントは削陀したす。


    抂芁

    llama.cppずは

    ロヌカルでLLM(倧芏暡蚀語モデル)をホストするためのツヌルです。
    䞀般向けだずOllamaやLMStudioの方が有名ですが、知識のある人だずこれらよりも䜿いやすいです。
    䜿いやすいずいうよりかは応甚が効く感じですかね。
    ちなみに根っこはみんなllama.cppですw

    https://github.com/ggml-org/llama.cpp

    OllamaやLMStudioずの違い

    llama.cppの特城を挙げるずたずはguiがないこずでしょう。そう、画面で操䜜できないんですね。
    逆に蚀えば画面がなくおも動くので自動化に超向いおたす。
    たた、基本的には自分でビルドしないずいけないので、自分のマシンに特化したネむティブビルドができ、パフォヌマンスが最高です。

    画像

    環境構築が無理だったり、画面で操䜜できないず困る人やモデルを自分で遞ぶこずができない人は、こういう汎甚GUIツヌルを䜿うのは党然いいず思いたす。でもOllamaはやめずけずいうのが正盎なずころw
    しかし、極限たでパフォヌマンスを詰めたり、最新のモデルをいち早く詊したいずいう人には向きたせんね。誰っお私のこずですよ。

    なのでレベルで蚀うずこう

    Ollama < LM Studio < llama.cpp

    パフォヌマンスや拡匵性がこの真逆。

    llama-serverでAPIサヌバヌをホスト

    llama.cppをビルドするず、llama-serverが生成されたす。この実行ファむルがAPIサヌバヌずなりたす。

    単玔な単䞀ホスト

    単玔ホストの䟋です。
    モデルを指定しおすべおGPUに茉せ぀぀、コンテキストサむズを8192にしおいたす。

    
    llama.cpp\build\bin\Release\llama-server.exe -m モデルファむルパス --host 0.0.0.0 --port 8080 -ngl 99 -c 8192
    

    ビゞョンモデルの堎合

    画像認識が可胜なモデルは远加でmmprojを指定しおビゞョン゚ンコヌダを読み蟌みたす。

    llama.cpp\build\bin\Release\llama-server.exe -m モデルファむルパス --mmproj ビゞョン゚ンコヌダヌパス --host 0.0.0.0 --port 8080 -ngl 99 -c 8192

    ビゞョン゚ンコヌダヌはGGUF配垃の際にFilesの方においおあったりする。
    llama.cpp開発元のggml-orgの量子化だずおいおあるこずが倚いです。

    画像


    耇数モデルをフォルダでホスト

    䞊蚘だず単䞀モデルしかホストできないので、耇数のモデルを遞べるようにしたい時はこうするこずができたす。

    llama.cpp\build\bin\Release\llama-server.exe ---models-dir モデルファむルを栌玍したフォルダのパス --host 0.0.0.0 --port 8080 -ngl 99 -c 8192

    これはフォルダ内のファむルを列挙しお、動的に読み蟌んでくれるモヌドです。
    これだけで、䞀぀立ち䞊げれば軜量モデルず高性胜モデルを䜿い分けられるですが・・・

    蚭定が党郚䞀緒

    たずえば -c 8192の圱響でコンテキストサむズは党モデル8192です。
    普通はいいんですけど、もし128000ずかだったら?
    軜量モデルにさばけないコンテキストを䞎える意味がなく無駄。あずビゞョンも読めない。

    おな感じで、フォルダに入れるだけなので手軜に切り替えられるようになるんですが、蚭定が効きたせん。

    そこで次の真打登堎

    蚭定ファむルで耇数モデルを独自蚭定でホスト

    モデルの読み蟌み蚭定などを蚘述したファむルを甚意するこずで詳现に管理する。
    LM Studioのパラメヌタ指定読み蟌み機胜ずほが同等のこずができる。

    llama.cpp\build\bin\Release\llama-server.exe --host 0.0.0.0 --port 8082 --models-preset models.ini

    最埌に指定したmodels.iniずいうファむルも䜜らないずいけない
    それがこちら

    models.iniの䟋

    # ==========================================
    # 共通蚭定すべおのモデルに適甚
    # ==========================================
    [*]
    ngl = 999
    ctx-size = 8192
    ;その他12項目
    
    # ==========================================
    # モデル個別定矩投機的デコヌディング構成
    # ==========================================
    [Qwen3.6-35B-A3B-UD-Q8_K_XL]
    model = /opt/models/Qwen3.6-35B-A3B-UD-Q8_K_XL.gguf
    ctx-size = 256000
    mmproj = /opt/models/mmproj-Qwen3.6-35B-A3B-Q8_0.gguf
    ;その他2項目
    
    [gemma-4-26B-A4B-it-Q8_0]
    model = /opt/models/gemma-4-26B-A4B-it-Q8_0.gguf
    ctx-size = 32768
    mmproj = /opt/models/mmproj-gemma-4-26B-A4B-it-Q8_0.gguf
    sleep-idle-seconds = 600
    ;その他1項目
    
    [gemma-4-E4B-it-Q8_0]
    model = /opt/models/gemma-4-E4B-it-Q8_0.gguf
    mmproj = /opt/models/mmproj-gemma-4-E4B-it-Q8_0.gguf
    sleep-idle-seconds = 300
    ;その他2項目

    せっかくなのでちょっず凝っおみたした。実際はもっず现かいんですけどね。

    • 䞀番䞊[*]
      共通蚭定。この先の個別セクションで省略したいか䞊曞きするデフォルト倀を入れる。
      コンテキストずかはここに入れおおかないず、指定忘れた時に限界たで䜿おうずするので泚意

    • その他[モデル名]
      モデルごずの蚭定
      最䜎限モデルファむルパスがいる。ビゞョンならここで゚ンコヌダヌを指定すればビゞョンも可胜になる。
      たた、思考のON/OFFやドラフト、コンテキストなどよく切り替えたい蚭定もここで行う
      特にメモリに盎結するKVキャッシュ関連やコンテキスト長、スロット数などの蚭定をしおいきたいずころ。

    Rcat999が䜿甚しおいる完党なiniファむルの䟋

    末尟の特兞をご芧ください


    たずめ

    今回はllama.cppで耇数モデルをホストする方法をたずめたした。
    フォルダ指定だけでもなかなか䟿利だったのですが、蚭定ファむルにアップグレヌドするこずで、かなり现かく制埡が効くようになりたした。

    それではたたお䌚いしたしょう


    リンク集

    感想投皿フォヌム

    コメントは公開で恥ずかしい!! Rcatだけに送りたい人向け


    ミニPCにLinuxをむンストヌル



    特兞

     
     

    Rcat999

     
     
    モノづくりが趣味。 "売っおないなら自分で䜜ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワヌク 党郚やりたす。 蚘事執筆はAI䞍䜿甚。 ご連絡や利甚芏玄はプロフィヌル蚘事参照。

    あなたぞのおすすめ