Synology NASでOllama:サーバー上のLLM familial
はい、実用上はRAMを増設できるx86のNAS(Intel CeleronまたはAMD Ryzen)が対象です。エントリークラスのARMモデルには、メモリが1〜2GBしか搭載されていません。Q4の7Bモデルには、DSMが使用する分とは別に、6〜8GBの空きRAMを見込んでください。Ollamaの公式パッケージはありません。Container Manager(DSM 7.2以降)とollama/ollamaイメージを使用してください。
Synology NASでは、クラウドに依存せず、家庭内や社内のネットワーク全体からアクセスできる、本格的なローカルLLMをホストできます。ただし、どの構成でも適しているわけではありません。プロセッサー、利用可能なRAM、ネットワーク上でのサービスの公開方法によって、実用的なツールになるか、期待外れに終わるかが分かれます。ここでは、インストール前に確認すべき点と、CPUのみで動かす場合にどの程度の動作を期待できるかを説明します。
#Ollamaに対応しているSynology NASはどれか
購入やインストールを試みる前に、まず確認すべきなのはメモリです。Ollamaはx86-64向けにもARM64向けにもLinux版を公開しているため、ARMプロセッサ自体が本当の障害ではありません。一方、RealtekのARMプロセッサを搭載したエントリーレベルのSynology NASは、Synologyの技術仕様によると、メモリが1 GB(DS124、DS223j)または2 GB(DS223)しかありません。それに対し、Q4で量子化した7Bモデルは、モデルだけで約5 GBあります。現実的な対象は、メモリを増設できるx86モデル(Intel CeleronまたはAMD Ryzen搭載で、通常は「Plus」シリーズ)です。
実際には、Intel Celeron または AMD Ryzen を搭載した「Plus」シリーズや、それより上位のシリーズが適しています。何かをインストールする前に、お使いのモデルの正確な仕様を確認してください。シリーズ名(Plus)は手がかりにはなりますが、それだけで適合性が保証されるわけではありません。
#実際の使用に必要なRAMの量はどれくらいですか
お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。
- 永久に利用できるオンラインスペース
- PDF + ファイル
- 30日間返金対応
必要なRAM容量は、読み込むモデル、量子化、コンテキスト長、同時利用者数によって異なります。DSMや並行して動作する他のパッケージのためにも余裕を確保する必要があります。Q4で量子化した7Bモデルは、重みだけで約5 GBを使用し、さらにコンテキストやプロセスの分も必要になるため、空きRAMは6〜8 GBを見込んでください。総RAM容量が8 GBのNASでは、DSMとContainer Managerの使用分を考慮すると余裕がほとんどなくなります。16 GBあれば、余裕を持って動作させられます。
| モデル | CPU | 標準搭載RAM | 最大RAM |
|---|---|---|---|
| DS225+ / DS425+ | Intel Celeron J4125 | 2 GB DDR4 | 6 GB |
| DS725+ | AMD Ryzen R1600(2コア) | 4 GB DDR4 ECC | 32 GB |
| DS925+ | AMD Ryzen V1500B(4コア) | 4 GB DDR4 ECC | 32 GB |
| DS1525+ / DS1825+ | AMD Ryzen V1500B(4コア) | 8 GB DDR4 ECC | 32 GB |
DS225+とDS425+の標準搭載RAMは、わずか2 GBです。これはLLMを実用的に動かすにはまったく足りず、小型モデルでも不十分です。これらの機種では、Ollamaをインストールする前に、必ずメモリを増設する必要があります。
#優先的に検討すべきSynologyの機種はどれですか?
Ryzen搭載モデル(DS725+、DS925+、DS1525+、DS1825+)は、RAMを最大32GBまで増設でき、DS225+/DS425+シリーズのCeleronよりも計算処理に適したCPUを備えています。LLMを本格的に使うなら、これらのシリーズを選び、標準構成のままではなく、対応する最大容量までメモリを増設するべきです。
#Ollama を Container Manager でインストールする
Synologyは、パッケージセンターでOllamaを公式パッケージとして提供していません。そのため、Container Managerを使う必要があります。Container ManagerはDSM 7.2以降、従来のDockerパッケージに代わるものです(DSM 7.0と7.1では、従来のDockerパッケージが引き続き利用できます)。
- 01DSMのバージョンを確認するContainer ManagerにはDSM 7.2以上が必要です。それより古いバージョンでは、旧Dockerパッケージを使用する必要があり、インターフェースも異なります。
- 02Container Managerを開き、公式イメージを検索するDSMのメインメニューからContainer Managerを開き、「Registre」(レジストリ)に移動し、ollama/ollamaを検索し、公式イメージを選択して「Télécharger」(ダウンロード)をクリックする。
- 03ポートを設定してコンテナを起動するDSMのデフォルトポートを変更するのではなく、この種のサービスに推奨される8000〜9000の範囲を目安に、コンテナのポート(Ollamaのデフォルトは11434)をホスト側の高い番号のポートにマッピングする。
- 04利用可能な RAM に適した最初のモデルをダウンロードするコンテナが起動したら、コマンドラインまたはインターフェースから接続し、NASに搭載されたRAMの総容量ではなく、実際に利用できる空きRAMの容量に合ったモデルを取得する。
#インターフェースを追加:Open WebUI を Docker Compose で使用
Ollama単体ではAPIとコマンドラインしか提供されず、チャット画面はありません。ChatGPTに近い使い勝手を得るには、Ollamaに接続する別のソフトウェアが必要です。推奨される方法は、同じNAS上にOllamaとOpen WebUIを別々のDockerコンテナとしてデプロイし、その後、ネットで見つけた最も高性能なモデルではなく、実際に利用できるRAM容量に合ったモデルをダウンロードすることです。モデル選びには、前述したOllama単体の場合と同じメモリ制約が適用されます。DSM 7.2以降、Container Managerには「プロジェクト」タブがあり、SSHを使ったりターミナルでコマンドを入力したりせずに、docker-compose.ymlファイルを直接実行できます。これにより、DSMのグラフィカルなインターフェースから操作できるまま、Synologyでの利用体験が一般的なLinuxサーバーに近づきます。
- 01プロジェクトフォルダの作成File Station で、プロジェクトの docker-compose.yml ファイルを保存する専用フォルダ(例:/volume1/docker/openwebui)を作成する。このフォルダを Ollama 単体のインストールに使うフォルダとは別にしておくと、2つのコンテナの設定が混在するのを防げます。
- 02docker-compose.yml ファイルを記述二つのサービスを定義する。ollama(前のステップですでにインストールした API、またはここで再び構成に組み込む API)と、内部 URL 経由で Ollama に接続する open-webui。Web インターフェース用に、ホスト側でポート 3000 を公開する。
- 03Container Manager からプロジェクトを起動するContainer Managerで新しいプロジェクトを作成し、このフォルダを指定してからデプロイする。内部で実行されるコマンドはdocker compose up -dに相当し、2つのコンテナを依存関係に沿った正しい順序でまとめて起動します。
- 04インターフェースを開き、管理者アカウントを作成するコンテナが起動したら、ローカルネットワーク上のブラウザで、NAS の IP アドレスにポート番号 3000 を付けたアドレスを開く。初回アクセス時に管理者アカウントを作成し、その後、インターフェース内で直接 Ollama からモデルを取得する。
#CPUのみで動かす場合に現実的に期待できること
Synology NASでOllamaを実行する場合はCPUのみを使用します。これらの機器には、利用できる専用GPUがありません。実際のスループットは、コンテキストの長さ、Ollamaのバージョン、NASで同時に動いている処理(バックアップ、インデックス作成、その他のパッケージ)によって変わるため、使用予定のモデルと負荷で測定する必要があります。長文生成で観察された大まかな目安は約5トークン/秒です。非同期の用途(要約、バックグラウンド処理)には十分な余裕がありますが、高い応答性を求めるリアルタイムの会話では、やや厳しい速度です。
#ネットワークセキュリティ:Ollamaをインターネットに公開しない
NASには通常、家庭や小規模な組織の個人用または業務用のファイルがすべて保存されています。利便性のために公開するのではなく、優先して保護すべき機器です。DSMのポートやコンテナのポートを直接インターネットに公開するポート転送を設定すると、すべてのファイルが入った機器が自動スキャンの直接の標的になります。SynologyのNASは、まさにこの理由で、すでにランサムウェア攻撃キャンペーンの標的になっています。
#本番環境のDockerデプロイとの比較
このガイドは、家庭や小規模な組織のNASに、単一コンテナで簡単にインストールすることを目的としています。HTTPSリバースプロキシ、専用Webインターフェース、ベクトル検索を使うRAG、監視機能を備えた本番環境の構成では、手順が異なり、運用の負担も大きくなります。この構成は、本サイトの本番環境向けDocker Composeガイドで扱っています。このガイドは、NASよりも専用Linuxサーバーを想定したものです。
- Docker Compose を使った本番環境への LLM デプロイ
- 代替案:Proxmox での Ollama (LXC/VM)
- 出典:モデルごとのCPUおよびRAMの互換性
- 出典:Container Managerおよびネットワークセキュリティ
#この構成が適しているのは誰ですか?
Synology NAS上でのOllamaの実行は、ストレージ用のx86 NASをすでに運用していて、ローカルネットワーク全体からアクセスできる軽量な非同期AI処理を追加したい方に適しています。たとえば、共有フォルダに置かれた文書の要約、アーカイブ済みメールからの情報抽出、家庭内の自動化を構成する一要素としての利用です。日常的にスムーズで素早い会話をしたい場合には向きません。また、NASがすでに主要なバックアップ先として使われており、通常の処理を遅くするリスクなしにLLMへ割り当てられるメモリの余裕がない場合にも適していません。
- 空きRAMのあるx86のPlusシリーズNASをすでにお持ちの場合
- これは最も費用対効果の高いケースです。追加のハードウェアを購入する必要はなく、必要に応じてメモリを増設し、コンテナを設定するだけで済みます。
- ChatGPTのようにすぐに応答する会話を求めている
- NASのCPUだけでは、専用GPUやユニファイドメモリを備えた比較的新しいチップに比べて処理が遅いため、この用途にはミニPCやGPU搭載マシンを優先してください。
- NASにはすでに重要なバックアップデータが保存されています。
- Ollamaを追加する前に、利用可能なRAM容量とCPUの負荷状況を確認してください。リソースの割り当てが適切でないサービスは、既存のバックアップ処理を遅くする可能性があります。
すべての Synology NAS が Ollama を実行できますか?+
Synology NASでOllamaを実行するには、どれくらいのRAMが必要ですか?+
Synologyパッケージセンターに公式なOllamaパッケージがありますか?+
Synology NASでOllamaを動かす場合、どのくらいの速度が期待できますか?+
Ollama をインターネットからアクセス可能にすることは安全でしょうか?+
Synology 上の Ollama に ChatGPT のようなチャット画面を追加するにはどうすればよいですか?+
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。