Immichは、準備済みの画像をクエリと比較したり、アクセス権で絞り込んだりできる保存済みの表現へ変換することで、写真を検索可能にします。
ある親は、休暇中の写真に赤い自転車が写っていたことは覚えていますが、ファイル名も日付も思い出せず、普段使う言葉で自宅のフォトサーバーを検索します。役立つ結果を得るには、画像をディスクに保存しておくだけでは不十分です。視覚表現、データベース検索、権限の範囲が連携する必要があり、選択したモデルによって検索で認識できる類似性も決まります。
画像の準備はモデルのトレーニングではない
通常、ライブラリのインポートでは既存モデルを使って推論が実行されます。家族のコレクションを使って新しい汎用モデルをトレーニングするわけではありません。サーバーは使用可能な画像入力を準備し、分析を要求し、返された情報をアセットに関連付けます。この違いがあるため、大規模な初回インポートでは計算資源を消費しますが、家庭でモデルをトレーニングするプロジェクトは必要ありません。
ローカルの視覚インデックス作成により、ホスト型の写真アプリケーションは、ユーザーがクエリを入力する前に検索用の表現を構築できます。対象となる各画像には処理が必要なため、初回処理には時間がかかります。表現が作成された後は、写真全体に対して画像分析を最初から実行し直す代わりに、それらを再利用して後続の検索を行えます。
したがって、準備完了の境界はアップロードの後にあります。読み取り可能なオリジナルが存在していても、視覚表現がまだ利用できない場合があります。初回のインデックス作成を独立した段階として扱い、転送が成功したことや、キャッシュされたプレビューがすぐ表示されたことを、そのアセットの意味解析が完了した証拠と見なさないでください。
埋め込みが画像と単語をつなぐ
埋め込みとは、意味や視覚的内容を比較するために使われる数値表現です。画像エンコーダーと互換性のあるテキストエンコーダーは、異なる入力を比較可能な表現へ変換します。検索語句は、密かに生成されたファイル名と単純に照合されるわけではなく、検索結果が得られたからといって、システムがすべての画像に正確なキャプションを書き込んだことを意味するわけでもありません。
対照的画像・テキスト学習では、関連性の高い画像と説明を近づけ、学習中に関連性の低い組み合わせを遠ざけます。検索時には、学習済みの表現によって、語句と保存された画像ベクトルを比較できます。これは、関連する写真すべてに同じ文字どおりのキーワードをあらかじめ付けなくても、視覚的な概念を検索できる仕組みです。
たとえば、海辺にある自転車の写真は、メタデータにどちらの単語も含まれていなくても、説明的な語句で上位に表示されることがあります。これは関連性の判断であり、画像に要求された詳細がすべて含まれている証拠ではありません。元のファイルが変わっていなくても、表現、トリミング、小さな物体、競合する視覚的特徴によって順位が変わることがあります。
データベースが結果を取得可能にする
ベクトルを計算しただけでは検索経路は完了しません。アプリケーションはベクトルを保存し、アセットに関する情報とともに検索する必要があります。データベースは候補結果の識別子を返し、その後アプリケーションが対応するメディアを提供します。計算処理能力とデータベース検索の遅延は関連していますが、体験を構成する独立して測定可能な要素です。
検索バックエンドはバージョンによって異なります。Immichはv3でpgvecto.rsのサポートを廃止し、後継としてVectorChordを推奨しています。そのため、pgvecto.rsを挙げている古いアーキテクチャ記事を、現在の導入指針として扱うべきではありません。重要なのは、保存されたベクトルとリレーショナルなアプリケーション状態の組み合わせであり、過去の特定の拡張機能名ではありません。
規模を示すため、512個の4バイト値を含むベクトル100,000件は、数値だけなら約205 MBを占めます。これはImmichのデータベース容量の推定値ではありません。実際の次元数、型、インデックス、行、先行書き込みログによって合計は変わります。この計算が示すのは、表現の保存が別のフル解像度画像の保存とは異なるということだけです。
人物、メタデータ、視覚検索は異なる経路
視覚検索、メタデータによるフィルタリング、名前付き人物の検索は、それぞれ異なる問いに答えます。日付フィルターは記録された情報を使い、視覚検索は場面の説明を順位付けし、顔関連機能は顔を検出・グループ化して、ユーザーが後から人物名を付けられるようにします。これら3つがすべて正確なファイル名照合のように動くと期待すると、ある経路は機能するのに別の経路が期待外れになる理由が見えにくくなります。
家族写真の整理では、1つのモデルにすべての事実を復元させるのではなく、これらの経路を組み合わせると効果的です。人物名、おおよその月、視覚的な説明は、コレクションの異なる側面を絞り込みます。その有用性は、利用可能なメタデータ、処理の完了状況、現在のアカウントがアクセスを許可されている写真によって決まります。
この区別は、精度に関する誤解も防ぎます。視覚的に似た顔を認識したことは、本人であることの独立した証明ではありません。特に年齢、照明、遮蔽によって外見が変わる場合は、名前を信頼する前にグループを確認してください。写真ライブラリの閲覧支援を目的に設計された類似度ランキングに、正確な管理上の判断や機微な判断を委ねないでください。
プライバシーと精度にはそれぞれ境界がある
ローカルモデルを使えば画像分析を自宅のサーバー内にとどめられますが、信頼境界は設定されたエンドポイントに従います。別のマシンに分析を送信する場合、そのマシンが提供された入力を処理します。プライベートネットワーク上のリモートアクセラレーターと、身元不明のホスト型エンドポイントでは、どちらもリモート機械学習と呼ばれていても、プライバシーへの影響は異なります。
モデルの限界は、導入環境のプライバシーとは別の問題です。CLIPの元の研究では、数える作業や細かな違いの識別などにおける弱点が説明され、結果は指定されたカテゴリーやプロンプトに依存すると警告されています。推論をローカルで行っても、こうした限界がなくなったり、類似度スコアが家族の出来事を事実どおりに説明するものになったりするわけではありません。
セルフホスティングすればすべてのエンドポイント、バックアップ、アカウント、共有アルバムが自動的に安全になると仮定すると、プライベート検索という主張は成り立ちません。任意の言い回しから網羅的に検索できると約束すると、正確な検索という主張も成り立ちません。入力を誰が扱うのか、そして選択したコレクション内でその表現が何を合理的に区別できるのかという、両方の境界を明確にしてください。
既知の写真でパイプラインを確認する
明らかな物体、曖昧な場面、小さな細部、複数の既知の人物を含む、少数の許可済み参照セットを作成します。処理が完了したら、正確なメタデータフィルタリングと視覚クエリ、名前付き人物検索を比較します。後から変更を記憶ではなく同じ例と比較できるよう、選択したモデルとサーバーバージョンを記録してください。
ある個人によるモデル変更の実験では、別の設定モデルを使うと検索品質が大きく異なると報告されています。この観察が示すのは、すべての大規模モデルがすべてのクエリを改善すると決めつけず、個人の例で関連性を確認することです。ハードウェアコスト、言語対応、再処理の要件は、より良い結果を得たという1件の熱心な報告とは分けて考える必要があります。
代表的なアセットで必要な処理が完了し、許可されたユーザーが期待される例を取得でき、弱点が隠されず記録されているなら、パイプラインを受け入れられます。メタデータではアセットが見つかるのに視覚的な語句では見つからない場合は、データが失われたと判断する前に関連性を確認してください。分析先を変更した場合は、受信ホストを別個のプライバシー上の判断として検証してください。
テック&AIハブ
もっと読む

オープンモデルが最先端AIに追いつきつつある――2026年はローカルAIが十分実用的になる年か?
オープンモデルは、より多くのローカルAIワークロードに対応できるほど高性能になってきています。一方、最先端のクラウドモデルは、最も難しい推論やエージェントタスクに引き続き役立ちます。

NVIDIA PAIRで自宅ネットワークをローカルAIクラスターに変身—それでも大容量GPUサーバーは必要?
NVIDIA PAIRはローカルAIのリクエストを複数のPCに分散し、コンピュートリソースをより柔軟に活用できるようにする一方、1台のホームサーバーでデータと状態を永続的に保持できます。

なぜImmichはリモート接続よりLAN上のほうが速く感じるのですか?
LANリクエストは通常、より短く遅延の少ない経路を通ります。リモートアクセスではWANの帯域幅制限が加わり、DNS、TLS、プロキシ、VPN、リレーの中継が追加される場合があります。

