AI画像生成を学んでいると、「UNet」「safetensors」「Diffusers」といった用語が頻繁に出てきます。
それぞれ関連はありますが、役割はまったく異なります

この記事では、

  • UNetとは何か
  • safetensorsとの違い
  • Diffusersの意味(略語も含む)

を、初心者でも理解できるように整理して解説します。


UNetとは?

UNet(ユー・ネット)は、**画像処理に使われるニューラルネットワークの構造(アーキテクチャ)**です。

もともとは医療画像の解析(セグメンテーション)用に開発されましたが、現在では次のような用途で広く使われています。

  • AI画像生成
  • ノイズ除去
  • スタイル変換
  • 画像復元

Stable DiffusionにおけるUNetの役割

Stable Diffusionでは、画像は「ノイズ」から徐々に生成されます。

このプロセスの中心にいるのがUNetです。

UNetはノイズを段階的に取り除き、画像を形作る役割を持つ

つまり、画像生成の“エンジン”のような存在です。


safetensorsとは?

safetensorsは、AIモデルの重みを保存するためのファイル形式です。

代表的な拡張子:

  • .safetensors
  • .ckpt
  • .pt

この中でもsafetensorsは、

  • セキュリティが高い(任意コードが実行されない)
  • 読み込みが高速

という特徴があります。


UNetとsafetensorsの違い

ここが混同されやすいポイントです。

用語 正体
UNet モデルの構造(設計図)
safetensors モデルのデータを保存するファイル

つまり、

UNetは中身の仕組み、safetensorsはそれを保存する容器

です。


safetensorsの中身

Stable Diffusionのsafetensorsには、通常以下が含まれています。

  • UNet(画像生成のコア)
  • VAE(画像を生成するデコーダ)
  • Text Encoder(テキスト理解)
  • その他の構成要素

つまり、

UNetはファイル全体の一部に過ぎない

という点が重要です。


Diffusersとは?(何の略?)

「Diffusers(ディフューザーズ)」は、
Hugging Faceが提供する、拡散モデル専用のPythonライブラリです。

フォルダ構造(unet/、vae/、text_encoder/ など + model_index.json)で、各コンポーネントが個別に保存されている点がポイント。

Diffusion(拡散)とは何か?

ここでいう「拡散」とは、

画像にノイズを加えたり、逆にノイズを取り除いて画像を生成するプロセス

のことです。

Stable Diffusionもこの「拡散モデル」の一種です。


Diffusers形式とは?

Diffusersライブラリでは、モデルを次のようなフォルダ構造で管理します。

model/
├── unet/
├── vae/
├── text_encoder/
├── tokenizer/
└── model_index.json

この形式を「Diffusers形式」と呼びます。


なぜDiffusers形式にするのか?

元の.safetensors.ckptは「全部入りファイル」ですが、

  • 構造情報が不足する場合がある
  • 一部だけ取り出すのが難しい
  • ツールによっては扱えない

といった問題があります。

そのため、

Diffusers形式に変換してから扱うのが一般的

になっています。


まとめ

  • UNetは画像生成の中核となるニューラルネットワーク構造
  • safetensorsはモデルを保存するファイル形式
  • Diffusersは拡散モデルを扱うためのライブラリ
  • Diffusers形式にするとモデルを分解して扱える

一言で理解する

UNet = 脳の構造
safetensors = 記憶を保存したファイル
Diffusers = それらを扱うためのツール