AIでコーディネートを採点。オフラインで。
できるだろうか?
おしゃれは定性的なもの。
答えは一つじゃない。
AIは一般的な答えは出せるが、ファッションのように文化によって多様な評価軸のあるものに答えを出せるのか。
方法はある。
本記事は、Visual LLM (VLM) を用いてiPhone 上で完全オフラインファッション採点アプリを作った記録である。
どうするか
閉じた評価軸体系を使う。
あらゆる審美的、哲学的判断にはいろんな流派があり、
すべての評価軸を納得させる開いた答えを出すのは難しい。
しかし一つの流派について言えば、ファッションにせよ、スポーツにせよ、専門業務せよ、
閉じた体系内で正しい答えが決まっていることがある。
例えば、今回は日本のメンズファッションインフルエンサーMBさんが一般向けに広めた「ドレスとカジュアルのバランス」という考え方を参考に、「ドレスとカジュアルのバランスが 7:3 に近ければ、おしゃれに見える」とし、入力画像に対してその評価軸で採点をした。
(MBさんのブログなどを読んだ僕なり解釈ということになるが)
コーディネートのトップス、ボトムス、シューズ、など各アイテムの点数を
ある程度体系化した基準で採点する。
これならAI(LLM)にも可能である。
しかもかなり上手くできる。
1000枚程度の教師データでもいい。
あらゆるアイテムを学習する必要はなく、未知のアイテムについても類推できる。
本記事の主題はそこである。
ファッションそのものの採点というよりは、
「閉じた体系」を扱うのにいかにLLMは向いているか、
ということがこの記事のテーマである。
iPhoneに乗るような小型モデルは、このように特定のドメインの知識を用いてファインチューニングするのに向いている。
パラメーターが少ないので、学習コストが少なくて済む。
この手法は、ファッションだけでなく、
メイク、スポーツのフォーム、占い、など、流派の閉じた体系内で答えが確立しているものであれば、使える。
どう作るか:
教師=大型モデル(Qwen3-VL-235B-A22B)
生徒=小型モデル(Qwen3-VL-2B)
の知識蒸留でファインチューニングする。
理論ドキュメント (~10KB, 5 軸の定義 + ベースライン表 + 集計規則 + 出力規則)を大型モデルにプロンプトとして読ませる。
学習データの画像に対して理論ドキュメントに基づいて採点させる。
これは大型モデルにしかできない。小型モデルは理論ドキュメントを全て把握することはできない。
大型モデルに与えた画像入力と、大型モデルが出した出力のセットをもちいて、
小型モデルをファインチューニングする。
これで、小型モデルは入力に対して理論体系に基づいた出力ができるようになる。
理論ドキュメントは知らないが、焼き付けられた処理はできるようになる。
特定の閉じたドメイン評価についてだけ言えば、10倍、100倍のサイズのモデルの振る舞いを小さなモデルが模倣できるようになる。
入力:画像
出力:固定スキーマの JSON ラベル
(画像, 固定質問, JSON) 三つ組で Qwen3-VL 2B を LoRA FineTuning(生徒)
CoreML 変換 → iPhone → 完全オフライン採点
「閉じている」から ~800 枚で足りる。
写像のエントロピーが低いので、
教師が一貫した規則で吐いたラベルなら、
少数でも生徒は規則を再構成できる。
一番レバレッジが高いのは「理論ドキュメント」
このパイプラインで最も影響力のあるファイルは、学習スクリプトでも
モデル定義でもなく、理論ドキュメント (教師への指示書) だ。
本物の理論ドキュメントを書くことだけはサボれない。
出力スキーマ(筆者の再構成)
生徒が出力するようにさせた JSON は、だいたいこういう形
(実装上の構造であって、原典の文章ではない)
{
"items": [
{
"category": "tops",
"description": "white cotton dress shirt",
"scores": { "color": 5, "silhouette": 4, "material": 4, "design": 4, "item_type": 4 },
"item_dress_score": 4.2
},
{
"category": "bottoms",
"description": "black skinny trousers",
"scores": { "color": 5, "silhouette": 4, "material": 4, "design": 4, "item_type": 4 },
"item_dress_score": 4.3
}
],
"overall_dress_ratio": 0.71,
"coordinate_silhouette": { "type": "I", "style_score": 4, "rationale": "..." },
"target_ratio": 0.70,
"verdict": "街着 7:3 にほぼ理想的。ドレスが少し勝つ程度で清潔感も十分。",
"advice": "..."
}
実装スタックと数値
| 役割 | 採用 | メモ |
|---|---|---|
| ベースモデル | Qwen/Qwen3-VL-2B-Instruct |
fp16/int8 が Apple Silicon で安定。shipped |
| (比較)別ベース | google/gemma-4-E2B-it |
int4 でスキーマ崩壊、FT 用途では見送り(後述) |
| 教師ラベラー | Qwen3-VL-235B-A22B | 理論を読んで JSON 判定。3 |
| 学習 | LoRA rank16 / alpha32、language_model.* のみ、vision は凍結 |
Colab A100 で約 25 分 |
| 変換 | coreml-llm の Qwen3-VL stateful パイプライン | MLState + slice_update KV |
| 実機 | iPhone 17 Pro (A19 ANE) | 2.3GB int8 / 約 24 tok/s |
| 学習データは Unsplash + Pexels から集めた全身コーデ写真 約 800〜900 枚、 | ||
| うち学習 約 750。1 イテレーション(収集→ラベル→学習→変換→転送)でおおよそ 2.5 時間。 |
おわりに:ポケットに入る "専用採点員"
閉じた体系として書ける専門知は、巨大 API に投げるより、
2B モデルに丸ごと蒸留して端末に置いたほうが、速く・安く・一貫して・
プライベートに動く。
汎用巨大モデルが "何でも少し知っている顧問" だとすれば、ここで作ったのは
"1 つの検定基準を体に叩き込んだ採点員" を、ポケットに入れる方法だ。
採点・査定・検定・固定スキーマ抽出——世の中の「閉じた体系」は意外と多い。
そのどれもが、同じ型で端末サイズに焼ける可能性がある。
🐣
フリーランスエンジニアです。
AIについて色々記事を書いていますのでよかったらプロフィールを見てみてください。
もし以下のようなご要望をお持ちでしたらお気軽にご相談ください。
AIサービスを開発したい、ビジネスにAIを組み込んで効率化したい、AIを使ったスマホアプリを開発したい、
ARを使ったアプリケーションを作りたい、スマホアプリを作りたいけどどこに相談したらいいかわからない…
いずれも中間コストを省いたリーズナブルな価格でお請けできます。
お仕事のご相談はこちらまで
rockyshikoku@gmail.com
機械学習やAR技術を使ったアプリケーションを作っています。
機械学習/AR関連の情報を発信しています。
※ 繰り返しになるが、本実装は特定個人・団体の監修や公認を受けたもの
ではなく、公開された考え方を技術検証のために独自再構成したものである。
採点結果は特定の正解を意味しない。
注
本記事で題材にする「ドレスとカジュアルのバランスを 7:3 に寄せる」という考え方は、日本のメンズファッションの文脈で一般に広く知られている公開された考え方を参考にしている。記事中の採点軸・JSON スキーマ・プロンプト設計・集計ルールは、その考え方を筆者が技術検証のために独自に再構成した実装であって、原典の文章・図版・画像を引用・転載したものではない。
そして本実装は、特定の個人・団体による監修・提携・公認・公式アプリではない。理論の正確な解説を目的としたものでもない。あくまで「主観的な評価軸を画像理解モデルにどう内在化させるか」という技術的な実験であり、採点結果が誰かの正解判定を意味するものではない。
この記事の価値は、ファッション理論そのものではなく、「閉じた体系を小さなモデルに蒸留する」という方法論のほうにあると思って読んでほしい。


