Vectron:もう「想像してみて」とは言わないことにした
LLMの「意味」を歩き回れる3Dマップとして作った理由、そして「どこで嘘をつくか」を測ることがこのプロジェクトのもう半分である理由
2026-07-30 · 著者:Esteban Rey(@Kilowatto) · 8,723 回読まれています
私はほぼ毎月、AIの講座を開いている。90分のセッションが4回という構成だ。初回のセッションでは、いつも同じ場面にたどり着く。受講者に「言語モデルを想像してみてください」と頼む場面だ。テーブルと行からなる従来型のデータベースとしてではなく、もっと「空間」に近いものとして。ただ問題は、その想像を私がコントロールできないことだ。教室にいる一人ひとりが、それぞれ違うメタファーを頭の中で作り上げる。しかも、そのメタファーの多くは間違っている。
すぐに気づいたことがある。「想像してください」と頼む代わりに、黒板に即興で描いた図でもいいから実際に見せると、セッションの空気が変わるのだ。そこから時間をかけて育っていったのが、完全に教育目的のシステムだった。それがVectronである。
メタファー抜きで言うと、Vectronとは何か
Vectronは、意味を表す公開3Dマップであり、vectron.kilowatto.comで実際に公開・稼働している。立方体の中の粒子ひとつひとつが、20,473個の概念からなるコーパスに含まれる実在の単語であり、その位置はbge-m3(Workers AI)が生成する1,024次元の実際のエンベディングをPCAで3座標に圧縮したものから決まっている。
これは模型でも、事前に録画されたアニメーションでもない。文章を入力すれば、実際のモデルが使うのと同じBPE(cl100k_base)で本当にトークン化される。粒子をひとつ選べば、その近傍はCloudflare Vectorizeによる本物のベクトル検索から得られる。しかも画面上で見えている3次元ではなく、1,024次元すべてを使った検索だ。2つの概念を比較すれば、表示されるコサイン類似度は本物のコサイン類似度である。スタック全体は、Workers、Vectorize、D1、R2、Workers AIで構成され、フロントエンドはWebGPU上のThree.js――20,473個の粒子を1回の描画呼び出しで処理している――そしてコーパスは30分ごとにcronで自動的に成長していく。
なぜ週末の遊びで終わらせなかったのか
私はテクノロジーの世界に25年以上身を置いてきた。その大半は、Ignia Cloud、自分の投資案件、Yucatech Festivalといった会社を作ることに費やしてきた。Vectronは、そうした野心から生まれたものではない。生まれた場所は、まさに教室で感じたあのもどかしさと同じだ。何かを説明する代わりに見せられるなら、きちんと見せるべきだ――たとえそれが、週末の実験で済ませず、シェーダーやPCA、GPUレンダリングに本気で踏み込むことを意味するとしても。
「どこで嘘をつくか」も教える
このプロジェクトの中で私が一番誇りに思っている部分は、見た目が美しい部分ではない。コーパス上の実際の数値を使って、いま見ているものをどこまで信じていいのかを測定している部分だ。
Vectronが自分自身について測定していること: 目に見える3軸が保持しているのは、実際の分散のわずか11.69%にすぎない(16成分をすべて使っても26%に届かない)。画面が提示する近傍のうち、約31%は投影によって作り出された虚像である(k=10でtrustworthinessは0.694)。まったく関係のない2つの単語のコサイン類似度は0.412――ゼロという値は存在しない。そして実際に偏りも存在する。ある概念は平均10回のところ、77回も近傍リストに登場する。
ここから、このプロダクトで最も重要な設計判断が生まれた。「約束する」対象は、点が落ちる位置ではなく、ユーザー自身が行う検索クエリに紐づける、というものだ。概念同士をつなぐ線は正直なチャンネルであり――1,024次元での本物のコサイン類似度――位置のほうは不正直なチャンネルである――分散のわずか11.69%。だからこそ、線は補正を加えたうえで残すことにした。描画する本数の上限、実際のコサイン類似度に比例させた太さ、何を検索したのかを明示するラベル、そして関係が相互的でない場合は線を途中で切る、といった補正だ。
これはうまくいく、と確信した瞬間
それはレンダリングが完成した瞬間でも、コーパスが目標の20,473概念に到達した瞬間でもなかった。ある講座で、受講生たちにこれを見せていたときのことだ。彼らがひとつの単語を選び、その本物の近傍が空間の中で光り出すのを見た瞬間だった。「ああ、なるほど」というあの表情――何年もの間、黒板の図で追い求め続けてきた表情――を、私がそれ以上何も説明しなくても、リアルタイムでついに目にすることができた。
この先に続くもの
Vectronはひとつのレベルにとどまらない。言語モデルに触れたことがない人向けのバージョンもある――専門用語なしで、20,473個全部ではなく厳選した300概念だけを使う。要素を減らしたほうが、実際の学びは増えるからだ。トークン、エンベディング、失敗事例のラボを備えた中級バージョンもある。そして、完全な計測機器そのものを求める人向けの上級バージョンもあり、編集されていない数式とコーパスの制御が可能だ。難易度ではなく習熟度でレベルを分けるという発想は、表面的な特徴だけを見る初心者と、深い原理を見る熟練者とを分けるものと同じ発想である。
このプロジェクトは、今も自分自身を修正し続けている。私が行った監査――全部で6回、190件以上の参照を検証した――のひとつで、このコーパスが本物のバイリンガル性については何も証明していないことが判明した。そこで正しい検証手順を実行してみると、スペイン語の正答率は50.7%、対する英語は100%――言語間だけに存在する完全なギャップだった。両方の形をエンベディングすることで修正し、いまでは99.3%になっている。
Vectronの本当の狙いは、これに尽きると思う。人工知能について教える教育ツールでありながら、人々にどんなAIに対しても求めるよう教えているのと同じ厳しさを、自分自身にも課している、ということだ。ぜひアクセスして遊んでみて、これまで「想像してください」としか言えなかったものを、どれだけうまく――あるいは、どれだけ下手に――説明してくれるか、教えてほしい:vectron.kilowatto.com。
コメント
最初のコメントを書きましょう。