Learn more about Search Results マーフ - Page 5

Diffusersを使用したDreamboothによる安定した拡散のトレーニング

ドリームブースは、特殊なファインチューニングの形式を使用して、安定拡散に新しい概念を教えるための技術です。一部の人々は、素晴らしい状況に自分自身を配置するために、いくつかの写真を使用してそれを利用しています。一方、他の人々は新しいスタイルを取り入れるためにそれを使用しています。🧨 Diffusersは、Dreamboothトレーニングスクリプトを提供しています。トレーニングには時間はかかりませんが、適切なハイパーパラメータのセットを選択するのは難しく、過学習しやすいです。 私たちは、Dreamboothのさまざまな設定の効果を分析するために多くの実験を行いました。この投稿では、Stable DiffusionをDreamboothでファインチューニングする際に結果を改善するための見つけたポイントといくつかのヒントを紹介します。 始める前に、この方法は決して悪意のある目的、何らかの害を引き起こすため、または人々を知らずになりすますために使用してはなりません。それでトレーニングされたモデルは、Stable Diffusionモデルの配布を規制するCreativeML Open RAIL-Mライセンスによって依然として拘束されます。 注意:この投稿の以前のバージョンはW&Bレポートとして公開されました。 要約:推奨設定 ドリームブースはすぐに過学習します。良質な画像を得るためには、トレーニングステップ数と学習率の間の「適切なスイートスポット」を見つける必要があります。低い学習率を使用し、結果が満足できるまでステップ数を徐々に増やすことを推奨します。 ドリームブースでは、顔に対してはより多くのトレーニングステップが必要です。私たちの実験では、バッチサイズ2とLR 1e-6を使用した場合に、800〜1200ステップがうまく機能しました。 事前保存は、顔のトレーニング時に過学習を避けるために重要です。他の対象に対しては、それほど大きな違いはないようです。 生成された画像がノイズが多いか品質が低下している場合、それはおそらく過学習を意味します。まず、上記の手順を試して避けてみてください。生成された画像がまだノイズが多い場合は、DDIMスケジューラを使用するか、より多くの推論ステップ(私たちの実験では約100ステップがうまく機能しました)を実行してみてください。 UNetに加えてテキストエンコーダをファインチューニングすることは、品質に大きな影響を与えます。私たちの最良の結果は、テキストエンコーダのファインチューニング、低いLR、適切なステップ数の組み合わせを使用して得られました。ただし、テキストエンコーダのファインチューニングにはより多くのメモリが必要ですので、少なくとも24 GBのRAMを持つGPUが理想です。Google ColabやKaggleが提供する16 GBのGPUのようなものでは、8ビットAdam、fp16トレーニング、勾配蓄積などの技術を使用してトレーニングすることが可能です。 EMAを使用してファインチューニングするかどうかに関係なく、類似の結果が得られました。 ドリームブースをトレーニングするためにsksという単語を使用する必要はありません。最初の実装の一部は、それが語彙の中で稀なトークンであったためにそれを使用しましたが、実際にはライフルの一種です。私たちの実験および@nitrosockeなどの実験は、ターゲットを説明するために自然に使用する用語を選択しても問題ないことを示しています。 学習率の影響 ドリームブースは非常に速く過学習します。良い結果を得るためには、データセットに合理的な学習率とトレーニングステップ数を調整します。私たちの実験(以下で詳細に説明)では、高い学習率と低い学習率で4つの異なるデータセットでファインチューニングを行いました。すべての場合で、低い学習率でより良い結果が得られました。 実験設定…

効率的で安定した拡散微調整のためのLoRAの使用

LoRA:Large Language Modelsの低ランク適応は、Microsoftの研究者によって導入された新しい技術で、大規模言語モデルの微調整の問題に取り組むためのものです。GPT-3などの数十億のパラメータを持つ強力なモデルは、特定のタスクやドメインに適応させるために微調整することが非常に高価です。LoRAは、事前学習済みモデルの重みを凍結し、各トランスフォーマーブロックにトレーニング可能な層(ランク分解行列)を注入することを提案しています。これにより、トレーニング可能なパラメータとGPUメモリの要件が大幅に削減されます。なぜなら、ほとんどのモデルの重みの勾配を計算する必要がないからです。研究者たちは、大規模言語モデルのトランスフォーマーアテンションブロックに焦点を当てることで、LoRAと完全なモデルの微調整と同等の品質を実現できることを発見しました。さらに、LoRAはより高速で計算量が少なくなります。 DiffusersのためのLoRA 🧨 LoRAは、当初大規模言語モデルに提案され、トランスフォーマーブロック上でデモンストレーションされたものですが、この技術は他の場所でも適用することができます。Stable Diffusionの微調整の場合、LoRAは画像表現とそれらを説明するプロンプトとの関連付けを行うクロスアテンションレイヤーに適用することができます。以下の図(Stable Diffusion論文から引用)の詳細は重要ではありませんが、黄色のブロックが画像とテキスト表現の関係を構築する役割を担っていることに注意してください。 私たちの知る限りでは、Simo Ryu(@cloneofsimo)がStable Diffusionに適応したLoRAの実装を最初に考案しました。興味深いディスカッションや洞察がたくさんあるGitHubのプロジェクトをご覧いただくために、彼らのGitHubプロジェクトをぜひご覧ください。 クロスアテンションレイヤーにLoRAトレーニング可能行列を深く注入するために、以前はDiffusersのソースコードを工夫(しかし壊れやすい方法)してハックする必要がありました。Stable Diffusionが私たちに示してくれたことの一つは、コミュニティが常に創造的な目的のためにモデルを曲げて適応する方法を見つけ出すことです。クロスアテンションレイヤーを操作する柔軟性を提供することは、xFormersなどの最適化技術を採用するのが容易になるなど、他の多くの理由で有益です。Prompt-to-Promptなどの創造的なプロジェクトには、これらのレイヤーに簡単にアクセスできる方法が必要です。そのため、ユーザーがこれを行うための一般的な方法を提供することにしました。私たちは昨年12月末からそのプルリクエストをテストしており、昨日のdiffusersリリースと共に公式にローンチしました。 私たちは@cloneofsimoと協力して、Dreamboothと完全な微調整方法の両方でLoRAトレーニングサポートを提供しています!これらの技術は次の利点を提供します: 既に議論されているように、トレーニングがはるかに高速です。 計算要件が低くなります。11 GBのVRAMを持つ2080 Tiで完全な微調整モデルを作成できました! トレーニングされた重みははるかに小さくなります。元のモデルが凍結され、新しいトレーニング可能な層が注入されるため、新しい層の重みを1つのファイルとして保存できます。そのサイズは約3 MBです。これは、UNetモデルの元のサイズの約1000分の1です。 私たちは特に最後のポイントに興奮しています。ユーザーが素晴らしい微調整モデルやドリームブーストモデルを共有するためには、最終モデルの完全なコピーを共有する必要がありました。それらを試すことを望む他のユーザーは、お気に入りのUIで微調整された重みをダウンロードする必要があり、膨大なストレージとダウンロードコストがかかります。現在、Dreamboothコンセプトライブラリには約1,000のDreamboothモデルが登録されており、おそらくさらに多くのモデルがライブラリに登録されていません。 LoRAを使用することで、他の人があなたの微調整モデルを使用できるようにするためのたった1つの3.29 MBのファイルを公開することができるようになりました。 (@mishig25への感謝、普通の会話で「dreamboothing」という動詞を使った最初の人です)。…

PyTorchを使用した効率的な画像セグメンテーション:Part 4

この4部構成のシリーズでは、PyTorchを使用した深層学習技術を使って、画像セグメンテーションをゼロからステップバイステップで実装しますこのパートでは、Vision Transformerをベースとしたモデルの実装に焦点を当てます

Find the right Blockchain Investment for you

Web 3.0 is coming, whether buy Coins, NFTs or just Coding, everyone can participate.

Advertising with us