NeMo Microservices GAとは
NeMo Microservices(NeMoマイクロサービス)は、NVIDIAが提供するエンタープライズLLM開発・運用のためのAPI群です。2025年末にGA(General Availability:一般提供)となり、本番利用が正式にサポートされました。
NeMo Microservicesは大きく4つのコンポーネントで構成されます。
| コンポーネント | 役割 | 主なユースケース |
|---|---|---|
| NeMo Customizer | LLMのファインチューニング(SFT・LoRA・RLHF) | 社内用語・業種特化モデルの作成 |
| NeMo Evaluator | モデル精度・安全性の自動評価 | デプロイ前の品質ゲート |
| NeMo Guardrails | LLM出力のフィルタリング・ポリシー制御 | 有害コンテンツ遮断・トピック制限 |
| NeMo Retriever | RAG(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万〜数十万件 | 非常に高い | 最大 | 大幅な動作変更・新ドメイン適応 |
| LoRA | 500〜5,000件 | 中程度(全体の1〜5%) | 高い | 専門用語・特定タスク特化 |
| P-Tuning v2 | 100〜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上で動かすための前提条件を整理します。
| コンポーネント | 要件 |
|---|---|
| Kubernetes | v1.28以上 |
| GPU Operator | NVIDIA GPU Operator v23.9以上 |
| ストレージ | NFS または S3互換(モデルウェイト保存) |
| Helm | v3.12以上 |
| NGC API Key | NVIDIAコンテナレジストリ認証用 |
# 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構築のフローを整理します。
- NeMo Customizer: 技術マニュアル・過去サポート事例でNemotron Nano 30BをLoRAファインチューニング
- NeMo Evaluator: カスタマイズ前後のモデル精度をカスタムテストセットで比較評価
- NeMo Retriever: 製品マニュアル(PDF 5,000ページ)をベクターDBにインデックス化
- NeMo Guardrails: 「修理保証外の判断をしない」「個人情報を取得しない」ルールを設定
- 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トータルコストガイドで詳細な費用シミュレーションを行えます。