安定拡散モデルをiPhoneに挿入し、1分で写真を生成するアプリに作成します
iPhone で安定拡散を実行するのは難しいですか?今回ご紹介する記事では、「それは難しいことではなく、iPhoneの性能はまだ50%も残っている」と著者が答えています。
ご存知のとおり、Apple は毎年、新しいビジョン モデルとイメージ センサーの急速な開発により、あらゆる面でより高速かつ優れていると主張する新しい iPhone を発売します。写真を例に挙げると、10 年前に戻った場合、iPhone で高品質の写真を撮ることができますか? 答えはノーです。テクノロジーの発展は徐々に進んでいます。携帯電話の写真技術は 10 年もあれば十分に向上します。
このような (進歩的な) テクノロジーの発展パターンにより、最高のコンピューティング機器であっても、一部のプログラムがほとんど使用できなくなる日が来るでしょう。しかし、新しく有効になったシナリオを備えたこれらの新しいプログラムは一部のユーザーの注目を集め、人々はそれを研究しようとしました。
この記事の著者もその 1 人であり、過去 3 週間で、著者は安定拡散を通じて画像を生成 (呼び出し) し、編集ボタンを押すことができるアプリケーションを開発しました。それはあなたの好きなように。このアプリは、最新の iPhone 14 Pro で画像を生成するのにわずか 1 分かかります。約 2 GiB のアプリ メモリを使用します。さらに、開始するには約 2 GiB の初期データをダウンロードする必要があります。
#App ストアのリンク: https://apps.apple.com/us/app/draw-things-ai-generation/id6444050820
##この結果はネチズンの間で多くの議論を呼び、携帯電話の電力消費を心配し始め、「これはすごいことだけど、これは携帯電話のバッテリーを消耗するのに良い方法のようだ」と冗談を言う人もいました。
" 「寒い冬には、携帯電話をカイロ代わりに使えます。」
# しかし、誰もが携帯電話の発熱問題をからかっている一方で、この問題も解決しています。非常に高い評価。
「これは信じられないほどです。iPhone SE3 で完全なイメージを生成するのに約 45 秒かかります。これは、M1 Pro MacBook のオリジナル バージョンとほぼ同じ速度です。急いでください!」
#メモリとハードウェアを同時に最適化する
これはどのように行われるのでしょうか?次に、作者の実装プロセスを見てみましょう:
iPhone で Stable Diffusion を実行し、それでもパフォーマンスを 50% 節約したい場合、大きな課題は 6GiB が必要なことです。 RAM iPhone デバイスでプログラムを実行します。 6GiB というと多いように思えますが、6GiB デバイスで 2.8GiB、または 4GiB デバイスで 2GiB を超えると、iOS によってアプリが強制終了されます。
それでは、安定拡散モデルが推論に必要とするメモリの量はどれくらいでしょうか?
これもモデルの構造から始まります。通常、安定拡散モデルには 4 つの部分が含まれます: 1. 画像生成をガイドするテキスト特徴ベクトルを生成するテキスト エンコーダー; 2. 画像を潜在空間にエンコードする (画像間の生成用) オプションの画像エンコーダー; 3. デノイザー モデル画像の潜在表現をノイズからゆっくりとノイズ除去する画像デコーダ、潜在表現から画像をデコードする画像デコーダ。
1 番目、2 番目、および 4 番目のモジュールは推論中に 1 回実行され、最大約 1 GiB を必要とします。デノイザー モデルは約 3.2GiB (完全な浮動小数点) を必要とし、複数回実行する必要があるため、作成者はモジュールを RAM に長く保持したいと考えています。
元の安定拡散モデルでは、単一画像の推論を実行するのに 10 GiB 近くが必要でした。単一の入力 (2x4x64x64) と出力 (2x4x64x64) の間には、多くの出力レイヤーが点在しています。すべてのレイヤー出力をすぐに再利用できるわけではなく、一部のレイヤー出力は後で使用するためにパラメーターを保持する必要があります (残留ネットワーク)。
しばらくの間、研究者は PyTorch 安定拡散を最適化してきました。研究者は、PyTorch で使用される NVIDIA CUDNN および CUBLAS ライブラリ用に一時ストレージ スペースを予約しました。これらの最適化はすべて、メモリ使用量を削減するためです。したがって、安定拡散モデルは、 4GiB 程度のカードで実行できます。
しかし、それでも著者の期待を上回りました。そこで、著者は Apple のハードウェアと最適化に焦点を当て始めました。
当初、作者は、Apple の OOM (メモリ不足、つまり、アプリが単一の iOS システムの制限に達した場合 アプリがメモリの上限を占有し、システムによって強制終了された後、作成者には約 500MiB のスペースが使用可能になります。
最初の質問は、各中間出力のサイズはどれくらいかということです。
それらのほとんどは比較的小さく、それぞれ 6MiB (2x320x64x64) 未満であることがわかりました。作成者が使用しているフレームワーク (s4nnc) は、再利用のためにそれらを 50MiB 未満に合理的にパッケージ化できます。
デノイザーには、画像の潜在的な表現を入力として受け取るセルフアテンション メカニズムがあることに言及する価値があります。セルフ アテンションの計算中には、サイズ 16x4096x4096 のバッチ行列が存在します。これは、softmax 適用後の FP16 では約 500MiB で、「インプレース」で実行できます。つまり、破損することなく入力を安全に書き換えることができます。幸いなことに、Apple と NVIDIA の両方の低レベル ライブラリはインプレース Softmax 実装を提供しますが、PyTorch などの高レベル ライブラリは提供しません。
では、約 550MiB と 1.6GiB のメモリを使用して本当に実行できるのでしょうか?
Apple ハードウェアでは、ニューラル ネットワーク バックエンドを実装するための一般的な選択肢は、MPSGraph フレームワークを使用することです。そこで著者はまず、MPSGraph を使用してすべてのニューラル ネットワーク操作を実装しようとしました。 FP16 精度でのピーク メモリ使用量は約 6GiB ですが、これは明らかに予想されるメモリ使用量をはるかに超えています。
著者はその理由を詳しく分析しましたが、まず、一般的な TensorFlow の方法で MPSGraph を使用していませんでした。 MPSGraph では、計算グラフ全体をエンコードし、入出力テンソルを消費し、内部割り当てを処理し、ユーザーがグラフ全体を実行のために送信できるようにする必要があります。
作者は、PyTorch とよく似た MPSGraph を操作実行エンジンとして使用しています。推論タスクを実行するために、コンパイルされた多くの MPSGraphExecutable が Metal コマンド キューで実行され、それぞれが中間に割り当てられたメモリを保持する場合があります。一度に送信すると、これらすべてのコマンドは実行が完了するまで割り当てられたメモリを保持します。
この問題を解決する簡単な方法は、送信速度を調整することです。すべてのコマンドを一度に送信する必要はありません。実際、Metal にはキューごとに同時送信数が 64 という制限があります。著者は、一度に 8 つの操作を送信するように変更してみたところ、ピーク時のメモリは 4GiB に減少しました。
ただし、それでも iPhone が処理できる量を 2 GiB 超えています。
CUDA を使用して自己注意を計算するには、元の安定拡散コードの実装に共通のトリックがあります。それは、転置の代わりに順列を使用することです。このトリックが機能するのは、CUBLAS が並べ替えられたストライド テンソルを直接処理できるため、テンソルを転置するために専用のメモリを使用する必要がなくなるからです。
しかし、MPSGraph にはストライド テンソルがサポートされていないため、並べ替えられたテンソルはいずれにしても内部で転置され、中間メモリ割り当てが必要になります。明示的に転置することで、割り当ては上位層によって処理され、MPSGraph の内部効率の低下が回避されます。このトリックを使用すると、メモリ使用量は 3GiB 近くになります。
iOS 16.0 以降、MPSGraph はソフトマックスに対する最適な割り当ての決定を行うことができなくなっていることが判明しました。入力テンソルと出力テンソルが両方とも同じデータを指している場合でも、MPSGraph は追加の出力テンソルを割り当て、その結果を指された場所にコピーします。
作者は、代替の Metal Performance Shaders を使用すると要件を完全に満たし、パフォーマンスを低下させることなくメモリ使用量を 2.5 GiB に削減できることを発見しました。
一方、MPSGraph の GEMM カーネルは内部転置を必要とします。これらの転置は上位層の「インプレース」操作ではなく、特定の 500MiB サイズのテンソルの場合、この追加の割り当ては避けられないため、ここでも明示的な転置は役に立ちません。 Metal Performance Shader に切り替えることで、プロジェクト作成者は約 1% のパフォーマンス ヒットを伴いさらに 500MiB を再利用し、最終的にメモリ使用量を理想的な 2GiB まで削減しました。
以上が安定拡散モデルをiPhoneに挿入し、1分で写真を生成するアプリに作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









従来のコンピューティングを超える能力を備えているだけでなく、より低コストでより効率的なパフォーマンスを実現する人工知能モデルを想像してみてください。これは SF ではありません。世界で最も強力なオープンソース MoE モデルである DeepSeek-V2[1] が登場しました。 DeepSeek-V2 は、経済的なトレーニングと効率的な推論の特徴を備えた強力な専門家混合 (MoE) 言語モデルです。これは 236B のパラメータで構成されており、そのうち 21B は各マーカーをアクティブにするために使用されます。 DeepSeek67B と比較して、DeepSeek-V2 はパフォーマンスが優れていると同時に、トレーニング コストを 42.5% 節約し、KV キャッシュを 93.3% 削減し、最大生成スループットを 5.76 倍に高めます。 DeepSeek は一般的な人工知能を研究する会社です

AI は確かに数学を変えつつあります。最近、この問題に細心の注意を払っている陶哲軒氏が『米国数学協会会報』(米国数学協会会報)の最新号を送ってくれた。 「機械は数学を変えるのか?」というテーマを中心に、多くの数学者が意見を述べ、そのプロセス全体は火花に満ち、ハードコアで刺激的でした。著者には、フィールズ賞受賞者のアクシャイ・ベンカテシュ氏、中国の数学者鄭楽軍氏、ニューヨーク大学のコンピューター科学者アーネスト・デイビス氏、その他業界で著名な学者を含む強力な顔ぶれが揃っている。 AI の世界は劇的に変化しています。これらの記事の多くは 1 年前に投稿されたものです。

Google が推進する JAX のパフォーマンスは、最近のベンチマーク テストで Pytorch や TensorFlow のパフォーマンスを上回り、7 つの指標で 1 位にランクされました。また、テストは最高の JAX パフォーマンスを備えた TPU では行われませんでした。ただし、開発者の間では、依然として Tensorflow よりも Pytorch の方が人気があります。しかし、将来的には、おそらくより大規模なモデルが JAX プラットフォームに基づいてトレーニングされ、実行されるようになるでしょう。モデル 最近、Keras チームは、ネイティブ PyTorch 実装を使用して 3 つのバックエンド (TensorFlow、JAX、PyTorch) をベンチマークし、TensorFlow を使用して Keras2 をベンチマークしました。まず、主流のセットを選択します

Boston Dynamics Atlas は正式に電動ロボットの時代に突入します!昨日、油圧式アトラスが歴史の舞台から「涙ながらに」撤退したばかりですが、今日、ボストン・ダイナミクスは電動式アトラスが稼働することを発表しました。ボストン・ダイナミクス社は商用人型ロボットの分野でテスラ社と競争する決意を持っているようだ。新しいビデオが公開されてから、わずか 10 時間ですでに 100 万人以上が視聴しました。古い人が去り、新しい役割が現れるのは歴史的な必然です。今年が人型ロボットの爆発的な年であることは間違いありません。ネットユーザーは「ロボットの進歩により、今年の開会式は人間のように見え、人間よりもはるかに自由度が高い。しかし、これは本当にホラー映画ではないのか?」とコメントした。ビデオの冒頭では、アトラスは仰向けに見えるように地面に静かに横たわっています。次に続くのは驚くべきことです

今月初め、MIT やその他の機関の研究者らは、MLP に代わる非常に有望な代替案である KAN を提案しました。 KAN は、精度と解釈可能性の点で MLP よりも優れています。また、非常に少数のパラメーターを使用して、多数のパラメーターを使用して実行する MLP よりも優れたパフォーマンスを発揮できます。たとえば、著者らは、KAN を使用して、より小規模なネットワークと高度な自動化で DeepMind の結果を再現したと述べています。具体的には、DeepMind の MLP には約 300,000 個のパラメーターがありますが、KAN には約 200 個のパラメーターしかありません。 KAN は、MLP が普遍近似定理に基づいているのに対し、KAN はコルモゴロフ-アーノルド表現定理に基づいているのと同様に、強力な数学的基礎を持っています。以下の図に示すように、KAN は

テスラのロボット「オプティマス」の最新映像が公開され、すでに工場内で稼働可能となっている。通常の速度では、バッテリー(テスラの4680バッテリー)を次のように分類します:公式は、20倍の速度でどのように見えるかも公開しました - 小さな「ワークステーション」上で、ピッキング、ピッキング、ピッキング:今回は、それがリリースされたハイライトの1つビデオの内容は、オプティマスが工場内でこの作業を完全に自律的に行い、プロセス全体を通じて人間の介入なしに完了するというものです。そして、オプティマスの観点から見ると、自動エラー修正に重点を置いて、曲がったバッテリーを拾い上げたり配置したりすることもできます。オプティマスのハンドについては、NVIDIA の科学者ジム ファン氏が高く評価しました。オプティマスのハンドは、世界の 5 本指ロボットの 1 つです。最も器用。その手は触覚だけではありません

Appleの製品とサービスは、常に世界中のユーザーに愛され続けています。香港 Apple ID を登録すると、ユーザーはさらに便利になり、特典が得られます。香港 Apple ID の登録手順と注意点を見てみましょう。香港 Apple ID の登録方法 Apple デバイスを使用する場合、多くのアプリケーションや機能では、Apple ID を使用してログインする必要があります。香港からアプリケーションをダウンロードしたり、香港 AppStore の優待コンテンツを楽しみたい場合は、香港の Apple ID を登録することが非常に必要です。この記事では香港のApple IDの登録手順と注意点を詳しく解説します。手順: 言語と地域を選択します。Apple デバイスで「設定」オプションを見つけて、次のように入力します。

目標検出は自動運転システムにおいて比較的成熟した問題であり、その中でも歩行者検出は最も初期に導入されたアルゴリズムの 1 つです。ほとんどの論文では非常に包括的な研究が行われています。ただし、サラウンドビューに魚眼カメラを使用した距離認識については、あまり研究されていません。放射状の歪みが大きいため、標準のバウンディング ボックス表現を魚眼カメラに実装するのは困難です。上記の説明を軽減するために、拡張バウンディング ボックス、楕円、および一般的な多角形の設計を極/角度表現に探索し、これらの表現を分析するためのインスタンス セグメンテーション mIOU メトリックを定義します。提案された多角形モデルの FisheyeDetNet は、他のモデルよりも優れたパフォーマンスを示し、同時に自動運転用の Valeo 魚眼カメラ データセットで 49.5% の mAP を達成しました。
