自分の価値観を理解できないなら、AIを理解できない。 もし私があなたに、3つの数字(たったの3つ)があなたのAIが機能するか、あるいは破滅的に失敗するかを予測できるとしたらどうでしょうか? 新たな建築もなく、再訓練もなく、インフラ整備もない。 単純な数学 数学は、1950年以来、教科書に座って、誰かがそれをチェックするのを待っている。 この3つの数字は捕まっていたでしょう: あなたのTeslaのファントムは理由もなくブレーキします。 あなたのTeslaのファントムは理由もなくブレーキします。 GPT-4は、存在しない裁判所の訴訟を引用し、処罰を受けた弁護士によって提出された。 GPT-4は、存在しない裁判所の訴訟を引用し、処罰を受けた弁護士によって提出された。 あなたのモデル、トレーニング3週間、美しい損失曲線、出荷し、すぐに顔に落ちる。 あなたのモデル、トレーニング3週間、美しい損失曲線、出荷し、すぐに顔に落ちる。 毎回同じ根っこで、 誰もが無視する3つの数字 誰もあなたにそれらについて教えてくれません あなたのフレームワークではありません あなたのコースワークではありません ドキュメントではなく、 結論は安定したものか幻覚的なものか、最低限のものは現実か、か。 彼らはあなたのトレーニングが働くか、またはあなたの顔で爆発するかを予測しますが、 彼らはあなたのトレーニングが働くか、またはあなたの顔で爆発するかを予測しますが、 : Is your optimizer wasting compute zig-zagging? This number measures how “stretched” your loss landscape is. あなたはあなたのコンピュータの90%を横向きに燃やしています(エラー最小値に向かう方向) 1. 条件番号 κ (λ_max / λ_min) 「K」は「Canyon」を意味します。 条件番号 κ (λ_max / λ_min) 条件番号 κ (λ_max / λ_min) 「K」は「Canyon」を意味します。 : あなたのモデルは実際に学びましたか? それとも単に覚えていますか? 続きを読むと、あなたは 以下のGIFは、一連の方程式よりもよく説明します。 2. 自己価値の大きさ ε (λ λ_max) かわいい 自己価値の大きさ ε (λ λ_max) 自己価値の大きさ ε (λ λ_max) 3. You might be convinced that the gradient from your AI framework is enough to finish training your shiny new network. That’s what you were told: : 負の自己値数 δ (#λ < 0) 階段は「我々は終わり、どこにも行かない」と言います、なぜなら、あなたが測るすべての方向に傾斜が平らだからです。 負の自己値数 δ (#λ < 0) 負の自己値数 δ (#λ < 0) しかし、あなたのトレーニングが偽の最小限に閉じ込められた場合はどうでしょうか。 それがこの殺人者 δ 番号の目的です。 When , you’re at a true minimum — a valley floor. δ = 0 δ > 0 の場合、あなたは山の丘の上にいます。 さらに下に、あなたが今あなた自身に尋ねている可能性のある質問を明確にするアニメーショングラフィックが表示されます。 And Yet - Believe It or Not - This 旧数学 は は この数学は、誰もがニューラルネットワークを夢見る前に、1950年から存在しています。 七十五年の数学者が空虚に叫ぶ。 それでも、今、今日、あなたがこれを読んでいるように、PyTorchでなく、TensorFlowでなく、JAXでなく、Kerasでなく、標準的なトレーニングパイプラインでなく、何百万ドルも燃やしている。 3つの数字があなたにすべてを伝える 目に隠された The biggest AI labs in the world? They’re watching loss curves. Crossing fingers. And calling it engineering. OpenAIはそれらを無視し、Googleはそれらを省略し、Anthropicはそれらが存在していることを知らない。 OpenAIはそれらを無視し、Googleはそれらを省略し、Anthropicはそれらが存在していることを知らない。 Let it sink in. But keep reading, you haven’t seen the best part yet. Curious about the hidden side of AI? Discover more on my page here Curious about the hidden side of AI? Discover more on my page here 3 誰もが欠けている数字 だから、あなたは κ、 ε、 δ. すべてを予測する3つの数字、あなたの祖父母が若い頃から存在してきた3つの数字に出会いました。 今、自分に問う:彼らはどこにいるのか? あなたのスクリーンにない、あなたのログにない、何兆ドルのAI業界のどこにもない。 この3つの数字は理論ではないが、存在すべき診断パネルであるが、そうではない。 代わりに、最も人気のあるAIフレームワーク(PyTorch、TensorFlow、JAX、Keras)が実際にあなたに与えるものがあります。 価値の損失 ✓ グレードコース ✓ 学習率 ✓ それがダッシュボード全体です。 3 つの数は、正しい 3 ではなく、 κ (条件数)ではなく、 ε (eigenvalue magnitude)ではなく、 δ (negative eigenvalue count)です。 κ κ ε ε δ δ OpenAIの内部ツール?同じ盲点?Googleのインフラストラクチャ?同じギャップ。Anthropicのトレーニングパイプライン?同じ欠けているパネル。 今日のAIトレーニングは、スピードメーター、コンパス、振動で747を飛ぶようなものです。 今日のAIトレーニングは、スピードメーター、コンパス、振動で747を飛ぶようなものです。 今日のAIトレーニングは、スピードメーター、コンパス、振動で747を飛ぶようなものです。 損失は下がりつつあります 大きな - つまり、エラーは下がりつつあります、トレーニングは良いように見えます。 しかし is it going down? Is the model finding a real solution, or just memorizing noise and digging itself into a hole it’ll never escape? なぜ あなたの好きなAIフレームワークのダッシュボードは、そうしません。 図2bはこれを明らかにします。 この3つの数字はどこから来たのか。 : : それはあなたの損失の風景の完全な曲線を暗号化します. すべての峡谷、すべての丘、すべての平らな高原. それはすべてそこにあります。 彼らはヘッシャンと呼ばれるものの中に住んでいる。 あなたの損失関数の第2の衍生式マトリックス ヘッシャ語は完全にコンピュータ可能で、診断データを叫びながら座っているが、誰も見ていない。 ヘッシャ語は完全にコンピュータ可能で、診断データを叫びながら座っているが、誰も見ていない。 こちらはどうやって機能するか: 写真の真ん中にある2つのボックスを見てください。左側:PyTorchがあなたに示すもの. 損失は良いように見えます. ゼロ近くのグラディエント. 学習率を設定します。 On the right: what , そして、 明らかにする. 屋根を通しての条件番号. 図表の鋭さ. 二つのネガティブな自己値. あなたは最小限ではありません: ↓↓↓ κ ε δ you’re stuck at a saddle point pretending to be done κ ε δ 同じタイミングで、反対の結論 同じタイミングで、反対の結論 同じタイミングで、反対の結論 OpenAIはこれを計算しません、Googleはこれを計算しません。 何百万ドルか月分のGPUクラスターを実行している人は、独自の値をチェックしていない。 Nobody running a several-hundred-thousand-bucks-a-month GPU cluster is checking eigenvalues. They’re watching loss curves and you guessed right… praying! But the Hessian is Too Heavy! そこでGoogleの誰かが手を挙げる。 ヘッシャンはn×nです 数十億のパラメーターモデルの場合、それは数十億倍の数十億です あなたはそれを計算できません 数学的に狂っている! ヘッシャンはn×nです 数十億のパラメーターモデルの場合、それは数十億倍の数十億です あなたはそれを計算できません 数学的に狂っている! Correct. And completely irrelevant. You don’t need the full matrix. You never did. ハンガリーの物理学者 「コンピュータ」とは、真空管でいっぱいの部屋を意味し、強制的な指交渉を意味したときのことです。彼の手法は、イテラティブなマトリックスベクトル製品を使用して支配的な独自の値を抽出します。 基本的には単一フロントパスと比べて無料です。 Cornelius Lanczos figured this out in 1950 O(n) per iteration Cornelius Lanczos figured this out in 1950 それ以来の75年の進歩? Hutchinsonの痕跡推定器、ストーカスティックLanczos平方、ランダム化SVDがあります。あなたはスペクトラル密度推定、トップK独自値、条件番号の限界を得ることができます - すべて軽微な計算コストで。 ツール like すでに ImageNet スケールでこれが機能していることを証明しています 今日。 ピエシア ピエシア では、なぜこれはPyTorchにないのか?なぜTensorFlowにないのか?なぜJAXにないのか? では、なぜこれはPyTorchにないのか?なぜTensorFlowにないのか?なぜJAXにないのか? では、なぜこれはPyTorchにないのか?なぜTensorFlowにないのか?なぜJAXにないのか? Because the people who understand spectral theory are in math departments, writing papers nobody reads. The people building frameworks are shipping features that look good in demos. And the people training models are too busy babysitting loss curves to ask why they’re babysitting loss curves. The math exists. The engineering exists. The will to connect them? Apparently not. Seventy-five years. Still waiting… これらの数字が実際にあなたに何を語るか 実践的で具体的で、そして何よりも視覚的で、あなたが正しい数学的な直感を構築できるようにしましょう。 実践的で具体的で、そして何よりも視覚的で、あなたが正しい数学的な直感を構築できるようにしましょう。 The Condition Number Disaster 条件番号 κ (kappa) = λ_max / λ_min は、あなたの最適化の問題が実際にどれほど難しいかを制御します。 Here’s what nobody tells you: gradient descent convergence scales as (κ-1)/(κ+1) per iteration. Here’s what nobody tells you: gradient descent convergence scales as (イ) (イ) + (イ) (イ) (イ) + (イ) per iteration. 翻訳: Roughly 100 iterations to cut your error in half. κ = 100? Roughly 10k iterations for the same progress. κ = 10000? そして、 κ = 10000 は実践で一般的で、病理的ではありません。 では、何が高く、k 似てる? feel Imagine rolling a marble down a valley. Nice round bowl? Marble rolls straight to the bottom. Done. しかし、高い κ は、あなたの谷がブラザーの薄いスロット・キャニオンであることを意味します:壁は1マイル高く、床はほとんど見えません。 あなたの大理石は下がりません。 それは壁から抜け出します。 左. 右. 左. 右. 燃えるエネルギーは下がる代わりに横行します。 That’s your gradient. Pointing exactly where calculus says: steepest downhill. Problem is, “steepest downhill” aims at the 解決策に向かって床を下ろさないでください。 カニオンの壁 損失は0.0847,その後0.0846,その後また0.0847? あなたは学習率を調整します。 何もありません。 あなたはMLの神々にゴム鴨を犠牲にします。 何もありません。 Those training runs that plateau for hours? それは、Kの高さです。 あなたの最適化は壊れていない. それはあなたが要求したことを正確にしている. あなたが要求したものは、単に地理的に狂っている。 あなたは、あなたのフレームワークが存在を認めることを拒否するコンピュータ戦闘ジオメトリーを燃やしている。 The fix? Preconditioning. Second-order methods. Adaptive optimizers that implicitly estimate curvature. The math exists. It has been in textbooks since the 1960s. 数学は存在しています。 しかし、まず、Kが問題であることを知る必要があります。 Your dashboard won’t tell you. So you’ll never ask. And your compute bill keeps climbing. 下の図は、何が起こっているのかを正確に示しています。同じ出発点、同じ目的地。 1 つのパスは ~100 回繰り返し、もう 1 つは ~10,000 - 峡谷の壁をジグザッグする while your GPU burns money. Sharp vs. Flat: The Generalization Prophecy(シャープ対フラット:一般化の予言) さて、今、話し合おう。 マクシン マクシン マクシン マクシン ε (epsilon) この数字は、すべてのMLエンジニアが秘密裏に恐れる質問に答えています:あなたのモデルは実際に何かを学びましたか、それともテストを覚えていますか? この数字は、すべてのMLエンジニアが秘密裏に恐れる質問に答えます。 Did your model actually learn anything, or did it just memorize the test? あなたの失われた風景を地形としてイメージしてください。 広い谷 - あなたは回り回ることができ、高さはほとんど変わりません。 ナイフ・エッジ・リッジ - One wrong step and you're tumbling into the abyss. flat minimum sharp minimum Small ε = flat minimum = good news. εが小さい場合、あなたのモデルはその広い谷を見つけました。生産データは、トレーニングデータとは少し異なります:ユーザーは奇妙なものを入力し、照明が変化し、アクセントが変化し、あなたのモデルは揺れ動きます。 かなり近いので、これを頂きました。 That’s a generalization. That’s what you’re paying for. The GIF below shows what this looks like geometrically: Now flip the script. あなた自身の価値が大きな数字を叫ぶとき、 ε が大きいとどうなりますか? . Training loss looks perfect. Validation is “best run ever.” Well, when ε is 広い , your model has squeezed itself into a tiny, sharp crevice Well, when ε is 広い 広い , your model has squeezed itself into a tiny, sharp crevice その後、実際のデータが到着します. 少し異なる表現. 少し異なる画像. 少し異なるもの。 and the model does not . perform a bit worse It blows up: 信頼度は狂う 予測はランダムに変わる Your alert-log system explodes at 2 AM. 💀 それはアクションの最小限です 壁はそれほど滑らかで、最小の転換は損失ロケットを送ります あなたのモデルは堅固ではありませんでした それは . BRITTLE AND FAKE IT The GIF below shows the difference. Same horizontal shift. Wildly different outcomes. Enter or click to view image in full size (画像を完全に表示する) あなたが見るように、これは哲学ではありません。これはあなたが測定できる地理学です。 ベンチマークを打ち砕いて生産中に亡くなったあなたのモデルは? 最小限を見つけました. 独自の価値はあなたに言っていたでしょう... しかし誰もチェックしませんでした。 Saddle Points: The Silent Killer 今の為 ネガティブな自己価値の数値、#(λ < 0) この数値はあなたの顔に嘘をつきます。 δ (delta) あなたのグレディエントはゼロに当たります。 あなたの損失曲線は平らになります。 Your framework prints: **“converged.” \ You relax. But you’re not at an error minimum. You’re at a saddle point ! 💀 You’re at a サドルポイント サドルポイント A mountain pass where the terrain curves up in some directions and down in others. しかし、あなたは言うかもしれない: \ No, dear reader. No. It only means you’re balanced on a ridge, not that you’ve reached anything useful. PyTorch は私のグレディエントがゼロであることを示しています - それは最適化が完了したことを意味するべきではありませんか。 How common are saddle points? Let’s do the math. どんな重要な点でも、それぞれの eigenvalue を、ポジティブかネガティブかというコインフリチャンスを持っているように考えることができます。 of them positive. The rough probability? One-half raised to the power of your parameter dimension. すべて 百万のパラメータの場合、それは1/2^(106)です。 You have better odds of winning the lottery while being struck by lightning while a shark bites your leg. In high dimensions, almost every critical point is effectively a saddle. True minima are statistical miracles. 良いニュース:ほとんどのサドルポイントは不安定です. SGDの固有の騒音は通常、最終的にあなたを打ち切ります。 悪いニュース: 「最終的に」は無駄なコンピュータの3週間かもしれない。 自己価値がゼロに近づいている劣化したサドルは、階段が話す代わりにささやいている高台を作り出す。 would tell you instantly. One number. Saddle or not. But your framework doesn’t compute it. δ > 0 would tell you instantly. One number. Saddle or not. But your framework doesn’t compute it. δ > 0 下のGIFは、このがどう見えるかを示しています: The Gradient Flow Time Bomb Oh, you thought we were done? It gets worse. あなたのニューラルネットワークは1つの機能ではありません。それは機能の連鎖です - 次に次に次に次に次へと次へと次へと次へと次へと次へと次へと流れなければなりません。 Each layer has a Jacobian matrix — the matrix of partial derivatives that governs how signals propagate. . The singular values of these Jacobians determine whether your gradients survive the journey or die along the way これらのジャコビアンのユニークな価値は、あなたの階段が旅を生き延びるか、あるいは途中で死ぬかを決定します。 The gradient gets amplified at each layer. By the time it reaches the early layers, it’s not a gradient anymore — it’s a bomb. Exploding gradients. Your weights go to infinity. Training crashes. NaN city. Singular values > 1: 逆の災害. グレディントは各層で打ち砕かれる. 初期の層に達する時点で、それはラウンドエラーです. 消えるグレディント. あなたの初期の層は学習を止めます. 彼らは凍結し、ネットワークの残りの部分はトレーニングするふりをする。 Singular values < 1: Goldilocks zone. Gradients flow cleanly from end to end. Every layer learns. This is why orthogonal initialization works. This is why spectral normalization exists. Singular values ≈ 1: But here’s the thing: these techniques were discovered by accident and applied as band-aids. Nobody monitors Jacobian spectra during training. Nobody watches the singular values drift. The diagnostic that would tell you: , simply doesn’t exist in any commercial framework. レイヤー47はあなたのグレディエントフローを殺す準備ができている。 Layer 47 is about to kill your gradient flow 😁 あなたのネットワークは内部で出血している可能性があり、ダッシュボードは何も示しません。 自分で見てください: And Here You Go: The Real Dashboard Your AI Framework Is Missing これは、深刻なAIフレームワークがあなたに示すべきダッシュボードです。 A mathematically literate training loop would compute lightweight spectral diagnostics at checkpoints and act on them: → switch to a preconditioned method. Hessian condition number exceeds a threshold Jacobian singular values drift away from 1 → apply spectral normalization. ジャコビアンシンガル値は1から離れ、スペクトル正常化を適用します。 Negative eigenvalues appear → you are at a saddle, disturb to escape. ネガティブな eigenvaluesが表示される→あなたはサドルにいる。 Hessian condition number exceeds a threshold Jacobian singular values drift away from 1 Negative eigenvalues appear 現時点では、商業的に利用可能なAIフレームワークは、これらの基本的な自己価値予測器を提供しません。 なぜ誰もこれを直さなかったのか。 3つの理由: 問題の仕事により多くのコンピュータを投げるとき、誰も基礎を疑問に思うことはありません。これは一時的です。スケーリングの法則は高原です。彼らがそうするとき、業界は突然、学ぶのに困ったことのない数学が必要になります。 Scaling obscures mathematical sins. スペクトラル理論を理解する人々は、応用数学部門で逆の問題を解決し、AIフレームワークを構築する人々は最適化と統計をとった。 Disciplinary silos. 適切なスペクトルモニタリングを実装するには、誰も構築したくないインフラが必要です。 Abstraction debt. THE BILL COMES DOU Here’s what’s missing in every production framework: 業界はAIのスケール化に10億ドルを投資しました。 数学の基礎は不完全である。 Every unexplained training failure, every generalization anomaly, every model that worked in the lab and died in production — these are symptoms of mathematical pathologies that your tools cannot diagnose. あなたは今、これらの大規模なAI企業を超えるために何ができるでしょうか? Start here: Hessian eigenvaluesがあなたの特定のアーキテクチャにとって何を意味するかを学ぶ トレーニング中の状態番号をモニタリングする - たとえ粗大な推定でも役立ちます before you ship — PyHessian exists, use it Check for sharpness when loss plateaus — you might be at a saddle, not a minimum Question everything 数学は、1950年から待っている。 The only question is whether you’ll learn it before your next production failure teaches you the hard way. Curious about the hidden side of AI? Discover more on my page here Curious about the hidden side of AI? Discover more on my page here