mtsr

機械学習はじめました。

mtsr

機械学習はじめました。

最近の記事

QNAP NASのRAID5を強引に復旧した話

RAIDリカバリ前に重要なファイルはバックアップしよう QNAP IntelCPU搭載のNASは基本的にはPC。QTSも基本的にはLinux 通常時はQTSのGUIの管理でOK。トラブル発生時はSSHが有用 TS-464: NASとして利用できるLinuxPCデータ保存用のNASとしてQNAPのTS-464を使っています。 この製品はQNAPがミドルレンジに位置付けているようで、2.5Gbpsイーサネット2ポート、M.2 2280 2スロット、PCIe x4 (LP)

    • StableDiffusionのモデルサイズ削減を試してみる(3)

      この記事の続きです。 色々と試してみたのですが、実用的な品質には程遠いかなぁというのが現状です。 暗黙の前提が学習速度向上のためにUNetの途中でロス計算しているのですが、損失関数はMSEをそのまま使っています。 MSEのMは Mean。平均ですね…… 各チャンネルについて単に平均を取っているということで、各チャンネルが等しく重要であるという前提での計算になってますね…… 恐らく中間層では、チャンネルごとの重要度は違いますね。 チャンネルごとの重要度が異なるならば、ブ

      • StableDiffusionのモデルサイズ削減を試してみる(2)

        この記事の続きです。 先は長そうですので、とりあえず現時点での進捗です。 実装についていくつか実装を変更・拡張しました ResNetも対応してみる に書いた通り、ResNetのサイズ削減も実装してみました。 Attentionブロックの IN/OUT LinearにLoRA適用 FeedForwardでの誤差を吸収してくれることを期待して、Attentionブロックの出口にあるLinearをLoRAで学習させるようにしました。 また、ResNetの誤差についても

        • StableDiffusionのモデルサイズ削減を試してみる(1)

          先日の記事の続きです。 先に結論から言うと、現時点では失敗してます。 PCAで分解してみるFeedForward層、後ろ側のLinear直前で流れてくるテンソルを採取して、PCAで分解してみました。 各ブロックで傾向が変わるかと思ったのですが、案外ブロック毎の差は小さいようでした。 この感じですと、次元を 25% くらいまで落としても 90% 程度の精度は確保出来そうです。 実際には活性化関数が挟まるので、これより悪い状況から始まると思われるのですが、学習で挽回してく

          StableDiffusionのメモリ消費量を減らしたい

          僕が普段利用しているマシンは RTX3070 mobile搭載のノートPCで、VRAMが 8GBと機械学習には厳しいので、メモリ的な効率も無視できない要素です。 ここ最近になってようやくソースコード読むようになって、モデル構造もある程度理解できてきましたので、メモリ消費量削減を目指してみようかと考えています。 そう簡単には削減できなそう機械学習では、学習後にモデルサイズを削減するのはわりと一般的で、手法についても色々と提案されているみたいです。 ただ、StableDiff

          StableDiffusionのメモリ消費量を減らしたい

          ROG Ally (下位モデル)を買いました

          生成AI関係の話ではないです、はい。 上位モデルについては発売が早かったこともあってか、ベンチマークとか結構出ているのですが、下位モデルについては情報が少ないため参考までに記事書いてみます 上位モデルとの違いは?CPUだけが違うようです。 ざっくり上位モデル(Ryzen Z1 Extream)が Ryzen7相当、 下位モデル(Ryzen Z1)が Ryzen5 相当と見て良いかと思います。 電力プランは?上位モデルと同じく、 10W・15W・25W の切り替えが可能な

          ROG Ally (下位モデル)を買いました

          サンプラー改造して 顔部分だけステップ数を増やしてみる

          まず結果から自分が使う分には結構良さそう i2i専用になった t2i -> i2i でワークフロー組めば使える Detailerほど劇的に良くはならない 素直にi2iのステップ数増やせば良くね? もうちょっと有用性出てくるとか、ワークフロー簡略化できたら公開するかもしれません DetailerDetailer、便利ですよね。 Lora適用だとか全身を描かせるとかすると、どうしても顔の描画が崩れやすくなってしまうので、 駄目そうならDetailerで修正する。とかで

          サンプラー改造して 顔部分だけステップ数を増やしてみる

          Near-sighed Attention公開しました

          SlothfulAttention の一部として公開しました。 ConfyUI Managerからインストール出来るはずなので、気になる方は試してみてください。 基本的には SD1.5 ベースのモデルで利用されることを想定していますが、 SDXL, SSD-1Bベースのモデルでも動作に問題は無さそうです。 (効果は弱いですが) ついでに速度測ってみました SD1.5ベースのモデルで、画像サイズ 1024x1024 なら サンプリングは40%~50%程度の高速化ができま

          Near-sighed Attention公開しました

          Near-sighed Attention

          試してみたいことに書いた HyperTile + SlothfulAttention ですが、 なんかいけそうな気がしたので試してみたいと思います。 HyperTileを調査HyperTile 未適用で、1024x1536 のサイズで出力してみます。 (大きすぎるんで、512x768に縮小して掲載します) SD1.5モデルにはかなりオーバーサイズですが、(ちょいちょいおかしなところはあるけども)生成できてますね。 これに、HyperTileをデフォルトパラメータ(サイズ

          Near-sighed Attention

          備忘録:Stable diffusion 試してみたいこと

          単なる思い付きなので、やるかどうかわかりません。 実装してみたいという方は是非お願いします。 既存の model, lora 等資産がある程度使えるという制限つきにしておきます。 Negative prompt 側に流れてくるデータを使ってみるSlothfulAttention開発中に、batch = 1 で生成しているのに、2枚分のデータが流れてくるのは何だろうと思ってました。 cfg周りの説明読み直したら、Positive prompt と Negative pro

          備忘録:Stable diffusion 試してみたいこと

          理解できていないけど、作ったからには説明してみる

          というわけで、作ったカスタムノードを解説していきたいなぁと思ってたんですが…… 解説できるほど理解できていない作っておいてこういうのもアレなのですが、どうしてこんな挙動になるのかよくわかってません。 なので、なんとなくこんな感じかなぁという想像での備考になります。 パラメータとその影響Depth decaySlothfulAttention(以下SA)は Self-attentionの K, V を削減しているため、attentionの精度が落ちていると考えています。

          理解できていないけど、作ったからには説明してみる

          ComfyUIのカスタムノードを作りました

          ComfyUIのカスタムノードを作りました ComfyUI Slothful Attention どんなノード?SlothfulAttention 生成画像の画風というかタッチを変えるノード SD1.5, sdxl, SSD-1B とかで使える 若干だけ方向修正。利用しているモデル、lora の限界は越えられない 速度はそんなに変わらない 使うとどうなるのかサンプルなんで強めにかけてますが、こんな感じです。 適用、未適用で seed などは同じ値設定しての生成で

          ComfyUIのカスタムノードを作りました

          +4

          SlothfulAttention サンプル画像

          SlothfulAttention サンプル画像

          +3