はじめに: クラウド依存のAIは、産業現場では限界がある
Siemensの2024年報告書『The True Cost of Downtime』によると、Fortune 500企業は計画外のダウンタイムにより年間約1.4兆ドルの損失を被っています。このダウンタイムは、問題を迅速に検知・解決できるスキル不足によってさらに悪化することが多いと指摘されています。生成AIは有望な解決策ですが、産業環境への導入には特有のアーキテクチャ上の課題があります。クラウド接続が信頼できない、あるいは利用できない環境で、どのように大規模AIの能力を活用するかという点です。
多くのAIサービスはクラウドAPI呼び出しを前提としています。しかし、石油掘削プラットフォームや遠隔農業施設、工場内部などでインターネット接続を保証することは容易ではありません。本記事では、AWSサービスを活用してオフライン環境でも完全に動作する生成AIアーキテクチャを設計する方法を段階的に解説します。重要なのは、AI推論をエッジデバイスに移し、クラウドはモデルのカスタマイズと継続的改善を行う「工場」の役割に集中することです。
![]()
本論 1: アーキテクチャ設計の核心 - モデルカスタマイズ戦略
このアーキテクチャで最も重要な最初の一歩は、ドメイン特化型の小型言語モデル(SLM) を作成することです。エッジデバイスの限られたGPUメモリ(通常16GB以上)内で動作する必要があるため、モデルのサイズと性能のバランスが必須となります。AWSブログのアーキテクチャでは、以下の戦略が提示されています。
(1) ファインチューニング (Fine-tuning, FT)
事前学習済みモデルを特殊なタスクに適応させる比較的軽量なプロセスです。例えば、整備チケットのQ&Aペアを用いて、特定の機器に関するトラブルシューティング質問に回答するようにモデルを学習させます。FTは出力の形式やスタイルを教えることに優れていますが、モデルが元々知らなかった新しいドメイン知識を注入する効果は限定的です。
(2) 継続事前学習 (Continued Pre-training, CPT)
ドメイン特化型の非構造化データ(技術マニュアル、修理ログなど)でモデルを追加学習させ、新しい知識をパラメータに埋め込む、よりリソース集約的なアプローチです。FTと比較して、かなりの計算リソースと大規模なデータセットが必要ですが、機器固有の専門用語や診断手順をモデルに深く学習させることができます。
(3) ハイブリッドアプローチ (FT + RAG) - 本記事の核心
RAG(検索拡張生成) は、推論時にドキュメントを検索することで応答の正確性を高め、出典を明示することで幻覚(hallucination)を軽減する技術です。このアーキテクチャでは、埋め込みモデルとベクトルDBをCPU/SSD上で実行し、GPUメモリ使用量をゼロに抑え、16GB全体をLLMに専念させます。
# 例: ChromaDBを使用したエッジRAGパイプライン設定
from chromadb import PersistentClient
from sentence_transformers import SentenceTransformer
# 1. 埋め込みモデル (CPUで動作)
embedding_model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')
# 2. ベクトルDBクライアント (ローカルディスクに保存)
client = PersistentClient(path="/edge/data/rag_db")
collection = client.get_or_create_collection(
name="equipment_manuals",
metadata={"hnsw:space": "cosine"}
)
# 3. ドキュメント追加 (512トークン、50トークンオーバーラップでチャンキング)
def add_document(text: str, doc_id: str):
chunks = [text[i:i+512] for i in range(0, len(text), 462)] # 512-50=462
embeddings = embedding_model.encode(chunks).tolist()
collection.add(
embeddings=embeddings,
documents=chunks,
ids=[f"{doc_id}_{i}" for i in range(len(chunks))]
)
# 4. 検索クエリ
query = "ライン停止時の安全手順は?"
results = collection.query(
query_embeddings=embedding_model.encode([query]).tolist(),
n_results=3
)
print(results['documents'])
このハイブリッドアプローチは、モデルをコンパクトに保ちながら最新情報を提供できるという利点から、このAWSリファレンスアーキテクチャの主要戦略として選択されました。

本論 2: オフラインAIアーキテクチャの実装とセキュリティ考慮事項
このアーキテクチャは、クラウド側の準備(ステップ1〜3)、配備オーケストレーション(ステップ4)、エッジ側の推論(ステップ5〜9)の3つのレイヤーで構成されています。各レイヤーは、AWSの特定サービスと統合されています。
(1) クラウド: データ準備とモデルカスタマイズ
- Amazon S3: 技術マニュアル、SOP文書の原本保存先。
- Amazon Bedrock (Nova Pro): 原本文書をファインチューニング用の質問-回答-文脈ペアに自動変換。手動キュレーションの代わりに大規模FMを使用することで、コストを削減し、スケーラビリティを確保。
- Amazon SageMaker AI Pipelines: QLoRA方式で
gpt-oss-20b(MoE、21B総パラメータ) モデルをファインチューニングし、バージョン管理されたモデルアーティファクトをS3に保存。
(2) 配備: AWS IoT Greengrass
学習済みモデルを量子化(GGUF形式)し、エッジデバイスへ転送する役割を担います。Greengrassはモデルのパッケージング、バージョン管理、ライフサイクル管理を担当し、デバイスの持続的な接続性を要求しません。
(3) エッジ: ローカル推論とオーケストレーション
- ハードウェア: NVIDIA Jetson XavierのようなGPUデバイス(最小16GB VRAM)。
- 推論ランタイム: Ollamaが量子化されたSLMをサーブ。
- オーケストレーション: Strands Agentsがクエリ処理ワークフローを調整。RAG知識ベースの参照、機器のテレメトリデータ収集など、様々なツールへのルーティングを実行。
- UI: ローカルで実行されるFlaskベースのオペレーターポータル。
セキュリティ: エッジでのセキュリティは「物理的アクセス」から考慮すべき
クラウドとは異なり、エッジではセキュリティの主体が完全に変わります。インフラストラクチャのセキュリティをAWSに委任できないため、以下のような自前のセキュリティ制御が必須です。
- 認証: SAML/OIDC連携、または相互TLS証明書ベースの認証。役割ベースのアクセス制御(RBAC)で、オペレーター/管理者/整備士の権限を分離。
- 暗号化: フルディスク暗号化(LUKS/BitLocker)によるモデルアーティファクトとベクトルDBの保護。
- ネットワーク分離: オペレーターポータル(ネットワークゾーン)、推論ランタイム(制限区域)、クラウド同期チャネル(隔離されたアウトバウンド専用インターフェース)を分離。
実践的な性能: ファインチューニングの効果は?
AWSブログで公開されたテスト結果によると、ファインチューニングされた gpt-oss-20b モデルは、ベースモデルと比較して、すべてのLLM評価者(Claude 4.5, Nova Pro)で平均スコアが10〜15%以上向上しました。特にClaude 4.5 Haiku評価基準では85%の高いスコアを記録しています。これは、少量のファインチューニングデータでも、ドメイン特化タスクにおいて顕著な性能向上を達成できることを示しています。

結論: オフラインAI、このように始めてみましょう
このリファレンスアーキテクチャは、製造業に限らず、断続的な接続、厳格なレイテンシー要件、データローカリティ制約を持つあらゆる産業(海洋エネルギー、遠隔農業、輸送、防衛)に適用可能なパターンです。
主要なポイント:
- モデルは「小さく」保ち、知識はRAGで補強しましょう。(FT + RAGハイブリッド戦略)
- クラウドは「工場」、エッジは「サービス」 です。SageMaker AI PipelinesなどのFMOpsパイプラインでモデルを継続的に改善し、Greengrassで配備しましょう。
- セキュリティは設計段階から組み込むことが重要です。物理的アクセスからネットワーク分離まで、エッジ環境に適したセキュリティ戦略を立てる必要があります。
この技術の限界または注意事項
- ハードウェア制約: SLMとはいえ、16GB VRAMは最低条件です。モデル選択とGPUメモリ使用戦略(モデル複製 vs テンソル並列化)を慎重に決定する必要があります。
- RAGデータ管理: オフライン環境では、ベクトルDBの最新性を維持することが困難です。定期的な同期戦略とデータバージョン管理が必須です。
- 完全自動化の罠: ファインチューニングデータ生成に使用されるLLMの出力品質を常に検証する必要があります。特に産業安全に関わるドメインでは、人間のレビューが必須です。
次のステップとしての学習方向性
- AWSのFMOpsパイプラインを自前で構築し、
gpt-oss-20bモデルを自社データでファインチューニングしてみてください。 - AWS IoT Greengrassのモデル配備および更新メカニズムを深く学習しましょう。
- RAG性能の最適化のために、様々な埋め込みモデルとチャンキング戦略を比較実験してみてください。
- オンプレミス環境での大規模言語モデルサービングのために、vLLMやTensorRT-LLMなどのフレームワークを学んでみましょう。
合わせて読みたい記事
- Cloudflareで垂直型マイクロフロントエンド(VMFE)を構築する: チーム独立性と統合UXの解決策
- Slackボット、今はコーディングアシスタントに一度に作ってもらいましょう (Vercel Slack Agent Skill)
根拠資料: AWS Architecture Blog - Architecting offline-first generative AI applications for edge deployments