この記事の出典は機械の心臓編集部です
近年、拡散モデルに基づく画像生成モデルが後を絶たずに登場し、驚くべき生成効果を示しています。しかし、既存の関連研究モデルのコードフレームワークには、過度の断片化と統一されたフレームワークシステムの欠如という問題があり、その結果、「移行が難しい」、「敷居が高い」、「品質が低い」というコード実装の問題が生じています。
この目的を達成するために、中山大学人間-コンピュータ-物理知能融合研究所 (HCP Lab) は、モデルの微調整、パーソナライズされたトレーニング、推論などの拡散モデルに基づく関連アルゴリズムを体系的に実現する HCP-Diffusion フレームワークを構築しました。最適化と画像編集の構造は次のとおりです。
図 1 HCP-Diffusion フレームワークの構造図。統一フレームワークを通じて既存の拡散関連手法を統合し、さまざまなモジュール式トレーニングおよび推論最適化手法を提供します。
HCP-Diffusion は、統合された構成ファイルを通じてさまざまなコンポーネントとアルゴリズムを展開し、フレームワークの柔軟性と拡張性を大幅に向上させます。開発者は、コードの詳細の実装を繰り返すことなく、アルゴリズムをビルディングブロックのように組み合わせます。
たとえば、HCP-Diffusion に基づいて、構成ファイルを変更するだけで、LoRA、DreamArtist、ControlNet、およびその他の一般的なアルゴリズムの導入と組み合わせを完了できます。これにより、イノベーションの敷居が下がるだけでなく、フレームがさまざまなカスタマイズされたデザインに対応できるようになります。
HCP-Diffusion コードツール: https://github.com/7eu7d7/HCP-Diffusion
HCP-Diffusion GUI: https://github.com/7eu7d7/HCP-Diffusion-webui
HCP-Diffusion: 機能モジュールの紹介
フレームワークの機能
HCP-Diffusion は、現在主流の拡散学習アルゴリズムフレームワークをモジュール化することでフレームワークの汎用性を実現しており、主な特徴は以下の通りです。
統合アーキテクチャ: Diffusion シリーズ モデル用の統合コード フレームワークを構築
オペレーター プラグイン: データ、トレーニング、推論、パフォーマンスの最適化 (ディープスピード、巨大 AI、最適化を加速するオフロードなど) などのオペレーター アルゴリズムをサポートします。
ワンクリック構成: Diffusion シリーズモデルは、高い柔軟性で構成ファイルを変更するだけでモデルの実現を完了できます。
ワンクリック トレーニング: Web UI、ワンクリック トレーニングおよび推論を提供します。
データモジュール
HCP-Diffusion は、複数の並列データセットの定義をサポートしています。各データセットは、異なる画像サイズと注釈形式を使用できます。図 2 に示すように、各トレーニング反復では、トレーニング用に各データセットからバッチが抽出されます。さらに、各データ セットは複数のデータ ソースで構成でき、txt、json、yaml およびその他の注釈形式またはカスタム注釈形式をサポートし、非常に柔軟なデータ前処理と読み込みメカニズムを備えています。
図2 データセット構造の模式図
データセット処理部分は、自動クラスタリングを備えたアスペクト比バケットを提供し、異なる画像サイズのデータセットの処理をサポートします。ユーザーはデータセットのサイズに対して追加の処理や位置合わせを行う必要はなく、フレームワークがアスペクト比や解像度に応じて最適なグループ化方法を自動的に選択します。このテクノロジーにより、データ処理のしきい値が大幅に引き下げられ、ユーザー エクスペリエンスが最適化され、開発者はアルゴリズム自体の革新にさらに集中できるようになります。
画像データの前処理のために、このフレームワークはトーチビジョン、アルバムメンテーションなどのさまざまな画像処理ライブラリとも互換性があります。ユーザーは、必要に応じて構成ファイルで前処理方法を直接構成したり、これに基づいてカスタム画像処理方法を拡張したりできます。
図 3 データセット構成ファイルの例
テキストのラベル付けに関して、HCP-Diffusion は、複雑で多様なトレーニング方法とデータのラベル付けをサポートできる、柔軟で明確なプロンプト テンプレート仕様を設計しました。これは、上記の設定ファイルのソース ディレクトリ下の word_names に対応しており、以下の図の中括弧内の特殊文字に対応する埋め込みワード ベクトルとカテゴリの説明をカスタマイズして、次のようなモデルと互換性を持たせることができます。ドリームブースとドリームアーティスト。
図 4 プロンプト テンプレート
また、テキスト注釈については、文ごとの消去 (TagDropout) や文ごとのスクランブル (TagShuffle) などのさまざまなテキスト強化方法も提供します。これにより、画像とテキスト データ間の過剰適合の問題を軽減できます。生成された画像をより多様に変化させます。
モデルフレームワークモジュール
HCP-Diffusion は、現在主流の拡散トレーニング アルゴリズム フレームワークをモジュール化することで、フレームワークの汎用性を実現します。具体的には、画像エンコーダと画像デコーダが画像のエンコードとデコードを完了し、ノイズ ジェネレータが前方プロセスでノイズを生成し、拡散モデルが拡散プロセスを実現し、コンディション エンコーダが生成条件をエンコードし、アダプタ微調整モデルが下流のタスク (ポジティブおよびネガティブ) と調整されます。ダブルチャネルは、画像の正および負の条件付き制御生成を表します。
図5 モデル構造の構成例(モデルプラグイン、カスタムワードなど)
図 5 に示すように、HCP-Diffusion は、構成ファイル内の簡単な組み合わせを通じて、LoRA、ControlNet、DreamArtist などのさまざまな主流トレーニング アルゴリズムを実装できます。同時に、LoRA と Textual Inversion トレーニングの同時実行、LoRA 専用のトリガー ワードのバインドなど、上記のアルゴリズムの組み合わせをサポートします。さらに、プラグイン モジュールを通じて、任意のプラグインを簡単にカスタマイズでき、現在主流のすべてのアクセス方法と互換性があります。上記のモジュール化により、HCP-Diffusion は主流のアルゴリズムのフレームワーク構築を実現し、開発の敷居を下げ、モデルの共同革新を促進します。
HCP-Diffusion は、LoRA や ControlNet などのさまざまなアダプター アルゴリズムをモデル プラグインに抽象化します。いくつかの一般的なモデル プラグインの基本クラスを定義することにより、そのようなすべてのアルゴリズムを均一に扱うことができ、ユーザー コストと開発コストを削減します。すべてのアダプター クラスのアルゴリズムは統一されています。 。
このフレームワークは、現在の主流のアルゴリズムをすべて簡単にサポートできる 4 種類のプラグインを提供します。
+ SinglePluginBlock: lora シリーズなど、このレイヤーの入力に応じて出力を変更する単一レイヤーのプラグイン。挿入レイヤーを定義するための正規表現 (re: prefix) をサポートしますが、pre_hook: prefix はサポートしません。
+ PluginBlock: 残りの接続を定義するなど、入力層と出力層は 1 つだけあります。挿入レイヤーを定義するための正規表現 (re: prefix) をサポートし、入力レイヤーと出力レイヤーの両方が pre_hook: prefix をサポートします。
+ MultiPluginBlock: コントロールネットなど、複数の入力層と出力層が存在できます。正規表現 (re: prefix) はサポートされません。入力層と出力層の両方が pre_hook: prefix をサポートします。
+ WrapPluginBlock: 元のモデルのレイヤーを置き換え、元のモデルのレイヤーをこのクラスのオブジェクトとして使用します。置換レイヤーを定義するための正規表現 (re: prefix) をサポートしますが、pre_hook: prefix はサポートしません。
トレーニング、推論モジュール
図 6 カスタム オプティマイザー構成
HCP-Diffusion の構成ファイルは、実行時に自動的にインスタンス化される Python オブジェクトの定義をサポートしています。この設計により、開発者は、上の図に示すように、フレームワーク コードを変更することなく、カスタム オプティマイザー、損失関数、ノイズ サンプラーなどの pip インストール可能なカスタム モジュールに簡単にアクセスできるようになります。設定ファイルの構造は明確で理解しやすく、再現性が高いため、学術研究とエンジニアリングの導入をスムーズに接続できます。
高速化された最適化サポート
HCP-Diffusion は、Accelerate、DeepSpeed、Colossal-AI などの複数のトレーニング最適化フレームワークをサポートしており、トレーニング中のメモリ使用量を大幅に削減し、トレーニングを高速化できます。EMA 操作をサポートしており、モデルの生成効果と一般化をさらに向上させることができます。推論段階では、モデル オフロードや VAE タイリングなどの操作がサポートされており、最小 1GB のビデオ メモリで画像生成を完了できます。
図 7 モジュール構成ファイル
上の図に示すように、上記の単純なファイル構成により、関連するフレームワーク リソースを見つけるために多大な労力を費やすことなく、モデルの構成を完了できます。HCP-Diffusion モジュラー設計は、モデルのメソッド定義、トレーニング ロジック、推論ロジックを完全に分離しており、モデルを構成する際にトレーニング部分と推論部分のロジックを考慮する必要がないため、ユーザーはメソッド自体に集中できます。同時に、HCP-Diffusion は、ほとんどの主流アルゴリズムのフレームワーク構成サンプルを提供しており、一部のパラメーターを変更するだけでデプロイメントを実現できます。
HCP の普及: Web UI グラフィカル インターフェイス
HCP-Diffusion は、構成ファイルを直接変更するだけでなく、画像生成やモデルトレーニングなどの複数のモジュールを含む、対応する Web UI 画像インターフェイスを提供して、ユーザーエクスペリエンスを向上させ、フレームワークの学習しきい値を大幅に削減し、アルゴリズムを高速化します。理論を実践し、変革します。
図 8 HCP-Diffusion Web UI イメージ インターフェイス
研究室紹介
中山大学人間・コンピュータ・物理知能融合研究所(HCP研究所)は、2010年に林吉教授によって設立されました。近年、マルチモーダルな内容理解、因果的および認知的推論、身体的学習において豊富な学術成果を上げています。 、国内外の科学技術賞や論文賞などを受賞しており、製品レベルのAI技術とプラットフォームの創出に注力している。研究室ウェブサイト:http://www.sysu-hcp.net
公式アカウント「機械学習とAI生成の創造」に注目してください。もっと面白いことがあなたを待っています
寝転がって6万語!30方向130記事!CVPR 2023 の最も完全な AIGC 論文! 一気に読んで
制御可能なAIGC絵画生成アルゴリズムControlNetを徹底解説!
クラシック GAN は次のように読む必要があります: StyleGAN
GANのシリーズアルバムを見るには私をクリックしてください~!
一杯のミルクティーでAIGC+CVビジョンのフロンティアになろう!
ECCV2022 | 対立ネットワーク GAN 生成に関する論文まとめ
CVPR 2022 | 25 以上の方向性、最新の 50 の GAN 論文
ICCV 2021 | 35 のトピックに関する GAN 論文の概要
記事数は110以上!CVPR 2021 で最も完全な GAN ペーパーコーミング
記事数は100以上!CVPR 2020 で最も完全な GAN ペーパーコーミング
新しい GAN の解体: デカップリング表現 MixNMatch
StarGAN バージョン 2: マルチドメイン ダイバーシティ イメージの生成
添付のダウンロード | 「Explainable Machine Learning」の中国語版
添付のダウンロード | 「TensorFlow 2.0 ディープ ラーニング アルゴリズムの実践」
添付のダウンロード | 「コンピューター ビジョンにおける数学的手法」シェア
「ディープニューラルネットワークに基づく少数ショット学習の調査」
『礼書・薛記』には、「友なしで一人で学ぶのは孤独で無知だ」という言葉がある。
ミルク ティー カップをクリックして、AIGC+CV ビジョンのフロンティア ウェイバーになりましょう! 、 AI によって生成された創造物とコンピューター ビジョンの 知識の惑星に参加してください。