NeMo Microservices GAとは

NeMo Microservices(NeMoマイクロサービス)は、NVIDIAが提供するエンタープライズLLM開発・運用のためのAPI群です。2025年末にGA(General Availability:一般提供)となり、本番利用が正式にサポートされました。

NeMo Microservicesは大きく4つのコンポーネントで構成されます。

コンポーネント役割主なユースケース
NeMo CustomizerLLMのファインチューニング(SFT・LoRA・RLHF)社内用語・業種特化モデルの作成
NeMo Evaluatorモデル精度・安全性の自動評価デプロイ前の品質ゲート
NeMo GuardrailsLLM出力のフィルタリング・ポリシー制御有害コンテンツ遮断・トピック制限
NeMo RetrieverRAG(Retrieval-Augmented Generation)基盤社内文書検索・FAQ自動回答

NeMo Microservicesは単独でも使用できますが、NemoClawと組み合わせることで最大の効果を発揮します。NemoClawのOpenShellがエージェントのオーケストレーションを担い、NeMo Microservicesが各専門機能を提供するという役割分担です。

NemoClawの基本についてはNemoClawとは何かの解説を先に確認してください。またセキュリティ機能ではGuardrailsとOpenShellの連携を詳しく説明しています。

API-firstアーキテクチャの設計思想

NeMo MicroservicesはすべてREST APIとして提供されており、言語・フレームワーク・既存システムを問わず統合できます。この「API-first」設計の特徴は以下の通りです。

  • OpenAPI 3.0準拠: 各サービスのAPIスキーマが公開されており、自動コード生成が可能
  • 非同期ジョブモデル: ファインチューニング等の長時間処理はジョブIDを返し、ポーリングまたはWebhookで完了を通知
  • コンテナネイティブ: Docker・Kubernetes上で動作し、水平スケーリングに対応
  • 認証統一: すべてのサービスでAPIキー認証(Bearer Token)を共通化

NIM無料枠(Developer Program)の活用法

NVIDIAのDeveloper Programに登録することで、NIMとNeMo Microservicesを無料で試用できます。

無料枠の種類内容期限
NIM API無料枠build.nvidia.com経由で月1,000クレジット継続(毎月リセット)
Developer Program GPU枠16GPU・H100相当クラスター申請から90日間
NeMo Microservices トライアルCustomizer・Evaluator・Guardrails・Retrieverすべて利用可Developer Program期間中

16 GPUの無料クラスターはNeMo Customizerでの大規模ファインチューニング(7B〜70Bモデル)を無料で試験できるため、PoC期間中の費用を大幅に抑えられます。トータルコストガイドで費用シミュレーションを確認してください。

NeMo Customizer:LLMファインチューニングの実践

NeMo CustomizerはLLMを自社データでカスタマイズするためのサービスです。SFT(Supervised Fine-Tuning)・LoRA・P-Tuningなど複数の手法をAPIから実行できます。

ファインチューニング手法の選び方

手法学習データ量計算コスト精度向上幅推奨用途
SFT(Full Fine-Tuning)1万〜数十万件非常に高い最大大幅な動作変更・新ドメイン適応
LoRA500〜5,000件中程度(全体の1〜5%)高い専門用語・特定タスク特化
P-Tuning v2100〜1,000件低い(1〜2%)中程度少ないデータで即時適応
RLHF(PPO)人間フィードバック1,000〜最も高い最大(整合性)応答スタイル・安全性の最適化

日本語業務向けのNemoClawを構築する場合、まずLoRAで自社の業種語彙・帳票フォーマット・敬語スタイルを適応させることを推奨します。

Customizer APIでファインチューニングを実行する

import requests
import json

# 1. ファインチューニングジョブを作成
job = requests.post(
    "https://api.nemo.nvidia.com/v1/customization/jobs",
    headers={"Authorization": f"Bearer {NVIDIA_API_KEY}"},
    json={
        "base_model": "nvidia/nemotron-3-nano-30b",
        "method": "lora",
        "training_data": {
            "uri": "s3://my-bucket/training-data.jsonl",
            "format": "chat"
        },
        "hyperparameters": {
            "learning_rate": 2e-4,
            "num_epochs": 3,
            "lora_rank": 16,
            "lora_alpha": 32
        },
        "output_model_name": "my-company-nemotron-nano"
    }
)
job_id = job.json()["id"]
print(f"ジョブ開始: {job_id}")

# 2. ジョブ完了を確認
status = requests.get(
    f"https://api.nemo.nvidia.com/v1/customization/jobs/{job_id}",
    headers={"Authorization": f"Bearer {NVIDIA_API_KEY}"}
)
print(f"ステータス: {status.json()["status"]}")

学習データはchat形式(OpenAI互換)のJSONLファイルで準備します。

{"messages": [
  {"role": "system", "content": "あなたは自動車部品メーカーの技術サポートAIです。"},
  {"role": "user", "content": "エンジンマウントのトルク値は?"},
  {"role": "assistant", "content": "エンジンマウントの締付けトルクは50〜60N・mです。"}
]}

カスタマイズモデルをNemoClawに統合する

ファインチューニング完了後、カスタムモデルをNemoClawで使用する設定です。

inference:
  profile: local-nim
  model: my-company-nemotron-nano    # カスタムモデル名
  endpoint: http://localhost:8000/v1

NIMコンテナはカスタムモデルのウェイトを自動で読み込み、標準Nemotronと同じAPIインターフェースで提供します。blueprint.yaml完全リファレンスで設定詳細を確認してください。

NeMo Evaluator:モデル評価の自動化

NeMo EvaluatorはLLMの品質・安全性・業務適合性を自動評価するサービスです。デプロイ前の品質ゲートとして、または継続的なモデル品質監視に活用します。

組み込みベンチマークと評価指標

NeMo Evaluatorには以下の評価タスクが組み込まれています。

評価カテゴリ代表的ベンチマーク何を測るか
一般知識・推論MMLU、HellaSwag、WinoGrande汎用知識・常識推論
コード生成HumanEval、MBPP、DS-1000プログラミング能力
数学GSM8K、MATH数値計算・数学的推論
安全性・有害性ToxiGen、BBQ偏り・差別的出力の検出
指示追従IFEvalユーザー指示への正確な対応
カスタム評価ユーザー定義テストセット業務特化タスクの精度

カスタム評価セットでは、自社の実際の業務シナリオ(例:特定の請求書フォーマットへの対応)を使ってモデルを評価できます。

CI/CDパイプラインへのEvaluator統合

NeMo EvaluatorをCI/CDパイプラインに組み込むことで、モデル更新のたびに自動品質チェックを実施できます。

# GitHub Actions例
- name: Run NeMo Evaluation
  run: python nemo_eval.py --model my-company-nemotron-nano
       --tasks mmlu,humaneval,custom-business-eval
       --dataset s3://my-bucket/eval-dataset.jsonl
       --api-key $NVIDIA_API_KEY

評価スコアが閾値を下回った場合はデプロイをブロックする設定を加えることで、品質劣化したモデルが本番に出ることを防ぎます。

NeMo Guardrails:LLM出力の制御とポリシー管理

NeMo Guardrailsは、LLMの出力をルールベースで制御するサービスです。NemoClawのOpenShellと組み合わせることで、エージェントの行動範囲をきめ細かく制限できます。

ガードレールの種類と適用例

ガードレール種類機能ビジネス活用例
トピック制限特定トピックへの応答を禁止競合他社の話題を避ける
PII検出・マスキング個人情報を自動検出して返答から除去顧客情報の漏洩防止
有害コンテンツフィルター暴力・差別・不適切コンテンツを遮断B2C向けサービスの安全性確保
ファクトチェックLLMの出力を知識ベースで検証誤情報・ハルシネーション削減
プロンプトインジェクション検出悪意あるプロンプト操作を検知・ブロックAIシステムへのサイバー攻撃対策

Colang言語でのガードレール定義

NeMo GuardrailsはColang(Conversational Language)という独自の宣言型言語でルールを定義します。

# guardrails.co(Colang設定例)

define user ask competitor question
  "競合他社のAについて教えて"
  "他社のXと比べてどうですか"

define bot refuse competitor question
  "競合他社の製品についてはお答えできません。
   当社製品の詳細については営業担当者にお問い合わせください。"

define flow competitor question handling
  user ask competitor question
  bot refuse competitor question

# PIIマスキング設定
define rail pii_masking
  input: user message
  output: masked message
  patterns:
    - type: phone_number
      replacement: "[電話番号]"
    - type: email
      replacement: "[メールアドレス]"
    - type: credit_card
      replacement: "[クレジットカード番号]"

NemoClawのセキュリティ機能解説では、OpenShellポリシーとGuardrailsの二層防御の設計方法を詳しく説明しています。

blueprint.yamlでのGuardrails設定

guardrails:
  enabled: true
  config_dir: ./guardrails/    # Colangファイルのディレクトリ
  llm:
    model: nemotron-3-nano-30b # ガードレール判定用LLM
  rails:
    input:
      - pii_masking
      - prompt_injection_detection
    output:
      - toxic_content_filter
      - topic_restriction
      - fact_check
  on_violation:
    action: block              # block / warn / log
    message: "申し訳ありませんが、その質問にはお答えできません。"
    log: true

Guardrailsはinput(ユーザー入力への適用)とoutput(LLM出力への適用)の両方に設定できます。二重フィルタリングにより、プロンプトインジェクション攻撃と有害出力の両方を防御します。

NeMo Retriever:RAGシステムの構築

NeMo RetrieverはRAG(Retrieval-Augmented Generation)基盤を提供するサービスです。社内文書・ナレッジベース・データベースをベクターDBに格納し、LLMが最新情報を参照して回答できる仕組みを構築します。

NeMo RetrieverのRAGアーキテクチャ

NeMo RetrieverのRAGパイプラインは以下のコンポーネントで構成されます。

コンポーネント役割デフォルト実装
ドキュメントローダーPDF・Word・HTMLからテキスト抽出NeMo Document Splitter
チャンク分割テキストを検索可能な単位に分割セマンティックチャンク(512トークン)
エンベディングモデルテキストをベクター表現に変換NV-EmbedQA-E5-v5
ベクターDBベクターの保存・近傍探索Milvus(推奨)/ pgvector / ChromaDB
リランカー検索結果をLLMで再ランキングNV-RerankQA-Mistral-v3

NeMo RetrieverはMilvus・pgvector・ChromaDBなど主要ベクターDBに対応しており、既存のインフラに合わせて選択できます。

NeMo RetrieverでRAGを構築する手順

# 1. ドキュメントをインデックスに登録
curl -X POST https://api.nemo.nvidia.com/v1/retrieval/collections \
  -H "Authorization: Bearer $NVIDIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "company-knowledge-base",
    "description": "社内規程・マニュアル・FAQ",
    "embedding_model": "nv-embedqa-e5-v5",
    "vector_store": "milvus"
  }'

# 2. ドキュメントを追加
curl -X POST https://api.nemo.nvidia.com/v1/retrieval/collections/company-knowledge-base/documents \
  -H "Authorization: Bearer $NVIDIA_API_KEY" \
  -F "file=@manual.pdf" \
  -F "metadata={\"source\":\"就業規則\",\"version\":\"2026-01\"}"

# 3. 検索してコンテキスト取得
curl -X POST https://api.nemo.nvidia.com/v1/retrieval/query \
  -H "Authorization: Bearer $NVIDIA_API_KEY" \
  -d '{
    "collection": "company-knowledge-base",
    "query": "有給休暇の申請方法は?",
    "top_k": 5,
    "rerank": true
  }'

NemoClawエージェントとRetrieverの統合

NemoClawのblueprint.yamlにRetrieverを組み込む設定例です。

retrieval:
  enabled: true
  provider: nemo-retriever
  api_base: https://api.nemo.nvidia.com/v1/retrieval
  api_key: ${NVIDIA_API_KEY}
  collection: company-knowledge-base
  search:
    top_k: 5
    rerank: true
    min_score: 0.7           # 類似度閾値(0.7未満は除外)
  citation:
    enabled: true            # 回答に出典元を表示
    format: "[{source}]"

この設定により、NemoClawのエージェントは質問を受け取った際に自動的に社内ナレッジベースを検索し、関連文書をコンテキストに追加してから回答を生成します。チャットボット構築チュートリアルではRetrieverを活用したFAQボットの完全な実装例を確認できます。

Kubernetes上でのNeMo Microservices構築

本番環境ではNeMo MicroservicesをKubernetes上にデプロイすることで、スケーラビリティと可用性を確保できます。

Kubernetes環境の準備

NeMo MicroservicesをKubernetes上で動かすための前提条件を整理します。

コンポーネント要件
Kubernetesv1.28以上
GPU OperatorNVIDIA GPU Operator v23.9以上
ストレージNFS または S3互換(モデルウェイト保存)
Helmv3.12以上
NGC API KeyNVIDIAコンテナレジストリ認証用
# NVIDIA GPU Operatorのインストール
helm repo add nvidia https://helm.ngc.nvidia.com/nvidia
helm repo update
helm install gpu-operator nvidia/gpu-operator \
  --namespace gpu-operator \
  --create-namespace \
  --set driver.enabled=true \
  --set toolkit.enabled=true

NeMo Microservices Helmチャートでのデプロイ

# NGC認証情報の設定
kubectl create secret docker-registry ngc-secret \
  --docker-server=nvcr.io \
  --docker-username=dollar_oauthtoken \
  --docker-password=$NGC_API_KEY

# NeMo Microservices Helmチャートのインストール
helm install nemo-microservices \
  https://helm.ngc.nvidia.com/nvidia/nemo-microservices/charts/nemo-microservices-1.5.0.tgz \
  --namespace nemo \
  --create-namespace \
  --set global.ngcApiKey=$NGC_API_KEY \
  --set customizer.enabled=true \
  --set evaluator.enabled=true \
  --set guardrails.enabled=true \
  --set retriever.enabled=true \
  --set retriever.vectorStore=milvus \
  --set ingress.enabled=true \
  --set ingress.host=nemo.your-company.internal

デプロイ後、blueprint.yamlでNeMo Microservicesのエンドポイントを指定してNemoClawと接続します。

スケーリングとリソース管理

NeMo MicroservicesはKubernetesのHPA(Horizontal Pod Autoscaler)によるスケーリングに対応しています。

# Customizerの水平スケーリング設定
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: nemo-customizer-hpa
  namespace: nemo
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: nemo-customizer
  minReplicas: 1
  maxReplicas: 4
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 70

GPUリソースの管理にはGPU VPS比較記事も参照してください。クラウドKubernetesサービス(AKS・EKS・GKE)でGPUノードを活用する方法も解説されています。

NeMo Microservices全コンポーネント統合の実践例

4つのNeMo Microservicesを組み合わせた、製造業の技術サポートAIの構築事例を解説します。

全コンポーネント統合パイプライン

技術サポートAI構築のフローを整理します。

  1. NeMo Customizer: 技術マニュアル・過去サポート事例でNemotron Nano 30BをLoRAファインチューニング
  2. NeMo Evaluator: カスタマイズ前後のモデル精度をカスタムテストセットで比較評価
  3. NeMo Retriever: 製品マニュアル(PDF 5,000ページ)をベクターDBにインデックス化
  4. NeMo Guardrails: 「修理保証外の判断をしない」「個人情報を取得しない」ルールを設定
  5. NemoClaw統合: 全コンポーネントをblueprint.yamlで結合し、エンドツーエンドのエージェントとして動作

このパイプラインの構築支援はNemoClawコンサルティングサービスを提供しているパートナー企業が対応します。概念実証(PoC)から本番移行まで一貫したサポートを受けられます。

NeMo Microservicesの費用内訳

NeMo Microservicesを使ったシステム構築の概算費用(月次)を示します。

項目自前Kubernetesの場合クラウドマネージドの場合
NeMo Customizer(月1回実行)GPU実行コスト:2〜10万円NVIDIA Cloud API:従量課金
NeMo Evaluator(週1回実行)GPU実行コスト:0.5〜2万円NVIDIA Cloud API:従量課金
NeMo Guardrails(常時稼働)CPU Pod:0.5〜2万円/月従量課金
NeMo Retriever(常時稼働)CPU + ストレージ:1〜3万円/月従量課金
推論GPU(NIM)RTX 4090×2:電気代2〜4万円/月クラウドGPU:30〜100万円/月

NemoClawトータルコストガイドで詳細な費用シミュレーションを行えます。