bimspec 2B (MLC / WebLLM) — 言葉が、建つ。

bimspecbim.house の建築設計AI。敷地条件(用途地域・道路幅員・防火指定・気候)と要望の自然文から、建築基準法(斜線・採光・容積/建ぺい)適合を狙った設計スペック JSON を返す蒸留モデルです。Qwen3.5-2B を LoRA 蒸留 → MLC q4f16_1 量子化。WebGPU のあるブラウザならインストール不要・完全ローカル(無通信)で動きます。

設計思想 — LLM はスペックだけ、正しさは決定的エンジン

このモデルは家の形 (BIM要素) を直接生成しません。出力はたった4キーのスペックです:

{ "form": "中庭ロの字", "floors": 2, "material": "SOLUNA 籾殻SIPs (国産杉+籾殻)",
  "features": ["薪ストーブ", "土間", "耐力壁強化"] }

これを決定的エンジン (Rust製・wasm版あり) が幾何に展開し、建築基準法 (斜線・採光・容積/建ぺい)・構造 (偏心率/剛性率)・5軸 (機能/美/環境/楽しさ/適法) を実採点します。LLM は「センス」担当、「正しさ」はエンジンが保証する分業です。採点器は決定的なので、ブラウザ内 wasm とサーバの判定はビット一致します。

入出力

入力 (system + user):

  • system: bim.house の設計ガイダンス入りプロンプト (デモページのソース参照)
  • user — 敷地ブリーフ:
敷地: 静岡県 静岡周辺 #55
用途地域: 第一種低層住居専用地域
敷地面積: 117㎡ (間口9.0m × 奥行13.0m)
前面道路: 幅員6.0m
気候: 省エネ地域区分4
要望: 二世帯でほどよい距離感の家

出力スキーマ (response_format で enum 拘束を推奨 — 自由文字列だと量子化モデルが文字化けトークンを吐くため):

キー
form enum 中庭ロの字 / 総2階(箱) / L字 / 平屋(矩形)
floors int 1–3
material enum SOLUNA 籾殻SIPs (国産杉+籾殻) / SIPs (杉CLT+籾殻+竹) / CLT パネル / 木造軸組 / 2x4 枠組壁 / RC打放しコンクリート / 鉄骨造
features enum[] 吹き抜け・ウッドデッキ・縁側・ロフト・薪ストーブ・土間・床暖房・太陽光発電・耐力壁強化 など24語 (≤8個)

教師データと作り方

  1. 教師 = bim.house 本番物件 1,321件 (2026-06-07ダンプ) + 遺伝的アルゴリズム (GA) 探索のベスト設計。品質しきい値: 決定的エンジン採点 ≥88点 + 法規適合のみ採用 (低品質教師はドリフトの原因になるため除外)
  2. ブリーフに法規制約を明記 (道路幅員・防火指定など)。これが無いと「同じ見た目の敷地で正解階数が違う」ラベルノイズになり学習が壊れる、というのが開発初期の最大の学び
  3. 学習: mlx_lm LoRA (Apple Silicon)。サイズ掃引の結果 4B が最良 (0.8B=89.15 / 2B=90.10 / 4B=93.13 / 9B=89.60 — 9B は 4B に勝てない)
  4. 評価は LLM 審判でなく実エンジン: 生成スペックを実敷地で幾何展開して決定的採点 (canonical 91敷地)。「上手く見える」でなく「実際に点が出る」で測ります
  5. best-of-N で教師超え: 単発 (temp0.7) 91.13 → best-of-8 + 決定的審判選抜で 98.70・適法率100% (教師平均 96.87 を上回る)。reward model は不要 — 正解器があるなら近似は要りません

WebLLM での使い方

import * as webllm from "https://esm.run/@mlc-ai/web-llm";
const appConfig = { ...webllm.prebuiltAppConfig };
appConfig.model_list = [...appConfig.model_list, {
  model: "https://huggingface.co/yukihamada/bimspec-qwen3.5-2b-q4f16_1-MLC",
  model_id: "bimspec-2b",
  model_lib: webllm.modelLibURLPrefix + webllm.modelVersion + "/Qwen3.5-2B-q4f16_1_cs1k-webgpu.wasm",
  vram_required_MB: 2245.44, overrides: { context_window_size: 4096 }
}];
const engine = await webllm.CreateMLCEngine("bimspec-2b", { appConfig });
const out = await engine.chat.completions.create({
  messages: [{role:"system", content: SYS}, {role:"user", content: brief}],
  temperature: 0.9,            // best-of-N するなら 0.7–0.9、単発なら 0
  max_tokens: 640,
  response_format: { type: "json_object", schema: SCHEMA }  // enum拘束 (上の表)
});

推奨レシピ: N=3〜8 案を temp 0.7–0.9 で生成 → 各案を決定的審判 (wasm score_building(spec_json, site_json) または POST https://bim.house/api/bimspec/score) で採点 → 適法優先・total 最大を選抜。これだけで単発比 +7点級の改善が出ます。

注意 (Qwen3.5/3.6系): thinking が漏れる環境では enable_thinking: false 相当の設定を必ず入れること。MLC変換は conv_template: qwen3_5_nothink 済みです。

性能 (このサイズ)

指標
canonical 91敷地・実エンジン採点 (単発) 90.10 / 100 (蒸留時測定)
適法率 未集計 (4B は 88/91 — 高精度が必要なら 4B 推奨)
ロード後の1案生成 数秒〜十数秒 (GPU依存)
VRAM 約 2.2 GB

制限・免責

  • **守備範囲は日本の低層住宅 (1〜3階)**。中高層・非住宅・日本国外の法規は学習外
  • 出力は設計の初期スタディ (C級提案) です。建築確認申請には建築士による設計・法規判断が必要です
  • 法規・構造の合否はモデルでなく決定的エンジン側で必ず検証してください (モデル出力を鵜呑みにしない)
  • 敷地ブリーフが学習分布 (上記フォーマット) から離れるほど精度は落ちます

English summary

bimspec is a distilled architecture-design LLM for bim.house. Given a Japanese site brief (zoning, lot, road width, fire district, climate) + wishes, it returns a 4-key design spec JSON (form / floors / material / features). The spec is expanded to geometry and scored by a deterministic building-code + structural engine (Rust, also compiled to wasm for fully-offline in-browser judging). Teacher data: 1,321 real production designs + GA search results, filtered to engine-score ≥88 & code-compliant. Trained with mlx_lm LoRA on Qwen3.5; size sweep found 4B optimal (93.13 vs 9B 89.60). Best-of-8 + deterministic judge reaches 98.70 avg with 100% code-compliance, beating the teacher (96.87). Runs entirely in the browser via WebLLM/WebGPU — try it live at https://bim.house/design/local. Scope: Japanese low-rise houses (1–3 floors); not a substitute for a licensed architect.

Downloads last month
1
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for yukihamada/bimspec-qwen3.5-2b-q4f16_1-MLC

Quantized
(1)
this model