投稿者: media

  • [ComfyMaster17] アウトペインティングで、画像の枠を超える!

    画像サイズの [枠]ワクにとらわれず、さらに広大な世界を描きたいと思ったことはありませんか?
    ComfyUIのOutpainting(アウトペインティング)機能を使えば、既存の画像をキャンバスのように拡張し、周囲の景色や状況をAIが自動的に生成してくれるのです。画像の境界線を越えて、新たなストーリーを紡ぎ出すことができます。漫画やバナー画像をつくるときにとても便利です。

    こんにちわ、AICU media編集部です。
    ComfyUI マスターガイド」第17回目になります。
    本記事では、ComfyUIのOutpaintingの基本的な使い方から、具体的なワークフロー、そしてその無限の可能性についてご紹介します。

    前回はこちら

      1. Outpaintingとは

      Outpainting(アウトペインティング)は、既存の画像の境界を超えて拡張し、新しい視覚的要素を生成する画像処理技術です。これは、元の画像のコンテキストを維持しながら、画像の外側に新しい内容を追加することができます。

      ▼[参考]Automatic1111での利用例

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

      例えば、上下左右に50pxの拡張をする場合、以下のようになります。拡張部は、元画像のコンテキストに従った内容になっています。

      画像

      2. Outpaintingワークフロー

      それでは、Outpaintingのワークフローを作成していきます。
      ✨️便利なGoogle Colabノートブックとサンプルjsonファイルは文末にて✨️
      ここでは、以下の画像を縦に拡張してみます。

      画像

      最終的なワークフローは以下になります。

      画像

      さて、自分でアウトペインティングのワークフローを作ってみましょう!

      • メニューの「Load Default」をクリックし、標準のワークフローをロードした状態にします。モデルはstable-diffusion-xl-base-1.0を使用します。
      画像
      • 次に「Load Image」ノードを追加し、「choose file to upload」から対象の画像をアップロードします。
      画像
      • 次に空白をダブルクリックして「Pad Image for Outpainting」を追加し、「Load Image」の出力「IMAGE」と、「Pad Image for Outpainting」の入力「image」を接続します。
      画像
      • 「Pad Image for Outpainting」では、left、top、right、bottomにピクセル単位で拡張するサイズを指定できます。また、feathering(フェザリング)は、画像の端をぼかして滑らかに周囲と馴染ませる技術です。outpaintingでは、元の画像と新しく生成した部分の境界をなめらかにつなぐために使用されます。今回は、topに200px、featheringに100pxを指定しました。
      • 拡張部分にあまり大きな値を設定しすぎないことがコツです!
      • とはいえ小さすぎると描画できない要素(この場合は雲)もあるので調整しながら何回か生成するのがオススメです。
      画像
      • 次に「VAE Encode (for Inpainting)」ノードを追加し、「Pad Image for Outpainting」ノードの出力「IMAGE」「MASK」を、それぞれ「VAE Encode (for Inpainting)」ノードの入力「pixels」「mask」に接続、「Load Checkpoint」ノードの出力「VAE」「VAE Encode (for Inpainting)」ノードの入力「vae」に接続します。
      画像
      • 次に「VAE Encode (for Inpainting)」ノードの出力「LATENT」「KSampler」ノードの入力「latent_image」に接続します。
      画像
      • これで生成する準備が完了しました。
      • 上のCLIP(ポジティブプロンプト)に拡張したい画像のプロンプトとして「blue sky, cloud」を設定します。
      • 「Queue Prompt」をクリックし、生成を実行します。以下が生成結果です。しっかり上部に拡張されていることがわかります。
      画像
      • 次は「Pad Image for Outpainting」ノードの「left」に512pxを設定し、横長に画像を拡張してみました。
      画像
      • 拡張した画像に対して、さらに繰り返し拡張を加えていくことも可能です。以下の画像は、上側の拡張を数回行ったものになります。
      画像

      3. まとめ

      ComfyUIのOutpainting機能は、画像編集の可能性を大きく広げる画期的なツールです。シンプルな操作で、画像の境界線を越えて世界を拡張し、想像力豊かな表現を実現することができます。風景写真の拡張、イラストのストーリー展開、漫画制作、バナー画像制作、あるいは全く新しい画像の創造など、その用途は多岐に渡ります。ぜひ、ComfyUIのOutpaintingを試して、あなたのクリエイティビティを解き放ち、新たな表現の世界を切り開いてください。

      次回は、image-to-imageの方法を紹介します。乞うご期待!

      X(Twitter)@AICUai もフォローよろしくお願いいたします!

      画像生成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?from=self

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


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

      Originally published at https://note.com on Sept 17, 2024.

    1. BlendAI第1回ファンミーティング潜入レポート!デルタもん誕生秘話から新キャラ「ガンマミィ」、さらに壮大な計画まで明らかに!

      2024年9月14日に行われた、AIキャラクター「デルタもん」を開発するBlendAIのファンミーティングに参加してきました!今回はその内容を熱量たっぷりでお届けします。

      設立わずか1年! 怒涛のスピードで成長を続けるBlendAI

      まずは、BlendAI CEOの小宮氏、CTOの小坂氏、そしてクリエイティブディレクターの榊氏の3名から熱い想いのこもった挨拶がありました。

      設立は2024年1月と、まだ若い会社ながら、デルタもんの誕生、クラウドファンディングの成功、そして5000万円の資金調達達成など、怒涛のスピードで成長を続けています。

      その原動力となっているのが、「AIとクリエイティブを融合させ、より良いものを生み出し、クリエイターにチャンスを与える」というビジョン。
      特に、コロナ禍で顕在化した「孤独」をAIの力で解決したいという小宮氏の強い想いに、他のメンバーも共感し、プロジェクトはスタートしました。

      コンテンツは以下の通りでした

      • 会社情報
      • 会社のミッション
      • 創業の経緯
      • 創業者のバックグランド
      • デルタもん、およびアルパラプロジェクトについて
      • デルタもんの技術的こだわり、開発秘話
      • 会社全体の戦略
      • B向けサイドでの実例
      • クラファンについて
      • チラ見せ
      • 質問コーナー
      • 写真撮影
      • アンケート
      画像

      創業者のバックグランド

      MCはBlendAI執行役員の中川賢史朗さん

      【出演】
      BlendAI代表 小宮自由さん
      CTO小迫良輔さん
      クリエイティブディレクター榊正宗さん

      画像

      興味深い小宮自由さんのブロックチェーン時代のご経験。

      サトシ・ナカモトのAIを作ったりもしています。

      https://twitter.com/jiyu33/status/1817496621166600212

      デルタもん誕生秘話!
      3Dモデル化で「AIキャラクターの2次創作」を促進

      続いて、デルタもん誕生の舞台裏が明らかに。

      キャラクターデザインを担当した榊(さかき)氏は、著作権問題をクリアするため、あえて手書きでデザイン画を作成し、それを元に3Dモデルを制作したそう。
      その3Dモデルをクラウドファンディングで配布したことで、高精度なLoRA制作が可能となり、多くのクリエイターによる2次創作が促進されました。

      https://blendai.jp/resources

      二次創作用に自由に使える素材を配布しています。

      AICUとしてはコラボコンテストも開催しました!

      デルタもん、およびアルパラプロジェクトについて

      アルファパラダイスプロジェクト始動!
      デルタもんだけじゃない!個性豊かなAIキャラクターが続々登場

      今後の展開として、初めて明かされる「アルファパラダイスプロジェクト」の概要が明らかに。

      画像

      これは、デルタもんを含む4人ずつ6種類、全24体のAIキャラクターを、6つの異なる世界観で展開していくという壮大なプロジェクト。
      しかも、各キャラクターのデザインはそれぞれ異なる絵描きさんが担当し、小説家によるストーリーも用意されるとのこと!

      ・未来編
      ・ファンタジー編
      ・妖怪編
      ・ミリタリー編
      ・モンスター編
      ・神様編

      技術的な難度とその展開についても語られました。

      画像

      AI技術とプロのクリエイターの才能が融合することで、著作権問題をクリアしながら、多様な絵柄と世界観で誰もが安心して2次創作を楽しめる、まさに夢のようなプロジェクトです。

      会社全体の戦略・B向けサイドでの実例

      B向けで開発ノウハウを貯め、C向けへの導入を促す。
      十分な売上とノウハウが溜まったら、C向けに専念する。
      C向けはSaaSの成長戦略を用いて伸ばす。
      それまで皆さんから意見や要望を集める。

      画像

      会話アプリ「CotoVerse」で、デルタもんと会話できる未来がすぐそこに

      ファンミーティングでは、開発中の会話アプリ「CotoVerse」(コトバース)のデモ動画も公開

      画像
      https://youtu.be/dwt44ICxNy4?feature=shared&t=4310

      「CotoVerse」の音声認識・音声合成技術により、デルタもんと自然な会話ができる様子が披露されました。

      デルタもんによる「教育係からケーキ工場に異動になった…」という未来の状況が説明されるハプニングも…!?


      将来的には、ガンマミィをはじめとする他のキャラクターも実装予定で、キャラクター同士の掛け合いなども実現するかも…?

      「ガンマミィ」クラウドファンディング

      まだまだ進化するデルタもん! ガンマミィのクラウドファンディングも間もなく開始!

      9月末、Campfireにて実施予定とのことです!

      画像

      最後に、ガンマミィのイラストがチラ見せされました!
      デルタもんとはまた違った可愛らしい雰囲気で、その詳細な設定や、どんな声で話すのか、今から期待が高まります。

      画像

      ✨️追記:9月16日、キャラクタービジュアルが公開されました✨️

      ガンマミィのクラウドファンディングは近日開始予定とのことなので、気になる方はBlendAIの情報をチェックしましょう!
      BlendAIクラウドファンディングページ
      https://camp-fire.jp/profile/BlendAI/projects

      大盛りあがりの「質疑応答編」

      Q: 小迫CTOがイケボなのは何故?
      A: 自分で関西弁を録音したり…「最初の音声合成モデルは僕の声です」。
      といった質問で始まった質疑応答パートは大盛りあがりでした!

      ・榊さんは「シリーズ構成」を担当しているの?未来編以外は?
      ・AIと作家性について
      ・毎日のXでのデルタもんは誰が?
      AkumaAI公式LoRA
      ・デルタもんの「意外な一面」についての榊さんの感想
      ・「CotoVerse」スピーチモードについて
      ・資金調達5000万円のエピソード
      …などなど…

      まとめ

      AI x クリエイティブで、誰もが「つくる人」になれる未来へ

      BlendAIは、AIとクリエイティブの可能性を追求し、誰もが「つくる人」になれる未来を目指しています。
      デルタもん、そしてアルファパラダイスプロジェクトは、その夢を実現するための第一歩です。

      「つくる人をつくる」をビジョンにするAICUも
      今後の展開から目が離せません!

      関連リンク:

      https://note.com/blendai/n/n7b4f74267468

      Originally published at https://note.com on Sept 16, 2024.

    2. [ComfyMaster16] ComfyUIでImage-to-Image(i2i)を始めよう

      「写真の表情を変えたい」、「イラストをリアルな絵画風にしたい」…
      それ、i2iで実現できます!

      こんにちわ、AICU media編集部です。
      ComfyUI マスターガイド」、いよいよ今回から「Image-to-Image(i2i)編」に突入します。
      この記事では、ComfyUIを使用したi2iの基本から応用まで、実践的なステップを踏んで解説していきます。

      前回はこちら。初回はこちら

      1. Image-to-Image(i2i)とは

      Image-to-Image(i2i)とは、既存の画像を入力として使用し、新しい画像を生成する技術です。元の画像の構造や特徴を保持しながら、新しい要素を追加したり、スタイルを変更したりすることができます。

      ComfyUIでのi2iは、通常の画像生成と同じノードの多くを使用しますが、主な違いは入力に既存の画像を使用することです。この技術は、写真の編集や修正、アートスタイルの変換、キャラクターデザインの変更、風景画の変更や拡張など、幅広い用途に活用できます。

      今回は、インペインティングによる表情の変更と、アニメ調からリアル調へのスタイル変換を解説します。

      2. インペインティングによる表情の変更

      では、実際にComfyUIでi2iのワークフローを構築してみましょう。今回は、以下の画像の表情を変えたいと思います。

      画像
      • ワークフローが埋め込まれたPNG画像(webp形式ではなく)とGoogle Colabでの ComfyUI i2i編ノートブックは文末にて提供しています
      • メニューの「Load Default」をクリックし、標準のワークフローをロードした状態にします。モデルはstable-diffusion-xl-base-1.0を使用します。
      画像
      • 次に「Load Image」ノードを追加し、「choose file to upload」から対象の画像をアップロードします。
      画像
      • ウィジェット用で右クリックし、表示されたメニューから「Open in MaskEditor」をクリックします。
      画像
      • マスク範囲を指定するためのキャンバスが表示されます。
      画像
      • 今回は、表情を変更したいので、顔をブラシで塗りつぶします。
      • 「Thikness(ペンの太さ)」「Opacity(不透明度)」「Color(ペンの色)」は作業用のパラメータです。最終画像への影響はありません。
      • その後、「Save to node」をクリックします。
      • 以下のように顔がマスキングされます。
      画像
      • 次に、「VAE Encode (for inpainting)」ノードを追加します。
      • 「Load Image」の出力「IMAGE」「MASK」を、それぞれ「VAE Encode (for inpainting)」ノードの入力「pixels」「mask」に接続します。
      • 「Load Checkpoint」ノードの出力「VAE」「VAE Encode (for inpainting)」ノードの入力「vae」に接続します。
      画像
      • 「Empty Latent Image」ノードを削除します。
      画像
      • 「VAE Encode (for inpainting)」ノードの出力「LATENT」「KSampler」ノードの入力「latent_image」に接続します。
      画像
      • ポジティブプロンプトを「1girl, smile」に変更します。
      画像
      • これで「Queue Prompt」をクリックし、生成を実行します。以下が生成結果です。表情は変わりましたが、周囲との馴染みが若干悪いです。
      画像
      • 生成結果を調整する際は、「KSampler」ノードの「denoise」の値を調整してください。この値を 1.0から 0.9, 0.8,…と下げていくことで、変化の度合いを調整できます。
      画像

      denoise = 0.8

      画像

      denoise = 0.75

      画像

      ※このパラメーターを 0.8 以下にすると、破綻しやすくなるので段階を踏みながら設定していくことをおすすめします。

      細かな制御をしたい場合はVAE Encode (for Inpainting) のパラメータ「grow_mask_by」も操作するとよいでしょう。

      「grow_mask_by」を小さい値にすると、境界線が目立つようになります。

      画像
      画像

      逆に、「grow_mask_by」を大きな値にすると境界が曖昧になります。なお最大値は64です。大きくすると処理時間が長くなります。

      denoise = 0.9, grow_mask_by = 64, seed = 1

      画像

      バッチ生成してみましょう。
      denoise = 0.9, grow_mask_by = 64, seed = 5

      画像

      3. アニメ調からリアル調へのスタイル変換

      先ほどのワークフローを利用し、アニメ調からリアル調へのスタイル変換をします。ワークフローの変更点としては、以下になります。

      • 顔に掛けていたマスクを外します。今回はスタイルを変えるので、画像全体を対象とするためです。マスクの外し方は、「Open in MaskEditor」でマスク用のキャンバスを開き、左下の「Clear」をクリックし、マスクを削除後、「Save to node」をクリックします。
      画像
      • 「VAE Encode (for inpainting)」ノードを「VAE Encode」ノードに変更します。「VAE Encode」ノードは、「VAE Encode (for inpainting)」ノードからマスクの入力が削除されたバージョンです。
      画像
      • 使用するモデルをRealVisXL_V4.0.safetensorsに変更します。RealVisXLは、実写の描写が得意なモデルで、これを利用することでリアル調のスタイルに変換します。以下のリンクからRealVisXLをダウンロードし、「ComfyUI/models/checkpoints」フォルダに格納してください。

      ※ダウンロード済みの場合は選択するだけになります。

      https://huggingface.co/SG161222/RealVisXL_V4.0/blob/main/RealVisXL_V4.0.safetensors

      • ポジティブプロンプトを「1girl」にします。表情は変えないので、smileは削除します。
      画像
      • 「KSampler」ノードの「denoise」を0.55-0.70程度に設定します。ここは、生成結果を確認しながら調整してください。
      画像
      • ここまでの設定で画像生成してみましょう。以下が生成結果です。元画像からスタイルが変わっていることが確認できます。
      画像

      4. 倫理的考慮事項

      i2iの使用には倫理的な配慮が必要です:

      1. 著作権: 他者の作品を無断で使用しない。特にdenoiseを下げすぎると、依拠性や類似性を意図して侵害することになります。
      2. プライバシー: 個人を特定できる画像の使用に注意
      3. ミスインフォメーション: 偽の画像やディープフェイクなど、誤解を招く画像の作成を避ける
      4. 不適切なコンテンツ: 有害や攻撃的な画像の生成を控える

      画像生成AIの責任は生成者にあります。責任ある使用を心がけ、創造性と倫理のバランスを保つことが重要です。

      ▶画像生成AIクリエイター仕草(v.1.0)

      【参考】AUTOMATIC1111での i2i 関連情報はこちら

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

      5. まとめ

      ComfyUIでのi2i技術は、あなたのクリエイティブな可能性を大きく広げるツールです。基本的なワークフローの構築から始まり、パラメータの微調整、高度なテクニックの適用まで、段階的に技術を磨いていくことで、より印象的で独創的な画像を生成できるようになります。

      最後に、AIを使用した創作活動には倫理的な配慮も必要です。著作権や個人情報の扱いには十分注意し、責任ある利用を心がけましょう。

      この記事を参考に、ComfyUIでのi2i探索を楽しんでください。新しい発見や素晴らしい創作の旅が、あなたを待っています!

      次回は、image-to-image編 第2回「Outpainting機能」を紹介します。
      乞うご期待!

      X(Twitter)@AICUai もフォローよろしくお願いいたします!

      画像生成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?from=self

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

      お楽しみ、メンバー向けボーナストラックには、今回のi2iサンプルワークフローが埋め込まれたPNGファイルと、i2i編で便利な Google Colab用 ComfyUI ノートブック(新作)、さらに今回の内容で使った workflowファイルをお贈りします。もりだくさんです!


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

      Originally published at https://note.com on Sept 15, 2024.

    3. 「Stable Diffusion 3 Medium ファインチューニングチュートリアル」から読んだ Stability AIの「新モデル」

      Stability AI公式ブログで興味深い記事がリリースされました。

      https://stability.ai/news/stable-diffusion-3-medium-fine-tuning-tutorial

      https://ja.stability.ai/blog/stable-diffusion-3-medium-fine-tuning-tutorial

      以下、AICU mediaによるAI+人力翻訳、前半をかなり圧縮しつつ2万字超えでお送りします。

      はじめに

      こんにちは!Stability AI の生成メディアソリューションエンジニア(およびフリーランスの 2D/3D コンセプトデザイナー)の Yeo Wang です。YouTube で私のビデオを見たことがあるかもしれませんし、コミュニティ(Github)を通じて私を知っているかもしれません。個人的には、SD3 Medium をトレーニングしたときにまともな結果が得られたので、完全なファインチューニングと LoRA トレーニングの両方について、いくつかの洞察とクイックスタート構成を共有します。

      対象読者: ファインチューニングに関する基本的な知識を持つエンジニアまたは技術者

      目的: SD1.5/SDXL と Stable Diffusion 3 Medium (SD3M) のファインチューニングの違いを理解し、より多くのユーザーが SD3M でファインチューニングできるようにする

      SD3 のような画像を生成することに興味がありますか?

      <3つのプロンプトと、ベースモデルとファインチューンモデルによる出力画像の例>

      詳細については、このリンクから続きをお読みください。
      また、おまけとして、近日公開予定の画像モデルをこっそり紹介します~🙂

      Yeo Wangさんの熱心な動画と情報密度

      以上のように非常に軽いノリで紹介された短いブログの先には、 Stability AI による膨大な notionページがありました。

      https://stabilityai.notion.site/Stable-Diffusion-3-Medium-Fine-tuning-Tutorial-17f90df74bce4c62a295849f0dc8fb7e

      また紹介されているKasukanraさんのチャンネルには Stable Diffusionの解説動画だけでなく、FLUX.1[dev]によるLoRAの解説動画などもあります。

      画像

      https://www.youtube.com/@kasukanra

      kasukanraさんのチャンネルはイラストレーションを題材にした話題は多いですが、商用キャラクターの模倣や二次創作が多く扱われているわけではないことに注目です。そして非常に情報量が多い!動画も非常に濃密で「倍速で飛ばしてみる」というより「止めてみる動画」という印象です。

      notionに書かれた情報から

      さて、notionに書かれた情報を読み解いていきます。
      Ubuntu環境におけるComfyUIを使ったSD3のファインチューニングに関する情報が、投入するコマンドから学習レート、コンフィグファイルの設定まで細かく記載されています。

      【ご紹介】SDXL時代のLoRAやファインチューニングに関する基礎知識についてはぜひSD黄色本「画像生成AI Stable Diffusionスタートガイド」をご参照ください。

      https://j.aicu.ai/SBXL

      前半はUbuntuでの環境面と「SimpleTuner」のインストールですが、「カスタムコンフィグに戻る」以降の「SimpleTunerでキャプションのドロップアウト機能を使うのと、シャッフルをシミュレートするのとでは、何か違いがあるのでしょうか?」という話題以降が読みごたえがあります。

      In addition, there is a repeats parameter that you may or may not be familiar with depending on whether or not you’ve used other training repositories before.
      repeats duplicates your images (and optionally rotates, changes the color, etc.) and captions as well to help generalize the style into the model and prevent overfitting. While SimpleTuner supports caption dropout (randomly dropping captions a specified percentage of the time),it doesn’t support shuffling tokens (tokens are kind of like words in the caption) as of this moment, but you can simulate the behavior of kohya’s sd-scripts where you can shuffle tokens while keeping an n amount of tokens.
      If you’d like to replicate that, I’ve provided a script here that will duplicate the images and manipulate the captions:
      さらに、以前に他のトレーニングリポジトリを使ったことがあるかどうかによって、馴染みがあるかどうかが分かれるかもしれないrepeatsパラメータがあります。repeatsは、モデルにスタイルを一般化し、オーバーフィッティングを防ぐために、画像(オプションで回転、色の変更など)とキャプションを複製します。SimpleTunerはキャプションのドロップアウト(指定した割合でランダムにキャプションをドロップする)をサポートしていますが、現時点ではトークン(トークンはキャプションの単語のようなもの)のシャッフルはサポートしていません:

      <以下AICU mediaが解説しながら読みやすく翻訳します>
      ★以下、「私」はYeo Wangさんもしくはnotion著者の言となります。

      しかし、kohyaのsd-scriptsの動作をシミュレートすることができます。この場合、n個のトークンを保持しながら、トークンをシャッフルすることができます。

      もしそれを再現したいのであれば、画像を複製してキャプションを操作するスクリプトをここに用意しました:

      import os
      import shutil
      import random
      from pathlib import Path
      import re
      
      def duplicate_and_shuffle_dataset(input_folder, output_folder, dataset_repeats, n_tokens_to_keep):
          # Create output folder if it doesn't exist
          Path(output_folder).mkdir(parents=True, exist_ok=True)
      
          # Get all image files
          image_files = [f for f in os.listdir(input_folder) if f.lower().endswith(('.png', '.jpg', '.jpeg'))]
      
          for i in range(dataset_repeats):
              for image_file in image_files:
                  # Get corresponding text file
                  text_file = os.path.splitext(image_file)[0] + '.txt'
                  
                  if not os.path.exists(os.path.join(input_folder, text_file)):
                      print(f"Warning: No corresponding text file found for {image_file}")
                      continue
      
                  # Create new file names
                  new_image_file = f"{os.path.splitext(image_file)[0]}_{i+1}{os.path.splitext(image_file)[1]}"
                  new_text_file = f"{os.path.splitext(text_file)[0]}_{i+1}.txt"
      
                  # Copy image file
                  shutil.copy2(os.path.join(input_folder, image_file), os.path.join(output_folder, new_image_file))
      
                  # Read, shuffle, and write text file
                  with open(os.path.join(input_folder, text_file), 'r') as f:
                      content = f.read().strip()
      
                  # Split tokens using comma or period as separator
                  tokens = re.split(r'[,.]', content)
                  tokens = [token.strip() for token in tokens if token.strip()]  # Remove empty tokens and strip whitespace
      
                  tokens_to_keep = tokens[:n_tokens_to_keep]
                  tokens_to_shuffle = tokens[n_tokens_to_keep:]
                  random.shuffle(tokens_to_shuffle)
      
                  new_content = ', '.join(tokens_to_keep + tokens_to_shuffle)
      
                  with open(os.path.join(output_folder, new_text_file), 'w') as f:
                      f.write(new_content)
      
          print(f"Dataset duplication and shuffling complete. Output saved to {output_folder}")
      
      # Example usage
      input_folder = "/weka2/home-yeo/datasets/SDXL/full_dataset_neo"
      output_folder = "/weka2/home-yeo/datasets/SDXL/duplicate_shuffle_10_fantasy"
      dataset_repeats = 10
      n_tokens_to_keep = 2
      
      duplicate_and_shuffle_dataset(input_folder, output_folder, dataset_repeats, n_tokens_to_keep)
      画像

      ph070, A rainy urban nighttime street scene features two cars parked along the wet pavement. The primary subject is a sleek, modern silver car with streamlined curves and glistening wheels reflecting the rain-soaked road. The background includes another vehicle—a darker sedan—partially obscured. Illuminated signs with Asian characters suggest a city setting possibly in a bustling nightlife district. The style is distinctly cinematic with a futuristic, neo-noir aesthetic, characterized by moody blue tones and the reflective glow of wet surfaces. The streetlights and the occasional gleam of neon green and orange provide contrast, enhancing the dark ambiance of the city at night. The atmosphere evokes a sense of mystery and quiet anticipation, with the deserted street hinting at hidden stories or events about to unfold.

      では、SimpleTunerでキャプションのドロップアウト機能を使うのと、シャッフルをシミュレートするのとでは、何か違いがあるのでしょうか?

      「ファンタジー・アート」データセットの場合、「キャプション・ドロップアウト」の方が、シャッフリングに比べて、データセットのスタイルをより保つことができると感じた。「Cinematic photo」データセットの場合、キャプションのドロップアウトとシャッフリングの両方の方法は互換性があると感じた。両者について明確な結論を出すことはできなかった。
      とりあえず、`multibackend.json`ファイルで `repeats` の数を `10` に設定し、`config` でキャプションのドロップアウトを `0.25` に設定することで、`repeats` を使う(そしてキャプションをドロップアウトする)ほうに傾いた。

      ★訳注:残念ながら「datasets/SDXL/full_dataset_neo」についての提供はないようですが、貴重なデータセットについての情報があります。

      さらに、データセットについてもう少し詳しく触れておきたい。fantasy art` データセットの場合、解像度が `1024 x 1024` ピクセルの正方形の画像で構成されている。一方、 `cinematic photo` データセットにはあらゆる種類のアスペクト比/解像度があった。私の `multibackend.json` ではトリミングを無効にしている。ある種のヒューリスティックな方法(例えば私のdetect_utils.py)を使ってプリクロッピングを行うことを強くお勧めします。そうでない場合は、`multibackend.json`のオプションの一つを使う必要があります:
      “jsx “crop_style”:”random|center|corner”, “crop_aspect”:「正方形|保存”, “`
      これらは、想定される関心領域に焦点を合わせるのが難しく、理想的ではないようだ。いずれにせよ、デフォルトの `config` でも、私のカスタム `config` でも、トリミングは `false` に設定されているので、私が気にしたことではない。

      ステップの計算

      最大学習ステップ数は簡単な数式で計算できます(単一コンセプトの場合):

      画像

      最大学習ステップ数 = (サンプル数 x 繰り返し / バッチサイズ)x エポック

      • バッチサイズ:1イテレーション(繰り返し)のなかで処理されるサンプル数
      • サンプル数:データセット内の総サンプル数
      • 繰り返し回数:何回1エポックでデータセットを繰り返すか
      • Epochs:データセット全体を処理する回数

      例えばここで「fantasy art」データセットには476枚の画像があるとします、ultibackend.jsonの10回の繰り返しに追加する。train_batch_size`を`6`にした。こういう設定の理由は2つあります。

      (1)この値なら、プログレスバーが1秒か2秒ごとに更新されるのを見ることができる。 1回の反復で`6`のサンプルを取ることができるという点で十分な大きさであり、トレーニングの過程でより多くの汎化を行うことができる。

      もし私が30エポックとか欲しいなら、最終的な計算はこうなる:

      画像

      これは多かれ少なかれ「23,800ステップ」に相当します。

      括弧の中の部分「476 x10 / 6」は1エポックあたりのステップ数を表し、793です。

      CHECKPOINTING_STEPS と MAX_NUM_STEPS はそれぞれ 800 と 24,000 に切り上げられます。
      CHECKPOINTING_STEPS はモデルのチェックポイントを保存する頻度を表します。これを800に設定すると、1エポックにかなり近いので、問題ないと思われます。CHECKPOINTING_LIMITは、以前のチェックポイントを上書きする前に保存したいチェックポイントの数です。私の場合、すべてのチェックポイントを保存しておきたかったので、`30`のような高い数値に制限を設定しました。

      複数のコンセプト

      上記の例では、頭に1つの統一的なトリガーワード `k4s4` を持つ単一の概念で学習しています。しかし、データセットに複数の概念/トリガーワードがある場合、ステップの計算は以下のようになります:

      2コンセプトの場合、ステップの計算式は以下のようになります。

      画像

      iコンセプトの場合

      画像

      最後に学習率ですが、これ以上高くすると勾配が爆発してしまうので「1.5e-5」としています。

      画像

      これで重要な設定はほとんどカバーできる。
      ★訳注:質を高めるために変更できる追加設定がいくつかありますので、カスタム設定をご参照ください。

      検証画像を生成する頻度は VALIDATION_STEPS で設定する。私は800(私のデータセットのエポックのステップ数)の1/4である200に設定した。つまり、1/4エポックごとに検証画像を生成することになる。正気度をチェック(sanity check)するために、少なくとも半分のエポックごとに検証画像を生成することをお勧めする。そうしないと、エラーを素早く発見できないかもしれない。

      LR_SCHEDULEとLR_WARMUP_STEPS

      最後に`LR_SCHEDULE`と`LR_WARMUP_STEPS`、
      この場合は`cosine`スケジュールで行いましたが、こんな感じになります。

      画像
      画像

      SimpleTunerはデフォルトのウォームアップを全トレーニングステップの10%に設定している。ここは変更しない。

      ★訳注:Custom SD3 full config.env についても公開されています。

      実際にトレーニングを開始する

      これで `config.env` と `multibackend.json` が適切にセットアップされたので、いよいよトレーニングを実行する。これはルートディレクトリで

      bash train.sh

      で実行します。

      計算能力に関する考察

      上記の実験はクラウドコンピューティングを使って行いましたが、私が提供した`config.env`は、24GBのVRAM GPU(`RTX 4090`)を使った私の個人的なマシンにて(かろうじて)可能です。

      画像
      画像

      モデルをどうするか?

      デフォルトでは、トレーニングが完了すると、以下のようなフォルダ構造になります。

      画像

      ここで理解しておくべきことがいくつかあります。

      1. datasets/models`内の各`checkpoint`ディレクトリにある`diffusion_pytorch_model.safetensors`ファイルが必要です。このファイルの場所は、transformerディレクトリの中です。見ての通り、これはかなり複雑です。最終的なパスは次のようになります: weka2/home-yeo/simpletuner_models/ninth_run/datasets/models/checkpoint-2400/transformer/diffusion_pytorch_model.safetensors` .
      2. diffusion_pytorch_model.safetensors`ファイルは、`ComfyUI`の`Load Checkpoint`ノード内で使用すると動作しません。UNETローダー`を使用するか、新しいバージョンの`ComfyUI`では、`Load Diffusion Model`ノードを使用する必要があります。そのため、これらのモデルを `ComfyUI` の models ディレクトリ内の `unet` ディレクトリにコピーする必要があります: admin/home-yeo/workspace/ComfyUI/models/unet`のようにします。

      これらのモデルを必要な場所に配置するプロセスを効率化するために、`source`と`target`ディレクトリの両方を指定すると、私が書いたシェルスクリプトがこれをやってくれます。

      SOURCE_DIR` と `TARGET_DIR` を置き換えて、モデルを `unet` フォルダに `symlink` します。

      #!/bin/bash
      
      # Source directory where the models are stored
      SOURCE_DIR="/admin/home-yeo/workspace/simpletuner_models/sd3_medium/full_finetune/cinema_photo/03/datasets/models"
      
      # Target directory for symlinks
      TARGET_DIR="/admin/home-yeo/workspace/ComfyUI/models/unet/simpletuner_blog_cine_photo_03"
      
      # Iterate over each checkpoint directory
      for CHECKPOINT_DIR in $(ls -d ${SOURCE_DIR}/checkpoint-*); do
          # Extract the checkpoint number from the directory name
          CHECKPOINT_NAME=$(basename ${CHECKPOINT_DIR})
          
          # Define the source file path
          SOURCE_FILE="${CHECKPOINT_DIR}/transformer/diffusion_pytorch_model.safetensors"
          
          # Define the symlink name
          LINK_NAME="${TARGET_DIR}/${CHECKPOINT_NAME}.safetensors"
          
          # Check if the source file exists
          if [ -f "${SOURCE_FILE}" ]; then
              # Create a symlink in the target directory
              ln -s "${SOURCE_FILE}" "${LINK_NAME}"
              echo "Symlink created for ${CHECKPOINT_NAME}"
          else
              echo "File not found: ${SOURCE_FILE}"
          fi
      done
      
      echo "Symlinking complete."

      https://note.com/api/v2/attachments/download/9d30fb4c541e9cd984f438650e9b5db0

      https://note.com/api/v2/attachments/download/0c7b9738a3800c72eeb35a479839d54e

      ベストチェックポイントの決定

      最適なチェックポイントを決定する方法は、特定のプロンプトのチェックポイント番号をX軸にプロットする。つまりこんなかんじ。

      画像
      画像
      画像
      画像

      これを行うために、私はComfyUIワークフローのAPIバージョンをロードするカスタムスクリプトを使用しています。保存(API形式)ボタンをクリックすれば、どんなワークフローでもAPI形式で保存できる。私はすでにあなたの使用のために上のバージョンを保存しました。もしComfyUI APIの使い方についてもっと詳しいビデオガイドが必要であれば、昨年作った動画がここにあります。

      ComfyUIが起動していることを確認してから、以下のスクリプトを実行する。また、スクリプトを実行する場所と同じ場所に`.env`ファイルをセットアップする必要があります。

      import os
      import json
      import random
      from urllib import request
      import datetime
      from PIL import Image, ImageDraw, ImageFont
      import time
      import re
      import urllib.error
      
      from dotenv import load_dotenv
      load_dotenv()
      
      # Configuration
      api_workflow_dir = os.getenv("API_WORKFLOW_DIR")
      finetune_dir = os.getenv("FINETUNE_DIR")
      
      api_workflow_file = os.getenv("API_WORKFLOW_FILE")
      api_endpoint = os.getenv("API_ENDPOINT")
      image_output_dir = os.getenv("IMAGE_OUTPUT_DIR")
      font_ttf_path = os.getenv("FONT_TTF_PATH")
      
      comfyui_output_dir = os.getenv("COMFYUI_OUTPUT_DIR")
      
      api_endpoint = f"http://{api_endpoint}/prompt"
      
      workflow_file_path = os.path.join(api_workflow_dir, api_workflow_file)
      workflow = json.load(open(workflow_file_path))
      
      current_datetime = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
      relative_output_path = current_datetime
      
      directory_creation_timeout = 3000  # Timeout for directory creation in seconds
      image_generation_timeout = 30000  # Timeout for image generation in seconds
      
      def get_checkpoint_number(filename):
          match = re.search(r'checkpoint-(\d+)', filename)
          if match:
              return int(match.group(1))
          match = re.search(r'/checkpoint-(\d+)/', filename)
          if match:
              return int(match.group(1))
          return None
      
      def get_most_recent_output_folder(base_dir):
          folders = [f for f in os.listdir(base_dir) if os.path.isdir(os.path.join(base_dir, f))]
          if not folders:
              return None
          return max(folders, key=lambda f: os.path.getctime(os.path.join(base_dir, f)))
      
      def process_safetensors(safetensor_dir, workflow):
          print(f"Scanning directory: {safetensor_dir}")
          
          last_dir = os.path.basename(os.path.normpath(safetensor_dir))
          
          all_items = os.listdir(safetensor_dir)
          
          safetensor_items = [f for f in all_items if f.endswith('.safetensors')]
          
          safetensor_items.sort(key=lambda x: int(x.split('-')[1].split('.')[0]))
          
          print(f"Found items: {safetensor_items}")
          
          for item in safetensor_items:
              unet_name = f"{last_dir}/{item}"
              
              print(f"Processing: {unet_name}")
      
              unet_loader_node = workflow["273"]
              unet_loader_node["inputs"]["unet_name"] = unet_name
      
              checkpoint_num = item.split('-')[1].split('.')[0]
              
              save_image = workflow["275"]
              filename_prefix = f"checkpoint-{checkpoint_num}"
              save_image["inputs"]["output_path"] = relative_output_path
              save_image["inputs"]["filename_prefix"] = filename_prefix
      
              success = queue_prompt(workflow)
              if not success:
                  print(f"Failed to queue prompt for checkpoint {checkpoint_num}")
              else:
                  print(f"Successfully queued prompt for checkpoint {checkpoint_num}")
      
          if not safetensor_items:
              print("No .safetensors files found in the directory.")
          
          return len(safetensor_items)
      
      def create_image_strip(safetensor_dir, image_folder, output_filename):
          safetensor_files = [f for f in os.listdir(safetensor_dir) if f.endswith('.safetensors')]
          safetensor_files.sort(key=get_checkpoint_number)
          checkpoints = [get_checkpoint_number(f) for f in safetensor_files if get_checkpoint_number(f) is not None]
      
          images = []
          for checkpoint in checkpoints:
              filename = f"checkpoint-{checkpoint}_0001.png"
              filepath = os.path.join(image_folder, filename)
              if os.path.exists(filepath):
                  try:
                      img = Image.open(filepath)
                      images.append(img)
                  except IOError as e:
                      print(f"Cannot open image: {filepath}")
                      print(f"Error: {e}")
      
          if not images:
              print("No valid images found.")
              return
      
          img_width, img_height = images[0].size
          strip_width = img_width * len(images)
          label_height = 50  # Space for labels
          strip_height = img_height + label_height
      
          strip_image = Image.new('RGB', (strip_width, strip_height), 'white')
          draw = ImageDraw.Draw(strip_image)
          font = ImageFont.truetype(font_ttf_path, 20)
      
          for i, (img, checkpoint) in enumerate(zip(images, checkpoints)):
              strip_image.paste(img, (i * img_width, label_height))
              
              label = f"checkpoint-{checkpoint}"
              label_width = draw.textlength(label, font=font)
              label_x = i * img_width + (img_width - label_width) // 2
              draw.text((label_x, 10), label, fill="black", font=font)
      
          strip_image.save(output_filename)
          print(f"Image strip saved to: {output_filename}")
      
      def queue_prompt(workflow):
          p = {"prompt": workflow}
          data = json.dumps(p).encode('utf-8')
          req = request.Request(api_endpoint, data=data, headers={'Content-Type': 'application/json'})
          try:
              with request.urlopen(req) as response:
                  print(f"API request successful. Status code: {response.getcode()}")
                  return True
          except urllib.error.URLError as e:
              if hasattr(e, 'reason'):
                  print(f"Failed to reach the server. Reason: {e.reason}")
              elif hasattr(e, 'code'):
                  print(f"The server couldn't fulfill the request. Error code: {e.code}")
              print(f"API endpoint: {api_endpoint}")
          except Exception as e:
              print(f"An error occurred: {str(e)}")
          return False
      
      def wait_for_directory_creation(directory, timeout):
          print(f"Waiting for directory {directory} to be created...")
          start_time = time.time()
          while time.time() - start_time < timeout:
              if os.path.exists(directory):
                  print(f"Directory {directory} found.")
                  return True
              time.sleep(5)  # Check every 5 seconds
          print(f"Timeout waiting for directory {directory} to be created.")
          return False
      
      def wait_for_images(image_folder, expected_count, timeout):
          print("Waiting for images to be generated...")
          start_time = time.time()
          while time.time() - start_time < timeout:
              if os.path.exists(image_folder):
                  image_files = [f for f in os.listdir(image_folder) if f.endswith('.png')]
                  if len(image_files) >= expected_count:
                      print(f"Found all {expected_count} images.")
                      return True
              time.sleep(5)  # Check every 5 seconds
          print("Timeout waiting for images to be generated.")
          return False
      
      if __name__ == "__main__":
          safetensor_dir = finetune_dir 
          print(f"Finetune directory: {safetensor_dir}")
      
          # Generate images
          expected_image_count = process_safetensors(safetensor_dir, workflow)
      
          absolute_output_path = os.path.join(comfyui_output_dir, current_datetime)
          print(f"Absolute output path: {absolute_output_path}")
      
          # Create the image strip
          if wait_for_directory_creation(absolute_output_path, directory_creation_timeout):
              print(f"Expected image count: {expected_image_count}")
              if wait_for_images(absolute_output_path, expected_image_count, image_generation_timeout):
                  output_strip_filename = os.path.join(absolute_output_path, "output_image_strip.png")
                  create_image_strip(safetensor_dir, absolute_output_path, output_strip_filename)
              else:
                  print("Failed to generate all images in time.")
          else:
              print("Output directory was not created.")
      • サンプルの .env ファイル
      API_WORKFLOW_DIR=/weka2/home-yeo/workflows
      COMFYUI_OUTPUT_DIR = /weka2/home-yeo/ComfyUI/output/
      FINETUNE_DIR=/admin/home-yeo/workspace/ComfyUI/models/unet/simpletuner_09
      API_WORKFLOW_FILE=SD3_SINGLE_BASIC_API_02.json
      API_ENDPOINT=127.0.0.1:8188
      FONT_TTF_PATH=/weka2/home-yeo/fonts/arial.ttf
      BOLD_FONT_TTF_PATH=/weka2/home-yeo/fonts/arialbd.ttf

      結局、私は終了間際のステップ`20,800`でチェックポイントを選びました。

      ギャラリー

      最後にいくつか例を挙げていきます。

      画像
      画像
      画像
      画像
      画像

      LoRA のトレーニング

      (より軽量な)LoRAのトレーニングを試したい場合、これは私が使ったconfigで、まあまあの結果が得られました。完全な微調整の方が品質的には良いようです。LoRAの rank と alpha は export TRAINER_EXTRA_ARGS 内で設定できます。
      ★訳注:カスタムSD3 LoRA `config.env`をご参照ください

      近日発表予定のモデルのチラ見せ

      詳細はまだお伝えできませんが、近日発表予定のモデルの出力のスニークピーク(チラ見せ)です

      a close up three fourth perspective portrait view of a young woman with dark hair and dark blue eyes, looking upwards and to the left, head tilted slightly downwards and to the left, exposed forehead, wearing a nun habit with white lining, wearing a white collared shirt, barely visible ear, cropped, a dark brown background
      黒髪で濃い青の瞳をした若い女性のクローズアップ三四透視図。上を見て左を向き、頭はやや下向きで左に傾いており、額は露出しています。白い裏地のついた修道服に身を包み、白い襟付きシャツを着ており、耳はかろうじて見えています。

      画像

      a front wide view of a small cyberpunk city with futuristic skyscrapers with gold rooftops situated on the side of a cliff overlooking an ocean, day time view with green tones, some boats floating in the foreground on top of reflective orange water, large mechanical robot structure reaching high above the clouds in the far background, atmospheric perspective, teal sky
      海を見下ろす崖の中腹に建つ、金色の屋根を持つ近未来的な高層ビルが建ち並ぶ小さなサイバーパンク都市の正面からのワイドビュー、緑を基調とした日中の眺め、反射するオレンジ色の水の上に浮かぶ手前のいくつかのボート、遠景の雲の上まで届く大きな機械仕掛けのロボット構造、大気遠近法、ティール色の空

      画像

      a medium view of a city square alongside a river, two large red boats in the foreground with cargo on them, two people in a smaller boat in the bottom right cruising along, reflective dark yellow water in the river, a congregation of people walking along the street parallel to the river in the midground, a dark white palazzo building with dark white tower on the right with red tones, golden hour, red and yellow flag in the top left foreground, light blue flag with yellow accents in the right midground, aerial perspective
      川沿いの広場の中景、前景に荷を載せた2隻の赤い大型ボート、右下の小さなボートに乗った2人のクルージング、反射する濃い黄色の川の水、中景に川と平行する通りを歩く人々、右手に赤を基調とした濃い白の塔を持つ濃い白のパラッツォの建物、ゴールデンタイム、左上の前景に赤と黄色の旗、右の中景に黄色のアクセントのある水色の旗、空からの視点。

      画像

      近日公開予定のモデルのスニークピーク まだあまり多くの詳細はお伝えできませんが、近日公開予定のモデルの1人からの出力のスニークピークです:黒髪でダークブルーの目をした若い女性のクローズアップ3/4遠近法のポートレートビュー、上向きで左を向き、頭はやや下向きで左に傾いており、額が露出しています、白い裏地の付いた修道女の習慣を身に着け、白い襟付きシャツを着ており、かろうじて耳が見えています、トリミング済み、ダークブラウンの背景。

      おまけ: オートキャプション

      データセットが準備できれば、上記の手順でモデルのファインチューニングを始めることができますが、結果はデータセットによって大きく異なります。正しくキャプションが付けられた画像を見つけるのは、かなり難しいことです。手作業でキャプションをつけるのは、かなり面倒で、ミスが起こりやすい作業です。ですから、何らかの形で自動化されたソリューションを試してみるのは理にかなっています。

      https://github.com/THUDM/CogVLM

      実際、SD3自身も、キャプションを生成するための事前学習でCogVLM(ビジョン言語モデル)を使用しました。しかし、このモデルを正しく使用するには、多くのVRAM、大規模なデータセット、複雑なワークフローが必要です。そこで、このブログポストでは、小規模なコミュニティの微調整にもう少し適したものに焦点を当てます:JoyCaptionです。JoyCaptionは、新しいモデルの微調整を行うために、コミュニティのメンバーによって開発された積極的なキャプションモデルです。

      https://huggingface.co/spaces/fancyfeast/joy-caption-pre-alpha

      アクセシブルなキャプション・インターフェースで動かすには、TagGUIを使います。このページの指示に従うことで、GUIをインストールし、画像を処理する準備ができます。ただし、いくつか重要なポイントがあります:オートキャプションは(まだ)完全ではないので、自動的な解決策によって、画像の一部が適切にキャプション付けされていないことに気づくかもしれません。このようなミスや問題は、多くのデータを持っていれば多少はかき消すことができますが、ほとんどの趣味人にとっては難しいことでしょう。この場合、何が間違っているのかを理解し、それを反復するために、キャプションを手動で検査する必要があるかもしれない。覚えておいてほしいのは、不正確なキャプションでトレーニングしても、迅速な遵守は期待できないので、この設定に費やす時間は非常に貴重だということです。ここでの反復時間を短縮するために、完全な微調整の前に、データを使っていくつかのLoRAを訓練するとよいでしょう。頑張ってください!

      https://github.com/doloreshaze337/taggui

      kasukanra@GitHubリポジトリ

      https://github.com/kasukanra?tab=repositories

      たくさんのツールが置かれています。

      原作をご提供いただいたYeo Wangさん、ありがとうございました!

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

      Originally published at https://note.com on Sept 14, 2024.

    4. 結果発表!!「デルタもん4コマ漫画コンテスト」

      デルタもんの日常が炸裂!個性豊かな作品が集結!BlendAI特別協賛「デルタもん4コマ漫画コンテスト」応募作品と優秀賞の結果を紹介します。

      AIキャラクター「デルタもん」をテーマにした、「デルタもん4コマ漫画コンテスト」に、たくさんのご応募をいただきありがとうございました!

      個性豊かな作品、なんと 12 作品 も集まりました!
      審査員一同、AI技術を駆使した表現力と、デルタもんの魅力を引き出すユニークなストーリーに驚かされました。

      今回のコンテストは、デルタもんのLoRAを配布したクラウドファンディングの出資者の方々への感謝の気持ちから生まれた企画の第一弾なんです。
      #デルタもん4コマ のハッシュタグを追いかけて、このコンテストを知った方も多いのではないでしょうか?

      コンテストに応募した方も、そうでない方も、X(Twitter)のタイムラインがデルタもんで溢れる様子に、きっと笑顔になったはずです。出資者の方々も、自分の支援がこんなにも素敵な作品を生み出すきっかけになったことを、嬉しく思っていることでしょう。

      さて、話を戻して…今回は、デルタもん4コマ漫画コンテストの応募作品の中から入選した素敵な作品と、受賞作品をご紹介します。

      画像

      コンテストはXの投稿及び応募フォームを用いて実施されています。
      作者からのタイトル、作品解説とともに紹介していきます。

      以下、入選作品です。
      優秀賞は最後に発表します。

      【未来へのΔ(デルタ)コネクション ~衝撃の真実~】 by ともっち

      https://x.com/tomomaga358/status/1827783761502798049

      【概要】この4コマ漫画は、一見普通の日本の高校を舞台に、未来から来たAIアンドロイド「デルタモン」と、謎めいたギャル「ミライ」を中心に展開するSF途中です。の裏に隠された驚くべき真実と、人類とAIの未来を考慮した重大な選択を描いています。
      【コンセプト】ジャンルミックス:学園もの、SF、一時の要素を融合させ、読者を魅了する展開を提供しました。キャラクターの二面性:デルタモンの不安げな様子や、ミライの意味深い態度など、登場人物の顔と裏の顔のギャップを強調しました。テクノロジーと倫理:先進的なAI技術と、それが実現する倫理的ジレンマを探ります。視覚的なコントラスト:現代の学校と未来的な要素(デルタモンの外観、隠された実験室など)を対比させ、違和感と興味を喚起しました。緊迫感の演出:時計の表示や、最後のカウントダウンタイマーなど、時間の切迫感を視覚的に表現しました。内面の葛藤:心の中の冷静、キャラクターの内面の葛藤や緊張感を表現しました。オープンエンド:最後のコマで決断の瞬間を描き、続きへの関心を呼びかけるようにしました。
      【工夫した点】各キャラクターの表情やコマ割りの構図を工夫しました。特に4コマ目のキャラクターアップとカウントダウンタイマーを表示させたところ。ストーリープロンプトを詳細に出力させて描きました。
      オノマトペを入れてさらに臨場感あふれるようにしたところです。

      編集部注:「デルタモン」は「デルタもん」の誤りなのか、アンドロイドの名前なのか不明だったので、そのまま掲載しておりますが、正式名称は「デルタもん」でお願いしますね!


      一見普通の学園生活を送るデルタもん…しかし、その裏には衝撃の真実が隠されていました!
      未来から来たAIアンドロイドという設定を活かしたSF要素、そして謎めいたギャル「ミライ」との関係性など、続きが気になる展開に引き込まれます。

      【5分で大変身!デルタもんのAI漫画チャレンジ】 by ともっち

      画像
      https://x.com/tomomaga358/status/1831305259882606756

      【使用ツール】 •Anifusion: AI漫画生成ツール(4コマの基本ビジュアル、キャラクター、背景作成) •コミPo!: 漫画編集ソフト(吹き出し、テキスト、オノマトペの追加と配置調整) •Claude 3.5 Sonnet: AI言語モデル(ストーリー構成、キャラクター設定、カメラアングル提案、セリフ作成、コマ説明生成) 【概要】 絵が苦手なAIアンドロイド女子高生、デルタもんが、AIツール「Anifusion」を発見し、わずか5分で漫画を作成。絶望から希望、そして成功へと至る過程を、ユーモアたっぷりに描いた4コマ漫画。読者の「私もやってみたい!」を引き出す、AIの可能性を示す作品。 【コンセプト】 「誰でも簡単にAIで漫画が作れる」という現代テクノロジーの魅力を、親しみやすいキャラクターと分かりやすいストーリーで伝える。技術の進歩により変わる創作の形を示しつつ、読者の創作意欲を刺激し、AIツールへの興味を喚起する。 【工夫した点】 •AIツールの魅力を視覚的に表現: 1コマ目:絶望的な落書きから、4コマ目:絵心なしでも漫画完成を達成するまで、劇的な変化を描写 3コマ目:パソコンでAIが生成した漫画の画面をデルタもんのバックに描くことにより視覚的効果とセリフによる生成スピードを強調 •感情を強調するオノマトペ使用: 「ふぅ〜」(落胆)、「ガーン」(驚き)、「かぁぁぁ•••」(感動)、「ドーン」(決意)他あり。 各コマの雰囲気をさらに盛り上げ、読者の感情移入を促進 •キャラクターの一貫性維持: 全コマでデルタもんの特徴(白青の制服、緑の猫耳、青いしっぽ)を統一 感情変化を耳としっぽの動きで表現し、キャラクターの生き生きとした表情を演出 ストーリープロンプトにも反映しました。 •読者目線を考慮した構図: 右上から左下への自然な視線の流れを意識した吹き出しとセリフの配置 3、4コマ目でダイナミックなアングルを採用し、感情の高まりを表現 •ストーリーと視覚表現の調和: AIを活用して各コマの展開がスムーズにつながるよう調整 「絵心ゼロ→AI発見→驚き→成功」という明確な流れで読者の共感を獲得。

      絵を描くのが苦手なデルタもんがAIツール「Anifusion」を使って漫画制作に挑戦!
      わずか5分で完成する様子に、AI技術の進化を感じさせられます。
      読者も「自分も作ってみたい!」と思わせる、AIの可能性を感じさせる作品です。

      【つよつよメンタルデルタもん】 by いぬさわ・ばう@InsBow🐾

      画像
      https://x.com/InsBow/status/1832967748760277383

      あまりにも作品の投稿が少なすぎることに悩んでいるようで悩んでいないデルタもんの日常を描きました。

      応募作品の少なさに動じない、デルタもんのつよつよメンタルっぷりがコミカルに描かれています。Anifusionのみで作られたという点にも注目です。

      【自撮り投稿デルタもん】 by いぬさわ・ばう@InsBow🐾

      画像
      https://x.com/InsBow/status/1832992326006055078

      あまりに投稿が少なすぎるデルタもんが自分でコンテンツを作りはじめるまでの前日譚ですわ
      Anifusionだけで作ってます

      「つよつよメンタルデルタもん」の連作ですね。
      投稿が少ないことに悩み、自らコンテンツを作り始めるデルタもんの姿が描かれています。表情豊かなデルタもんの姿にクスッと笑ってしまう作品です。

      【洞窟探索 日和】 by mounero

      画像

      AniFusionを使っていくつかAIマンガ作品を制作した経験を活かして、 生成ガチャとプロンプトの工夫を頑張りました。LoRAがある デルタもんでのマンガ生成とても楽しかったです。キャラがいい。 クリップスタジオで文字入れするのも楽しかったです。

      AniFusionを使った経験を活かし、生成ガチャとプロンプトを駆使して制作された作品。
      LoRAを活用したデルタもんの表現や、クリップスタジオでの文字入れなど、細部までこだわられています。

      【悪酔いデルタもん】 by いぬさわ・ばう

      画像
      https://x.com/InsBow/status/1833144163258556627

      自分の漫画作品が少なすぎてやけ酒を飲んでいたら、気がつけば自分の漫画を制作しているデルタもんです。

      応募作品の少なさにやけ酒を飲むデルタもん…!?
      酔った勢いで漫画を制作する姿がユーモラスに描かれています。
      自分大好きなのですね!

      【変身せよ!デルタもん熟女】 by 小泉勝志郎

      画像
      画像
      画像
      画像
      https://x.com/koi_zoom1/status/1833509800241729912

      作品概要:デルタもんは現代の熟女出留田文に変身してもらうことで現代に来ようとするが、デルタもんより出留田文の方が視力が良かったために交渉は決裂。しかし、49歳の出留田文には老眼で会社の資料が読めず、デルタもんに変身して資料を読むのであった。
      使用モデル:DucHaitenPonyNoScoreV4
      こだわり:デルタもん、出留田文、変身後デルタもんそれぞれデザインに一貫性があるようにしている。デルタもん、出留田文は個別にLoRAを作成。変身後デルタもんは両方のLoRAを適用して作成。変身シーンは双方のLoRAの割合を調整して生成。 デルタもんはオリジナルデザインに忠実にした。出留田文は49歳に見えるように、アニメ系モデルが苦手な熟女表現をできるようにしている。変身後デルタもんは出留田文がちょっと若返ってデルタもんの服装になりながら出留田文の風味も出るようにしている。

      なんと、熟女 出留田文でるた あや がデルタもんに変身!?
      LoRAを駆使したキャラクターデザインと、細かな若返り制御にも注目です。

      【AIの心得】 by わら

      画像
      https://x.com/wara_hirono/status/1833425252023665148

      デルタもんにアシスタントAIロボ(あまり役に立たない)がくっついていたらおもしろいなと思って描きました

      デルタもんに、ちょっと頼りないアシスタントAIロボが!?
      二人の掛け合いが面白い作品です。
      しかもメイキングとオリジナルキャラクターまで!

      【恐怖のマニフェスト】 by 合同会社オフィスSATOU

      画像
      画像
      画像
      画像

      進次郎記者会見のパロディです。デルタもんならこう言うとおもいました。

      ご応募いただいたみなさま、ありがとうございました!

      優秀賞、作品発表!

      【審査基準】
      ・品質
      ・発想力
      ・物語性

      BlendAI特別協賛「デルタもん4コマ漫画コンテスト
      優秀賞は【AIの心得】 by わら さんです!

      画像

      小宮自由(BlendAI株式会社 代表)コメント:
      たくさんのご応募ありがとうございました。デルタもんをリリースしてから8ヶ月、様々な方々が様々なデルタもんを描いてくれるようになってありがたく思います。すごい尖った作品、技術的にも難度が高く、自分の好きを貫いた作品が出てきたりして、良いことだと思いました。優秀賞には わらさんの作品を選出させていただきましたが、品質、発想力、物語性に加えて「作家性」。手書きを組み合わせることで自分の作品とAIのテクニックを融合させた良いコラボレーションだと思いました。そして何より「ガンマミィ」について触れてくれているのが嬉しかったです!

      白井暁彦(AICU media編集長)コメント:
      たくさんのご応募ありがとうございました。複数の作品を投稿してくださった方や、こだわりのある作品を締め切りギリギリに投稿してくださった方、締切に間に合わなかったけど、Xへ共有してくださった方などAICUのファンと「デルタもん」ファンのコミュニティの温かさを感じるコラボイベントとなりました。優秀賞の作品にはAICUマガジンでの連載オファーが付くこともあり、プロのAIクリエイターとしての視点での評価としての視点も加えさせていただきました。わらさんは「AICUマガジン Vol.4」での掲載経験もありメイキングまで公開頂いていることからも「もっと読みたい…!」という気持ちにさせる作品が作れるクリエイターであることも評価のポイントになっております。

      【優秀賞】Amazonギフト券4444円分+デルタもん4コマ漫画連載オファー獲得となります。おめでとうございます!連載オファーについてはDMにてご相談させていただきます!


      今回ご特別協賛をいただいたBlendAIさんおよびデルタもん原作者・支援者のみなさまに改めまして感謝いたします。

      そして告知です。

      そしてさらに、BlendAIさんが現在開発中の新キャラクター「ガンマミィ」のクラウドファンディングも予定されています!
      クラウドファンディングへの参加を通して、あなたもAIキャラクターの誕生に貢献することができます。そして、完成したLoRAを使って、ガンマミィをテーマにしたコンテストにも参加できます!

      https://camp-fire.jp/profile/BlendAI

      そして、この熱気はまだまだ続きます!

      またAnifusionでのデルタもん公式LoRAの使用方法も紹介されております。

      AICU mediaも次なるAI漫画コンテストを企画中です!

      デルタもん4コマ漫画コンテストに続く第二弾として、AICU主催のコンテストを予定しております!

      AI技術と創造性が融合した、この exciting な流れに、ぜひあなたも参加してください!

      まずは X@AICUai をフォローよろしくお願いいたします!

      #デルタもん4コマ #AICU #BlendAI #AIart #AIマンガ #AniFusion #AImanga #デルタもんイラストコンテスト #DeltaMon

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

    5. 【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(4)AWSで作る! 全部入りAIツール

      2024年9月9日開催の「AWS AI Day」レポート第4弾!今回は、AI Dayで行われたワークショップの様子をお伝えします。

      ▶前回の記事はこちら
      【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(3)突撃!隣のAmazon Bedrockユーザー ~YouはどうしてAWSで?~

      https://aws.amazon.com/jp/events/ai-day

      今回のワークショップの目標は生成AIを用いたアプリケーションをAWS上に構築することです

      生成AIハンズオン:Amazon Bedrock GenUで実践体験

      今回の目玉企画の一つである生成AIハンズオンでは、アマゾン ウェブ サービス ジャパン合同会社 Data & AI 事業本部 シニアAI/MLソリューションアーキテクトの 呉 和仁 氏が解説を担当。

      画像

      参加者は、Amazon Bedrock を用いた生成 AI ソリューションである Generative AI Use Cases JP (GenU) を使用し、AWS Bedrockを使った社内向け生成 AI アプリケーションを実際に体験しました。

      Generative AI Use Cases JP (略称:GenU)

      https://cdn.iframe.ly/0NYhjQa?v=1&app=1

      AICU media編集部も実際に手を動かして、1時間半の時間内に無事、AWSを使って構築できました

      完成したアプリケーション

      完成したアプリケーションの機能を紹介します
      「awsではじめる生成 AI」

      画像

      なんとこれだけの機能が付いてきます

      • チャット
      • RAG(検索拡張生成)チャット
      • 文章生成
      • 要約
      • 校正
      • 翻訳
      • Webコンテンツ抽出
      • 画像生成
      • 映像分析
      • 音声分析
      • 議事録作成
      • ブログ記事作成

      全部入りです。これだけで一般的に利用できるメジャー生成AIサービスの最新バージョンをほぼ網羅していると言っても過言ではありません。
      さらに入力した文章や画像が学習に使われることはありません。アカウントもAWS Cognitoを使って作りますので、メールアドレスやパスワード、その他の認証を使って利用できます。

      画像

      機能詳細

      チャット

      モデルはClaude 3 SonnetとClaude 3 Haikuが使用できます
      履歴は保存されているので後から閲覧可能です

      画像

      プログラムのコードも生成可能です

      画像

      しっかり会話履歴も保存されます

      画像
      画像
      画像

      RAG(検索拡張生成)チャット

      RAG[Retrieval Augmented Generation](検索拡張生成)とは、回答を生成する前にデータベースを検索することで追加学習をさせずに回答の信頼性を向上させる技術です

      今回は内部マニュアルやトレーニング時以降の情報などをS3バケットに配置しています

      AWSにおけるRAGは以下のサイトを参考にしてください

      https://aws.amazon.com/jp/what-is/retrieval-augmented-generation

      これにより休暇の申請方法を根拠となる書類を提示しながら説明するなど、信頼性が向上します。

      画像

      文章生成

      元となる文章を指定されたフォーマットに書き直します

      画像

      プレゼンテーションで使用できるよう章立てにして簡潔にまとめてくれました

      画像

      翻訳

      生成AIを用いた翻訳です

      画像

      Webコンテンツ抽出

      URLから中にあるコンテンツを抽出します

      画像

      画像生成

      左側に日本語の文章で記述すると、右側に画像生成が実行されるという2つの生成AIモデルの合せ技です。
      claude 3 を用いて英語のプロンプトを生成したのち、画像生成します
      画像生成用のモデルとしてStability AI の Stable Diffusion XL (SDXL) とTitan image generatorを選択できます

      画像
      画像

      プロンプトが英語で生成されているのがわかります

      画像

      ※SDXLは1024×1024で学習されているので、サイズ指定は1024×1024を設定したほうが良さそうですね。

      イタズラをしているポメラニアンを描いてみました

      画像
      画像

      映像分析

      カメラからの入力をもとに何が映っているか文章で説明します
      チャットでさらに細かく指示することもできます

      画像

      カメラに写ったものをほぼリアルタイムで解説します。

      音声認識

      マイク入力や音声ファイルから文字おこしをします
      詳細なパラメータを用いればインタビューの文字起こしも簡単にできそうです

      画像

      ユースケース連携の機能について

      上記の機能を組み合わせて使う機能です
      各機能のタブからは使うことができません
      ホームタブのユースケース一覧を一番下までスクロールすると現れる、
      それぞれの試すボタンから使用します

      画像

      ブログ記事作成

      URLをもとに内容を抽出し記事を作成、要約したのちサムネイル画像を生成します

      画像

      抽出した内容とブログを書く際のルールをもとに記事を作成してくれます

      画像
      画像

      さらに生成したブログ記事の本文を要約します

      画像
      画像

      最後にブログ記事に合うような画像を生成します
      その際に要約を用いることでより具体的なサムネイル画像が作成できるようにしているようです

      画像

      デプロイ方法および費用について

      ワークショップ内では、300人という大規模な会場にも関わらず、AWSでのデプロイとAWSクラウドソリューションエンジニアのみなさまによる丁寧なサポートが提供されました。

      画像
      画像

      ★運用時の費用や手順の詳細についてはメンバーシップ向け先行公開および、別の記事で紹介したいと思います。

      最後に新しいAWS認定試験「AWS Certified AI Practitioner (AIF)」や「AWS Certified Machine Leaning Engineer – Associate (MLA)」についての紹介や、お楽しみ、商品つきクイズ大会も!

      画像
      画像
      画像
      画像
      画像
      画像
      画像
      画像

      難問中の難問。
      「3.8」と「3.11」どっちが大きい数字?

      画像

      実際にClaude 3.5 sonnetに訊いてみます。

      画像
      画像
      画像
      画像

      300人を超える参加者が非常に快適で濃密な知識交換をできる機会となりました。
      講演登壇者および運営のみなさまに感謝を記載させていただきます。
      次回は10月31日野開催になるそうです。

      https://aws.amazon.com/jp/events/ai-day

      生成AI時代に「つくる人をつくる」AICUとしては総力をあげて4回特集でお送りいたしました。

      お楽しみいただけましたでしょうか。
      AICU AIDX LabはさっそくAWS Bedrock活用ソリューションを開発・展開を行っております。
      ご相談はこちらまで。
      https://corp.aicu.ai/contact

      https://j.aicu.ai/MagV4


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

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

    6. 【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(3)突撃!隣のAmazon Bedrockユーザー ~YouはどうしてAWSで?~

      2024年9月9日開催の「AWS AI Day」レポート第3弾!
      「つくる人をつくる」AICU mediaでは総力を上げてレポートしております。
      今回は、KDDIアジャイル開発センター株式会社 テックエバンジェリスト、御田 稔(みのるん)氏の講演をピックアップします。

      ▶前回の記事はこちら
      【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(1)新人こそがAI開発のエース!?リクルートの最新事例 #awsAIday

      【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(2)AWS活用企業100以上の生成AI事例に見るビジネスインパクト創出の方程式

      お忙しい方はX(Twitter)でどうぞ!

      KDDIアジャイル開発センター株式会社は、Amazon Bedrock GA直後から生成AIプロダクト開発に活用してきた自社事例を披露。AWSを選んだ理由やエンジニア目線での魅力的な機能について語られました。

      資料公開もされております

      https://speakerdeck.com/player/dc0be998325e47e4b11f49fe747eee0a

      発信の大切さをよくわかっていらっしゃる…!

      画像

      テックエバンジェリスト 御田稔(みのるん)氏

      KDDIアジャイル開発センター株式会社(以下KAG)

      https://kddi-agile.com

      https://kddi-agile.com/news/20240905-01

      画像

      Amazon BedrockのGA直後からいくつもの生成AIプロダクト開発に活用してきた自社事例を紹介しつつ、なぜAWSのAmazon Bedrockを選ぶのか、採用時の自社グループ社内向け対応の工夫、エンジニア向けの一押し機能などをユーザー目線から解説します。

      https://aws-ai-day-jp.splashthat.com

      みのるんさんのご著書 「Amazon Bedrock生成AIアプリ開発入門」

      https://www.amazon.co.jp/dp/4815626448

      【AWS用語】「GA」とは?
      GAはGeneral Availabilityの略。プレビュー(ベータ版)を終えて、一般提供(正式版)に切り替わることを意味する

      KAGでのサービス開発事例

      「生成AIブーム、終りが見えませんね…!」
      「もはやブームを通り越して、生成AIは使って当たり前の技術として定着しつつあります」
      という書き出しからスタートした みのるん氏の講演。

      KAGもAmazon Bedrockを活用しまくっています

      画像
      画像
      画像
      画像

      「現場の感覚が大事」という みのるん氏は、あえて現場に飛び込んでいって課題解決のためのソリューションや社内サービス開発に邁進されております。

      ユーザーから見たAmazon Bedrockのメリット

      ①生成AIをAWSのビルディングブロックの一つとして活用できる
      ②高度な機能がマネージドサービスとして簡単に使える
      ③ユーザーが多いので開発者を確保しやすく、Web上の知見も豊富

      画像
      画像
      画像

      「うちの会社にAIいれるの、大変かも」

      みのるん氏もAmazon Bedrockを社内プロジェクトに導入するうえでは一筋縄ではいかない工夫や苦労をされております。
      KDDIグループや本体での利用環境整備、CCoEと連携して、セキュリティ部門と利用前提を合意。他社の生成AIサービスや、AWS自体はすでに社内導入事例があったため、同様の手続きで利用できるよう事前調整を図りました。
      またAmazon Bedrockのプレビューは1アカウント限定だったため、社内で申請ルールや費用分配の仕組みを速やかに作成し、早い段階でいろんな部署のメンバーが使えるように環境を整備したそうです。

      画像

      選定時によく聞かれる「なぜAmazon Bedrockなの?」

      最新モデルがどんどん採用されていますよね!

      画像

      ぜひ海外リージョンも積極的に活用しましょう

      画像

      エンジニアをワクワクさせる
      Amazon Bedrockのイチオシ機能紹介!

      ①ナレッジベース for Amazon Bedrock

      画像
      画像
      画像

      資料公開ありがたいです!

      ▶AWSの生成AIで社内文書検索! Bedrockのナレッジベースで簡単にRAGアプリを作ってみよう

      https://qiita.com/minorun365/items/24dfb0ea3afde6ed0a56

      ②エージェント for Amazon Bedrock

      第1回のレポートで紹介した自立型エージェントです。

      画像

      マネジメントコンソールから簡単に作れる!とのことで、営業パワポをメールで送ってくれるデモを動画で披露していただきました。

      こちらも資料公開されております。

      【パワポ対応版】資料作成はAIにまかせよう!AWSでBedrockエージェント入門ハンズオン

      https://qiita.com/minorun365/items/85cb57f19fe16a87acff

      ③Amazon Bedrockプロンプトフロー

      7月に登場した新機能。ローコードで直感的にLLMアプリを作成できる

      画像

      https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/flows.html

      実際の開発の中で学んだ生成AIアプリ開発Tips

      AIの推論には時間がかかる。タイムアウトを防ぐには?

      画像

      図表入りのパワポもRAGで活用したい

      画像

      AIエージェントがたまに言うことを聞かない…!

      ▶AWSで生成AIエージェントを操る! 話題のLangGraphにBedrockで入門しよう

      https://qiita.com/minorun365/items/6ca84b62230519d1d0ef

      生成AIって本当に楽しい!

      画像
      画像
      画像
      画像

      さいごに、みのるん氏は
      「内製開発の見返りがめっちゃ大きい」
      「大丈夫まだ間に合います!」
      「自分で手を動かすと解像度めっちゃ上がる!」
      など勇気づけられるメッセージで講演をまとめられました。

      次回のレポートは、ワークショップ編!

      Generative AI Use Cases JP (略称:GenU)

      https://github.com/aws-samples/generative-ai-use-cases-jp

      コーディングなしでサンプルアプリケーションの動作を確認できるだけでなく、アーキテクチャや機能拡張についても学ぶことができ、 多くの参加者にとって、生成AIの可能性を肌で感じられる貴重な機会となりました。

      AWS AI Dayは、生成AIの最新情報や活用事例、そして実践的なノウハウを一度に学べる、非常に充実したイベントでした。

      AWSは、今後も生成AIサービスの拡充や開発者支援を積極的に進めていくとのこと。生成AIの進化はこれからも加速していくでしょう。

      AICUでは、生成AIに関する最新情報や活用事例を分かりやすくお届けします。 ぜひ、今後のイベント情報や記事にもご注目ください!

      #イベントレポート #awsAIday

      Originally published at https://note.com on Sept 11, 2024.

    7. 【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(2)AWS活用企業100以上の生成AI事例に見るビジネスインパクト創出の方程式

      2024年9月9日開催の「AWS AI Day」レポート第2弾!今回は、アマゾン ウェブ サービス ジャパン合同会社 金融事業開発本部長の飯田 哲夫 氏による講演「100 以上の生成 AI 事例に見る ビジネスインパクト創出の方程式」をピックアップします。
      「つくる人をつくる」AICU mediaでは総力を上げてレポートしております。

      ▶前回の記事はこちら
      【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(1)新人こそがAI開発のエース!?リクルートの最新事例 #awsAIday

      生成AI導入企業の課題に切り込む!

      生成AIへの関心が高まる一方で、「具体的な活用方法がイメージできない」「社員の利用率が低い」という悩みを持つ企業も多いのではないでしょうか?

      飯田氏の講演では、AWSが支援する国内100社以上の生成AI導入事例を分析。そこから見えてきた、ビジネスインパクトを創出する「成功の方程式」 が示されました。

      100以上の事例を6つの分野に分類!

      飯田氏は、生成AIのユースケースを「一般的なユースケース」と「業界特化の課題にフォーカスしたユースケース」の2つに大きく分類。さらに、ハイインパクトなユースケースとして、以下の6つの類型に分類しました。

      • データの抽出
      • 商材作成の支援
      • サポート業務の支援
      • パーソナライゼーション
      • 営業活動の支援
      • 審査業務の効率化

      公式「AWS AI Day Tokyo」はこちら!

      生成AIの最前線を探る: 最新事例と実践的ハンズオン
      https://aws-ai-day-jp.splashthat.com/
      2024 年 09 月 09 日 14:00 – 18:00 JST

      今回は、イベント内の講演セッション中盤の刺激的な企業での事例紹介と分類から見えてきた価値ある視点をレポートします。

      100 以上の生成 AI 事例に見る ビジネスインパクト創出の方程式

      アマゾン ウェブ サービス ジャパン合同会社 金融事業開発本部長

      画像

      飯田哲夫 氏による講演は「100 以上の生成 AI 事例に見る ビジネスインパクト創出の方程式」というタイトルでした。

      生成 AI に関心がある企業が増える一方、具体的な活用方法がイメージできない企業は 6 割、さらに導入したものの社員の利用率が 1~2 割に留まる調査結果が報告されています。この結果は、生成 AI の敷居の低さに比べて価値創出の難易度が決して低くないことを示しています。本セッションでは、AWS の 100 社超える国内の生成 AI 本番導入事例と Amazon を含む海外の事例から、効果の高いユースケースと、事例化した企業に共通するビジネスインパクト創出の方程式を解き明かします。

      えっ、25分の講演で「100 以上の生成 AI 事例」なんてどうやって紹介するんだろう!?しかも「具体的な活用方法がイメージできない企業は 6 割、さらに導入したものの社員の利用率が 1~2 割に留まる調査結果が報告」という状況は報道等でも言われている雰囲気ではありますが、どんなAWSマジックがあるのでしょうか、聞く前からワクワクです。

      飯田氏「数十万の日本のAWSのお客さんの中で100事例は少なすぎるぐらい」

      画像

      飯田氏の講演では、まずユースケースを2つに分けました。
      ・業界特化のユースケース
      ・一般的なユースケース

      画像

      さらに様々な産業で共通する「一般的なユースケース」において
      ・顧客体験をさらに高める
      ・従業員の生産性と創造性を加速する
      ・ビジネスプロセスの最適化
      といった軸で具体的な整理が進められました。

      画像

      さらに「業界特化の課題にフォーカスしたユースケース」において
      ・ヘルスケア/ライフサイエンス
      ・製造業
      ・金融サービス
      ・流通/小売
      ・メディア&エンタメ
      といった各業界において具体的な事例を列挙していきます。

      画像

      ハイインパクトなユースケースの類型

      そして「ハイインパクトなユースケースの類型」
      ・データの抽出
      ・商材作成の支援
      ・サポート業務の支援
      ・パーソナライゼーション
      ・営業活動の支援
      ・審査業務の効率化
      という分類が示されました。

      画像

      さてここからは具体的な事例です。

      1社あたり3行程度の事例ですが、具体的な数字を入れつつすごい勢いでインパクトのある事例が紹介されていきます。

      ・データの抽出

      画像

      第一興商:入社1ヶ月の新人が3週間で9割は採用基準を満たす会話記録

      画像

      AWS未経験で入社1ヶ月の新人が3週間でAmazon TranscribeとAmazon Bedrockを利用して検証。約9割は基準を満たす良好な結果。

      ・商材作成の支援

      画像

      パルシステム:マーケティングのための商材作成
      FFB: ユーザーが撮影した写真をSNSへ投稿する際、ハッシュタグの作成キャプションとタグの生成に15分以上要していた。生成AIの適用により作業効率50%以上削減。

      北海道文化放送:FAXで届くリリース情報からニュース原稿の作成フローにAI活用

      画像

      ・サポート業務の支援

      日本製鋼所: 営業応対に活用。開発期間2ヶ月

      画像

      セゾンテクノロジー: HULFT製品のテクニカルサポートエンジニアが回答作成時間を最低30%短縮

      画像

      ・パーソナライゼーション

      パーソナライゼーションではNatWestの事例

      画像
      画像

      ・営業活動の支援

      営業活動の支援ではエフピコさんの事例で日報作成を紹介。

      画像
      画像

      ・審査業務の効率化

      画像

      審査業務の効率化では野村ホールディングスの事例と、FleGrowthでの監査対応トレーニング事例が紹介されました。 ISMS(情報セキュリティマネジメントシステム)認証のために参照する社内規定、マニュアルは100以上。
      一人のエンジニアが3ヶ月でデモを構築、3ヶ月のブラッシュアップでリリース。

      100以上の事例に見る共通点

      これまで6分野に分類して一気にインパクトのあるユースケースを紹介いただきましたが、実はこれらの事例には「共通点」があるそうなのです。

      画像

      ・顧客起点文化: 顧客体験はもちろん社内の営業やカスタマーサポートの人たちの作業評価サイクルがあること。
      ・小規模なチーム: 2-4名もしくは1名
      ・頻繁な実験: 1-3ヶ月で本番稼働

      これらはリクルートの新卒エンジニアチームによる事例もエビデンスと言えると感じました。

      まず始める
      そして加速する

      画像
      画像

      成功事例には、顧客起点の文化、小規模なチーム、頻繁な実験という共通点があることがエビデンスとともに示されました。 汎用性の高いものから、各企業の独自性、業界特有のものへと発展していきます。 飯田氏の講演は「まずはハイインパクトなユースケースから取組み、実験・傾聴・反復のサイクルを加速させましょう」というメッセージでまとめられました。

      画像

      成功企業に共通する「3つのポイント」とは?

      100以上の事例を分析した結果、成功企業には以下の3つの共通点があることが明らかになりました。

      1. 顧客起点文化: 顧客体験はもちろんのこと、社内の営業やカスタマーサポートにおける評価サイクルが確立されている。
      2. 小規模なチーム: 2〜4名、もしくは1名体制でプロジェクトを推進。
      3. 頻繁な実験: 1〜3ヶ月という短期間で本番稼働までこぎつけ、PDCAサイクルを高速で回している。

      これらのポイントは、リクルートの新卒エンジニアチームによる事例からも裏付けられています。

      まずは小さく始めて、高速PDCAで成果を最大化!

      飯田氏は最後に、「まずはハイインパクトなユースケースから取り組み、実験・傾聴・反復のサイクルを加速させましょう」と締めくくりました

      聴講した感想

      圧倒的な事例数と説得力のあるメッセージが印象的な講演でした。

      近い講演が資料が8月に公開されていますが、飯田氏の講演ではさらに事例の追加と整理が進んでいるという印象でした。

      https://speakerdeck.com/player/4e1225d6d4664ad3818cce81a60a4114

      世間一般で言われているような「企業でのAI活用が進まない」というステレオタイプとは裏腹に、かなりのスピード感で一般化しており、また「インパクトのある成果の影にAWSあり」という印象を持つことができました。

      圧倒的な事例数によるすごくいい講演だと思いました。
      前後の講演の構成もフワッとした話が具体的になり、さらに「自分でやりたい」という気持ちが起きる良い構成でした。
      良い講演をありがとうございました。

      【レポートはまだまだ続きます!】

      次回は、KDDIアジャイル開発センター株式会社のテックエバンジェリスト、御田 稔(みのるん)氏による講演「突撃!隣のAmazon Bedrockユーザー ~YouはどうしてAWSで?~」をレポートします! お楽しみに!

      こちらのレポートと、気になるワークショップについてのレポートを予定しております。

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

    8. 【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(1)新人こそがAI開発のエース!?リクルートの最新事例

      2024年9月9日、生成AIの最新動向と活用事例を学べるイベント「AWS AI Day」が開催されました。会場は、生成AIの可能性に期待を寄せる多くの参加者で熱気に包まれました。

      今回は、イベントの注目セッションや見どころをレポートします。

      AWS AI Day

      生成AIの最前線を探る: 最新事例と実践的ハンズオン

      https://aws-ai-day-jp.splashthat.com/
      2024 年 09 月 09 日 14:00 – 18:00 JST

      画像

      会場となったザ・プリンス パークタワー東京

      画像

      ボールルーム ABC

      画像

      オープニングセッション:AWSの生成AI戦略と最新アップデート

      オープニングセッションでは、アマゾン ウェブ サービス ジャパン合同会社 Data & AI事業本部 プリンシパル事業開発マネージャーの黒川 亮 氏が登壇。

      画像

      AWSが考える生成AIのビジョンや戦略、そしてAmazon Bedrockをはじめとする生成AIサービスの最新アップデートが紹介されました。

      画像

      これまで326機能をリリース。これはクラウド各社と比較しても群を抜いて多い数。

      画像
      画像
      画像

      最先端のAIは、クラウド上にある。

      画像

      世界最速の演算環境をクラウドで。

      画像

      推論と学習で別の演算環境を用意
      AWS Inferentia(インファレンシア)
      Amazon EC2 で、深層学習と生成 AI 推論について最低コストで高パフォーマンスを実現

      画像


      そしてサステナビリティ。

      業務に効くモデルの選択、組み合わせ

      画像

      Bedrockで最新リリース
      Claude3.5, Stable Diffusion 3が可能に

      画像

      そしてモデル評価も

      画像
      画像

      RAGによるナレッジベースデーターコネクター拡張もお任せ

      画像
      画像

      Knowledge Bases for Amazon Bedrock

      画像

      https://aws.amazon.com/jp/bedrock/knowledge-bases

      ナレッジベース・データコネクター拡張

      URLやSalesForceなど…

      画像

      新しいデーターソース、コネクタが用意されています。

      https://aws.amazon.com/jp/blogs/news/knowledge-bases-for-amazon-bedrock-now-supports-additional-data-connectors-in-preview

      アマゾン ウェブ サービス ジャパン合同会社 Data & AI事業本部 プリンシパル事業開発マネージャー 黒川亮 氏は、LLMによる知識を「チーズ」に例えます。知識の「チーズの穴」を埋めるRAG以外の手法が「ファインチューニングである」としています。

      画像
      画像

      そしてエージェント機能によるメモリー保持とコード解釈。

      画像

      生成AI Contents Hubを公開

      画像

      Generative AI Use Cases JP (略称:GenU)

      https://github.com/aws-samples/generative-ai-use-cases-jp

      特に、生成AIの先進をリードするAWSの姿勢が強調され、参加者の注目を集めました。

      顧客事例講演(1):リクルート

      リクルートの今年4月の新卒入社、の柴田さん中川さんによる講演。
      新人が感まったくない、堂々とした生成AIプロフェッショナルによる講演でした。

      顧客事例講演では、株式会社リクルートとKDDIアジャイル開発センター株式会社が登壇。

      リクルートは、Amazon Bedrockを活用した入稿文章校正システムの構築事例を紹介。新人検索エンジニアがRAG(Retrieval Augmented Generation)の性能評価や改善に取り組んだノウハウを共有しました。

      画像
      画像
      画像

      リクルート新卒中川さん「RAGは(構築するだけなら簡単だが)評価が大事」

      画像
      画像
      わかりみです

      様々な「社内規定」をテーマに事例を紹介 されました。
      たとえば「『約』という表現は可能か?」 リクルートの営業さんからの過去の問い合わせメールなどを使い、RAGの中にプロンプトで「常識的に回答」を加えて実態に沿わせた回答に。 さらにここから「評価」に。 改善の方法が汎用できるのか? 方向性が正しかったのか?を評価していきます。

      画像
      画像
      画像
      画像

      過去のリクルート営業さんからの質問からテストケースを作成。一方で、 回答の性能評価の難しさについても語られました。

      画像

      それで大丈夫?RAGのチューニング

      画像
      画像
      画像


      RAGの品質を自動評価するOSSフレームワーク「RAGAS」を使用

      https://docs.ragas.io/en/stable

      画像

      RAGASの出力から。
      Answer Similarity: 真の回答の類似度
      Fathfulness:コンテキストにどれだけ沿っているか

      画像
      画像
      画像

      今回の例だとAnswer Similarityは上がっているけどFaithfulnessが上がっている。これはハルシネーションリスクが上がっている。

      画像
      画像
      画像

      真の回答には背景となる状況を考慮している そこで 事実の仮定と場合わけを追加 RAGASの導入によって改善サイクルが回るようになった 3ヶ月で40以上のサイクルを回して改善を実施した

      画像
      画像
      画像

      まとめ

      画像
      画像
      画像

      様式美もきっちりで
      まるで新人とは思えない発表でした

      ありがとうございました!

      <続きます>

      ツイートスレッドでの紹介はこちらから

      #イベントレポート #awsAIday

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

    9. AICU media好アクセスランキング- 2024年8月

      こんにちわ!AICU media編集部です。
      noteで先月よく読まれた記事を紹介します
      生成AIクリエイティブのコミュニティの盛り上がりを体感していただければ幸いです!

      img2img入門(1) i2iでできることを知ろう

      1788ポイント

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

      [保存版] Animagine XL 3.1 生成比較レポート

      1615ポイント

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

      1537ポイント

      日本人が開発した「Regional Prompter」がなかなかすごい!

      1509ポイント

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

      AUTOMATIC1111 v1.10.xリリース – Stable Diffusion 3 Mediumをサポート

      1451ポイント

      AICU編集部が選ぶ、8月のおすすめ記事

      8月に投稿した記事でAICU編集部がお勧めしたい記事をピックアップしてみました。まだほかの人が知らない、生成AIの情報を読んでみませんか?

      [ComfyMaster1] Google ColabでComfyUIを動かしてみよう! #ComfyUI

      【超入門】Stability AI API の革新的機能(1)Edit機能からInpaintとOutpaintを便利に使おう!

      【広告にAIは使えない?】広告の先生×AIクリエイター=「生成AI時代の広告企画から動画制作プロセス」をどうぞ

      【音楽知識ゼロでもOK!】Sunoでオリジナル曲を完成させよう!初心者向け【無料】

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

      AICUマガジン Vol4に収録されている特集

      最後にAICUマガジン Vol4の特集について紹介します。特集は「完全解説Anifusion」! Anifusionを書籍形式で詳しく紹介しています。

      • 特集「Anifusionで漫画制作」
      • あなたの才能が、デルタもんの世界を動かす!「デルタもん4コマ漫画コンテスト」開催決定
      • 推しAIインフルエンサー紹介!ゆなゆなさん
      • サクッと先取り!クリエイティブAIツール  
      • 日本語で使える!「パープレ」最安課金で忖度なしのガチレビュー!! #Perplexity
      • 描画工程を推論する「Paints-Undo」、Google Colabで実際に動作させてみた 
      • Stability AI Fan! 
      • Stable Video 4Dリリース
      • Stable Audio Openリリース

      AICUマガジン Vol4はkindle unlimitedに加入されている方は無料で、加入されていない方は電子版、書籍版の購入ができます。ぜひ読んでください!

      https://j.aicu.ai/MagV4

      バックナンバーはこちらです

      https://j.aicu.ai/Mag2404

      https://j.aicu.ai/Mag2405

      https://j.aicu.ai/MagV3

      カバーアートはジュニさん!

      最後に

      AICU mediaでは生成AIに関する情報をこれからも皆さんにお届けしてまいります。
      面白い!参考になった!と感じていただけましたら、ぜひいいねやフォローをお願いします

      https://x.com/AICUai

      https://note.com/aicu

      9月も AICU media をよろしくお願いします!

      AICU media 編集部一同


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

      Originally published at https://note.com on Sept 8, 2024.