PAI-Diffusion中国語モデルが完全にアップグレードされ、ワンクリックで大量の高精細アート画像を生成できるようになりました

バックグラウンド

安定普及モデルに代表されるように、AI Generated Content (AIGC) モデルとアプリケーションは爆発的な成長傾向を示しています。以前の作業で、Alibaba Cloud 機械学習 PAI チームは、PAI-Diffusion シリーズのモデル (ここを参照) をオープンソース化しました。これには、一般的なシナリオと、絵のある古代の詩などの特定のシナリオ向けの一連のテキストおよび画像生成モデルが含まれます。二次元アニメーション、マジックリアリティなど。標準の拡散モデルに加えて、これらのモデルのパイプラインには、以前に PAI チームによって提案された中国の CLIP クロスモーダル アライメント モデル (こちらを参照) も統合されているため、このモデルは、次の条件に準拠したさまざまなシナリオで高解像度の大きな画像を生成できます中国語の説明文。さらに、拡散モデルの推論速度は比較的遅く、より多くのハードウェアリソースを必要とするため、PAIが独自に開発したコンパイルおよび最適化ツールPAI-Bladeを組み合わせて、PAIのエンドツーエンドのエクスポートと推論の高速化をサポートします。拡散モデル: マシンの下で、大きな中国語画像を 1 秒以内に生成できます (こちらを参照)。この作業では、以前の PAI-Diffusion 中国語モデルを大幅にアップグレードし、主な機能拡張は次のとおりです。

  • 画像生成の品質と多様なスタイルの大幅な向上: モデルの事前トレーニング データの大規模な処理とフィルタリング、およびトレーニング プロセスの最適化により、PAI-Diffusion 中国モデルによって生成された画像は、品質と品質の点で以前の画像を大幅に上回りました。スタイル バージョン;
  • 豊富な洗練されたモデルの微調整機能: PAI-Diffusion 中国語モデルは、モデルの標準的な微調整に加えて、LoRA、Textual Inversion、DreamBooth、ControlNet など、オープン ソース コミュニティのさまざまな微調整機能をサポートしています。 、さまざまな画像生成および編集機能をサポートします。
  • 使いやすいシナリオ カスタマイズ ソリューション: さまざまな一般的なシナリオで中国語モデルをトレーニングすることに加えて、垂直シナリオでも多くの試みと探索を行ってきました。シナリオのカスタマイズを通じて、これらのモデルをさまざまな製品で使用することができます。 ディフューザー API を含む、WebUIなど

以下では、PAI-Diffusion 中国語モデルの新しい機能と特徴について詳しく説明します。

アートギャラリー

PAI-Diffusion 中国語モデルとその機能を詳しく紹介する前に、まずアート ギャラリーにアクセスしてください。以下のすべての写真は PAI-Diffusion 中国語モデルを使用して生成されています。

PAI-普及モデル動物園

多数の中国語の画像とテキストのペアを使用して複数の拡散中国語モデルをトレーニングしました。パラメーターの数は約 10 億です。今回オープンソース化したのは以下の2モデルです。概要は以下のとおりです。

モデル名 使用するシーン
パイ-ディフュージョン-アーティスト-ラージ-zh 中国語テキスト画像生成アート モデル、デフォルトでサポートされている画像解像度は 512*512 です
パイディフュージョンアーティスト-xlarge-zh 中国語テキスト画像生成アート モデル (より大きな解像度)、デフォルトでサポートされている画像解像度は 768*768 です

モデルによって出力される画像の品質を向上させ、非準拠または低品質のコンテンツを最大限に回避するために、大規模な中国横断データを含む、多数のオープンソースの画像テキスト データセットを収集しました。モーダル事前トレーニング データセット WuKong、および大規模な多言語マルチモーダル データセット LAION-5B など。画像とテキストに対して複数のクリーニング方法を実行して、違反や低品質のデータを除外しました。具体的なデータ処理方法には、NSFW (Not Safe From Work) データのフィルタリング、透かしデータの削除、CLIP スコアと美的価値スコアを使用してトレーニングに最適な事前トレーニング データのサブセットを選択するなどが含まれます。英語のオープンソース コミュニティの拡散モデルとは異なり、当社の CLIP テキスト エンコーダは EasyNLP ( https://github.com/alibaba/EasyNLP ) によって開発された中国語の CLIP モデルを採用しており、そのパラメータは拡散トレーニング プロセス中に凍結されます。モデルは中国語のセマンティック モデリングにより正確になり、より正確になります。上の表の画像解像度はトレーニング プロセス中の画像解像度を指しており、モデル推論段階では別の解像度を設定できることに注意してください。

PAI-拡散モデルの特徴

ユーザーがPAI-Diffusionモデルを使いやすくするために、PAI-Diffusionモデルの特徴を以下の観点から詳しく紹介します。

豊富で多様なモデルの微調整方法

PAI-Diffusionモデルやコミュニティ安定拡散などのモデルのパラメータは一般に10億程度です。これらのモデルのパラメータを完全に微調整すると、多くの場合、大量のコンピューティング リソースが消費されます。標準モデルの微調整に加えて、PAI-Diffusion モデルはさまざまな軽量微調整アルゴリズムをサポートしているため、ユーザーは最小限の計算で特定のドメインやシナリオでモデルを微調整できます。以下に、軽量微調整の 2 つの例も示します。

LoRA を使用したモデルの軽量微調整

PAI 拡散モデルでは、LoRA (Low-Rank Adaptation) アルゴリズムを使用して軽量の微調整を行うことができ、計算量を大幅に削減できます。オープンソース スクリプトtrain_text_to_image_lora.pyを呼び出すと、PAI-Diffusion 中国語モデルの軽量微調整も実現できます。トレーニング コマンドの例は次のとおりです。

export MODEL_NAME="model_name"
export TRAIN_DIR="path_to_your_dataset"
export OUTPUT_DIR="path_to_save_model"

accelerate launch train_text_to_image_lora.py \
  --pretrained_model_name_or_path=$MODEL_NAME \
  --train_data_dir=$TRAIN_DIR \
  --resolution=512 --center_crop --random_flip \
  --train_batch_size=1 \
  --gradient_accumulation_steps=4 \
  --max_train_steps=15000 \
  --learning_rate=1e-04 \
  --max_grad_norm=1 \
  --lr_scheduler="cosine" --lr_warmup_steps=0 \
  --output_dir=$OUTPUT_DIR

このうち、MODEL_NAME は微調整に使用される PAI-Diffusion モデルの名前またはパス、TRAIN_DIR はトレーニング セットのローカル パス、OUTPUT_DIR はモデル保存のローカル パス (LoRA 微調整パラメータのみが含まれます)部)。LoRA モデルの軽量微調整が完了したら、次のサンプル コードをテキスト生成に使用できます。

from diffusers import StableDiffusionPipeline

model_id = "model_name"
lora_path = "model_path/checkpoint-xxx/pytorch_model.bin"
pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe.unet.load_attn_procs(torch.load(lora_path))
pipe.to("cuda")
image = pipe("input text").images[0]  
image.save("result.png")

このうち、model_path は、微調整されたモデル (LoRA 微調整パラメーター部分のみを含む) によって保存されたローカル パス、つまり、前のステップの OUTPUT_DIR であり、model_id は、微調整されていない元のモデルです。ロラ。

Textual Inversion を使用したモデルのカスタマイズの軽量微調整

PAI 拡散モデルは一般に、さまざまな一般的なシナリオで画像を生成するために使用されるため、Textual Inversion はカスタマイズされた軽量の微調整テクノロジであり、モデルが元のモデルでは学習しなかった新しいコンセプト関連の画像を生成できるようになります。PAI 拡散モデルは、軽量の微調整のために Textual Inversion アルゴリズムを使用できます。同様に、スクリプトtextual_inversion.pyを実行できます。トレーニング コマンドの例は次のとおりです。

export MODEL_NAME="model_name"
export TRAIN_DIR="path_to_your_dataset"
export OUTPUT_DIR="path_to_save_model"

accelerate launch textual_inversion.py \
  --pretrained_model_name_or_path=$MODEL_NAME \
  --train_data_dir=$TRAIN_DIR \
  --learnable_property="object" \
  --placeholder_token="<小奶猫>" --initializer_token="猫" \
  --resolution=512 \
  --train_batch_size=1 \
  --gradient_accumulation_steps=4 \
  --max_train_steps=100 \
  --learning_rate=5.0e-04 --scale_lr \
  --lr_scheduler="constant" \
  --lr_warmup_steps=0 \
  --output_dir=$OUTPUT_DIR

このうち、MODEL_NAMEは微調整に使用するPAI-Diffusionモデルの名前、TRAIN_DIRは前述のトレーニングセットのローカルパス、OUTPUT_DIRはモデルが保存されているローカルパスです。このうち、placeholder_token は新しい概念に関連するテキスト、initializer_token は新しい概念に関係の深い単語(新しい概念に対応するパラメータを初期化するために使用されます)であり、ここでは小さなミルク猫を例に挙げます。モデルの軽量化と微調整が完了したら、次のサンプル コードをテキスト生成に使用できます。

from diffusers import StableDiffusionPipeline

model_path = "path_to_save_model"
pipe = StableDiffusionPipeline.from_pretrained(model_path).to("cuda")
image = pipe("input text").images[0]  
image.save("result.png")

このうち、model_path は微調整モデルによって保存されたローカル パスであり、前のステップの OUTPUT_DIR です。微調整されたモデルを使用して新しい概念を含む画像を生成する場合、テキスト内の新しい概念はステップ 2 の placeholder_token によって表されることに注意してください。次に例を示します。

制御可能な画像編集機能

AIGC シリーズのモデルの潜在的なリスクは、違法な情報を含む制御不能なコンテンツが生成されやすく、下流のビジネス シナリオでのこれらのモデルの適用に影響を与えることです。PAI-Diffusion 中国語モデルは、さまざまな制御可能な画像編集機能をサポートしており、ユーザーは生成される画像の内容を制限して、結果をより使いやすくすることができます。PAI-Diffusion 中国語モデルは StableDiffusionImg2ImgPipeline と完全に互換性があります。このテキスト ガイド付き画像編集パイプラインにより、モデルは指定された入力テキストと画像に基づいて関連画像を生成できます。サンプル スクリプトは次のとおりです。

from diffusers import StableDiffusionImg2ImgPipeline

pipe = StableDiffusionImg2ImgPipeline.from_pretrained("model_name").to("cuda")
image = pipe(prompt="input text", image=init_image, strength=0.75, guidance_scale=7.5).images[0]
image.save("result.png")

入力と出力の例を以下に示します。

シーンカスタマイズの機能サポート

大規模なアート イメージの生成に使用されることに加えて、PAI-Diffusion 中国語モデルの事前トレーニングを継続することで、高度にシーン指向の中国語モデルを取得することもできます。以下は、食品データに関する継続的な事前トレーニング後の PAI-Diffusion Chinese モデルの結果であり、高品質のビジネス データがある限り、さまざまなビジネス シナリオに対応した Diffusion モデルを作成できることがわかります。これらのモデルは、LoRA、ControlNet、その他のテクノロジーとさらにシームレスに組み合わせることができ、よりビジネスに即した、より制御可能な画像編集と生成を実現できます。

モデルの使用方法とダウンロード

オープンソース コミュニティでの PAI 普及中国語モデルの使用

オープン ソース コミュニティによるこれらのモデルの使用を容易にするために、これら 2 つのモデルを 2 つのよく知られたオープン ソース モデル共有コミュニティ、HuggingFace と ModelScope に接続しました。HuggingFace を例として、モデル推論に次のコードを使用できます。

from diffusers import StableDiffusionPipeline

model_id = "alibaba-pai/pai-diffusion-artist-large-zh"
pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe = pipe.to("cuda")

prompt = "雾蒙蒙的日出在湖面上"
image = pipe(prompt).images[0]  
image.save("result.png")

ModelScope でのインターフェイスの使用例は次のとおりです。

from modelscope.pipelines import pipeline
import cv2

p = pipeline('text-to-image-synthesis', 'PAI/pai-diffusion-artist-large-zh', model_revision='v1.0.0')
result = p({'text': '雾蒙蒙的日出在湖面上'})
image = result["output_imgs"][0]
cv2.imwrite("image.png", image)

さらに、EasyNLP アルゴリズム フレームワークに拡散アルゴリズム領域 (リンク) も開設し、さまざまな PAI-Diffusio モデルのスクリプトとチュートリアルを提供しました。

PAI-DSW での PAI-Diffusion 中国語モデルの使用

PAI-DSW (Data Science Workshop) は、Alibaba Cloud 機械学習プラットフォーム PAI によって開発されたクラウド上の IDE で、さまざまなレベルの開発者に対話型のプログラミング環境 (ドキュメント) を提供しますDSW ギャラリーでは、ユーザーが DSW を簡単に開始し、さまざまな機械学習アプリケーションを構築できるように、さまざまなノートブックのサンプルが提供されています。PAI-Diffusion 中国語モデルを使用したサンプル ノートブックも DSW ギャラリーに掲載しましたので、ぜひ皆さんも体験してください。

無料コレクション: Alibaba Cloud 機械学習プラットフォーム PAI は、DSW、DLC、EAS 製品を含む無料トライアル クレジットを開発者に提供します。https://free.aliyun.com/?pipCode=learn

今後の展望

この作業段階では、PAI-Diffusion 中国モデルの効果と機能を大幅に拡張し、画像生成の品質とスタイルの多様化を大幅に向上させました。同時に、LoRA や Textual Inversion を含む、さまざまな洗練されたモデルの微調整および編集機能をサポートします。さらに、ユーザーが特定のシナリオで独自の普及中国語モデルをトレーニングして使用できるようにするための、さまざまなシナリオベースのカスタマイズ ソリューションも実証しました。将来的には、さまざまなシナリオ向けにモデル機能をさらに拡張する予定です。

著者: Duan Zhongjie (End Tribulation)、Liu Bingyan (Wu Shi)、Wang Chengyu (Xiong Xi)、Huang Jun (Presence)

元のリンク

この記事は Alibaba Cloud のオリジナルのコンテンツであり、許可なく複製することはできません。

おすすめ

転載: blog.csdn.net/yunqiinsight/article/details/130889537