×
Community Blog GenAI-拡散グラフィック生成ソリューションによる創造的可能性の解放

GenAI-拡散グラフィック生成ソリューションによる創造的可能性の解放

本記事では、高額な投資や長時間のコミットメントを必要とせず、独自のGenAIモデルを作成する方法について探ります。

序論

生成AI(GenAI)モデルは、私たちがコンテンツを作成し体験する方法を革命的に変えました。これらのモデルは、人間が作成したコンテンツに近いテキスト、画像、音楽、動画を生成する顕著な能力を持っています。それらは業界を問わず貴重なツールとなり、創造的表現、自動化、問題解決に貢献しています。

本記事では、高額な投資や長時間のコミットメントを必要とせず、独自のGenAIモデルを作成する方法について探ります。BERTGPTのような言語ベースのモデルのトレーニングと利用はリソースを大量に消費しますが、ここでは安定拡散テキストと画像生成ソリューションの例を中心に考えます。このアプローチは、印象的な結果を提供するコスト効率の良い代替手段を提供します。

拡散モデルは、写実的で高品質な画像を生成するように特別に設計された生成AIの強力な技術です。このモデルは確率的フレームワークに基づいて動作し、複数のステップまたは時間間隔にわたって初期画像を反復的に洗練します。

拡散プロセス中、慎重に設計されたノイズ源が各ステップで画像に適用され、徐々にその品質を低下させます。しかし、一連の計算された変換を通じて、モデルはこの劣化を逆転させ、品質を向上させて画像を復元することを学びます。

拡散モデルの背後にある主要な概念は、モデルがトレーニングデータに存在する基本的な構造と複雑なパターンを捉えることを促進するために、データ依存のノイズ源を活用することです。これらのノイズ源を反復的に適用し、モデルを最適化することによって、拡散モデルはトレーニングデータセットに密接に似た、非常にリアルで多様な画像を生成する能力を持ちます。

このアプローチは、コンピュータビジョン、アート、創造的アプリケーションなどの分野で大きな人気を博しています。それは、視覚的に魅力的な画像、芸術的構成、さらにはリアルなディープフェイクコンテンツの創造を可能にします。拡散モデルは、細部に富んだ、多様なテクスチャと一貫性のある構造を備えた画像を生成するユニークなメカニズムを提供します。

拡散モデルの可能性を活用することで、開発者やアーティストは画像生成、コンテンツ作成、視覚的ストーリーテリングの新たなフロンティアを探求できます。それは、バーチャルリアリティ、拡張現実、広告、エンターテインメントなどの領域で革新的なアプリケーションの機会を解き放ちます。

アリババクラウドのPlatform for AI (PAI)が提供する拡散テキストから画像生成ソリューションは、エンドツーエンドの構築プロセスを合理化します。この包括的なソリューションは、オフラインモデルトレーニング、推論をサポートし、テキスト入力から直接画像を生成する能力を強化します。

全体のアーキテクチャ

アリババクラウドのPAIは、AIに対する包括的なソリューションであり、テキストと画像の生成の例を提供し、エンドツーエンドでカスタマイズ可能なホワイトボックスソリューションを提供します。それはテキストと画像の生成機能をサポートし、ユーザーが自分のビジネスシナリオに合わせたインテリジェントなテキスト画像生成モデルを作成できるようにします。また、PAIが提供するデフォルトモデルを活用してモデルチューニングとオンラインデプロイメントを行い、異なるテキスト入力に基づいて多様な画像を生成することもできます。

PAIの以下のコンポーネントはこのプロセスにおいて重要な役割を果たします:

  • PAI-DSW(Data Science Workshop):これはデータサイエンティストと研究者向けに設計された協力的なプラットフォームです。PAI-DSWは、Jupyter Notebook、Visual Studio Code、OS(オペレーティングシステム)ターミナルとシームレスに統合し、データ分析のための事前インストールされたAIライブラリとツールを提供します。このプラットフォームはスケーラブルなコンピューティングリソースを提供し、コラボレーションと共有をサポートし、データ可視化と実験追跡機能を含みます。PAI-DSWはデータサイエンスのワークフローを簡素化し、AIモデルを開発するための効率的な選択肢として機能します。PAI-DSWを使用することで、ユーザーはPAIが提供する拡散モデルとアルゴリズムを微調整し、自分たちのシナリオに特化したテキスト画像生成モデルを構築することができます。
  • PAI-EAS(Elastic Algorithm Service):このプラットフォームは、機械学習アルゴリズムのデプロイメントと管理を簡素化します。PAI-EASは弾性スケーラビリティ、アルゴリズムマーケットプレイス、エンドツーエンドのモデルトレーニングと推論、AutoML機能、モデルモニタリング、効率的なリソース管理を提供します。ユーザーは微調整を通じて生成されたモデルをデプロイするか、またはPAIのデフォルトの拡散モデルをPAI-EASのオンラインサービスとして利用して、入力テキストに基づいて対応する画像を生成することができます。
  • PAI-DLC(Deep Learning Container):これは深層学習向けに事前設定されたコンテナを提供し、深層学習環境のセットアップと管理を簡素化します。PAI-DLCには、TensorFlowやPyTorchなどの人気の深層学習フレームワークを搭載した使用準備が整ったコンテナが含まれています。PAI-DLCを活用することで、ユーザーは手動でのセットアップや構成なしに迅速に深層学習フレームワークをデプロイして利用することができ、深層学習モデルの開発とデプロイメントにかかる時間と労力を節約できます。

PAI上でのテキストから画像へのモデル開発とデプロイメントの全体的なアーキテクチャは、モデルの微調整のためにPAI-DSWを利用し、テキストから画像を生成するためのオンラインデプロイメントにPAI-EASを利用し、深層学習環境のセットアップと管理を簡素化するためにPAI-DLCを利用するプロセスを含んでいます。

1

PAI拡散サービスを使ってみよう

デプロイオプションに入る前に、スムーズなプロセスのために必要な準備を完了しておきましょう。以下の準備を行う必要があります:

  1. サブスクリプションとワークスペース:PAI(Designer、DSW、EAS)にサブスクライブし、デフォルトのワークスペースを作成していることを確認してください。まだの場合は、Activate and Create a Default Workspaceガイドの指示に従って設定してください。
  2. OSSストレージスペース:データセット、モデルファイル、設定ファイルを保存するためにOSSストレージスペース(バケット)が必要です。まだ作成していない場合は、Creating a Storage Spaceガイドでステップバイステップの指示を参照してください。
  3. DSWインスタンス(オプション):微調整にDSWインスタンスを使用する場合は、それが作成され、スムーズに動作していることを確認してください。Creating and Managing a DSW Instanceガイドが正しく設定するのに役立ちます。
  4. 専用リソースグループ:PAI-EAS専用のリソースグループを作成してください。このリソースグループは訓練済みモデルをデプロイするために使用されます。Using a Dedicated Resource Groupガイドで詳細な手順を確認してください。
  5. リソースグループマシン:選択するマシンのタイプは、好みのデプロイオプションに依存します。

これらの準備を完了することで、デプロイメントオプションを探索し、ニーズや嗜好に最も適したものを選択する準備が整います。さあ、始めましょう!

PAI-EASでEASを使用してデプロイ

1.  アリババクラウドコンソールにログインします。

2.  PAIページへと進みます。そこでは、AI用のマシンラーニングプラットフォームが待っています。検索するか、PAIコンソールからアクセスできます。

2

3.  PAIが初めての方でも心配はいりません!ワークスペースの作成はとても簡単です。提供されているドキュメントに従っていただくと、すぐに始められます。

4.  左側のナビゲーションペインで操作したい特定のワークスペースの名前をクリックすると、ワークスペースの世界に没頭できます。

3

5.  ワークスペースページの左ナビゲーションバーで、モデルデプロイメント > モデルオンラインサービス(EAS) を選択し、PAI EASモデルオンラインサービスページに入ります。

6.  インファレンスサービスタブで、デプロイサービスをクリックします。

7.  デプロイサービスページでパラメータを設定し、デプロイをクリックします。

4

1.  以下のJSONファイルの内容を、corresponding configuration editの下にあるテキストボックスに貼り付けます。

{
  "name": "<Replace with your own service name>",
  "processor_entry": "./app.py",
  "processor_path": "https://pai-vision-exp.oss-cn-zhangjiakou.aliyuncs.com/wzh-zhoulou/dl_eas_processor/ldm_0117/eas_code_230116_v3.tar.gz",
  "model_path": "https://pai-vision-exp.oss-cn-zhangjiakou.aliyuncs.com/wzh-zhoulou/dl_eas_processor/ldm_0117/eas_model_230116.tar.gz",
  "data_image": "registry.cn-shanghai.aliyuncs.com/pai-ai-test/eas-service:ch2en_ldm_v002",
  "metadata": {
    "resource": "<Select the resource group you use in the console>",
    "instance": 1,
    "memory": 50000,
    "cuda": "11.4",
    "gpu": 1,
    "rpc.worker_threads": 5,
    "rpc.keepalive": 50000
  },
  "processor_type": "python",
  "baseimage": "registry.cn-shanghai.aliyuncs.com/eas/eas-worker-amd64:0.6.8"
}
  • name : 自分のサービス名に置き換える必要があります。コンソールのモデルサービス情報エリアで直接このパラメータを変更することができます。
  • resource : 自分のリソースグループに置き換える必要があります。コンソールのリソースデプロイメント情報エリアで直接このパラメータを変更できます。

サービスの呼び出し

このサービスはRESTful APIを提供し、具体的なPythonの呼び出し例は以下の通りです。

import json
import sys
import requests

import base64
from io import BytesIO
from PIL import Image
import os
from PIL import PngImagePlugin

hosts = '<Replace with your service call address>' # Service address, which can be obtained in the call information under the service method column of the target service.
head = {
    "Authorization": "<Replace with your service token>" # Service authentication information, which can be obtained in the call information under the service method column of the target service.
}

def decode_base64(image_base64, save_file):
    img = Image.open(BytesIO(base64.urlsafe_b64decode(image_base64)))
    img.save(save_file)


datas = json.dumps({
    "text": "a cat playing the guitar", 
    "skip_translation": False,
    "num_inference_steps": 20,
    "num_images": 1,
      "use_blade": True,
    }
)

r = requests.post(hosts, data=datas, headers=head)
data = json.loads(r.content.decode('utf-8'))

text = data["text"]
images_base64 = data["images_base64"]
success = data["success"]
error = data["error"]
print("text: " + text)
print("num_images:" + str(len(images_base64)))

decode_base64(images_base64[0], "./decode_ldm_base64.png")

サービス呼び出しパラメーターは、以下のように構成されます。

5

サービスの戻りパラメーターは、以下のように記述されます。

6

PAIによって強化された微調整された拡散モデルの活用

データの準備

1.  訓練および検証データセットを準備します。

この記事では、モデル訓練のためのテキストと画像のデータセットのサブセットを使用します。訓練データセットと検証データセットの具体的な形式要件は以下の通りです。

1) データ:訓練データセット; 形式:TSV; 列:テキスト列、画像列(base64エンコード済み); ファイル:T2I_train.tsv.
2) データ:検証データセット; 形式:TSV; 列:テキスト列、画像列(base64エンコード済み); ファイル:T2I_val.tsv

2.  データセットをOSSバケットにアップロードします。詳細は、ファイルアップロードを参照してください。

テキストグラフ生成モデルの構築

1.  DSWギャラリーに入ります。詳細は機能トライアル:DSWギャラリーをご覧ください。

2.  ディープラーニングタブのEasyNLP拡散モデルに基づく中国語テキスト-画像生成エリアで、DSWで開くをクリックし、コンソールの操作手順に従ってテキスト-画像生成モデル、つまりFinetuneモデルを構築します。

7

3.  訓練済みモデルとその他の関連設定ファイルをパッケージします。訓練済みのモデルとその他の設定ファイルをtar.gz形式にパッケージし、ユーザーのOSSバケットにアップロードします。モデルと設定のディレクトリ構造は、以下の図に示されています。

8

以下のコマンドを使用して、ディレクトリをtar.gz形式にパックすることができます。

cd finetuned_model/ 
tar czf finetuned_model.tar.gz config.json pytorch_model.bin RRDB_ESRGAN_x4.pth vocab.txt

finetuned_model.tar.gz は、パッケージされたモデルファイルです。

モデルサービスのデプロイと呼び出し

1.  モデルサービスをデプロイします。

2.  ステップ1: サービスのデプロイを参照し、以下のJSONファイルの内容を該当する構成編集の下のテキストボックスに貼り付け、Finetuneモデルサービスをデプロイします。

{
    "baseimage": "registry.cn-shanghai.aliyuncs.com/eas/eas-worker-amd64:0.6.8",
    "data_image": "registry.cn-shanghai.aliyuncs.com/pai-ai-test/eas-service:ch_ldm_v100",
    "metadata": {
        "cpu": 15,
        "gpu": 1,
        "instance": 1,
        "memory": 50000,
        "resource": "<自分のリソースグループに置き換えてください>",
        "rpc": {
            "keepalive": 50000,
            "worker_threads": 5
        }
    },
    "model_path": "<finetuneした後にOSSにパッケージしてアップロードしたモデルファイルの保存パスに置き換えてください>",
    "processor_entry": "./app.py",
    "processor_path": "http://pai-vision-exp.oss-cn-zhangjiakou.aliyuncs.com/wzh-zhoulou/dl_eas_processor/ch_ldm/ch_ldm_blade_220206/eas_processor_20230206.tar.gz",
    "processor_type": "python",
    "name": "<自分のサービス名に置き換えてください>"
}

この中で:

  • model_path: OSSバケット内のパッケージ化されたモデルファイルの保存パスに置き換える必要があります。
  • name: 自分のサービス名に置き換える必要があります。コンソールのモデルサービス情報エリアで直接このパラメーターを変更できます。
  • resource: 自分のリソースグループに置き換える必要があります。コンソールのリソースデプロイメント情報エリアで直接このパラメーターを変更できます。

3.  モデルサービスを呼び出します。

ステップ2: サービスの呼び出しを参照して、Finetuneモデルサービスを呼び出します。その中で:textは中国語テキスト入力のみをサポートしており、サービス呼び出しパラメーターはskip_translationの設定をサポートしていません。

結論

GenAI-Diffusionグラフィック生成ソリューションは、様々な業界を革命的に変える可能性を秘めた多くのメリットと応用分野を提供します。安定した拡散機能とwebUIインターフェースを備えたこのソリューションにより、マーケティングや広告のための自動コンテンツ作成、パーソナライズされた推薦、チャットボット、仮想環境生成といった用途が可能になります。

その主な利点の一つは、マーケティングや広告目的のコンテンツ作成を自動化する能力です。マーケターは、特定のニーズに合わせて高品質のグラフィックとビジュアルを簡単に生成でき、時間とリソースの節約、一貫性の確保、ブランドメッセージングの向上を実現できます。

また、このソリューションはパーソナライズされた推薦とチャットボットの応用においても優れています。AIを活用し、webUIインターフェースを通じて微調整することで、ビジネスは顧客にパーソナライズされた推薦を提供でき、ユーザー体験の向上と顧客満足度の増加を実現します。さらに、GenAI-Diffusionによって動力を供給されたチャットボットは、視覚的に魅力的なコンテンツを生成し、コミュニケーションを強化し、よりインタラクティブな会話体験を作り出します。

さらに、このソリューションは仮想環境を作成し、ビジュアルコンテンツを生成するための貴重なツールです。ゲーム、仮想現実体験、建築ビジュアライゼーションなどの用途において、GenAI-Diffusionはリアルで没入感のあるグラフィックをシームレスに生成します。webUIインターフェースを通じた微調整の能力により、ユーザーは特定の要件に合わせたビジュアルをカスタマイズでき、視覚的に魅力的な仮想環境が実現されます。

GenAI-Diffusionグラフィック生成ソリューションとその応用についてさらに学びたい場合は、アリババクラウドにお問い合わせいただくか、www.alibabacloud.comを訪問してください。私たちの専門家チームが、このソリューションが特定のニーズにどのように利益をもたらすかについてのさらなる情報提供と議論を提供します。自動コンテンツ作成、パーソナライズされた推薦、チャットボット、仮想環境の可能性を一緒に探求しましょう。


本文はAIによって翻訳されました。ここで表明されている意見は参考までにお読みいただくものであり、必ずしもAlibaba Cloudの公式の意見を代表するものではありません。原文はこちらです。

0 0 0
Share on

Regional Content Hub

82 posts | 3 followers

You may also like

Comments

Regional Content Hub

82 posts | 3 followers

Related Products