Skip to content

NPU モデル変換

独自の Stable Diffusion モデルを、Local Dream が Snapdragon デバイスでロードできる NPU 互換リソースに変換する方法を説明します。

いつ必要か

  • NPU パスでカスタム SD1.5 または SDXL モデルを実行したい場合。
  • CPU/GPU パスでカスタム SD1.5 モデルを実行したい場合 — アプリ内で直接対応しており、ホスト側の変換は不要です。

利用可能なワークフロー

ワークフローステータスガイド
SD1.5 → NPU安定SD1.5 変換ガイド
SDXL → NPU実験的SDXL 変換ガイド

概要

  • 変換はホスト側で行います。Linux または WSL マシンが必要です。
  • パイプラインは W8A16 量子化 QNN バイナリを生成し、アプリでインポート可能な zip にパッケージングします。
  • SD1.5 はチップティアごと(_min / _8gen1 / _8gen2)に zip を 1 つずつビルドします。SDXL は 1 ティア(_8gen3)のみです。
  • 1 回の SD1.5 変換には 数時間 の CPU 時間がかかります。SDXL はさらに長くなります。

QNN SDK のバージョンが 2 つあるのはなぜ?

変換スクリプトは QNN SDK 2.28 を固定で使い、Android アプリ自体は QNN SDK 2.39 をランタイムとして同梱します。これは意図的です:2.28 は本ガイドの変換パイプラインで正しい量子化バイナリを出力できる既知のバージョンであり、ランタイムは新しい版を使い続けます。モデル変換に 2.39 は不要で、また 1 回の変換中に両バージョンを混在させないでください。

ハードウェア要件

ワークフローメモリ + swapディスクGPU
SD1.5 @ 512×512~20 GB~30 GB任意
SD1.5 @ より高い解像度64 GB+60 GB+任意
SDXL @ 1024×102464 GB+60 GB+任意

変換をスキップ

すぐに使えるモデルが欲しい場合は、まず事前変換済みコミュニティモデルコレクションを確認してください。