IBMのGranite 4をローカルで実行:インストールと事例 d'usage
IBMは、企業向けとして特に注目に値するオープンウェイトLLMファミリーの一つ、Graniteをひっそりと開発しています。このガイドでは、Ollamaを使ってGranite 4をローカルにインストールする方法を紹介し、必要なメモリを削減するハイブリッドMambaアーキテクチャと、落とし穴となる条項のないApache 2.0ライセンスを詳しく解説します。また、RAG、function calling、業務タスクなど、Graniteが一般ユーザー向けモデルに対して真価を発揮する用途を取り上げます。
#他のモデルではなくGranite 4を選ぶ理由
Graniteは、チャットボットのランキングで首位を取るために設計されたモデルではありません。IBMが目指しているのは別の目標です。信頼性が高く、メモリ使用量が少なく、法的に問題がなく、企業向けアプリケーションへの組み込みを想定したモデルです。Graniteを選ぶのは哲学を語り合うためではなく、文書データベースにモデルを接続したり、モデルにツールを呼び出させたり、性能が控えめなハードウェアで低コストに実行したりするためです。
Granite 4を他のオープンウェイトモデルから区別する3つの点があります。まず、Mambaハイブリッドアーキテクチャにより、特に長コンテキストにおいて消費メモリを大幅に削減します。次に、Llama や Gemma が課す使用制限のない、厳格なApache 2.0ライセンスです。最後に、追跡可能性とガバナンスへの取り組み——署名済みモデル、文書化された学習データ、ISO 42001認証——これはIT部門や法務部門が評価するものです。これはベンチマークだけでなく、コンプライアンスレビューを通過するために設計されたモデルです。
#Mambaハイブリッドアーキテクチャとメモリ効率の向上
お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。
- 永久に利用できるオンラインスペース
- PDF + ファイル
- 生涯アップデート
Granite 4の技術面での真の強みは、そのアーキテクチャにあります。従来のTransformerは全面的にアテンションに依存しています。新しいトークンが生成されるたびに、モデルはコンテキスト全体を読み直し、会話の長さに比例して増える「KVキャッシュ」を保存します。コンテキストが長くなるほどVRAM使用量が急増し、推論も遅くなります。これは、ローカル環境で長いコンテキストを扱う際のよく知られた限界です。
Mambaは、状態空間モデル(state space models)という別の系統に属します。すべてを読み直す代わりに、Mambaの層は過去を要約した固定サイズの状態を保持し、逐次更新します。そのため、コンテキストが長くなってもメモリ使用量は増えず、非常に長い文書でも処理速度は安定します。Mamba単体の弱点は、かなり前に出てきた細部を思い出す精度が低いことです。
Granite 4 は両方を組み合わせています。ブロックの大部分は Mamba-2 レイヤー(省資源型)で、少数の注意機構ブロック(高精度)が挟まれています — 注意機構レイヤー1つに対して Mamba レイヤーが約9つの比率です。これにより、メモリ削減の大部分の利点を保ちながら、正確な詳細を特定する注意機構の能力も維持できます。実際には、Granite 4 は同規模のトランスフォーマーよりもはるかに少ない RAM/VRAM で動作し、コンテキストが数千トークンを超えると特に顕著です。
#Micro、TinyおよびSmall:どのバリエーションを選ぶか
Granite 4には複数のサイズがあり、接尾辞が対象のハードウェアを示しています。「H」が付いたバージョンはハイブリッドアーキテクチャを採用しています。Mambaにまだ対応していない環境向けには、非ハイブリッド版も提供されています。
- Granite 4 Micro (~3B, dense)
- 最小のモデルで、デンス型かつハイブリッド構成です。CPU、VRAM容量が少ない環境、エッジでの利用に最適です。Q4なら約2GBに収まります。抽出、分類、軽量なRAGに最適です。
- Granite 4 Tiny-H (~7B, MoE)
- ハイブリッド型の混合エキスパート(MoE):総パラメータ数は多いものの、各トークンで有効になるパラメータは少ないため、高速に動作します。エントリークラスのGPUで、品質と速度のバランスに優れています。
- Granite 4 Small-H (~32B, MoE)
- 導入しやすいハイエンドモデル:業務タスクで大型モデルに近い品質を提供しながら、ハイブリッド構成ならではの少ないメモリ使用量を維持します。ワークステーションまたはサーバー向けです。
- ハイブリッドでないバリエーション
- Mambaにまだ対応していないランタイム向けに、従来型のTransformer版もあります。メモリ面の利点が失われるため、互換性の確保が必要な場合に限って使ってください。
最初はMicroで十分に用途を検証でき、どの環境でも動作します。本格運用したい用途が明確になり、品質の不足を実測で確認できたら、Tiny-HまたはSmall-Hに移行してください。
#前提条件と VRAM
ソフトウェアの前提条件は、Ollamaがインストールされ、最新の状態に更新されていることだけです。デーモンはデフォルトで http://localhost:11434 で待ち受けます。新しいバージョンを使っていることを確認してください。Granite 4のMamba層をサポートするには、十分に新しいOllamaが必要で、古いバージョンではモデルを読み込めません。
- マイクロ(3B)Q4
- VRAMは約2 GB。RAMが8 GBあればCPUでも動作し、遅いながらも確実に処理できます。RTX 3060 12GBなら非常に快適に動作します。
- Tiny-H (7B MoE) は Q4 で量子化されています
- 重みには約5GBのVRAMが必要ですが、MoEでは一部だけが有効になるため、推論の負荷は軽くなります。VRAMが8~12GBのグラフィックスカードなら十分な余裕があります。
- Small-H(32B MoE)のQ4量子化版
- VRAMは約19 GB。RTX 4090 24GB、または32~48 GBのユニファイドメモリを搭載したMac。ハイブリッド構成により、長いコンテキストでのメモリ使用量の急増を抑えます。
- コンテキストの余裕
- Mambaにより、KVキャッシュのメモリ使用量は同等のトランスフォーマーよりも大幅に少なくなります。VRAMを倍増させずに、長いコンテキストの利用を目指せます。
#Ollama で Granite 4 をインストールする
インストールは通常のOllamaの手順に従います。モデルは公式ライブラリにgranite4という名前で公開されており、バリエーションはタグで選択します。タグはリリースごとに変わるため、特定のサイズのモデルをダウンロードする前に、ollama.com/libraryで正確なタグ名を確認してください。
- 01Ollamaを確認するデーモンが動作しており、最新の状態であることを確認してください。古いバージョンは Granite 4 の Mamba レイヤーに対応していません。
- 02モデルをダウンロードする選んだバリエーションをollama pullでダウンロードしてください。ディスクやGPUの容量を使い切らずに短時間で試せるよう、まずはMicroから始めてください。
- 03最初のチャットを開始するollama runは対話セッションを開始します。一般的ななぞなぞではなく、業務上の質問、たとえばテキストの要約や項目の抽出を入力してください。
- 04インターフェースを接続する快適に使うには、Open WebUIまたはLM Studioの接続先をローカルエンドポイントに設定してください。あるいは、ご自身のアプリケーションからHTTP APIを直接呼び出してください。
アプリケーション用途においては、Ollama は同じポート上で OpenAI と互換性のある API を提供します。そのため、既存のクライアントを単にベースURLとモデル名を変更するだけで再利用できます。
#Apache 2.0:企業利用で落とし穴のないライセンス
これは、法務チームがベンチマークより先に確認する点です。Granite 4はApache 2.0ライセンスで公開されています。これは、制約が少なく、実績のあるオープンソースライセンスです。商用利用、改変、再配布、クローズドソース製品への組み込みが可能で、ユーザー数の上限や、確認すべき許容利用条項はありません。
広く使われている代替モデルと比べる際には、この違いが重要です。Metaの「Llama Community License」は真のオープンソースライセンスではありません。月間ユーザー数が7億人を超える場合に制限を課し、特定の用途を禁止しています。Gemma(Google)の利用条件も、禁止用途を定めたポリシーによって利用を制限しています。Apache 2.0には、こうした制約は一切ありません。法務部門がすでに把握しており、交渉なしで承認する標準的なライセンスです。
- 商用利用
- 規模や業種による条件なしで利用できます。注意すべきユーザー数のしきい値もありません。
- 変更とファインチューニング
- モデルをカスタマイズし、プライベートな重みを保持できます。公開の義務はありません。
- 再配布
- ライセンス表記を保持すれば、プロプライエタリ製品に組み込めます。
- IBMのガバナンス
- 暗号署名付きモデル、文書化されたデータ、ISO 42001認証 — コンプライアンス審査に向けた具体的な判断材料です。
#Graniteの強みであるRAGおよび関数呼び出し
Graniteの存在意義が発揮されるのはここです。IBMは、企業向けの2つの用途に特化してこれらのモデルを学習させました。RAG(提供された文書に基づいて回答すること)とfunction calling(ツールを確実に呼び出すこと)です。これらは、単なるチャットボットではなく、役に立つ業務アシスタントを構築するために必要な、まさにその構成要素です。
RAGでは、Graniteは提供されたコンテキストに忠実に従い、ハルシネーションを抑えます。内容を勝手に膨らませるよりも、入力に組み込まれた文章に基づいて回答する傾向があります。VRAM消費を急増させずに長い文書を処理できるハイブリッドアーキテクチャと相まって、ローカルの文書データベースに問い合わせるための優れたエンジンとなります。Micro版で十分なことも多く、控えめな性能のハードウェアでもRAGを利用できます。
ツール利用では、Granite は正しい形式の関数呼び出しを生成し、想定される JSON スキーマに従います。これがエージェントの基盤です。モデルが関数を呼び出すことを決め、その結果を読み取り、次の処理へ進みます。低コストで長いコンテキストを扱えることと組み合わせれば、クラウドに依存せず、信頼性の高い業務自動化を実現できます。
- ドキュメントベースのRAG
- 明確な強みは、文脈をしっかり踏まえ、事実を捏造する率が低く、長いコンテキストでもメモリ使用量を抑えられることです。社内のナレッジベースに最適です。
- 関数呼び出し
- 信頼性の高いツール呼び出しと、規定の形式に準拠したJSON。ローカルエージェントや既存システムへの統合を支える基盤です。
- 構造化抽出
- 自由形式のテキストを、整ったフィールド(日付、金額、エンティティ)に変換する。Micro版でもすでに十分にこなせます。
- 汎用的な会話
- まずまずですが、際立って優れているわけではありません。Graniteが強みを発揮しようとしているのは、この分野ではありません。
#トラブルシューティング
- モデルを読み込めない(アーキテクチャエラー)
- お使いのOllamaは古すぎるため、Granite 4のMambaレイヤーに対応していません。Ollamaを最近のバージョンに更新してから、pullを再実行してください。
- pull時の「model not found」
- その名前のタグは存在しません。ollama.com/libraryで正確な綴りを確認してください。派生版のタグはリリースによって変わります。
- RAGでの的外れな回答
- コンテキストの書式が不適切か、ノイズが多すぎます。コンテキストに挿入する文章を構造化し、その数を減らして、提供された文書だけに基づいて回答するよう明示的に指示してください。
- 不正なツール呼び出し
- JSONスキーマが曖昧です。定義を簡素化し、必須フィールドを明示し、複数のツールを組み合わせる前に、まず1つのツールでテストしてください。
- Small-H で速度が大幅に低下
- VRAMが不足しているため、モデルの一部がシステムRAMに退避されています。「ollama ps」でGPUとCPUへの割り当てを確認できます。Tiny-HまたはMicroに切り替えるか、量子化のビット数を一段階下げてください。
- 「Connection refused」
- Ollamaのデーモンが起動していません。「ollama ps」で、http://localhost:11434 で正常に待ち受けているか確認してください。
#さらに詳しく
Graniteは、このサイトですでに紹介している技術要素を基盤としています。以下のガイドでは、本ガイドの内容をさらに掘り下げています:
- LinuxへのOllamaインストール
- デーモンがまだ導入されていない場合に必要な準備:インストールスクリプト、systemdサービス、NVIDIA/AMD GPUの設定。
- 量子化の選択(Q4、Q5、Q8、FP16)
- Granite Small-Hで品質とVRAMのバランスを判断するために。量子化の段階が変わるたびに、グラフィックカードに収まるモデルの範囲も変わります。
- 企業向けローカル AI:GDPR、主権、デプロイメント
- Apache 2.0ライセンスの説明と併せて役立つ内容です。組織内で法令や規則を遵守しながらGraniteを導入する方法を紹介します。
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。