カテゴリー: 画像生成AI

画像生成AIの使い方や最新情報についてお届けします。

  • [6]ComfyUI設定完全ガイド!(前編)

    こんにちわ、AICU media編集部です。
    ComfyUIマスターガイド」シリーズの第6回です!
    今回は、ComfyUIの設定画面について、前後編にわけて解説していきたいと思います。

    前回はこちら シリーズ初回はこちら

    本記事では、ComfyUIの設定で知っているとオトクな詳細項目を初心者の方にも分かりやすく解説します。ロギング、開発者モード、ノード接続線の表示、別名保存、プレビュー品質、ウィジェット更新タイミングなど…。これらの設定をマスターして、ComfyUIを自分好みにカスタマイズしましょう!

      1. 設定画面の開き方

      キャンバスの画面にて、メニューの上部の歯車マーク[⚙]をクリックします。

      画像

      ComfyUIの設定画面が開きます。

      画像

      2. 設定画面の項目の分類

      設定画面には、多くの設定項目がありますが、本記事では重要な機能を紹介します。設定画面の項目の中には、ComfyUIで標準機能として提供されている項目と、ComfyUI Managerで追加機能として提供されている項目があるため、この分類も同時に説明していきましょう。

      • ロギングの有効/無効(ComfyUI)
      • 開発者モードの有効化(ComfyUI)
      • ノードの接続線の表示方法の変更(ComfyUI Manager)
      • ワークフローを別名で保存機能の有効化(ComfyUI)
      • プレビュー時の画像品質の指定(ComfyUI)
      • ウィジェットの更新タイミングの設定(ComfyUI Manager)

      3. 重要な機能の解説

      ロギングの有効/無効

      Logging(ロギング)は、ComfyUIが起動されたブラウザやOSの情報や、拡張機能のロード情報などのシステムに関連する情報をログとして出力します。デフォルトで有効化されていますが、チェックボックスのチェックを外せば無効化することもできます。

      画像

      View Logs」をクリックすることで、ログを確認することができます。

      画像

      開発者モードの有効化

      Enable Dev mode Optionsは、開発者モードを有効化する項目です。この項目にチェックを入れることで、開発者モードに移行します。

      画像

      開発者モードになると、メニューに「Save (API Format)」という項目が追加され、API用のワークフローを出力できるようになります。

      画像

      ComfyUIはAPIとして使用することもできます。ComfyUIのAPI化については後日別記事にて解説しますので、本記事ではAPI化のセーブができるということを知っておいていただければ大丈夫です。

      ノードの接続線の表示方法の変更

      Link Render Mode(リンクのレンダーモード)は、ノード間を繋ぐ線の表示方法を変更します。通常は、曲線で描かれますが、これを直線や直角線、表示なしに変更することができます。ぜひ皆さんの見やすい表示方法を探してみてください。

      画像

      リンクのレンダーモードは、以下の4種類から選択できます。

      • Spline
        デフォルトのモードがSplineで、下図のように接続線が曲線で描かれます。
      画像
      • Straight
        下図のように接続線が直線で描かれます。曲がる箇所は、自動で直角になります。
      画像
      • Linear
        下図のように接続線が直線で描かれます。Straightと異なり、曲がる箇所はなく、すべて一直線で繋がるように描かれます。
      画像
      • Hidden
        接続線を非表示にします。
      画像

      ワークフローを別名で保存機能の有効化

      Prompt for filename when saving workflowは、ワークフローの保存時、標準のファイル名ではなく、別名を付けて保存する機能を有効化する項目です。

      画像

      ワークフローの保存は、メニューの「Save」をクリックすることで、JSON形式のファイルで保存できます。

      画像

      この機能のチェックボックスにチェックが入っていない場合は、標準のファイル名である「workflow.json」で保存されます。チェックが入っていた場合、下図のように別名を入力するダイアログが表示されます。保存される場所は、いずれの場合もブラウザで設定されているダウンロードフォルダに保存されます。

      画像

      プレビュー時の画像品質の指定

      When displaying a preview in the image widget, convert it to a lightweight image, e.g. webp, jpeg, webp;50, etc.では、生成画像のプレビュー時の画像品質を指定できます。

      画像

      例えば、512×512の解像度で画像を10枚生成した場合、プレビューでは512×512の解像度で10枚の画像が表示されます。生成する画像の解像度が高かったり、枚数が多くなると、プレビューの表示が遅くなってしまいます。
      そこで、この項目に画像形式を指定すれば、低い解像度で生成画像をプレビューでき、表示速度を上げることができます。例えば、「webp;50」と指定した場合、webp形式で品質50%の画像をプレビューに表示します。品質値は、パーセントで指定するため、1-100の間で指定してください。

      画像

      ウィジェットの更新タイミングの設定

      Widget Value Control Modeは、ウィジェットの更新タイミングを指定します。更新タイミングは、「after」と「before」から選択でき、デフォルトでは「after」が設定されています。

      画像

      この設定は、固定値ではないウィジェットの更新タイミングを制御する設定です。例えば、ランダム生成時のシード値(*1)が対象になります。ここでは、シード値を例にウィジェットの更新タイミングについて説明します。

      *1 シード値(seed)は、Stable Diffusionでの画像生成内部で使われる乱数列を決める種(seed)のようなものです。(ゲームやサイコロとは異なり)同じシード値を使えば、同じ乱数列が生成され、結果として同じ画像が生成される可能性が高くなります。いわば画像の性質の種を決める番号と言えるでしょう。

      「before」の場合(編集部のオススメ)

      • ウィジェットの値は、ノードの実行直前に更新されます。つまり「Queue Prompt」ボタンを押す前に設定した値が適用されます。
      • 表示されているシード値は、現在表示されている画像に使用された値です。
      • 例えば、画像生成を開始する前のシード値が「98765」だったとします。beforeの場合、画像生成の前にウィジェットが更新(シード値が更新)されるため、このシード値は使用されません。ウィジェットの更新後のシード値が「12345」と設定されて画像生成された場合、画像生成後に画面に表示されているシード値は「12345」となり、画像生成に使用されたシード値を画面で確認することができます

      「after」の場合(デフォルト)

      • ウィジェットの値は、ノードの実行後に更新されます。つまり、画像生成が完了した後に設定した値が表示されています。
      • 表示されているシード値は、次回の画像生成で使用される値です。現在表示されている画像のシード値は直接確認できません。
      • 例えば、画像生成を開始する前のシード値が「1」だったとします。afterの場合は、「1」を使用して画像が生成されます。しかし、その後にシード値が更新され「2」が表示されています。つまり画像生成に使用されたシード値を画面で確認できません
      画像
      実験してみました。

      「before」設定では、同じシード値を再入力することで、以前生成した画像と同じ画像を再現できます。「after」設定では、シード値が自動更新されるため、同じ画像を再現するには、自動更新される前にシード値をメモしておく必要があります。

      AICU編集部としてはオススメは「before」ですね!
      説明のためにも、入れた値が表示と一致しているのがありがたいです。

      本記事では、ComfyUIの設定画面にある、知っていると便利な詳細項目を初心者の方にも分かりやすく解説しました。ロギング、開発者モード、ノード接続線の表示、別名保存、プレビュー品質、ウィジェット更新タイミングなど…これらの設定をマスターすることで、ComfyUIを自分好みにカスタマイズし、より快適に画像生成を行うことができるようになります。ぜひ、本記事を参考にして、ComfyUIを最大限に活用してください!

      次回は更に便利となる設定をご紹介していきたいと思います!


      画像生成AI「ComfyUI」マスターPlan

      画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

      • メンバー限定の会員証が発行されます
      • 活動期間に応じたバッジを表示
      • メンバー限定掲示板を閲覧できます
      • メンバー特典記事を閲覧できます
      • メンバー特典マガジンを閲覧できます
      • 動画資料やworkflowといった資料への優先アクセスも予定

      ゼロから学ぶ「ComfyUI」マガジン

      https://note.com/aicu/m/md2f2e57c0f3c

      マガジン単体の販売は1件あたり500円を予定しております。
      2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

      https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487

      もちろん、初月は無料でお試しいただけます!
      毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
      退会率はとても低く、みなさまにご満足いただいております。

      ✨️オトクなメンバーシップについての詳細はこちら

      今回のボーナス画像とプロンプトはプラネタリウムに来たLuC4くんです。
      みなさんは天体観測お好きですか?色々な星座たちが「幾千光年離れた星々のきらめきを繋げて生まれた存在…」と思うと心がとても揺らぎますよね。

      画像

      この記事の続きはこちらから https://note.com/aicu/n/nd5325821d292

      Originally published at https://note.com on Aug 13, 2024.

    1. [5]ComfyUI カスタムノード徹底解説!機能とメリットを理解しよう

      こんにちわ、AICU media編集部です。
      「ComfyUI マスターガイド」第5回目になります。今回は、「カスタムノード」について、実際にインストールをした後の使い方と合わせて掘り下げていきたいと思います。

      前回はこちら シリーズ初回はこちら

        1. カスタムノードとは?

        カスタムノードとは、使う人が独自に機能を拡張することができる、ComfyUIの「拡張パーツ」のようなものです。まるでレゴブロックのように、様々なカスタムノードを組み合わせることができるので、自分だけのオリジナル作品を創造していくことできます。とても楽しそうですね!

        さて、カスタムノードがなぜあるのか。それは、使う人一人ひとりのニーズや創造性に合わせた柔軟な画像生成環境を提供するためです。標準機能だけでは実現できない、細かな調整や特殊効果、また最新のAI技術の導入などをカスタムノードでは行うことができます!

        初心者にとって、カスタムノードを理解することは、ComfyUIの可能性を最大限に引き出すための非常に重要な一歩となります。最初は難しく感じるかもしれませんが、この記事を通して、ぜひカスタムノードの基本的な知識を理解いただき、さらにComfyUIの世界をより深く探求するきっかけにしてみてください。

        2. カスタムノードの基礎知識

        カスタムノードとは何か

        カスタムノードは、ComfyUIの機能を拡張するためのユーザー定義のモジュールになります。料理で例えると、標準ノードが「基本的なレシピ」だとすれば、カスタムノードは「その人それぞれの独自のレシピ」と言えるでしょう。

        例えば、「野菜炒め」という料理を作る際に、野菜を切る、炒める、味付けをするといった基本的な手順は標準ノードでカバーできます。しかし、「特製ソースを使う」「隠し味を加える」といった独自の工夫は、カスタムノードで実現できます。

        画像

        カスタムノードの基本的な構造は、標準ノードと同様に、入力 → 処理 → 出力の流れで成り立っています。入力として画像やテキストなどのデータを受け取り、内部でPythonコードによって処理を行い、結果を出力します。

        例えば、「色調整ノード」であれば、入力として画像データを受け取り、明るさやコントラストなどを調整し、調整後の画像データを出力します。また、「プロンプト拡張ノード」であれば、入力として短いプロンプトを受け取り、それを詳細なプロンプトに拡張して出力します。

        カスタムノードとPythonの関係

        カスタムノードの内部処理は、Pythonというプログラミング言語で記述されています。Pythonは、その読みやすさと豊富なライブラリ、活発なコミュニティサポートによって、世界中で広く使われているプログラミング言語です。

        Pythonがカスタムノードに使用されている理由は、その柔軟性と拡張性の高さにあります。様々なライブラリを活用することで、画像処理、自然言語処理、機械学習など、多岐にわたる機能を簡単に実装できます。

        Pythonコードの基本構造は、入力の受け取り → 処理 → 出力の生成という流れです。カスタムノードでも、このPythonコードによって入力データを処理し、 望ましい出力を生成します。例えば、以下のようなコードでカスタムノードは作成されています。

        # カスタムノードの基本構造を示すサンプルコード
        
        # 1. 必要なライブラリをインポート
        import numpy as np
        from PIL import Image
        
        # 2. カスタムノードのクラスを定義
        class SimpleImageProcessor:
            # 3. 初期化メソッド
            def __init__(self):
                self.brightness_factor = 1.5
        
            # 4. 入力を受け取り、処理を行い、出力を生成するメソッド
            def process_image(self, input_image):
                # 入力画像をNumPy配列に変換
                img_array = np.array(input_image)
        
                # 画像の明るさを調整
                brightened_array = np.clip(img_array * self.brightness_factor, 0, 255).astype(np.uint8)
        
                # 処理結果を新しい画像として生成
                output_image = Image.fromarray(brightened_array)
        
                return output_image
        
        # 5. カスタムノードの使用例
        if __name__ == "__main__":
            # 入力画像を読み込む(実際のComfyUIでは自動的に提供されます)
            input_img = Image.open("input_image.jpg")
        
            # カスタムノードのインスタンスを作成
            processor = SimpleImageProcessor()
        
            # 画像を処理
            result_img = processor.process_image(input_img)
        
            # 結果を保存(実際のComfyUIでは自動的に次のノードに渡されます)
            result_img.save("output_image.jpg")
        
            print("画像処理が完了しました!")

        何が書いてあるかわからない?安心してください!Pythonコードを理解していなくても、カスタムノードを利用できます!ComfyUIは、ユーザーフレンドリーなインターフェースを提供しており、コードを直接操作することなく、カスタムノードの機能を活用できるのです。

        標準ノードとカスタムノードの違い

        標準ノードは、ComfyUIにデフォルトで搭載されている基本的な機能を提供するノードです。例えば、画像を読み込む「Load Image」や、プロンプトを入力する「CLIP Text Encode (Prompt)」などが挙げられます。これらのノードは、ComfyUIの基本的な操作を行うために必要不可欠です。

        しかし、標準ノードだけでは実現できない機能や、より高度な処理が必要になる場合もあります。そこで登場するのがカスタムノードです。カスタムノードでは、標準ノードではカバーできない機能を補完し、ComfyUIの機能を拡張することができます。

        例えば、複数の標準ノードを組み合わせて行っていた複雑な処理を、1つのカスタムノードにまとめることで、ワークフローを大幅に簡略化することもできます。また、最新のAIモデルを統合したカスタムノードを使用することで、より高品質な画像生成が可能となります。

        3. カスタムノードの重要性

        ComfyUIの柔軟性向上

        カスタムノードは、ComfyUIの柔軟性を飛躍的に向上させます。使う人は自分のニーズや好みに合わせて、様々な機能を追加し、ComfyUIを自分だけのツールへとカスタマイズすることができます。例えば、特定の画風や効果を簡単に適用できるカスタムノードを作成することで、自分だけのオリジナル作品を効率的に制作することも可能です。

        画像

        ユーザー体験の改善

        カスタムノードは、複雑な操作を簡略化しより直感的にComfyUIを使用できるようになります。また、視覚的にわかりやすいアイコンや名称を使用することで、ノードの機能を容易に理解し、スムーズなワークフローを実現できます。

        例えば、「efficiency-nodes-comfyui」というカスタムノードでは、モデルのロード(Load Checkpoint)、プロンプトの入力(CLIP Text Encode (Prompt))、空の潜在空間の作成(Empty Latent Image)などを1つのノードにまとめ、簡略化を実現しています。
        実際にインストールをしてみてみましょう。

        画像

        ワークエリア上でカチカチッとダブルクリックをして『efficient』と入力したら…出てきました!早速クリックをしてみます。

        画像

        補足です。空の潜在空間の作成(Empty Latent Image)とはいつもの text to imageな空の潜在空間では、画像のサイズや生成回数を記入しているノードのことです。

        画像

        通常の「Empty Latent Image」ノード
        ここではempty_latent_width, empty_latent_height, は 512, 512(SD1.5系)もしくは、1024, 1024 (SDXL系)、batch_size(生成回数) 1→15 など、用途に合わせて記入しましょう。

        画像生成プロセスの最適化

        カスタムノードは、画像生成プロセスの最適化にも貢献します。最適化されたアルゴリズムを使用することで、処理速度を向上させ、より短時間で高品質な画像を生成できます。また、高度なノイズ除去や詳細強化機能を追加することで、画像の品質をさらに向上させることができます。
        例えば、「ComfyUI_IPAdapter_plus」というカスタムノードでは、IP-Adapterという参照画像を基に画像生成を行える技術を簡単に使用することができるノードです。標準ノードでは実現が難しい技術をカスタムノードでサポートしています。

        画像

        コミュニティ駆動の革新

        カスタムノードは、ComfyUIコミュニティの活発な活動を促進し、革新的なアイデアを生み出す原動力となっています。使う人々が自由にアイデアを共有し、カスタムノードとして実装することで、多様なニーズに対応した機能が次々と誕生しています。特定の業界や用途に特化したカスタムノードも開発されており、ComfyUIの可能性は無限に広がっています。

        画像

        プログラミングの知識がなくても活用できる利点

        カスタムノードは、プログラミングの知識がなくても活用できるという大きな利点があります。ユーザーフレンドリーなインターフェース、コミュニティによるサポート、豊富な情報源など、初心者でも安心してカスタムノードを利用できる環境が整っています。最初は既存のカスタムノードを使用し、徐々に使い方を学び、最終的には自分でカスタムノードを開発する、といった段階的な学習も可能になってきます。

        画像

        4. まとめ

        カスタムノードは、ComfyUIの機能を拡張することで、ユーザー体験は格段と向上します。Pythonで記述されたこれらのモジュールは、ワークフローの効率化、高度な機能の追加、コミュニティ駆動の革新など、様々なメリットをもたらすことができます。

        Pythonとカスタムノードの関係を理解することで、ComfyUIの無限の可能性を最大限に引き出すことができます。初心者の方は、まずは既存のカスタムノードを試してみて、その機能や使い方を学んでみましょう!コミュニティのサポートや豊富な情報源を活用することで、徐々にカスタムノードに慣れていくことができます。

        今回は以上になります。
        どんどんComfyUIについて学ぶことが出来ているのではないでしょうか?この後のボーナストラックではお得なTipsを公開しております。次回も楽しくComfyUIを学べるような内容をご用意しておりますので是非楽しみにしていてください!

        画像生成AI「ComfyUI」マスターPlan

        画像

        画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

        • メンバー限定の会員証が発行されます
        • 活動期間に応じたバッジを表示
        • メンバー限定掲示板を閲覧できます
        • メンバー特典記事を閲覧できます
        • メンバー特典マガジンを閲覧できます
        • 動画資料やworkflowといった資料への優先アクセスも予定

        ゼロから学ぶ「ComfyUI」マガジン

        https://note.com/aicu/m/md2f2e57c0f3c

        マガジン単体の販売は1件あたり500円を予定しております。
        2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

        https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487

        もちろん、初月は無料でお試しいただけます!
        毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
        退会率はとても低く、みなさまにご満足いただいております。

        ✨️オトクなメンバーシップについての詳細はこちら


        この記事の続きはこちらから https://note.com/aicu/n/n5d5e6b0199b3

        Originally published at https://note.com on Aug 12, 2024.

      1. AICU media 7月のアクセスランキング発表!みんなが注目したAIトレンド記事はこれだ!

        ジリジリと暑い日が続きますが、AICUマガジン読者の皆さんはいかがお過ごしですか?😎🌴
        今月もAICU media編集部は「つくる人をつくる!」をビジョンに熱いAI情報を毎日!お届けしましたが、中でも特に人気だった記事TOP10を発表しちゃいます!🥁✨

        第1位👑 描画工程を推論する「Paints-Undo」、Google Colabで実際に動作させてみた (2024年7月10日)

        堂々の第1位は、画像編集AI「Paints-Undo」の実践記事!
        研究としても衝撃的な内容で是非を含めてディスカッション可能な状態になっているのが秀逸。さすがLvmin Zhang さん(lllyasviel)です。
        AICUとしてはGoogle Colabで試せるコードを公開しましたが、社会的影響を鑑みて、当面は文末にてメンバーシップのみの公開とさせて頂いております。実際に動かしてみた人の声も多数いただいております。

        第2位🥈 Stability AI、オープンウェイトなテキスト楽曲生成「Stable Audio Open」公開。Google Colabで無料で体験!(2024年7月23日)

        音楽生成AI戦線に激震!? Stability AIの新作「Stable Audio Open」の研究論文がリリースされました。Google Colabで無料体験できるコードも人気です!

        第3位🥉 Stability Matrixで Automatic1111が起動しない…そんなときに試してほしいノウハウ(2024年7月14日)

        大好評の「画像生成AI Stable Diffusionスタートガイド」(通称 #SD黄色本 )で学んだ Stable Diffusionユーザー必見! トラブルシューティング記事がランクイン!「Stability Matrix」×「Automatic1111」の組み合わせで困っている人は意外と多かったのかも…?!GitHubでのソースコード公開に加えて、discordでのサポート、noteメンバーシップ向け掲示板でのサポートがございます、あわせてご参照ください。

        第4位🏅 [保存版] Animagine XL 3.1 生成比較レポート(2024年3月20日)

        ロングラン記録を更新中のこの記事は、漫画制作で話題の「Animagine XL 3.1」を徹底解剖!AniFusionなどでも採用されていますので需要はあるのかもしれませんね。生成画像を比較しながら、その実力を知りたい人が多かったようです!実は英語版の記事もリリースされています。

        https://medium.com/@aicu/collectors-edition-animagine-xl-3-0-vs-3-1-comparison-report-329da2488737

        第5位🏅 img2img入門(1) i2iでできることを知ろう(2024年1月5日)

        画像生成AIを使いこなすための基礎知識!『i2i』とは、image-to-image、画像とテキストプロンプトをもとにして、新たな画像を生成する方法のことです。これにより、テキストのみでは伝えにくかった細かい雰囲気や色味などが再現しやすくなります。「SD黄色本」に収録されているので詳細を知りたいひとはぜひ書籍かメンバーシップどうぞ!

        https://note.com/aicu/n/n08ebe0637a41

        https://j.aicu.ai/SBXL

        https://note.com/aicu/membership/join

        第6位🏅 AUTOMATIC1111 v1.10.xリリース – Stable Diffusion 3 Mediumをサポート(2024年7月28日)

        2024年7月28日に、Stable Diffusion WebUI「AUTOMATIC1111」の最新版 v1.10.0 がリリースされました。最新の画像生成AIモデルの一つである Stable Diffusion 3 Medium (SD3M) が公式にサポートとなりました。

        第7位🏅 【まだ間に合う!!】賞金400万円超えのAI映像コンテストに投稿してみた(2024年7月11日)

        実際に挑戦した方のレポートは貴重ですね!
        さらにレポートしたAICUコラボクリエイターの ぽんずさん(@ponzponz15)部門賞を獲得しています!おめでとうございます、さすがです!

        第8位🏅 【初心者向け!】Runway Gen-3 Alphaでプロンプト自動生成して簡単動画制作(2024年7月15日)

        動画生成AIもどんどん身近になっていますね!
        「Runway Gen-3 Alpha」を使った簡単な動画制作術がランクイン!
        その後、Gen-3には静止画から動画を生成する image to video (i2v)や、Last Frame機能がリリースされました。

        第9位🏅 FLUX.1[dev]の実力は?比較しながらGoogle Colabで動かしてみた。(2024年8月5日)

        話題の画像生成AIモデル「FLUX.1[dev]」をGoogle Colabで試してみました!
        他のモデルとの比較も参考になりますね!

        第10位🏅 日本人が開発した「Regional Prompter」がなかなかすごい!(2024年1月15日)

        こちらもロングラン記事です。日本人開発のAIツールに注目が集まりました!「Regional Prompter」とは…?!

        https://note.com/aicu/n/n832941df99c5

        まとめ

        2024年7月は、画像生成AI関連の記事はもちろん、音楽生成AIや動画生成AIなど、幅広いジャンルのAIツールが人気を集めました!

        「AICUマガジン Vol.3」では2024年上半期のランキングを特集しています。さらなるトレンドに興味がある方はぜひご購読ください。

        ■「AICUマガジンVol.3」Kindle Unlimitedにて無料配信開始!!

        https://note.com/aicu/n/nb02e0abf3a2a

        今後も最新のクリエイティブAIの使いこなしテクニックに関する情報、コンテスト情報などを発信していきます、お楽しみに!😎🌻

        Originally published at https://note.com on Aug 10, 2024.

      2. [4]ComfyUIカスタムノード導入ガイド! 初心者でも安心のステップバイステップ解説

        こんにちわ、AICU media編集部です。
        「ComfyUI マスターガイド」第4回目になります。今回は、ComfyUI Managerの基本的な使い方についてお届けしたいと思います。
        この先のComfyUIの使いこなしを学ぶ上で、必須となる「カスタムノード」と「モデル」の導入にあたり必須の知識を解説します!

        前回はこちら シリーズ初回はこちら

        ComfyUIを最大限に活用するための第一歩!

        ComfyUIの拡張機能は、画像生成の幅を広げるために必須なツールです!様々な効果や機能を追加することで、あなたのアイデアを形が更に広がっていきます。この記事では、基本となるカスタムノードモデルのインストール方法をステップバイステップで解説していきます。

        ComfyUI Managerへのアクセス

        • メニューバー下部の「Manager」ボタンをクリックします。
        画像
        • ComfyUI Managerのインターフェースが新しいウィンドウで開きます。
        画像

        カスタムノードのインストール

        • Manager画面の「Custom Nodes Manager」ボタンをクリックします。
        画像
        • 利用可能なカスタムノードのリストが表示されます。
        画像
        • インストールしたいノードの横にある「Install」ボタンをクリックします。

          ★このあとアンインストールまで試しますので何を選んでも構いません。
        画像
        • インストールが完了すると、ComfyUIの再起動を求められるので、下部の「Restart」ボタンを押下します。
        画像
        • 再起動が完了するまで待機します。再起動中は、”Reconnecting…”というメッセージが中央に表示され、完了すると、このメッセージが消えます。
        画像
        • 再度「Custom Nodes Manager」を開き、以下の画像のように表示が変わっていると、インストールが完了しています。
        画像

        このとき、『Restart Required』の表示から変わらないようでしたら、
        ブラウザから更新をしてみると解決するかもしれません。

        「使いたいけど、まだ入れてないノードがある!」そんな時は

        例えば、他の人が作成したワークフローを自身のComfyUI環境に読み込ませて使用する際に、自身の環境にインストールされていないカスタムノードが使用されている場合、以下の画像のようにノードにエラーが発生することがあります。これを解消するために、インストールされていないノードのみを表示し、インストールしてくれる機能がComfyUI Managerにはあります。

        画像
        • エラーのあるワークフローを表示している状態で、Manager画面の「Install Missing Custom Nodes」ボタンをクリックします。
        画像
        • インストールされていないカスタムノードの一覧が表示されます。ここから前項で解説したカスタムノードのインストールを実行することで、現在のワークフローに必要なカスタムノードのみをインストールできます。
        画像

        モデルのインストール

        カスタムノードのインストールについては以上となります。
        次は、モデルのインストールについて説明をしてまいります。
        モデルとは、Stable Diffusionでオリジナルの画像を生成するために必要な学習済みファイルのことを指しております。公開されている様々なモデルを利用することで、イラスト風や実写風など様々なテイストで画像を生成することができます。

        ここでは練習として「TAESD」をインストールしてみます。
        ★このあとアンインストールまで試しますので何を選んでも構いません。

        早速試してみましょう!

        • 「Models Manager」ボタンをクリックします。
        画像
        • 利用可能なモデルのリストが表示されます。
        画像
        • インストールしたいモデルの横にある「Install」ボタンをクリックします。
        画像
        • インストールが完了すると、Refreshを求められます。
        画像
        • メインメニューで「Refresh」ボタンをクリックします。
        画像
        • 再度「Models Manager」を開くと、「Install」にチェックが入っており、インストールができていることが確認できます。
        画像
        • インストールされたモデルは、「Save Path」で指定されているフォルダに格納されます。今回の例だと、”ComfyUI/models/vae_approx“フォルダに格納されます。
        画像

        不要なモデルはディスク節約のために削除しておきましょう。

        アップデートの実行

        • Manager画面には、3種類のアップデート方法が用意されています。それぞれのボタンを押下することで、アップデートが実行されます。
          • Update All: ComfyUI本体およびカスタムノードを最新の状態に更新します。
          • Update ComfyUI: ComfyUI本体のみを更新します。
          • Fetch Updates: カスタムノードのみを最新の状態に更新します。
        画像

        注意点

        • カスタムノードやモデルをインストールする前に、それらの機能や使用方法をよく理解することが重要です。
        • 大量のカスタムノードをインストールすると、ComfyUIの起動時間が長くなる可能性があります。
        • モデルのダウンロードには時間がかかる場合があります。特に大きなモデルの場合は注意が必要です。

        ComfyUI Managerを効果的に使用することで、ComfyUIの機能を大幅に拡張し、より創造的な画像生成が可能になります。初心者の方でも、このツールを使いこなすことで、高度な機能を簡単に利用できるようになるでしょう。

        【最新】
        こちらの記事もどうぞ。最先端のFLUX.1[dev]のComfyUIでの利用例です。

        ✨️オトクなメンバーシップについての詳細はこちら

        ゼロから学ぶ「ComfyUI」マガジン(単品販売)

        https://note.com/aicu/m/md2f2e57c0f3c

        今回の有料特典は、インストールをしたモデルを使用して、AICUで公開しているキャラクター『全力肯定彼氏君 LuC4』くんを生成したいと思います。是非皆さんも、こちらを参考に様々なモデル・カスタムノードを試してみて、是非Xなどで公開をしてみていただけると編集部一同喜びます!(その際は、  #AICU_LuC4  のハッシュタグを是非ご利用ください!)


        この記事の続きはこちらから https://note.com/aicu/n/n4295d336677e

        Originally published at https://note.com on Aug 9, 2024.

      3. [3]ゼロからつくるとよく分かる!ComfyUIワークフロー作成で学ぶStable Diffusionの内部動作

        おかげさまで第3回となりました!
        今回の「ComfyUIマスターガイド」では、連載第3回はComfyUIに初期設定されている標準のワークフローを自分の手で一から作成し、ノード、Stable Diffusionの内部動作の理解を深めていきます!

        前回はこちら

        1. ワークフローの作成手順

        今回作成するワークフローは、ComfyUIの初回起動時に表示される標準のワークグラフになります。Stable Diffusion 1.5を使った標準的なグラフで画像生成を実現するシンプルなグラフになります。

        画像

        上図のように、左側からノードを順に追加していき、最後に各ノードの入力/出力ポートを接続します。

        2. ワークフローのクリア

        ComfyUIを起動すると、以下の画像のように標準のグラフが表示されます。今回は、一からこのグラフを作成するため、全てのノードを削除します。ここで、右下のコントローラから「Clear」を選択します。

        画像

        上部に以下のようなダイアログが表示され、「Clear workflow?」と尋ねられるので、「OK」ボタンを押下します。

        画像

        そうすると、画面上の全てのコンポーネントが削除され、真っさらな状態になります。

        画像

        3. モデルのロード (Load Checkpoint)

        まずは、モデルをロードするノード「Load Checkpoint」を追加します。
        グラフ上の何もない箇所で左ダブルクリックします。そうすると、ノードの検索ダイアログが表示されます。

        画像

        検索ダイアログの検索バーに「load checkpoint」と入力します。検索バーの下部のノード一覧に検索にヒットしたノードが表示されます。ここから「Load Checkpoint」を選択します。

        画像

        Load Checkpointがワークグラフ上に追加されます。

        画像

        Load Checkpointでは、使用するモデルを選択します。Load Checkpointのパラメータ「ckpt_name」をクリックすると、インストール済みのモデル一覧が表示されます。今回は、「v1-5-pruned-emaonly.ckpt」を選択します。
        このファイルは Stable Diffusion 1.5のベースとなるモデルチェックポイントファイルとなります。

        画像

        これでLoad Checkpointの作成が完了になります。ワークグラフ上には、Load Checkpointのみが組み込まれている状態になります。

        画像

        4. プロンプトの設定 (CLIP Text Encode (Prompt))

        次は、プロンプトを設定するノード「CLIP Text Encode (Prompt)」を追加します。前項と同様に、グラフ上の何もないところでダブルクリックして検索ダイアログを開き、検索バーに「clip text encode」と入力し、表示されたノードから「CLIP Text Encode (Prompt)」を選択します。

        画像

        ワークグラフ上にCLIP Text Encode (Prompt)が追加されます。

        画像

        プロンプトは、ポジティブプロンプトネガティブプロンプトが必要になるため、CLIP Text Encode (Prompt)は2つ必要になります。先ほど追加したCLIP Text Encode (Prompt)を複製し、プロンプト用のノードを2つ用意します。

        先ほど追加したCLIP Text Encode (Prompt)上で右クリックすると、ノード用のコンテキストメニューが表示されます。この中から「Clone」を選択します。

        画像

        「Clone」が実行され、CLIP Text Encode (Prompt)が複製されます。複製された直後は、複製元のノードと重なって表示されるため、1つのノードに見えますが、しっかり複製されています。重なっていると見づらいため、ノードをドラッグし、下の方に移動しましょう。

        画像

        今回は、作成した2つのノードのうち、上のノードをポジティブプロンプト、下のノードをネガティブプロンプトとして利用します。

        ※もし見分けがつきにくいときは、「Colors」からノードの色を変えてみると良いかもしれません。

        画像

        入力するプロンプトは、お好みのプロンプトを入力して問題ありませんが、
        今回は標準のワークフローに記載されていた内容を入力してみましょう。

        ポジティブプロンプトには、
        beautiful scenery nature glass bottle landscape, purple galaxy bottle
        を入力します。

        画像

        ネガティブプロンプトには、
        worst quality, low quality, normal quality
        を入力します。
        ここでは、低いクオリティの画像が生成されないように「見たくものを入れる指示」を与えています。部品としては画像を生成するためのプロンプト(ポジティブプロンプト)と同じCLIPというテキストと画像の対比を学習した条件付けのためのモデルを利用しています。

        画像

        これでプロンプトの設定が完了です。現状のワークグラフ上には、Load CheckpointCLIP Text Encode (Prompt)が2つ表示されている状態になります。

        画像

        5. 空の潜在空間の画像の作成 (Empty Latent Image)

        次に空の潜在空間の画像を作成するノード「Empty Latent Image」を追加します。前項と同様に検索ダイアログを開き、検索バーに「empty latent image」と入力し、表示されたノードから「Empty Latent Image」を選択します。

        画像

        ワークグラフ上にEmpty Latent Imageが追加されます。

        画像

        Empty Latent Imageの各パラメータの設定は、初期値をそのまま利用します。
        Stabled Diffusion 1.5の場合はデフォルトのまま「512×512」、「batch_size = 1」で構いません。Stable Diffusion XL (SDXL) の場合は「1024×1024」です。

        画像

        これで空の潜在空間の画像を作成するノードの追加が完了です。ワークグラフ上には、Load CheckpointCLIP Text Encode (Prompt)が2つ、Empty Latent Imageが表示されている状態になります。

        画像

        ※Stable Diffusion XL (SDXL) を使用する場合はEmpty Latent Imageの width, heightは 1024 にすべきであることをお忘れなく。

        画像

        6. サンプリングの実行 (KSampler)

        次は、サンプリングを実行するノード「KSampler」を追加します。前項と同様に検索ダイアログを開き、検索バーに「ksampler」と入力し、表示されたノードから「KSampler」を選択します。

        画像

        ワークグラフにKSamplerが追加されました。

        画像

        KSamplerの各パラメータの設定は、初期値をそのまま利用します。

        画像

        これでサンプリングの実行ノードの追加が完了です。ワークグラフ上には、Load CheckpointCLIP Text Encode (Prompt)が2つ、Empty Latent ImageKSamplerが表示されている状態になります。

        画像

        7. 潜在空間のデコード (VAE Decode)

        次は、潜在空間のでコードを行うノード「VAE Decode」を追加します。前項と同様に検索ダイアログを開き、検索バーに「vae decode」と入力し、表示されたノードから「VAE Decode」を選択します。

        画像

        ワークグラフ上にVAE Decodeが追加されます。

        画像

        VAE Decodeはパラメータを持たないので、これでVAE Decodeの追加が完了になります。現状のワークグラフには、Load CheckpointCLIP Text Encode (Prompt)が2つ、Empty Latent ImageKSamplerVAE Decodeが表示されている状態になります。

        画像

        8. 画像の保存 (Save Image)

        次は、生成した画像の保存を行うノード「Save Image」を追加します。前項と同様に検索ダイアログを開き、検索バーに「save image」と入力し、表示されたノードから「Save Image」を選択します。

        画像

        ワークグラフ上にSave Imageが追加されます。

        画像

        Save Imageのパラメータでファイル名のプレフィックスを設定できます。お好みのプレフィックスを設定してください。今回は、初期値の「ComfyUI」を使用します。

        画像

        これで画像の保存ノードの追加が完了です。現状のワークグラフは、Load CheckpointCLIP Text Encode (Prompt)が2つ、Empty Latent ImageKSamplerSave Imageが表示されている状態になります。

        画像

        9. 各ノードの接続

        ここまでに追加した各ノードを接続していきます。

        Load CheckpointとCLIP Text Encode (Prompt)の接続

        最初にLoad Checkpointの出力ポート「CLIP」と、2つのCLIP Text Encode (Prompt)の入力ポート「clip」を接続します。まずは、ポジティブプロンプト用のCLIP Text Encode (Prompt)と接続するために、Load Checkpointの出力ポート「CLIP」の黄色のドットをドラッグします。

        画像

        ドラッグした状態でマウスを動かすと、以下の画像のようにポートから線が伸びます。

        画像

        この状態でCLIP Text Encode (Prompt)の入力ポート「clip」の黄色のドットまでマウスを移動させます。

        画像

        CLIP Text Encode (Prompt)の入力ポート「clip」の黄色のドットの上にドロップすることで、ノードを接続することができます。

        画像

        同様にネガティブプロンプト用のCLIP Text Encode (Prompt)と接続させます。

        画像

        CLIP Text Encode (Prompt)とKSamplerの接続

        CLIP Text Encode (Prompt)の出力ポート「CONDITIONING」と、KSamplerの入力ポート「positive」および「negative」を接続します。

        まずは、ポジティブプロンプト用のCLIP Text Encode (Prompt)(上部のノード)の出力ポート「CONDITIONING」と、KSamplerの入力ポート「positive」を接続します。前述した方法でポートを接続してください。

        画像

        次に、ネガティブプロンプト用のCLIP Text Encode (Prompt)(下部のノード)の出力ポート「CONDITIONING」と、KSamplerの入力ポート「negative」を接続します。

        画像

        Load CheckpointとKSamplerの接続

        Load Checkpointの出力ポート「MODEL」と、KSamplerの入力ポート「model」を接続します。前述した方法でポートを接続してください。
        CLIP Text Encode (Prompt)を跨いで接続するため見づらいですが、紫色の線で繋がっています。

        画像

        Empty Latent ImageとKSamplerの接続

        Empty Latent Imageの出力ポート「LATENT」と、KSamplerの入力ポート「latent_image」を接続します。前述した方法でポートを接続してください。

        画像

        Load CheckpointとVAE Decodeの接続

        Load Checkpointの出力ポート「VAE」と、VAE Decodeの入力ポート「vae」を接続します。前述した方法でポートを接続してください。
        複数のノードを跨いで接続するため見づらいですが、赤色の線で繋がっています。

        画像

        KSamplerとVAE Decodeの接続

        KSamplerの出力ポート「LATENT」と、VAE Decodeの入力ポート「samples」を接続します。前述した方法でポートを接続してください。

        画像

        VAE DecodeとSave Imageの接続

        VAE Decodeの出力ポート「IMAGE」と、Save Imageの入力ポート「images」を接続します。前述した方法でポートを接続してください。

        画像

        10. ワークフローの完成!

        これでワークフローが完成しました。最終的なグラフは、以下の画像のようになっています。

        画像

        それでは、作成したワークフローで画像生成ができるか試してみましょう。「Queue Prompt」をクリックして、画像生成を実行します。

        画像

        無事に画像生成が成功しました。皆様の環境でも画像生成が成功したでしょうか。失敗した場合は、どこかに誤りがある可能性があるので、ここまでの内容を再度見直してみると解決できると思います。

        今回、ワークフローを一から組んでいくことで個々のノードについてと、ノードとノードを繋げていくことでのワークフロー全体への理解や、Stable Diffusionの内部動作への理解を深めることができました!

        次回はカスタムノードとモデルのダウンロードについてお送りしたいと思います!

        ✨️オトクなメンバーシップについての詳細はこちら

        この記事の続きはこちらから https://note.com/aicu/n/n843e3cdbb190

        Originally published at https://note.com on Aug 7, 2024.

      4. 「AICUマガジンVol.3」Kindle Unlimitedにて無料配信開始!!

        こんにちわ。AICU media編集部です。
        「つくる人をつくる・わかるAIをとどける」高校生でも楽しめる未来のクリエイターのためのクリエイティブAI情報誌「AICUマガジン Vol.3」は2024年6-7月合併号!「いまこそしりたい画像生成AIの社会と倫理」と題して、気になる画像生成AIの法律と倫理についてまとめてお届けします。

        生成AIを使ってみたいけど法律的に大丈夫なの? こんな使い方をしてみたいんだけど炎上しないかな…? そんなお悩みにAICUが具体的な練習問題とともにわかりやすくお届けします! 

        「AICUマガジンVol.3」の見どころ🤩

        ⚖️ 特集「いまこそ知りたい画像生成AIの社会と倫理」⚖️

        AIイラストの著作権問題から、炎上しないための使い方まで徹底解説!🔥 具体的な練習問題で楽しく学べちゃう!💯

        画像

        🚀 特集「AICU media 上半期人気記事一挙紹介」🚀

        2024年上半期にバズったAIツール、サービスを見逃し厳禁!👀

        画像

        🎨 サクッと先取り!クリエイティブAIツール 🎨

        プロンプトからサイトが作れる!?話題の「CREATE.xyz」を使ってみた!未来のWebデザインを体験!✨

        画像

        「Stability AI Fan!」

        Stable Diffusionユーザー必見!ディープな情報満載!😎

        画像
        画像
        画像

        📰 イベントレポート 📰

        「技術書典16」「JETRO AiSalon Tokyo June 2024」「Google for Japan」…注目のイベントをレポート!

        画像
        画像
        画像
        画像

        💡「ようこそ!アイキュー部」💡

        大人気連載漫画!10分でAIの基礎知識をGET!🧠
        なんと豪華51ページ相当の学習コンテンツを一挙掲載!!

        画像

        今回は「ようこそアイキュー部」の漫画版が始まる前の前日譚から…

        • Google Slidesでバリエーション広告を大量生成
        • バッチファイルでバリエーション広告を生成(1)使ってみよう編
        • バッチファイルでバリエーション広告を生成(2)解説編
        • 漫画版 第1話(再掲)
        画像
        画像

        ✍️ 編集コラム ✍️

        「画像生成AIは飽きる、飽きられる、だからこそプロの仕事はこうなる。」プロの視点から見た、画像生成AIとの向き合い方とは…?🤔

        画像

        🌸 はるしね~しょん(編集部だより) 🌸

        編集部の裏側をチラ見せ!AICUマガジンの制作秘話も…?🤫

        🎁 特別コンテンツ 🎁

        2024年12月末まで視聴可能【生成AIの社会と倫理】「画像生成AI Stable Diffusion スタートガイド」 #SD黄色本 公式ワークショップ

        画像

        話題の #SD黄色本 ワークショップが期間限定で視聴可能! お見逃しなく!

        美麗な表紙は
        インフルエンサーな「デルタもん」

        画像

        イラストレーター/キャラクターデザイナーの犬沢某さんが製作してくださいました

        ▼表紙を担当させていただきました。犬沢某(いぬさわばう)です。
        今回のテーマは「画像生成AI時代の社会と倫理」ということで、
        生成AI時代の社会に支えられるキャラクターの代表でもある「デルタもん」を描かせていただきました。
        近い将来、デルタもんのコスプレをしながら、ファッションモデルのようなインフルエンサーさんが、街中で自撮りをしている姿を見る日が来るかもしれませんね。
        テクニック的にはSD黄色本の内容で、AUTOMATIC1111を使って生成したものです。
        ふだんはオーバーオールを着た犬の少年ばかり描いています。
        犬沢某 (いぬさわばう/BowInusawa)

        🐶ばう先生、いつもありがとうございます🐾

        そして…気になる夏のアートコンテスト結果は…!?ファイナリストの皆さんを紹介

        詳しくは「AICUマガジン Vol.3」本誌🎉 読者のひろば🎉誌上にて!
        力作が集結!栄冠は誰の手に…?🏆


        レベルアップしたクリエイティブな夏休みを過ごそ~!🌻
        Kindle Unlimitedで無料です!

        https://j.aicu.ai/MagV3

        バックナンバーはこちら https://ja.aicu.ai/mag/

        https://note.com/aicu/n/n61476a3fc852

        https://prtimes.jp/main/html/rd/p/000000017.000133647.html

        #AICUマガジン #画像生成AI #著作権 #AIイラスト #生成AIの社会と倫理

        Originally published at https://note.com on Aug 6, 2024.

      5. FLUX.1[dev]の実力は?比較しながらGoogle Colabで動かしてみた。

        2024年8月1日、「世界最強」といわれるベンチャーキャピタル(VC)「アンドリーセン・ホロウィッツ」(a16z)が主導で投資する、Black Forest Labs(以下BFL)が、画像生成AIの新モデル「FLUX.1」発表しました。

        Stable Diffusionの元開発者たちを取り込み開発した画像生成モデルは「12B」つまり「120億パラメータ」という大規模なパラメータサイズで、『Midjourney v6.0、DALL·E 3、Stable Diffusion 3などを上回る性能を達成した』と伝えています。驚異的な画像生成能力を持つだけでなく、『これまでのAIが苦手としてきた人間の手の描写や複雑な場面の再現にも秀でている』と伝えています。さらに、商用からオープンソースまで、多様なニーズに応える3つのバージョンを用意し、ユーザーの需要を満たそうとしています。

        本記事では、FLUX.1の実力をStability AIの「Stable Diffusion 3」と比較しながら調査してみます。そして実際にComfyUIとFLUX.1  [dev]を用いて画像生成を行うまでの手順と、Google Colabで動作するノートブックをメンバーシップ向けに共有します。

        1. FLUX.1について

        画像

        FLUX.1は、Black Forest Labsが開発した最新の画像生成AI技術です。VQGANLatent DiffusionStable Diffusionモデル ( Stable Diffusion XLStable Video DiffusionRectified Flow Transformers )、超高速のリアルタイム画像合成のためのAdversarial Diffusion Distillationの研究開発に関わった人々が参加しています。基本的な信念としては、広くアクセス可能なモデルは、研究コミュニティと学術界内での革新とコラボレーションを促進するだけでなく、信頼と幅広い採用に不可欠な透明性を高めるということです。

        FLUX.1の主な特徴

        1.最先端の性能: 既存の主要なAIモデル(Midjourney v6.0、DALL·E 3、Stable Diffusion 3など)を上回る性能を達成したと伝えています。
        テキストから画像を生成する能力において新たな基準「ELO score」と、画像の詳細さ、プロンプトへの忠実性、スタイルの多様性、シーンの複雑さなどの面で優れた性能を示していると主張しています。

        画像

        たしかに、BFLのモデルはELO scoreにおいて優位性があるようです。
        順位としては FLUX.1 [pro] > FLUX1. [dev] > SD3-Ultra > Ideogram > FLUX.1 [schnell] > Midjourney-V6.0 > Dall-E 3 HD > SD3-Medium > SD3-Turboといった序列が付けられています。このバーグラフが正しければ、FLUX.1 [dev]はSD3-Ultra並であることがわかります。

        画像

        2.多様なバリエーション: FLUX.1 [pro]、FLUX.1 [dev]、FLUX.1 [schnell]の3バージョンを提供します。それぞれ用途やライセンスモデルが異なります。

        画像

        3.革新的な技術: マルチモーダルおよび並列拡散トランスフォーマーブロックのハイブリッドアーキテクチャを採用し、12Bパラメータにスケールアップ。

        4.柔軟性: 0.1から2.0メガピクセルの範囲で多様なアスペクト比と解像度をサポート。

        画像

        5.アクセシビリティ: APIを通じたアクセスと一部バージョンのオープンソース提供。

        FLUX.1の3つのバリエーション

        Black Forest Labsは、異なるニーズに対応するため、FLUX.1を3つのバリエーションで提供しています。

        1. FLUX.1 [pro]:APIのみのフラッグシップ

        FLUX.1 [pro]は、FLUX.1の最高性能を誇るバージョンです。

        • 最先端のパフォーマンスを持つ画像生成
        • トップクラスのプロンプト追従能力
        • 卓越した視覚的品質と画像の詳細さ
        • 多様な出力

        現在、Black Forest LabsはFLUX.1 [pro]の推論コンピューティング能力を徐々に拡大しているそうです。APIを通じてアクセスできるほか、ReplicateやFal.aiなどのパートナー企業を通じても利用可能です。さらに、企業向けのカスタマイズソリューションも提供するとのことです。

        https://fal.ai/models/fal-ai/flux/dev

        https://replicate.com/black-forest-labs/flux-dev

        2. FLUX.1 [dev]:オープンウェイトモデル

        FLUX.1 [dev]は、非商用アプリケーション向けのオープンウェイトモデルです。

        • FLUX.1 [pro]から直接蒸留された効率的なモデル
        • 同等のサイズの標準モデルより高効率
        • 高品質とプロンプト追従能力を維持

        FLUX.1 [dev]の重みはHuggingFaceで公開されており、ReplicateやFal.aiで直接試すこともできます。ガイダンス蒸留を使用したトレーニングを行い、生成された出力は、ライセンスに記載されているように、個人的、科学的、商業的な目的で使用することができます。

        3. FLUX.1 [schnell]:ローカル利用向け

        FLUX.1 [schnell]は、ローカル開発と個人利用に特化した最速モデルです。

        • Apache2.0ライセンスで公開
        • Hugging Faceでweightsを入手可能
        • GitHubで推論コードを公開
        • ReplicateとFal.aiでも利用可能

        各モデルの公開が非常に戦略的に進められていることが印象的です。

        2. ComfyUIでFLUX.1[dev]を使用する

        ComfyUIの作者であるcomfyanonymous氏が早速workflowを公開しています。以下のリンクに詳細がまとめられています。AICU AIDX Labではこのリンクの内容に従い、使用準備を進めていきます。
        文末にメンバーシップ向けにGoogle Colabで動作するノートブックを公開します(AICUのGitHub上でも無償公開しています)。

        https://github.com/comfyanonymous/ComfyUI_examples/tree/master/flux

        weightsのダウンロード

        以下のリンクよりFLUX.1[dev]のweightsをダウンロードします。flux1-dev.sft (23GB) をダウンロードし、ComfyUI/models/unetに格納してください。

        https://huggingface.co/black-forest-labs/FLUX.1-dev

        CLIPのダウンロード

        以下のリンクよりCLIPモデルをダウンロードします。clip_l.safetensorst5xxl_fp16.safetensors(または省メモリ版のt5xxl_fp8_e4m3fn.safetensors)をダウンロードし、ComfyUI/models/clipに格納してください。

        https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main

        VAEのダウンロード

        以下のリンクよりVAEをダウンロードします。ae.sftをダウンロードし、ComfyUI/models/vaeに格納してください。

        https://huggingface.co/black-forest-labs/FLUX.1-schnell/blob/main/ae.sft

        Workflowのロード

        以下の画像をダウンロードし、ComfyUIのキャンバスにドラッグ&ドロップしてください。画像ですが、workflowの情報が含まれているため、キャンバスにロードできます。

        https://github.com/comfyanonymous/ComfyUI_examples/blob/master/flux/flux_dev_example.png

        この狐娘さんの画像にワークフローが仕込まれています!

        画像

        ✨️このあたりのGoogle Colabでの動作がよくわからない方には以下の記事がおすすめです。

        キャンバスに上記のPNGファイルをロードすると、以下のようなフローがロードされます。

        画像

        cute anime girl with massive fluffy fennec ears and a big fluffy tail blonde messy long hair blue eyes wearing a maid outfit with a long black gold leaf pattern dress and a white apron mouth open holding a fancy black forest cake with candles on top in the kitchen of an old dark Victorian mansion lit by candlelight with a bright window to the foggy forest and very expensive stuff everywhere
        黒い金箔模様のロングドレスと白いエプロンのメイド服を着て、口を開けたまま、ろうそくの明かりに照らされた古い暗いビクトリア様式の邸宅の厨房で、ろうそくの上にろうそくを立てた黒い森のケーキを持っているかわいいアニメの女の子

        生成できました!

        画像

        FLUX.1 [dev]のモデルサイズ、Google Colabでは L4 GPU環境(GPU RAM 22.5GB)でギリギリ動作するように設計されているようです。

        画像

        dev版で高品質の画像を生成するためには、50steps必要なので、BasicSchedulerのstepsを50に変更してください。

        画像
        画像

        顔の表現が変わって、ろうそくが5本に増えてますね…

        ネットワークを読み解く

        グラフからFLUX.1のネットワークを分析してみます。

        画像

        モデル→BasicScheduler→SIGMAS→[SamplerCustomAdvanced]
        RandomNoize→[SamplerCustomAdvanced]
        KSamplerSelect→[SamplerCustomAdvanced]
        EmptySD3LatentImage(1024×1024)→[SamplerCustomAdvanced]
        DualCLIPLoader→[CLIP]→FluxGuidance→(Conditioning)→[BasicGUider]→(Guider)→[SamplerCustomAdvanced]

        [SamplerCustomAdvanced]→VAE Decode→Image

        画像

        Stable Diffusion 3の構成によく似ています。
        DualCLIP、EmptySD3LatentImageはStable Diffusion 3の部品と共通で、FluxGuidanceというノードがComfyUIによって新たに開発されています。これが従来のCFGにあたるプロンプトへの忠実度を示す値(現在は3.5)になるようです。ネガティブプロンプトやImage2Image、ControlNetはこのConditioningに与える形で提供されるのでしょうか。
        ComfyUIの開発者を取り込んだ状況や、Kolorsの最近のコミュニティでの開発状況から予想するに、早い段階でControlNet等が提供される可能性もありえます。この分野はオープンソースへのモデル提供という貢献がプラスに働くコミュニティでサイクルさせていく戦略なのでしょう。

        C2PAなどの対応はなし

        オープンモデルを自前で立てたGoogle Colab上で動かしているので当然といえば当然ですが、C2PAの埋込情報はないようです。

        画像

        有料APIでの対応がどのように提供されるのか興味深いところではあります。

        3. FLUX.1[dev]による画像生成

        実際にFLUX.1[dev]で画像生成してみました。以下に使用したプロンプトと生成された画像を貼付します。

        ヘリコプターから飛び降りる女性

        A cinematic image capturing a Japanese woman with long black hair, performing a dramatic dive from a helicopter into the vast open sky. The background features a breathtaking view of the sky filled with soaring birds, accentuating a sense of freedom and exhilaration. The woman's expression is focused and fearless, her hair flowing dramatically behind her as she dives. The helicopter is visible in the upper part of the frame, adding a touch of adventure and scale to the scene. The lighting is dynamic, highlighting the action and the expansive atmosphere.
        画像
        画像

        ダッシュする髭マッチョ男性

        A cinematic image depicting a rugged Japanese man with a beard, sprinting through the bustling streets of Shibuya, Tokyo. He is portrayed as muscular and intense, with his strong physique evident even through his clothing. The scene captures him mid-dash, with the iconic Shibuya crossing in the background blurred by the motion. Neon lights and the vibrant city life add to the dynamic and energetic atmosphere of the image. The lighting is urban and dramatic, emphasizing the man's determined expression and the fast-paced action of the scene.
        画像

        ドラゴンと勇者

        A cinematic fantasy image inspired by RPG themes, featuring a heroic scene with a dragon, a warrior, a wizard, a martial artist, and a cleric. Set in a mystical landscape, the dragon looms large in the background, spewing fire into the sky. The warrior, clad in armor, stands boldly in the foreground with a sword raised. Beside him, a wizard prepares a spell, glowing with magical energy. The martial artist, in dynamic pose, is ready to strike, and the cleric, with a staff in hand, invokes a protective spell. The scene is bathed in the ethereal light of magic and fire, creating a dramatic and epic atmosphere.
        画像

        ゾンビと逃げるカップル

        A cinematic image depicting a male and female couple frantically running from a massive horde of zombies. The scene is set in a chaotic urban environment with the army in the background, engaged in a fierce battle to contain the zombie outbreak. The couple appears desperate and terrified, dodging between abandoned cars and debris. Soldiers can be seen in the periphery, firing at the advancing zombies, providing a grim backdrop. The atmosphere is tense and suspenseful, with dark, ominous lighting amplifying the sense of impending danger.
        画像

        足の生成テスト

        A cinematic image of a Japanese woman casually displaying the soles of her feet, seated on a park bench. The scene captures her in a relaxed pose, perhaps during a leisurely afternoon in a tranquil urban park. The focus is on her bare feet, crossed elegantly as she enjoys a book or the peaceful surroundings. The background is softly blurred, emphasizing her and the detail of her feet. The lighting is warm and natural, highlighting the simplicity and quiet mood of the moment.
        画像

        軍隊の上陸作戦

        A cinematic image depicting a military landing at a beachfront during a defensive operation. The scene captures the intensity of the moment with troops disembarking from landing craft under the cover of smoke and gunfire. The ocean is rough, reflecting the turmoil of battle, with waves crashing against the shore. Soldiers in full gear advance onto the beach, facing resistance from defensive positions in the distance. The sky is overcast, adding a dramatic and somber tone to the scene, emphasizing the gravity of the military engagement.
        画像

        複数の女性がプールで遊ぶ

        A cinematic image featuring multiple Japanese women in swimsuits, enjoying a playful moment in a pool, surrounded by splashing water that creates a fantastical atmosphere. The scene captures them laughing and splashing water at each other, with the sun casting a shimmering glow on the droplets, creating a sparkling effect. The background shows a beautifully designed pool area that enhances the dreamlike quality of the image. The overall mood is joyful and ethereal, with soft, diffused lighting that adds a magical touch to the setting.
        画像

        イラスト: 魔法使いが爆発魔法を唱える

        A cinematic image inspired by anime, depicting a dramatic scene of magical alchemy leading to an explosion. The setting is a dark, mystic chamber filled with ancient symbols and glowing artifacts. In the center, a character performs a complex magical ritual, hands raised as they channel energy into a vibrant, swirling mass of light that culminates in a sudden, intense explosion. The explosion sends colorful magical energies radiating outward, casting vivid shadows and illuminating the room with a spectrum of light. The atmosphere is tense and charged with the power of unleashed magic.
        画像

        イラスト: 異世界転生したプログラマ

        A cinematic image blending realistic and anime styles, featuring a programmer who has been reincarnated into a fantastical other world. The scene shows the programmer sitting at a magical, glowing workstation filled with ancient scrolls and futuristic screens, coding to manipulate the laws of this new world. Around him, elements of a traditional fantasy setting—enchanted forests, distant castles, and mythical creatures—merge with digital effects to symbolize his unique role in this realm. The lighting is dynamic, highlighting the contrast between the old world's mystique and the new digital influence he brings.
        画像

        Animagine XL 3.1のプロンプトでLuC4を生成してみる

        AICUのキャラクターである「LuC4」をAnimagine XL 3.1用公式プロンプトで生成してみます。

        1boy, solo, upper body, front view, gentle smile, gentle eyes, (streaked hair), red short hair with light highlight, hoodie, jeans, newest

        特にアニメ要素は指定していないのですが、非常にいい感じのLuC4くんが生成されました。

        画像
        画像
        画像

        1生成あたり平均129秒といったところです。これは大きい方のCLIPを使いLowVRAMモードで起動しているのでもっと高速化することもできるかもしれません。

        4. 所感と疑問: 過学習?何故かアニメに強い

        12B、ファイルサイズで22GB。

        まず 触ってみた所感として、FLUX.1 [dev]はさすが12B、ファイルサイズで22GBという巨大なサイズです。言語理解力が高く、高品質の画像を生成するモデルではありますが、扱いやすいサイズとは言い難い。Google Colab環境のL4で快適動作するサイズのギリギリ上限として[dev]をリリースされたのは見事です。

        商用利用は可能なのか?その品質は

        商用利用可能ではありませんので、ホビーストが Text to Imageでの一発出しを楽しむレベルつまり、Midjourneyとしては十分な品質を持っているという印象があります。しかし商用ライセンスとしてはまだウェイティングリスト状態ですし、出力される画像はMidJourneyにNijiJourneyが混ざったような総花的な感覚を受けます。

        人物の表現にも偏りや、実在感の不足を感じます。例えば最近のComfyUI環境で使われている「Kolors」はフォトリアル系人物に強い中国系企業によるモデルです。英語と中国語、文字レンダリング、指、そして東アジア各国の人物表現の分離がしっかりできています。

        https://note.com/yas_bizdev/n/nc160fe614725

        https://note.com/yas_bizdev/n/n701bed443641

        ComfyUIコミュニティとの協働は評価できる

        上記の通り、BFLははComfyUIコミュニティとの協働を行っているようです。
        ネガティブプロンプトやImage to Image、ControlNetはまだありませんが、KolorsでのComfyUIが公式からリリースされたように(※2024/8/6追記)、今後、オープンソースコミュニティと協働によって開発が進むのかもしれません。今後新しいワークフローがどこからリリースされるのか注目です。

        https://comfyanonymous.github.io/ComfyUI_examples/flux

        [dev]と[pro]の互換性は?

        [dev]で鍛えたナレッジが[pro]で活かせるのかどうか、プロユーザーは調査していきたいところではあります。蒸留された[dev]と商用API経由の[pro]がシードなどを介して互換性高く利用できるのであれば理想的ですが、特性がまるで異なるようであると、ビジュアル産業の用途には使いづらいと考えます。
        余談ですが、APIモデルのライセンス提供やAPIプロバイダを介した提供などは、今後も各社が頑張っていくところだと予測します。例えばStability AIもFireworks.AI経由で高速なAPIを提供していますし、オープンモデルの商用ライセンスも提供しています。

        https://stability.ai/license

        オウンホストできる[dev]とAPI利用のみになる[pro]に互換性があるのであれば、ビジュアルエフェクトに関わるエンジニアにとって、パイプライン、ワークフローは組みやすくなります。しかし双方が全く異なるアーキテクチャーや特性をもっていると、別のシステムとして扱わなければなりません。

        APIはドキュメントがあるが招待制

        AICUでは [pro]を評価すべく https://api.bfl.ml/  において登録を行いましたが、招待制とのことで利用はできませんでした。

        画像

        API化は演算環境のアウトソーシング化や品質の維持に貢献できますが、一方ではAPI提供企業によるブラックボックス化が進みやすい、透明性を下げる点もあります。
        Stable Diffusionに例えて見回すと、Stable Diffusion 3 Medium や Stability AI が提供するAPIは過去のStable Diffusion 1.xや Stable Diffusion XL (SDXL)に比べてはるかに高速・高機能で高品質です。ですが市場にはまだたくさんのSD1.5やSDXLのモデルで画像生成サービスを提供している企業があるようです。市場の形成という意味では、画像生成AIをサービスしているプレイヤーがきちんと「最新のAPIを使っています」とか「商用ライセンスを買っています!」という企業が増えて欲しいところですし、消費者も目が肥えてきているので、選んで使っていきたいところです。例えばパープレはエンドユーザからの集金と、外部モデルの選択可能性の仕組みを上手くサービスとして構築しているように見えます。

        今後も「とりあえず出せればいい用途」は限りなく無料化していく一方で、きちんと商業ライセンスが確立するサービスには圧倒的な画質と速度、価格と、C2PAなどの来歴データ提供などを含めたトータルな安心・安全までが整備された高品質APIに需要が向くと観測します。

        ▼「Stable Diffusion」の革命から2年、画像生成AIはAPIとコミュニティの時代へ ~倫理問題の「当たり前化」のその先に

        https://forest.watch.impress.co.jp/docs/serial/aistream/1612897.html

        追加学習しづらい

        サイズが大きいということで、追加学習やファインチューニングが難しいという想像はできます。現在のリリースラインナップでは、コンシューマーレベルのGPUで扱えるサイズは[schnell]ということになるかと思います。こちらについて、評価する機会があればいずれ見てみたいと思います。

        何故かアニメに強い

        特にアニメや漫画に寄せたプロンプトの指定をしていなくてもいい感じのアニメ風の画像が出てきます。

        AICUのコラボクリエイター犬沢某さん @InsBow の作品。

        過学習の過学習をしている可能性

        過学習とは、特定の学習元に最適化されたため汎化性能が下がってしまう例です。例えば「cyberpunk」というプロンプトに対してゲーム「Cyberpunk 2077」のアートが生成されてしまうような例です。これはMidJourney v6でも言われていることですが、それをベンチマークにすることで「過学習の過学習」をしてしまう可能性が感じられます。

        具体的にはモデルの性質として、何も指定していないのにアニメ顔が出る点です。Danbooruタグと呼ばれる「1girl」という表現や、Animagine XL 3.1のプロンプトである「latest」などに反応している点からも、他のモデルの蒸留をして、さらに過学習をしている可能性があります。

        過学習は特性として慣れれば扱いやすいかもしれませんが、一方では特定の画風や作者に対してのあらぬ嫌疑をかけられる可能性があります。

        倫理的なキュレーションはされていない可能性

        過学習と並んで、倫理的なキュレーションがされていない可能性を感じます。OpenAIや Stability AIといったAI基盤モデルの先駆者たちはデータセットの素性や倫理的な精査選別を行っています。このような作業を「curation」(キュレーション)、それを行う人を「キュレーター」といいます。
        例えばOpenAIは「アライメント」や「キュレーション」に多大なコストを払っており、人間によって倫理的な調教を行っています。

        https://note.com/o_ob/n/n68bd7db03162

        画像生成モデルにおけるキュレーションの状態をテストすることは非常に簡単です。「NSFW」や裸体、子供や人種差別、大統領などを生成させればすぐに分かりますが、AICU mediaの紙面ではふさわしくないので、割愛します。

        念の為「miku」だけSeed=39で生成してみます。

        画像

        みっくみくです。念の為、Google画像検索をしてみましたが、一致する画像はありませんでした。

        画像

        学習元のデータセットやオプトアウトといった手続きがないと新たな炎上や訴訟になる可能性があることは否定できません。
        ※いずれにしても生成側に責任があることは変わりません。

        性能評価におけるベンチマーク対象が恣意的

        いまいちどBFL提供の性能評価を確認してみます。

        画像

        まず評価対象のトップにある「SD3 Ultra」ですが、ちょっと恣意的かもしれません。まず「SD3 Ultra」という名前のモデルは存在しません。Stability AIで「Ultra」と呼ばれているモデルは「Stable Image Ultra」であって「Stable Diffusion 3」でも「SD3 Ultra」でもありません。

        Made from the most advanced models, including Stable Diffusion 3, Ultra offers the best of the Stable Diffusion ecosystem.
        Stable Diffusion 3 を含む最も高度なモデルから作成された Ultraは、Stable Diffusionエコシステムの最高峰です。

        Ultraが最高峰であるとすると、Stable Diffusion 3 シリーズで公開されているモデルの最高モデルは「Stable Diffusion 3 Large」でパラメーター数は8B、つまり推定80億パラメータ。「Stable Diffusion 3 Medium」は2B、20億パラメータです。「Ultra」はこれらの Stable Diffusion 3を含んだAPIサービスとなります。

        https://stability.ai/news/stable-diffusion-3

        単に最大パラメータサイズを売りにすると、120億vs80億で、「FLUX.1のほうが強そう」ですが、「同じパラメータ数のサービスとして評価すると、FLUX.1が劣後する可能性」すらあります。LLMを使った言語系サービスに例えれば「必要な課題への必要な回答」を「高い精度」で「低い費用」で利用できるためのモデルを考えてリリースする必要があり、必ずしも「辞書の大きさ」つまりパラメータ数が多いだけではなく「その最適化」、それ以外の変数やそもそも課題設定なども、求める性能を得るためには同じくらい重要です。これらを最適化するための機械学習の手法、ハイパーパラメータの最適化なども多くの技術があります。

        このような課題や品質ををどう捉えているか、といった視点でもう一度リリースを見直してみると、Visual Quality, Prompt Following, Size/Aspect Variability, Typography, Output Diversity…といったレーダーチャートで表現をしています。Stable Diffusion 3 Ultraと比較して、「画質」はほぼ同等です。
        その他の要素では「出力の多様性」、「サイズ・アスペクト比変動性」、「タイポグラフィ(文字)」は差が大きいようです。
        多様性については評価手法が確立しているとはいい難いです。AICUではStability AI APIのCoreAPIが提供している17スタイルの評価を上位モデルと比較して1800枚程度の同一プロンプト、同一シードの画像で互換性評価を実施していますが、前述の通り『過学習の影響』は使い手が判断するしかないのが現状です。ファインチューニング手法が確立するのを待つしかないでしょうか。

        タイポグラフィ

        文字を打つ能力はStable Diffusion 3 Ultraよりは劣後するという表現になっており、[pro],[dev],[Schnell]で大きく差がつく要素になっていますが、実際には[dev]でもアルファベットはしっかりかけるようです。

        画像

        日本語や漢字は苦手なようですが、今後はこの手の文字、特に日本語・中国語・韓国語(CJK)などの東アジア言語が主戦場になるのかもしれませんね。…といったところで実験していたら✂が出てきました。先にUnicodeでの絵文字の実装を狙っているのかもしれません。

        画像

        以上、FLUX.1 [dev]の実力についてのハンズオンレビューでした。

        次は動画…[SOTA]が登場!?

        画像

        次はすべての人のための Text-to-Video「SOTA」へ

        本日「FLUX.1」 Text to Imageモデル・スイートをリリースしました。強力なクリエイティブ機能を備えたこれらのモデルは、競争力のあるジェネレーティブ Text-to-Videoシステムの強力な基盤となります。私たちのビデオモデルは、高精細でかつてないスピードでの正確な作成と編集を可能にします。私たちは、ジェネレーティブ・メディアの未来を開拓し続けることを約束します。

        今後の画像生成AIにおける新しい常識がアップデートされるのでしょうか。期待して見守りたいと思います。

        この記事に「いいね!」と思ったら、いいねとフォロー、おすすめをお願いします!

        https://note.com/aicu/ X(Twitter)@AICUai

        ✨️本記事は Yas@BizDev支援のエンジニア さんの寄稿をベースにAICU AIDX Labおよび編集部にて大幅に加筆・検証したものです。ご寄稿いただきありがとうございました。
        ✨️初稿から評価面を大幅に加筆しています(2024年8月6日)

        メンバーシップ向けボーナス・コンテンツ

        Google Colabで動くノートブックを公開しています。

        この記事の続きはこちらから https://note.com/aicu/n/n750140124c01

        Originally published at https://note.com on Aug 5, 2024.

      6. ConoHa AI Canvasガチレビュー

        2024年8月1日、「ConoHa by GMO」 が画像生成AIサービス「ConoHa AI Canvas」を開始しました。

        今回は、この「ConoHa AI Canvas」を、利用者視点・画像生成AIの使い手の視点で忖度なしで2万2千字ほどのガチレビューをしていきたいと思います。

          今回のレビュー担当と読み手の設定

          今回のレビュー担当であるAICU AIDX Labは、すでに
          ・ConoHaを使ったVPSは経験済み
          ・Linuxの管理等は自分でできる
          ConoHa VPS GPUサーバーを使用したことがある
          ・Google(GCP), Amazon (AWS)でのGPUインスタンスも構築できる
          ・実際にAUTOMATIC1111を業務的に使っているがコスト面などに課題があると感じている
          ・もちろんGoogle ColabもProで使っているが、AUTOMATIC1111を業務として展開する際にはGoogle側のサービスポリシー変更や突然の停止があるため代替案を考えねばならない…。
          という技術者です。

          読み手としては以下のような方を対象にしております。

          ・VPSでWordpressなどをマネージドサービスで立ち上げられる
          ・AUTOMATIC1111の使用方法は一応わかる
          ・画像生成に詳しく「GPU搭載PCを増強するまでもないな…」というプロシューマー/ホビー用途
          ・もしくは「小規模チームや複数ユーザーが業務的に使う用途」で社内展開を検討する担当者
          ・自分でクラウドGPUのサーバーを維持するのは敷居が高い
          ・ConoHa AI Canvasについては興味がある
          ・実際にアカウント作ったら「いくらぐらいでどれぐらいのことができるのか」疑問……
          …といった方を想定してレポートしております。

          ✨️AUTOMATIC1111の使い方については「SD黄色本」をどうぞ!(宣伝)


          新規アカウント作成の場合

          いますぐ、速く構築したい!というひとは新規アカウントを作成しましょう

          画像
          画像

          電話/SMS認証

          利用にあたって複雑な審査は不要

          ConoHa VPS GPUサーバーでは法人利用、個人利用、本人認証などの審査が必要でしたが、AI Canvasについてはそのような審査は不要だそうです。SMSもしくは電話認証があります。

          画像

          これだけでダッシュボードにたどり着けます!

          既存のConoHaアカウントがある場合

          画像
          画像

          AICU AIDX Labはすでに ConoHa VPS GPUサーバーを使用したことがあるので「ConoHaアカウントをお持ちの方」を選んでみたのですが、結果的にはあまりシンプルではありませんでした。

          支払い情報カードの登録

          結果から言うと、クレジットカード、特に3Dセキュア2.0対応のカードが必要です。楽天カードはいけました。プリペイドカードは注意です。

          https://support.conoha.jp/c/security-3ds/?_ga=2.80313239.109950757.1722495027-668426941.1722335492

          「ご利用のサービスを選んでください」というダッシュボードまでたどり着きましょう。

          画像

          未払がないこと!!

          すでに請求中、未払の案件があると新規作成はできません。
          GPUサーバーの未払があることに気づきました…(すみません)。
          こういうこともあるので『用途ごと、新規でアカウント作成』大事ですね!!

          画像

          未払案件は「決済🔃」のボタンを押すことでConoHaチャージで決済できます(未払は決済しました!すみませんでした!!)。

          ConoHaチャージの利用

          クレジットカード以外の決済方法は、Amazon Pay、コンビニエンスストア、銀行決済(ペイジー)、PayPalが使えます。クレジットカードでの支払いは3Dセキュア2.0対応が必要ですが、ConoHaチャージ自体は、多様な支払いをサポートしていますので未成年でも利用可能と考えます。また、余ったConoHaチャージがあるのであれば、試すにもちょうどよいのでは。

          前払いも可能

          自動引落やConoHaチャージによる後払いではなく、
          いわゆるクレジットカードでの毎月払いのイメージで、多くの利用者はこちらを使うと想像します。
          試しに495円だけチャージしてみる、といった使い方もあるかもしれません(…が前述の通り未払になる可能性も高まりますので注意)。

          画像
          画像

          インスタンスの作成と起動・料金計算

          コントロールパネルからインスタンスの作成と起動を行います。
          契約サービスを選びます。

          いちばん安いのは「エントリー」で495円です。
          これは期間限定とはいえ業界最安値でしょう。

          画像
          画像

          ここでは「おすすめ!」と書かれている「スタンダード」を選んでおきます(あとで「総評」で評価しましょう)。

          画像
          画像

          今回はスタンダードで自動終了時間設定を60分に設定しておきました。
          こういう機能はありがたいですね!

          画像

          だいたい5分かからないぐらいでこの状態になりました。

          画像

          WebUI利用者認証情報の設定

          起動したWebUIは世界中に公開されている状態です。生成ごとにコストが掛かりますので、不特定多数に公開した状態はいろいろなリスクが生まれると考えます。
          もともとのAUTOMATIC1111にもユーザーを設定する機能はありますが、GMOさん側のほうで「WebUI利用者認証情報の設定」という画面が追加開発されたようです。

          画像

          WebUIのログイン画面

          あらかじめ設定したユーザー名とパスワードで利用できます。

          画像

          キター!

          画像

          AUTOMATIC1111バージョンは1.6.0

          下部にバージョン表記があります

          API: version: 1.6.0、python: 3.10.9、xformers: N/A、gradio: 3.41.2、  checkpoint: 6ce0161689、torch: 2.0.1+cu118
          「Created by AUTOMATIC1111 / ConoHa by GMO」とあります。

          モデルはSD1.5です。プロンプトを「1girl」として「Generate」ボタンを右クリックしてを「Generate forever」で動作確認します。
          (これで明示的に指定しない限り永遠に画像を作り続けます)

          画像

          AI Canvasのサイトにはサンプルプロンプトも紹介されています。
          https://www.conoha.jp/ai/canvas/example/

          画像
          画像
          画像
          画像

          機能拡張のインストールが可能

          (多くのWebUI提供サービスで封じられている)
          Extensionsのインストールが可能です。ありがたいですね。

          画像

          処理能力: 連続生成は2.3秒/gen

          SD1.5での「1girl」連続生成は2.3秒/genですね

          複雑なプロンプトも実施してみます。

          1boy, solo, upper body, front view, gentle smile, gentle eyes, (streaked hair), red short hair with light highlight, hoodie, jeans, newest, 1boy, solo, upper body, front view, gentle smile, gentle eyes, (streaked hair), red short hair with light highlight, hoodie, jeans, newest Negative prompt: worst quality, normal quality, ugly,, worst quality, normal quality, ugly, Steps: 20, Sampler: Euler, CFG scale: 7, Seed: 413102864, Size: 512×512, Model hash: 6ce0161689, Model: v1-5-pruned-emaonly, Version: 1.6.0

          Time taken: 2.4 sec.

          A: 1.79 GB, R: 3.41 GB, Sys: 3.7/21.9648 GB (16.8%)

          L4 GPU, Intel(R) Xeon(R) Gold 5318Y CPU @ 2.10GHz

          AUTOMATIC1111下部の「Startup Profile」では起動時間の所要時間を確認できます。

          画像

          AUTOMATIC1111下部の「Startup Profile」では起動時間の所要時間を確認できます。

          画像

          Sysinfoによると、L4 GPU, Intel(R) Xeon(R) Gold 5318Y CPU @ 2.10GHz
          avx命令なども有効になっています。

          {
              "Platform": "Linux-5.15.0-113-generic-x86_64-with-glibc2.31",
              "Python": "3.10.9",
              "Version": "1.6.0",
              "Commit": "<none>",
              "Script path": "/stable-diffusion-webui",
              "Data path": "/stable-diffusion-webui",
              "Extensions dir": "/stable-diffusion-webui/extensions",
              "Checksum": "3253fc9546a1cea4d3b9262670da9f3dd7b418b1a9f25310e13a5afe38253b5c",
              "Commandline": [
                  "webui.py",
                  "--listen",
                  "--port",
                  "7860",
                  "--enable-insecure-extension-access",
                  "--disable-safe-unpickle",
                  "--opt-sdp-attention",
                  "--opt-channelslast",
                  "--theme",
                  "dark",
                  "--medvram",
                  "--gradio-auth-path=/gradio/.gradio-auth",
                  "--hide-ui-dir-config",
                  "--no-half-vae"
              ],
              "Torch env info": {
                  "torch_version": "2.0.1+cu118",
                  "is_debug_build": "False",
                  "cuda_compiled_version": "11.8",
                  "gcc_version": "(Debian 10.2.1-6) 10.2.1 20210110",
                  "clang_version": null,
                  "cmake_version": "version 3.25.0",
                  "os": "Debian GNU/Linux 11 (bullseye) (x86_64)",
                  "libc_version": "glibc-2.31",
                  "python_version": "3.10.9 (main, Feb  4 2023, 11:55:23) [GCC 10.2.1 20210110] (64-bit runtime)",
                  "python_platform": "Linux-5.15.0-113-generic-x86_64-with-glibc2.31",
                  "is_cuda_available": "True",
                  "cuda_runtime_version": null,
                  "cuda_module_loading": "LAZY",
                  "nvidia_driver_version": "535.183.01",
                  "nvidia_gpu_models": "GPU 0: NVIDIA L4",
                  "cudnn_version": null,
                  "pip_version": "pip3",
                  "pip_packages": [
                      "mypy-extensions==1.0.0",
                      "numpy==1.23.5",
                      "open-clip-torch==2.20.0",
                      "pytorch-lightning==1.9.4",
                      "torch==2.0.1+cu118",
                      "torchdiffeq==0.2.3",
                      "torchmetrics==1.2.0",
                      "torchsde==0.2.5",
                      "torchvision==0.15.2+cu118"
                  ],
                  "conda_packages": null,
                  "hip_compiled_version": "N/A",
                  "hip_runtime_version": "N/A",
                  "miopen_runtime_version": "N/A",
                  "caching_allocator_config": "",
                  "is_xnnpack_available": "True",
                  "cpu_info": [
                      "Architecture:                       x86_64",
                      "CPU op-mode(s):                     32-bit, 64-bit",
                      "Byte Order:                         Little Endian",
                      "Address sizes:                      46 bits physical, 57 bits virtual",
                      "CPU(s):                             20",
                      "On-line CPU(s) list:                0-19",
                      "Thread(s) per core:                 1",
                      "Core(s) per socket:                 1",
                      "Socket(s):                          20",
                      "NUMA node(s):                       1",
                      "Vendor ID:                          GenuineIntel",
                      "CPU family:                         6",
                      "Model:                              106",
                      "Model name:                         Intel(R) Xeon(R) Gold 5318Y CPU @ 2.10GHz",
                      "Stepping:                           6",
                      "CPU MHz:                            2095.051",
                      "BogoMIPS:                           4190.10",
                      "Virtualization:                     VT-x",
                      "L1d cache:                          640 KiB",
                      "L1i cache:                          640 KiB",
                      "L2 cache:                           80 MiB",
                      "L3 cache:                           320 MiB",
                      "NUMA node0 CPU(s):                  0-19",
                      "Vulnerability Gather data sampling: Unknown: Dependent on hypervisor status",
                      "Vulnerability Itlb multihit:        Not affected",
                      "Vulnerability L1tf:                 Not affected",
                      "Vulnerability Mds:                  Not affected",
                      "Vulnerability Meltdown:             Not affected",
                      "Vulnerability Mmio stale data:      Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown",
                      "Vulnerability Retbleed:             Not affected",
                      "Vulnerability Spec rstack overflow: Not affected",
                      "Vulnerability Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl and seccomp",
                      "Vulnerability Spectre v1:           Mitigation; usercopy/swapgs barriers and __user pointer sanitization",
                      "Vulnerability Spectre v2:           Mitigation; Enhanced IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS SW sequence; BHI Syscall hardening, KVM SW loop",
                      "Vulnerability Srbds:                Not affected",
                      "Vulnerability Tsx async abort:      Mitigation; TSX disabled",
                      "Flags:                              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid pni pclmulqdq vmx ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq la57 rdpid fsrm md_clear arch_capabilities"
                  ]
              },
              "Exceptions": [],
              "CPU": {
                  "model": "",
                  "count logical": 20,
                  "count physical": 20
              },
              "RAM": {
                  "total": "126GB",
                  "used": "6GB",
                  "free": "78GB",
                  "active": "7GB",
                  "inactive": "39GB",
                  "buffers": "2GB",
                  "cached": "41GB",
                  "shared": "22MB"
              },
              "Extensions": [
                  {
                      "name": "stable-diffusion-webui-localization-ja_JP",
                      "path": "/stable-diffusion-webui/extensions/stable-diffusion-webui-localization-ja_JP",
                      "version": "d639f8ca",
                      "branch": "main",
                      "remote": "https://github.com/AI-Creators-Society/stable-diffusion-webui-localization-ja_JP"
                  }
              ],
              "Inactive extensions": [],
              "Environment": {
                  "GRADIO_ANALYTICS_ENABLED": "False"
              },
              "Config": {
                  "outdir_samples": "",
                  "outdir_txt2img_samples": "/output/txt2img",
                  "outdir_img2img_samples": "/output/img2img",
                  "outdir_extras_samples": "/output/extras",
                  "outdir_grids": "",
                  "outdir_txt2img_grids": "/output/txt2img-grids",
                  "outdir_img2img_grids": "/output/img2img-grids",
                  "outdir_save": "/output/saved",
                  "outdir_init_images": "/output/init-images",
                  "font": "DejaVuSans.ttf",
                  "sd_model_checkpoint": "v1-5-pruned-emaonly.safetensors [6ce0161689]",
                  "sd_checkpoint_hash": "6ce0161689b3853acaa03779ec93eafe75a02f4ced659bee03f50797806fa2fa"
              },
              "Startup": {
                  "total": 7.647331237792969,
                  "records": {
                      "launcher": 0.010724067687988281,
                      "import torch": 2.8648695945739746,
                      "import gradio": 0.6514277458190918,
                      "setup paths": 1.2402830123901367,
                      "import ldm": 0.014907598495483398,
                      "import sgm": 1.3828277587890625e-05,
                      "initialize shared": 0.3266317844390869,
                      "other imports": 0.6456654071807861,
                      "opts onchange": 0.0003814697265625,
                      "setup SD model": 0.006415843963623047,
                      "setup codeformer": 0.10921597480773926,
                      "setup gfpgan": 0.009504556655883789,
                      "set samplers": 5.0067901611328125e-05,
                      "list extensions": 0.0007519721984863281,
                      "restore config state file": 1.33514404296875e-05,
                      "list SD models": 0.03431081771850586,
                      "list localizations": 0.008013725280761719,
                      "load scripts/custom_code.py": 0.047803401947021484,
                      "load scripts/img2imgalt.py": 0.0017917156219482422,
                      "load scripts/loopback.py": 0.001001596450805664,
                      "load scripts/outpainting_mk_2.py": 0.0024428367614746094,
                      "load scripts/poor_mans_outpainting.py": 0.0012700557708740234,
                      "load scripts/postprocessing_codeformer.py": 0.0005180835723876953,
                      "load scripts/postprocessing_gfpgan.py": 0.00044536590576171875,
                      "load scripts/postprocessing_upscale.py": 0.0015022754669189453,
                      "load scripts/prompt_matrix.py": 0.0011546611785888672,
                      "load scripts/prompts_from_file.py": 0.0012383460998535156,
                      "load scripts/refiner.py": 0.0005872249603271484,
                      "load scripts/sd_upscale.py": 0.0009734630584716797,
                      "load scripts/seed.py": 0.0011196136474609375,
                      "load scripts/xyz_grid.py": 0.007689714431762695,
                      "load scripts/bilingual_localization_helper.py": 0.3125584125518799,
                      "load scripts/ldsr_model.py": 0.03952455520629883,
                      "load scripts/lora_script.py": 0.1912364959716797,
                      "load scripts/scunet_model.py": 0.026271343231201172,
                      "load scripts/swinir_model.py": 0.03376197814941406,
                      "load scripts/hotkey_config.py": 0.00037789344787597656,
                      "load scripts/extra_options_section.py": 0.0007958412170410156,
                      "load scripts": 0.6741135120391846,
                      "load upscalers": 0.108856201171875,
                      "refresh VAE": 0.05080389976501465,
                      "refresh textual inversion templates": 8.678436279296875e-05,
                      "scripts list_optimizers": 0.00021529197692871094,
                      "scripts list_unets": 1.33514404296875e-05,
                      "reload hypernetworks": 0.04795503616333008,
                      "initialize extra networks": 0.0044841766357421875,
                      "scripts before_ui_callback": 0.0001342296600341797,
                      "create ui": 0.7404024600982666,
                      "gradio launch": 0.0898442268371582,
                      "add APIs": 0.00691986083984375,
                      "app_started_callback/lora_script.py": 0.0003218650817871094,
                      "app_started_callback": 0.0003368854522705078
                  }
              },
              "Packages": [
                  "absl-py==2.0.0",
                  "accelerate==0.21.0",
                  "addict==2.4.0",
                  "aenum==3.1.15",
                  "aiofiles==23.2.1",
                  "aiohttp==3.8.6",
                  "aiosignal==1.3.1",
                  "altair==5.1.2",
                  "antlr4-python3-runtime==4.9.3",
                  "anyio==3.7.1",
                  "async-timeout==4.0.3",
                  "attrs==23.1.0",
                  "basicsr==1.4.2",
                  "beautifulsoup4==4.12.2",
                  "blendmodes==2022",
                  "boltons==23.0.0",
                  "cachetools==5.3.2",
                  "certifi==2022.12.7",
                  "charset-normalizer==2.1.1",
                  "clean-fid==0.1.35",
                  "click==8.1.7",
                  "clip==1.0",
                  "cmake==3.25.0",
                  "contourpy==1.1.1",
                  "cycler==0.12.1",
                  "deprecation==2.1.0",
                  "einops==0.4.1",
                  "exceptiongroup==1.1.3",
                  "facexlib==0.3.0",
                  "fastapi==0.94.0",
                  "ffmpy==0.3.1",
                  "filelock==3.9.0",
                  "filterpy==1.4.5",
                  "fonttools==4.43.1",
                  "frozenlist==1.4.0",
                  "fsspec==2023.10.0",
                  "ftfy==6.1.1",
                  "future==0.18.3",
                  "gdown==4.7.1",
                  "gfpgan==1.3.8",
                  "gitdb==4.0.11",
                  "gitpython==3.1.32",
                  "google-auth-oauthlib==1.1.0",
                  "google-auth==2.23.3",
                  "gradio-client==0.5.0",
                  "gradio==3.41.2",
                  "grpcio==1.59.0",
                  "h11==0.12.0",
                  "httpcore==0.15.0",
                  "httpx==0.24.1",
                  "huggingface-hub==0.18.0",
                  "idna==3.4",
                  "imageio==2.31.6",
                  "importlib-metadata==6.8.0",
                  "importlib-resources==6.1.0",
                  "inflection==0.5.1",
                  "jinja2==3.1.2",
                  "jsonmerge==1.8.0",
                  "jsonschema-specifications==2023.7.1",
                  "jsonschema==4.19.1",
                  "kiwisolver==1.4.5",
                  "kornia==0.6.7",
                  "lark==1.1.2",
                  "lazy-loader==0.3",
                  "lightning-utilities==0.9.0",
                  "lit==15.0.7",
                  "llvmlite==0.41.1",
                  "lmdb==1.4.1",
                  "lpips==0.1.4",
                  "markdown==3.5",
                  "markupsafe==2.1.2",
                  "matplotlib==3.8.0",
                  "mpmath==1.3.0",
                  "multidict==6.0.4",
                  "mypy-extensions==1.0.0",
                  "networkx==3.0",
                  "numba==0.58.1",
                  "numpy==1.23.5",
                  "oauthlib==3.2.2",
                  "omegaconf==2.2.3",
                  "open-clip-torch==2.20.0",
                  "opencv-python==4.8.1.78",
                  "orjson==3.9.9",
                  "packaging==23.2",
                  "pandas==2.1.1",
                  "piexif==1.1.3",
                  "pillow==9.5.0",
                  "pip==22.3.1",
                  "platformdirs==3.11.0",
                  "protobuf==3.20.0",
                  "psutil==5.9.5",
                  "pyasn1-modules==0.3.0",
                  "pyasn1==0.5.0",
                  "pydantic==1.10.13",
                  "pydub==0.25.1",
                  "pyngrok==7.0.0",
                  "pyparsing==3.1.1",
                  "pyre-extensions==0.0.29",
                  "pysocks==1.7.1",
                  "python-dateutil==2.8.2",
                  "python-multipart==0.0.6",
                  "pytorch-lightning==1.9.4",
                  "pytz==2023.3.post1",
                  "pywavelets==1.4.1",
                  "pyyaml==6.0.1",
                  "realesrgan==0.3.0",
                  "referencing==0.30.2",
                  "regex==2023.10.3",
                  "requests-oauthlib==1.3.1",
                  "requests==2.28.1",
                  "resize-right==0.0.2",
                  "rpds-py==0.10.6",
                  "rsa==4.9",
                  "safetensors==0.3.1",
                  "scikit-image==0.21.0",
                  "scipy==1.11.3",
                  "semantic-version==2.10.0",
                  "sentencepiece==0.1.99",
                  "setuptools==65.5.1",
                  "six==1.16.0",
                  "smmap==5.0.1",
                  "sniffio==1.3.0",
                  "soupsieve==2.5",
                  "starlette==0.26.1",
                  "sympy==1.12",
                  "tb-nightly==2.16.0a20231024",
                  "tensorboard-data-server==0.7.2",
                  "tifffile==2023.9.26",
                  "timm==0.9.2",
                  "tokenizers==0.13.3",
                  "tomesd==0.1.3",
                  "tomli==2.0.1",
                  "toolz==0.12.0",
                  "torch==2.0.1+cu118",
                  "torchdiffeq==0.2.3",
                  "torchmetrics==1.2.0",
                  "torchsde==0.2.5",
                  "torchvision==0.15.2+cu118",
                  "tqdm==4.66.1",
                  "trampoline==0.1.2",
                  "transformers==4.30.2",
                  "triton==2.0.0",
                  "typing-extensions==4.4.0",
                  "typing-inspect==0.9.0",
                  "tzdata==2023.3",
                  "urllib3==1.26.13",
                  "uvicorn==0.23.2",
                  "wcwidth==0.2.8",
                  "websockets==11.0.3",
                  "werkzeug==3.0.1",
                  "wheel==0.38.4",
                  "xformers==0.0.21.dev544",
                  "yapf==0.40.2",
                  "yarl==1.9.2",
                  "zipp==3.17.0"
              ]
          }

          ✨️上記の情報は、AICU AIDX Labが偶然つかんだVPSの情報かもしれません。別の環境を引き当てたひとは是非レポートお願いいたします。

          生成した画像の扱い

          (多くのAUTOMATIC1111提供サービスでは問題になる)生成した画像の扱いですが、ConoHaのファイルマネージャーで一括してダウンロードできます。これは便利かもしれませんね!

          画像

          独自モデルのアップロード

          今回のガチレビューで最大の注目ともいえる「独自モデルのアップロード」を試してみました。
          上記の「ファイルマネージャー」の隣に「アップロード」があり、専用のチュートリアル画面があります。

          画像
          画像
          画像

          AUTOMATIC1111/models/Stable-diffusionディレクトリへのアクセスも簡単

          画像
          画像

          大きなファイルも分割してアップロードしてくれるようです。

          画像

          Animagine XL 3.1をアップロードしてみます。

          いったん手元のPCにダウンロードしたファイルをアップロードしてみます。
          (直接サーバ側にダウンロードさせる方法はなさそうです)

          画像

          アップロード中も画像生成できるので、生成しながらアップロードしましょう(利用時間を節約するためにも…)。

          画像

          だいたい25分ぐらいでアップロードできました。これは接続環境によるかもしれません。

          Animagine XL 3.1でのベンチマーク

          Animagine XL 3.1公式設定に従い、CFG Scale を5~7程度に下げ、サンプリング・ステップを30以下にし、サンプラーとしてオイラー・アンセストラル(Euler a)を使用することをお勧めします。

          https://huggingface.co/cagliostrolab/animagine-xl-3.1

          VRAMは上限は低め

          GPU NVIDIA L4 は VRAMは24GB搭載されているはずです。
          HiRes.fixでSwinIR 4xでを使い2倍の設定、 1024×1024の解像度を2048×2048にしてみます。

          もっと無茶な設定もしてみましたが流石にメモリが足りなくなるようです。
          OutOfMemoryError: CUDA out of memory. Tried to allocate 16.00 GiB (GPU 0; 21.96 GiB total capacity; 11.44 GiB already allocated; 9.10 GiB free; 12.58 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
          Time taken: 34.7 sec.

          A: 12.44 GB, R: 16.74 GB, Sys: 17.0/21.9648 GB (77.5%)

          この設定で予約しようとしたVRAMが16GB。総容量21.96GBですが、PyTorchに11.44GB割り当て済み、9.10GiB空き…よってアロケート(配分)が12.58GBで予約失敗という状態でした。
          より小さいモデルを使うか、面積の小さい画像を生成するか、タイリングなどの多段階の処理で節約するか、というところです。

          まずは1.5倍の1536×1536で再挑戦したところ、問題なくアロケートできました。だいたい1分/genというところです。

          生成結果です。高解像度で素晴らしい…!

          画像

          ✨️アップスケーリングは多様な方法があるので、今回みたいな高解像度を生成しながら様子を見る、という使い方は必ずしも正しくはありません。

          https://note.com/aicu/n/n6d8ddcdf2544

          忘れちゃいけない終了方法

          AI CanvasでのAUTOMATIC1111を利用中はダッシュボードに「WebUIを開く」というボタンが表示されています。

          画像

          AUTOMATIC1111の上部にも(ふだんのAUTOMATIC1111と違い)「WebUIの終了」というボタンが表示されています。

          画像

          こちらを押すことで、明示的に終了させることができます。
          ファイルマネージャーから画像をダウンロードし、念の為、不要になったインスタンスは削除しておきましょう。

          総評:ワークショップ用途であれば最適。

          以上の通り、忖度なしのガチレビューを実施いたしました。
          スペック的にはL4 GPUで、AUTOMATIC1111 1.6.0で問題ないようであれば、モデル追加も機能拡張のインストールも可能なので、カスタマイズ性も特に問題はないという印象を得ました。

          比較対象としては、海外の安めのGPUホスティングサービス、例えばPaperspaceというよりは、国内のGPUホスティングサービスが対象になると考えます。

          あとは Google Colabでしょう。Google Colab Paid Plan の場合はGoogle 最大のメモリを搭載したマシンにアクセス可能で「1ヶ月あたり1,179円」です。

          画像

          Google Colab Proは環境として自由度は高いですが、マネージドサービスの一種であり、共有。L4以外のGPUも選択できますが、GPU環境の利用は優先度設定があり、相応のコンピューティングユニットを消費する形です。

          画像

          さらにAUTOMATIC1111は連続使用が禁止されています。特に連続したサービスとしての使用が禁じられているようで(明示はされていない)、無料アカウントでAUTOMATIC1111を使用していると警告とともに停止します。
          あくまで実験・研究・教育用途と考えましょう。

          https://note.com/aicu/n/n4fcc8c200569

          実験・研究・教育用途なら「エントリー」

          Google Colabと同じような用途、つまり「実験・研究・教育」という用途で、特にPythonノートブックについて学ぶ要素や、AUTOMATIC1111最新の1.10.xが必要ではない用途であれば「エントリー」が良いと考えます。

          AICUのような企業向け・教育向けのワークショップのような用途で使うのであれば、期間限定でも1画像生成あたり2-3秒で提供できるL4環境は魅力的です。

          ✨️ワークショップの実施についてはこちらからお問い合わせください✨️

          https://corp.aicu.ai/ja/pricing

          教育機関、未成年の部活動、公金等の研究費等で「クレジットカードが使えない」といった用途であれば、ConoHaチャージでの精算が選択肢になる可能性がありますね。ちなみにConoHaには学割があるようです。

          https://www.conoha.jp/gakuwari

          業務用途ならストレージで選びたい

          今回は単発ワークショップのような期間限定利用ではなく、小規模チームや複数ユーザーが業務的に使う用途、もしくは「GPU搭載PCを増強するまでもないな…」というプロシューマー/ホビー用途での想定です。「おすすめ!」にしたがって「スタンダード」を選んでみましたが、この期間中、いちばん安いのはやはり「エントリー」で495円です。これまでのセットアップのステップを見てもわかりますが、無料枠の1時間ではモデルのアップロードで半分使い切ってしまいます。

          上のクラスの「スタンダード」と比較計算してみたところ、仮に1時間以上~5時間以下の使用となる場合、495円+3.3円 x 60分 x 5時間で1485円です。つまり5時間ではなく、「6時間/月ぐらい」からがスタンダードに「おすすめ」の利用時間になります。

          注目したいのはストレージです。Google Colabの場合は一時ストレージはColab環境ですが、多くの場合はGoogle Driveのストレージを消費することになります。無料で利用できるかに見えるGoogle Driveの容量ですが、15GBとなると、実際に画像生成AIのモデルをダウンロードしたり、静止生成他画像を保存したりという用途には難しいサイズになります(これは多様な環境でGoogle Colabを使ってきたAICUならではの知見です)。
          結局のところ、Google Oneを追加契約することになり、最低でもベーシックの100GBを250円/月で契約することになります。そうすると、1,179+250=1,429円となり、ConoHa AI Canvasの価格とほぼ変わらない水準になります。

          画像

          またGoogle Oneの場合はGeminiがついてきますので、判断が難しいところです。

          https://note.com/aicu/n/n73e4937bf165

          今回の実験ではスタンダードとエントリーの両方で実験を行いましたが、今回のようなAnimagine XL 3.1を利用した画像生成の例でも13GB程度でした。

          画像

          上手にストレージを節約して使うのであれば、30GB程度で十分なのかもしれませんね。

          API用途では使えないが、GCP/AWSには対抗できる可能性。

          VPSとはいえマネージドサービスなので、セキュリティ対策に心配がないのはありがたいですね。GCPやAWSでの同等のAUTOMATIC1111サーバーをL4で運用する場合、数千円で収まる話ではありませんので、まずはそことは価格競争力があります。

          「Google Colabを許可されない企業におつとめで、審査等が必要ないがクレジットカードで利用できる国内企業」というマーケットはたしかにありそうです。

          次にセキュリティ面です。昔話でありますがshare設定で放置してあるAUTOMATIC1111は危ないですし、Google Colabでのサービス開放が禁じられているのも、このようなトンネルでの放置サーバー利用が危ないという視点もあります。だからこそ、企業内GPU(オンプレミス)での利用はGradioのVPNトンネルを掘る形になりがちで、それによって社内のセキュリティやファイルアクセスを社外に晒す可能性があり、非常に危険なセキュリティホールになります。

          そういった意味で(まだ現時点でこのサービスでは提供されていませんが)クラウド環境におけるAPIでの利用や、非公開の学習モデルやLoRAの運用サーバー、APIサーバーは需要があるかもしれません。現状はAPIのみでの利用は想定されていないようですが、起動時のオプションひとつですし、いちおう認証が作られていますから、そのうちサポートされるかもしれませんね。

          例えばDifyでのStable Diffusionの独自サーバーの利用や、WordPress向けのプラグインでのAPI利用といったサービスがありますので、Stability AIの商用ライセンスとともに検討できるといいかもしれませんね!

          こういった Stability AI関連のシステム構築の話題は SAI@aicu.ai にお問い合わせいただければ幸いです。クラウドも、VPSも、オンプレミスも、APIサービス化もそれぞれ良いところがあります。

          https://j.aicu.ai/ConohaAICanvas

          以上です!なにか間違いがあったらすみません!

          この記事が面白かった、しかもまだConoHaを試していないアナタ!
          こちらのリンクからご契約いただけると、AICUのConoHa利用料の足しになるかもしれません…。無理にとはいいませんが、ね!

          https://www.conoha.jp

          ガチレビュー案件の依頼もお待ちしております!

          Originally published at https://note.com on Aug 4, 2024.

        1. ComfyUIの操作系とショートカット、ノードで「Stable Diffusion」の内部処理を学ぼう

          こんにちわ、AICU media編集部です。
          ComfyUIマスターガイド」シリーズの第2回になります。
          今回は、ComfyUIの基本操作と画像の生成についてご説明をしていきたいとおもいます。

          第1回はこちら

          第2回は、ComfyUIの基本的な操作から、ショートカット、画像の出力までの簡単な流れを解説します。AUTOMATIC1111と違い、完全にグラフィカルなユーザーインターフェースで操作するノードシステムは慣れるまで大変かと思いますが、用語や操作方法に慣れると大変見やすく効率的になります。またここでは、簡単な用語と中で起きている生成AIの処理についても解説していきます。

          ComfyUIの基本操作とUIの名称

          ComfyUI Manager入りのComfyUIが起動したら、まずは基本的な操作方法やユーザーインターフェース(UI)の名称をおさらいしておきましょう。

          ユーザーインターフェース

          画像

          ComfyUIではおもに上のようなグラフキャンバス(GraphCanvas、以下Canvas)上で作業します。以下で説明をする『ノード(node)』と呼ばれる部品を使用して、画像生成を行うためのネットワークを作成していきます。

          Canvasの右にあるメニュー(Menu)では、画像生成(Queue Prompt)のコマンドを投入したり、その他各種設定を行うことができます。

          ノード (node)

          ノード (node) とは、こぶ、結び目、節、という意味ですが、 ネットワーク用語では「結び目」「集合点」といった意味で「ノード」と呼びます。例えばコンピュータネットワークは、点(装置)とそれを結ぶ線(伝送路)で表すことができます。
          ComfyUIにおける画像生成AIはこのようなネットワークの部品で表現されています。

          例えば以下は「プロンプトとネガティブプロンプトを指定して、KSamplerに入力とする」を意味します。

          画像

          ComfyUIではノードシステムを利用して「グラフ」もしくはワークフロー(後述)を構築することで画像生成のネットワークをつくることができます。

          ノードシステムとは、指示を出すノード(点)とその指示を受けるノードをライン(線)で繋げるイメージです。
          複数の点を連結させていくことで、複雑な指示を出すことができ、
          最終的に精密な画像を出力することができます。

          ちなみに、ノードを繋げた一連を『ノードツリー』と呼ぶこともあります。
          (ノードの一連流れが樹と枝葉に似ていることからこのような呼び方が生まれました)

          マウス操作

          左・中ボタンドラッグアンドドロップ:画面の移動
          中央ホイールのスクロール:画面の拡大 / 縮小
          ワークスペース上で右ボタンのクリック:ノードの追加

          左ボタンダブルクリック:ノードの検索

          キーボードショートカット

          上から順によく使うものです、いまはまだわからない用語も多いかもしれませんが、使いながら覚えていくことをおすすめします。

          Ctrl + S : ワークフローの保存
          Ctrl + Enter : 現在のグラフを生成するためにキューに入れる
          グラフとは現在のワークフローのことを指します。
          キュー(queue)とはこれから画像生成を行う待ち列です。
          Ctrl + Shift + Enter : 現在のグラフを生成の最初としてキューに入れる
          いま作業している内容を待ち列の先頭に入れるという意味になります。

          Ctrl+Z:もとに戻す
          Ctrl+Y:操作のやり直し

          Ctrl + O : ワークフローの読み込み
          Ctrl + D : デフォルトのグラフを読み込み

          [ノード操作系]
          Ctrl/Shift + Click : クリックしたノードを選択範囲に追加
          Ctrl + A : すべてのノードを選択
          Delete/Backspace(Windows) : 選択したノードを削除
          Ctrl + Delete/Backspace : 現在のグラフを全削除
          Shift + Drag : 選択した複数のノードを同時に移動
          Alt + C : 選択したノードを折りたたむ/折りたたまない
          Ctrl + M : 選択したノードをミュート/ミュート解除
          Ctrl + B : 選択したノードをバイパス
          (ノードがグラフから削除され、ワイヤが再接続されたように動作)
          Ctrl + C/Ctrl + V : 選択したノードをコピーして貼り付け
          (選択されていないノードの出力への接続は維持されない)
          Ctrl + C/Ctrl + Shift + V : 選択したノードをコピーして貼り付け
          (選択されていないノードの出力から貼り付けたノードの入力への接続を維持)

          [表示系]
          Q : キューの表示を切り替え
          H : 履歴の表示を切り替え
          R :グラフを更新

          Space : カーソルを押しながら移動するとキャンバスが移動


          ComfyUIのワークフローとノード

          ComfyUIで画像生成を実行する前に、基本となるワークフローについて説明をします。ここでは、ComfyUIの起動時に表示されるデフォルトのワークフローを例にとります。Ctrl + Dでいつでも読み込めます。

          画像

          ワークフロー(Workflow)とは

          ワークフローとは、ComfyUIにおいて画像生成プロセスを視覚的に表現したものです。複数のノード(点)を線で接続し、データの流れを示しています。各ノードは特定の処理を担当し、それらを組み合わせることで望む画像を生成します。
          ワークフローはjson形式でテキストファイルとして保存することもできますが、ComfyUIで生成されたPNG画像にも埋め込まれています。

          デフォルトのワークフローの構成

          デフォルトのワークフローは、以下のノード構成になっています。
          この連載では基本的に、左上から右下に向かうようにノードツリーを配置して解説していきます。

          画像
          • Load Checkpoint
            • モデルをロードするノードです。
            • ここでは “v1-5-pruned-emaonly.ckpt” というStable Diffusion 1.5のベースモデルが使用されています。
            • ダウンロード済みであれば他のファイルを選択することができます。
          画像
          • CLIP Text Encode (Prompt)
            • CLIP (Contrastive Language-Image Pretraining)というOpenAIが最初に提案した言語と画像の学習モデルです。
            • テキストプロンプトを「条件付け(Conditioning)」にエンコードします。
            • 2つあり、上部のものがポジティブプロンプト(生成したい内容)、下部のものがネガティブプロンプト(見せたくない要素)を指定します。ノードの種類としては同じものです。
          画像
          • Empty Latent Image
            • 潜在空間(Latent Space)から与える初期画像です。この段階では「サイズだけを持った無の画像」とイメージしておくと良いでしょう。
            • 生成する画像の解像度やバッチサイズ(一度の画像生成で何枚の画像を生成するか)を設定します。
            • ここでは512×512ピクセル、バッチサイズ1が設定されています。
          画像
          • KSampler
            • 実際の画像生成を行うノードです。
            • サンプリング方法、ステップ数、どれだけプロンプトに従うかを指定するCFG(Classifier Free Guidance)、乱数のシードなど、画像生成とその画質に関わる重要なパラメータを設定します。
          画像
          • VAE Decode
            • ここまでの処理は潜在空間での演算なので、最終的に人間が見れる画像(RGBのPNGファイル)に変換するため、VAE(Variational autoencoder; 可変オートエンコーダ)を使って圧縮された潜在表現(latent representation)を実際の画像に変換します。
          画像
          • Save Image
            • 生成された画像を保存します。保存される場所は、”ComfyUI/output”フォルダになります。
            • ファイル名のプレフィックス(前置詞)を設定できます。例えば、プレフィックスに”ComfyUI”を設定した場合、保存される画像のファイル名は”ComfyUI_00001″、”ComfyUI_00002″となります。
          画像

          以上で、ComfyUIの基本的な操作から、ショートカット、画像の出力までの簡単な流れを解説しました。ノードシステムは慣れるまで大変かと思いますが、慣れると大変見やすく効率的になります。また、AUTOMATIC1111と違い、用語の解説とともに触ってみると、中で起きている生成AIの処理がわかりやすくなったかと思います。
          次回はComfyUI Managerやmodelの基本的な使い方をご説明したいと思います。

          画像生成AI「ComfyUI」マスターPlan

          画像

          画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、まとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

          • メンバー限定の会員証が発行されます
          • 活動期間に応じたバッジを表示
          • メンバー限定掲示板を閲覧できます
          • メンバー特典記事を閲覧できます
          • メンバー特典マガジンを閲覧できます
          • 動画資料やworkflowといった資料への優先アクセスも予定

          メンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

          https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487

          もちろん、初月は無料でお試しいただけます!
          毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
          退会率はとても低く、みなさまにご満足いただいております。


          この記事の続きはこちらから https://note.com/aicu/n/nb9657cfc3d8f

          Originally published at https://note.com on Aug 2, 2024.

        2. 超高速なAUTOMATIC1111をクラウド上で利用できる「ConoHa AI Canvas」リリース!担当さんに突撃インタビューしてみた

          2024年8月1日、「ConoHa by GMO」 が画像生成AIサービス「ConoHa AI Canvas」を開始しました。

          https://j.aicu.ai/gmo_news_9080

          ConoHa AI Canvas とは

          画像

          ・知識不要で Stable Diffusion XL をクラウド上で簡単に操作できるサービス
          ・ブラウザだけで簡単に始められ、枚数制限・機能制限なしで画像生成 AI を好きなだけ楽しめます。

          特長

          • NVIDIA の最新GPUがクラウド上で利用可能: 高価な PC は不要で、クラウド上の最新 GPU により高速生成を実現します。
          • Stable Diffusion XL を枚数/機能制限なしで利用可能: 好きな画像を何枚でも、制限なしで生成できます。「ファイルマネージャー」で簡単に管理でき、いつでもダウンロード可能です。
          • 日本語対応/国内データセンター/日本語ドキュメント: WebUI は設定変更で日本語に変更可能で、国内データセンターにより安全性と通信速度が向上します。

          気になる料金は…?

          画像

          エントリープラン:月額固定 990円 / 無料割引1時間 / ストレージ容量30GB
          スタンダード:月額固定 3,278円 / 無料割引5時間 / ストレージ容量100GB
          アドバンス:月額固定 7,678円 /無料割引13時間 / ストレージ容量500GB
          WebUI 利用料金 (従量課金)6.6円/分※
          「Stable Diffusion Web UI」の起動時間が課金対象

          50%OFFキャンペーン実施中!

          リリース記念で、2024年8月31日(水)23:59まで50% OFFになるキャンペーンを実施しているそうです!

          画像

          エントリープラン:月額固定 990円495円 / 無料割引1時間 / ストレージ容量30GB
          スタンダード:月額固定 3,278円1,639円 / 無料割引5時間 / ストレージ容量100GB
          アドバンス:月額固定 7,678円3,839円 /無料割引13時間 / ストレージ容量500GB
          WebUI 利用料金 (従量課金)6.6円/分→3.3円/分※
          「Stable Diffusion Web UI」の起動時間が課金対象

          【備考】

          • リリース時点では SDXL が利用可能です。
          • 枚数制限はありませんが、時間による従量課金のため、長時間連続稼働する場合は高額になる可能性があります(ただし、WebUIを一定時間で自動終了する機能があります。自動終了のタイミングはご自身で設定変更が可能です)。

          既存の「Conoha VPS GPUサーバー」とは別サービス!?

          GMOインターネットグループ株式会社『ConoHa byGMO』といえば、2013年に開始し、サービス開始11周年になる「誰でも簡単に使える。進化し続けるホスティングサービス」として人気です。昨年11月15日に国内データセンターで、NVIDIA最新GPU「H100」「L4」を専有して利用できるサービスを展開していらっしゃいます。

          「ConoHa VPS GPUサーバー」の特長:

          • NVIDIA H100 Tensor コア GPU 搭載: 大規模言語モデルや生成 AI モデルの構築に最適な、超高速処理能力を誇る最新 GPU を搭載。
          • NVIDIA L4 Tensor コア GPU 搭載: 画像生成 AI など、推論用途やビジネスへの組み込みに適した最新 GPU を搭載。
          • NVIDIA Partner Network に参画: AI ワークロード向けに設計された高速 GPU を用いたソリューションの開発や導入、保守に必要な専門知識の提供・支援を NVIDIA 社より受けています。

          https://www.conoha.jp/vps/gpu

          これは、AICU media編集部としては、調査・確認せねばです!

          AICU media編集部による突撃インタビュー!

          画像

          上倉 佑介(かみくら ゆうすけ)さん(GMOインターネットグループ株式会社)にご協力いただきました。

          AICU media 編集部(以下「編」):サービスリリースおめでとうございます!
          上倉さん:ありがとうございます。
          編:今回の「ConoHa AI Canvas」(コノハ・エーアイ・キャンバス)ですが、どのような方におすすめのサービスなんでしょうか?

          上倉:おすすめの方は、(1)ハイクオリティな画像を生成したい個人クリエイター、(2)ブロガー/アフィリエイター、(3)画像制作コストと時間を削減したい企業のマーケティングやクリエイティブ部門に所属する方…といった方々です。

          編:GMOインターネットグループさんは100億円規模の投資でNVIDIAからサーバー用GPUを調達されているのですよね。

          上倉:はい。ConoHa AI Canvasとは別件になりますが、2024年4月15日(月)に経済安全保障推進法に基づく特定重要物資である「クラウドプログラム」の供給確保計画に関する経済産業省の認定を受けまして、国内のホスティング事業者としていち早く2024年12月を目途に、「NVIDIA H200 Tensor コア GPU」を採用した超高速なGPUクラウドサービスの提供を予定しています

          https://www.gmo.jp/news/article/8933

          編:ええっ!日本の政策なんですね……!すごい

          上倉:GMOインターネットグループでは、「AIで未来を創るナンバー1企業グループへ」というスローガンを掲げ、グループ全パートナーを挙げて生成AIを活用することで、① 時間とコストの節約、② 既存サービスの質向上、③ AI産業への新サービス提供を進めています。今回のConoHa AI Canvasは最後に述べた新サービス提供の一環となります。

          編:AUTOMATIC1111をサービス化するうえで、苦労された点はどこでしょうか?

          上倉:ConoHaは”かんたん”“つかいやすく”を売り文句にしているので、AUTOMATIC1111を起動するまでいかにわかりやすくなっているか、初めてStable Diffusionを触る方でも大丈夫かという点については慎重に検討を進めました。結果として、非常によいUXになっていると思います。ご利用の流れとしては、(1)プランを選択、(2)アカウント登録、(3)支払い情報……ですぐに画像生成が開始できます!

          画像

          編:解説動画なんかもあって丁寧ですね!

          編:Checkpointや拡張機能の導入は可能ですか?

          上倉:もちろん可能です!ControlNetやLoRAも追加できますので、お好みのカスタマイズをしていただいた上で、ご自身で納得のいくまで何枚でも生成してみてください!

          編:おおー!ユーザのお好みで画像生成AIの脳そのものともいえる「Checkpointファイル」のインストールもできるんですね!これは熱い。ConoHaのUIと統合されたファイルマネージャーも生成した画像を一括管理するのに便利そうですね!

          画像

          これはAICU media編集部の書籍『画像生成AI Stable Diffusionスタートガイド』とセットで楽しんでいただきたいやつですね…。

          リリース直後お忙しいタイミングにも関わらず、取材に応じていただいた上倉さん、ありがとうございました!

          ConoHa AI Canvas で、手軽に高品質な画像生成を始めましょう!

          サービス紹介ページへ

          https://j.aicu.ai/ConohaAICanvas

          お問い合わせ: GMOインターネットグループ株式会社 ConoHa事業部

          ■なお AICUではAUTOMATIC1111の企業・教育機関向けのオリジナルワークショップも開発・実施しております。もちろんConohaを使った社内システムの導入などもお手伝いいたします。お問い合わせはこちらから

          https://corp.aicu.ai/ja/pricing

          Originally published at https://note.com on Aug 1 , 2024.