0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Podman AI Lab :概要とlearning exercise

Last updated at Posted at 2024-07-30

最近はPodman Desktop上で遊ぶことが多いのですが、ずっと見ないふりしていたPodman AI Labを触ってみました。

用語

Podman

  • Podmanはオープンソースのコンテナ管理ツールで、OCI(Open Container Initiative)に準拠したコンテナの作成、管理、運用を行います
  • Dockerと互換性があり、DockerのCLIを使用してPodmanを操作することが可能です
  • Podmanはデーモンレスで動作し、コンテナはユーザーレベルで実行されるため、システム全体のセキュリティが向上します
  • ルートレスコンテナをサポートしており、ユーザー権限でコンテナを実行できるため、セキュリティリスクを低減します
  • Kubernetesとの連携も強化されており、Podmanで作成したコンテナをKubernetesクラスターにデプロイすることができます
  • Podmanは、単一のコンテナだけでなく、Pod(複数のコンテナのグループ)の管理もサポートしています
  • podman-composeというツールを使用して、Docker Composeファイルを利用した複数コンテナの一括管理も可能です

Podman Desktop

  • Podman Desktopは、Podmanコンテナを管理するためのGUIツールです
  • コンテナの作成、起動、停止、削除などの操作を直感的に行うことができます
  • イメージのプル、プッシュ、削除、検索といった操作もGUI上で簡単に行えます
  • ローカルのPodmanエンジンとリモートのPodmanエンジンの両方をサポートしており、リモート環境の管理も可能です
  • コンテナのリソース使用状況(CPU、メモリ、ネットワーク)をリアルタイムでモニタリングする機能があります
  • イメージのビルドや、Kubernetesマニフェストの生成など、開発者向けの機能も搭載されています
  • エンタープライズ向けの機能として、アクセス制御や監査ログなども提供されており、企業環境での利用にも適しています

Podman AI Lab

  • Podman AI Labは、ローカル環境でAIアプリケーションを構築・開発するためのRed Hatの拡張機能です
  • レシピカタログ:AIユースケースやモデルの統合方法を学ぶためのキュレーションされたレシピを提供します
  • モデルカタログ:利用可能なオープンソースの大規模言語モデル(LLM)の一覧を提供し、独自モデルのインポートも可能です
  • ローカルでのモデル実行:推論サーバーを用いてモデルをローカルで実行し、OpenAI互換のエンドポイントを提供します
  • プレイグラウンド環境:モデルの設定やシステムプロンプトを実験し、ユースケースに最適なモデルを選定できます

詳細はこちら

Build your AI application with AI Lab extension in Podman Desktop

以下の内容は、Red Hat Developer Portal 上のこちらの手順を実行したものです。

準備

前提条件

  • Pythonプログラミング言語の基本的な理解
  • コンテナ化の概念
  • クラウドネイティブの知識
  • Podman Desktopの最新バージョンをラップトップにダウンロードしてインストール。インストールしていない場合はこちらからダウンロード
  • Podman Desktopをインストール後、Podman Machineが起動している

システムおよびソフトウェアの前提条件

  • ソフトウェア:Podman Desktop 1.10.3+ および Podman 5.0.1+
  • ハードウェア:少なくとも12GBのRAM、4以上のCPU(大規模モデルの場合は多い方が良い)

手元の環境情報

  • ソフトウェア:Podman Desktop 1.11.1、Podman 5.1.1
  • ハードウェア:16GBのRAM、8以上のCPU

1. Podman DesktopのインストールとAI Lab拡張機能の設定

Directly from Podman Desktop

Podman Desktopを開きます。インストールされていない場合はダウンロードしてインストールします。Extensions > Catalog に移動します。次に、Podman AI Labを検索し、Installをクリックします

スクリーンショット 2024-07-29 22.30.31.png

Verification

インストール後、Podman AI LabのアイコンがPodman Desktopのナビゲーションバーに表示されます。

スクリーンショット 2024-07-29 22.35.16.png

2. AIモデルのダウンロード

Podman AI Labは、一般的なAIユースケースを示すレシピのカタログを提供します。Recipes Catalogをクリックすると、各レシピの詳細な説明と、異なる大規模言語モデル(LLM)を使用して実行できるサンプルアプリケーションが含まれていることが確認できます。

image.png

次に、Catalogをクリックすると、Podman AI Labには、直接使用できるオープンソースAIモデルの厳選されたセットも含まれていることが確認できます。

image.png

カタログからモデルを選択し、ローカルにダウンロードします。 GGUF、PyTorch、TensorFlowなど、広く使用されているフォーマットでAIモデルをダウンロードできます。 この例では、Ibm/merlinite-7b-GGUF
をダウンロードしました。

image.png

3. 推論サーバの起動

左のサイドバーからPlaygroundsをクリックし、Podman Desktop AI Labインターフェースを開きます。 続いて、New Playgroundをクリックし、新しい実験環境を設定します。

image.png

ここで、新しい環境に名前を付け、利用するダウンロードモデルを選択することができます。

image.png

Create playgroundをクリックすると、Podman Desktop AI Labはコンテナ化されたモデルサーバーを起動します。 このセットアップには、クエリを送信して応答を表示できるインタラクティブなインターフェースが含まれています。Playgroundは隔離されたPodman Pod内に格納されており、基盤となるインフラストラクチャを簡素化し、OpenAI互換のAPIを使用した簡単なモデル推論を可能にしています。 環境の準備ができたら、Playgroundダッシュボードにアクセスできます。 このダッシュボードは、モデルにプロンプトを送信し、出力を表示するためのインタラクティブなインターフェイスとして機能します。

image.png

Playgroundには、特定の開発およびデータサイエンス用途に合わせてモデルの動作を調整するために設計された、いくつかの調整可能なパラメータが用意されています。

  • Temperature:
    • モデルの応答における確率性の程度を調整する
    • 値が低いと、出力はより決定論的で集中したものになり、高い精度を必要とするタスクに役立つ
    • 値を高くするとランダム性が増し、創造性が高まり、斬新な洞察や解決策につながる可能性がある
  • Max Tokens:
    • モデルの出力の長さの上限を設定し、冗長性を制御する
    • 回答生成の計算コストと、データ量の多い環境での分析の実用性の両方を管理するために重要
  • Top-p:
    • 関連性と多様性のトレードオフを調整することにより、モデルのトークン選択プロセスに影響を与える
    • 特に探索的データ分析やコンテンツ生成の際に、回答の正確さと新規性の側面を微調整するための鍵となる

Recipes Catalog

コンテナ化されたレシピにより、開発者はAIアプリケーションを素早くセットアップし、ローカルマシン上で直接プロトタイプを作成することができます。レシピは、モデルサーバーとAIアプリケーションという少なくとも2つの基本コンポーネントで構築されます。これらのレシピは、オーディオ処理、コンピュータビジョン、自然言語処理など、幅広いAI機能をカバーしています。サンプルアプリケーションはデフォルトでllamacpp_pythonモデルサーバーに依存しています。ここでは、ChatBotをクリックします。

image.png

続いて、Modelsから、先ほどダウンロードしたAIモデルであるibm/merlinite-7b-GGUFを選択し、Start AI Appをクリックします。

image.png

無事に起動し、RUNNINGとなっています。それでは、右上のOpen AI Appをクリックします。

image.png

ローカルで起動したChatアプリにアクセスできました。Podmanについて聞いたら、解説してくれました。

image.png

まとめ

もう少しレシピ化されたアプリをいくつか試してみようと思いました。以下、まとめです。

  • Podman Desktop AI Labという拡張機能は、ローカルでのAI開発を簡素化します
  • AI開発に不可欠なオープンソースツールや、様々なAIのユースケースやモデルをユーザーに案内する「レシピ」の厳選されたセレクションを提供します
  • AI Labには、ユーザーがチャットボットなどのAIモデルを実験・評価できる「Playground」も含まれています
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?