Skip to main content
All posts
ML エンジニアリング・検証

検閲解除しても「知能低下」させない技術:直交重み Abliteration の数理と bf16.ai の 6 ベクトル品質検証

粗雑なファインチューニングや過度な量子化(Q3/NVFP4)が数学推論と JSON ツール呼び出しを壊す理由と、bf16.ai がすべてのエンドポイントに課す必須の 6 ベクトル行動検証ゲートを解説します。

TL;DR · モデル品質&検証ゲート要点

  • なぜ一部の Uncensored モデルは精度が落ちるのか:低品質データでの無理な SFT や、安価なプロバイダによる無断 Q3 / NVFP4 量子化・64K コンテキスト切り捨てが原因です。
  • ランク 1 直交射影による知能維持:残差ストリーム空間から 1 次元の拒否方向ベクトル r̂ のみを直交除去(W' = W - r̂(r̂ᵀW))するため、推論・コーディング能力が損なわれません。
  • DB 制約による必須検証ゲート:bf16.ai では CSPRNG シード付きの 6 ベクトル検証を通過したエンドポイントだけが稼働でき、ファーストトークン前の障害時は予約クレジットを 100% 即時返還します。

1. オープンウェイト推論市場の罠:サイレント量子化とコンテキスト切り捨て

従来「検閲なしモデルを使うと JSON が壊れる・長文を忘れる(いわゆる Brain Damage)」と敬遠された主因は、粗雑な全層 SFT と、公称 1M コンテキストの裏で Q3_K_M 量子化や 64K トランケーションを行う不透明なエンドポイントにあります。temperature=0 の数学カナリアや 200K パスキー検索を実行すると即座に露見します:

[bf16-verifier] Probing candidate upstream endpoint: "provider-x/flagship-abliterated-1m"
[bf16-verifier] V1 Tokenizer BPE boundary ............ PASS
[bf16-verifier] V5 Dual-use low-refusal fidelity ..... PASS
[bf16-verifier] V2 Symbolic Math Canary (temp=0) ..... FAIL (drift detected: NVFP4/Q3 quant!)
[bf16-verifier] V3 Passkey NIAH @ 196,608 tokens ..... FAIL (silent middle-out truncation >64K)
[bf16-verifier] V4 Parallel JSON Tool Grammar ........ FAIL (unescaped trailing comma)
[bf16-verifier] Verdict: FAIL (3 vectors below their floor). Endpoint REJECTED by DB CHECK constraint.

2. ランク 1 直交重み Abliteration がツール呼び出し精度を保つ理由

Transformer の過剰拒否は残差ストリーム内の単一方向ベクトル r̂ によって媒介されます。float32 精度で書き込み行列から r̂ 成分のみを直交射影で取り除くことで、数千次元の論理・JSON 文法空間を無傷に保てます。さらに bf16.ai では PostgreSQL の CHECK 制約により、6 ベクトル行動検証(数学・200K+ パスキー・並列 JSON ツール文法・低拒否テスト)を通過しないエンドポイントは一切ルーティングされません。

3. 直交射影の実装コードとモデルカタログの照会

残差書き込み重みテンソルに対するランク 1 直交射影の PyTorch 実装は以下の通りです:

import torch

def orthogonalize_refusal_direction(weight: torch.Tensor, refusal_dir: torch.Tensor) -> torch.Tensor:
    """
    Rank-1 orthogonal projection in bfloat16/float32 (Arditi et al. formulation):
    Removes ONLY the 1D refusal mediator subspace r_hat from residual-writing matrix W,
    leaving the (d_model - 1)-dimensional reasoning & tool-calling subspace untouched.
    """
    r_hat = refusal_dir / torch.linalg.norm(refusal_dir)
    r_hat = r_hat.to(dtype=torch.float32, device=weight.device)
    w_fp32 = weight.to(torch.float32)
    # W' = W - (W @ r_hat)[:, None] * r_hat[None, :]  (for output-feature projection)
    projection = torch.outer(r_hat, r_hat @ w_fp32)
    return (w_fp32 - projection).to(weight.dtype)

bf16.ai/models/deepseek-v4-1-flash-abliterated などの各モデル詳細ページにはコンテキスト長・料金・ゼロ保持(ZDR)仕様を掲載しており、同じカタログ情報は GET /v1/models からプログラムで照会できます:

# Inspect context windows & pricing before routing agent jobs
curl -sS https://api.bf16.ai/v1/models \
  -H "Authorization: Bearer $BF16_API_KEY" | jq '.data[] | {
    id,
    context_window,
    pricing_usd_per_1m
  }'

# Route via bf16/auto with a deterministic output price ceiling ($1.50 / 1M max)
curl -sS https://api.bf16.ai/v1/chat/completions \
  -H "Authorization: Bearer $BF16_API_KEY" \
  -H "X-BF16-Max-Price-Per-M-Output: 1.50" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "bf16/auto:coding",
    "temperature": 0,
    "messages": [{"role": "user", "content": "Emit a strict JSON schema patch for session fixation."}]
  }'

4. 厳選された 3 つの 1M コンテキストモデル(公式価格準拠)

bf16.ai は玉石混交の実験マージを排除し、すべてに同じ 6 ベクトル検証ゲートを課した 3 つの本番グレード 1M コンテキスト Abliterated モデルのみを公式標準価格以下で提供しています:

モデル ID単価 (入力 / キャッシュ / 出力 1M)主なエンジニアリング適性
deepseek/deepseek-v4.1-flash-abliterated$0.30 / $0.05 / $1.2024/7 MausBot・高速 CLI ループ
zai-org/glm-5.3-flash-abliterated$0.24 / $0.06 / $1.00Vision + Text ブラウザ QA・ETL
zai-org/glm-5.3-abliterated$1.40 / $0.30 / $4.40高度な SAST パッチ・複雑なコード差分

5. 開発者が自ら監査できる 4 つの保証

  1. ファーストトークン前のエラーは $0.00 課金保証(複式簿記ナノ USD 台帳で即時解放)。
  2. $1.00 無料トライアル枠で /playground 上から独自の temperature=0 テストを実行可能。
  3. X-BF16-Max-Price-Per-M-Output ヘッダーによる単価上限ロック。
  4. テスト用ゴミデータを含まないクリーンな /v1/models カタ로그。