Ubuntu Core 26 を見る:ローカルAI推論アプライアンスの構築
この記事では、Multipassを使用してUbuntu Core 26を仮想マシンで起動し、gemma4スナップをインストールしてローカルAI推論アプライアンスに変える方法を紹介します。VMの起動、AI推論スナップのインストール、サービスの構成、WebUIへのアクセス、プロダクション展開への道筋を説明します。Ubuntu Coreはセキュアで最小限のOSを提供し、AIワークロードはスナップとして配信され、更新と管理が容易です。
このブログシリーズへようこそ。このシリーズでは、Ubuntu Coreの革新的な使い方を探求します。このシリーズを通じて、CanonicalのエンジニアがCore 26リリースを使って何を構築できるかを示し、利用可能な機能とツールを紹介します。
最初のブログでは、Canonicalの産業チームのエンジニアリングマネージャーであるFarshid Tavakolizadehが、Multipassを使用してUbuntu Core 26を仮想マシン内で試し、gemma4スナップを使ってローカルAI推論アプライアンスに変える方法を説明します。VM内でUbuntu Coreを実行することは、専用ハードウェアに移行する前に実験したい開発者にとって有用な出発点です。Ubuntu Core環境を探索し、スナップをインストールし、サービスをホストマシンに公開し、アプライアンススタイルのエクスペリエンスが本番環境でどのように機能するかをテストできます。
このブログを読み終えると、MultipassでUbuntu Core 26を起動し、ローカルAI推論スナップをインストールし、ホストマシンからWebUIにアクセスし、このワークフローが本番Ubuntu Coreイメージにどのようにマッピングされるかを理解できるようになります。
なぜVM内のUbuntu Coreから始めるのか?
Ubuntu Coreは本番デバイス向けに設計されています:アプライアンス、ゲートウェイ、ロボット、キオスク、産業システム、エッジAI製品などです。実際の現場では、通常、製品に必要なスナップ、構成、権限、更新ポリシーを含むカスタムUbuntu Coreイメージを構築します。
仮想マシンは、システムをすばやく探索する方法を提供します。ラップトップからUbuntu Coreを起動し、アプリケーションスナップをインストールし、サービスをテストし、ボードやプロダクションイメージにコミットする前に各部分がどのように連携するかを理解できます。
このために、Multipassはシンプルなパスを提供します。Ubuntu Coreイメージの統合サポートがあり、単一のコマンドでUbuntu Core VMを起動できます。そのため、実験、デモ、ローカル開発ワークフローに最適です。
VMをローカルAIアプライアンスに変える
Ubuntu Coreを使用してローカルAI推論アプライアンスを作成します。アイデアはシンプルです:Ubuntu Coreはセキュアで最小限のアプライアンスのようなオペレーティングシステムを提供し、AIワークロードはスナップとして配信されます。
この例では、gemma4推論スナップを使用します。
AI推論には最小限のシェルテストよりも多くのリソースが必要なため、追加のCPU、メモリ、ディスクを備えたVMを起動します:
multipass launch core26 -n aibox --cpus 4 --memory 10GB --disk 16GB次にインスタンスに入ります:
multipass shell aiboxUbuntu Coreインスタンスは最初の起動後に自動的に更新され、自動的に再起動する場合があります。これはUbuntu Coreから期待される体験の一部です:ベースシステムとsnapdが管理、更新され、信頼性が維持されます。
次にAI推論スナップをインストールします:
sudo snap install gemma4これにより、マシンに最適なランタイムとモデルがインストールされます。
推論エンドポイントの確認
インストール後、gemma4は管理されたスナップサービスとして実行されます。次のコマンドでステータスを確認できます:
gemma4 status出力には、アクティブなエンジン、サービス、エンドポイントが含まれます:
engine: cpu
services:
server: active
server-webui: active
endpoints:
openai: http://localhost:8336/v1
webui: http://localhost:8337/この時点で、推論サーバーとWebUIがUbuntu Coreインスタンス内で実行されています。
重要な詳細が1つあります。ここでのlocalhostはUbuntu Core VMを指しており、ホストマシンではありません。したがって、サービスはアクティブですが、ラップトップのブラウザからはまだアクセスできない可能性があります。
推論サーバーとWebUIをホストから利用できるようにするには、サービスがVMのネットワークインターフェースでリッスンするように構成します:
sudo gemma4 set http.host=0.0.0.0 webui.http.host=0.0.0.0 --assume-yes次に、ホストマシンからVMのIPアドレスを確認します:
multipass info aibox出力にはIPv4アドレスが含まれます:
Name: aibox
State: Running
Snapshots: 0
IPv4: 10.100.120.150
Release: Ubuntu Core 26IPv4アドレス(この場合は10.100.120.150)を使用して推論サーバーとWebUIにアクセスします。
推論サーバーのAPIは http://<IP>:8336/v1 でアクセスできます。これはOpenAI互換のAPIであり、さまざまなクライアントで使用できます。cURLのようなHTTPクライアントを使用してプロンプトを送信できます:
curl http://10.100.120.150:8336/chat/completions -H "Content-Type: application/json" -d '{
"messages": [{"role": "user", "content": "What is the meaning of ubuntu?"}],
"max_completion_tokens": 100
}'もちろん、ターミナルでOpenAI APIを試すのは面白くありません。gemma4スナップが提供するWebUIの方が試すには適しています。ブラウザで http://10.100.120.150:8337 を開いてください。
APIをOpen WebUIやOpenCodeなどのツールと統合して、さらに多くのことを行うこともできます。
これで、Ubuntu Core内で動作するAI推論インターフェースが手に入りました。
これが示すもの
この例はVM内で実行されていますが、アーキテクチャは実際のデバイスで使用されるパターンと同じです。
Ubuntu Coreベースシステムはアプリケーションワークロードから分離されたままです。AIサーバーはスナップとして配信されます。WebUIは管理されたサービスとして配信されます。推論エンドポイントはUbuntu Core環境内で実行されます。構成はシステムファイルを手動で編集するのではなく、スナップオプションを通じて適用されます。
言い換えれば、単にパッケージをインストールしているのではありません。アプライアンスの基盤を組み立てているのです。
これは重要です。なぜなら、本番デバイスは一度に1つのコマンドで管理されることはほとんどないからです。完成品には、予測可能な起動体験、制御されたサービス、信頼性の高い更新、オペレーティングシステムとアプリケーション層の間の明確な境界が必要です。
Ubuntu Coreはその境界を提供します。
ローカル実験からプロダクションイメージへ
gemma4を手動でインストールすることは開発には有用ですが、通常製品を出荷する方法ではありません。
本番デプロイメントでは、AIスナップとその構成は通常、カスタムのUbuntu Coreイメージに含まれます。そのイメージはモデルアサーションによって記述され、デバイスイメージを構成するスナップ(必須またはオプションのアプリケーションスナップを含む)を定義します。
このアプローチにより、デバイスは設計したエクスペリエンスに直接起動します。
ユーザーは手動でスナップをインストールする必要はありません。Coreインスタンスにログインする必要もありません。推論エンドポイントがどのように構成されているかを理解する必要もありません。製品は正しいスナップ、サービス、権限、デフォルト設定ですでに起動します。
ここでUbuntu Coreが特に強力になります。VMでテストした同じワークフローは、ハードウェア、生産ライン、デモ、顧客パイロット、またはフリート展開用の再現可能な製品イメージに進化できます。
長期的なアプライアンス管理
デバイスが展開された後も、作業は終わりません。
AIモデルの更新、推論サーバーのCVEの修正、構成の調整、または異なるワークロードを持つ異なる顧客への同じイメージの展開が必要になる場合があります。
Ubuntu Coreはこのライフサイクル向けに設計されています。アプリケーションスナップはベースシステムから独立して更新できます。更新はトランザクションです。問題が発生した場合、システムは既知の良好な状態にロールバックできます。
大規模な展開では、スナップはフリート管理を通じてインストール、構成、管理することもできます。Landscapeは、IoTデバイスを含むUbuntuデプロイメントの集中管理を提供します。
これにより、開発者に柔軟なパスが提供されます:初日からイメージにエクスペリエンスを組み込むか、後でフリート全体でアプリケーションスナップを管理および進化させるかです。
次は何か?
Multipassを使用すると、数分でCore VMを起動できます。スナップを使用すると、実際のワークロードをインストールおよび管理できます。gemma4を使用すると、そのVMを、APIエンドポイントとWebサーバーの両方を公開するローカルAI推論アプライアンスに変えることができます。
これは小さな例ですが、より大きなパターンを示しています。
アプリケーションをベースシステムから分離できます。サービスを管理された方法で実行できます。製品エクスペリエンスを構成できます。そして準備ができたら、事前構築されたVMイメージから、独自のモデルアサーションで定義されたカスタムUbuntu Coreイメージに移行できます。
以下は、さらに読むための役立つリンクです:
- [推論スナップを見つける](https://ubuntu.com/blog/ubuntu-core-26-ai-box#)
- [Ubuntu CoreでAWS IoT Greengrassを始める](https://ubuntu.com/engage/iot-greengrass-ubuntu-core)
- [Ubuntu CoreでAzure IoT Edgeを始める](https://ubuntu.com/engage/iot-edge-ubuntu-core)
オープンソースは私たちの使命です
私たちはオープンソースソフトウェアの力を信じています。Ubuntuのようなプロジェクトを推進するだけでなく、さらに多くのプロジェクトにスタッフ、コード、資金を提供しています。
私たちが支援するプロジェクトについて読む ›