しかし、毎回、それは強くなり、鋭くなり、止められないように回復し、再び、伝統的なフォン・ノイマン・アーキテクチャだけでなく、現在のGPUコンピューティングのレースだけでなく、私たちが想像していたよりもはるかに深いものとして、現代のAIの心臓を打つ最適化者として、最も強力なプログラミング言語として現れています。 彼らはそれを殺そうとし、それを善のために埋めようとしました。 彼らはそれを殺そうとし、それを善のために埋めようとしました。 しかし、そこで止まらないようにしましょう。 それは、脳移植ではなく、1980年代のDNAの全線が引き裂かれ、前代未聞のものに置き換えられた。 最新のC++リリース 最新のC++リリース ほとんど気づいていない1つの機能は、巨大な利点を持っています: C++23のモナディック操作 - std::expected、std::optional、および std::variantが一緒に動作します これらは機能的なプログラミングの砂糖だけではありません。 ほとんど気づいていない1つの特徴は、巨大な利点を持っています: ── そして これらは単に機能的なプログラミング砂糖ではなく、新しい種類の最適化計算を実装するための基礎です。 現代の最適化とAIの進歩を阻んでいる限界ベースの計算から根本的に離れていく。 monadic operations in C++23 std::expected , std::optional , std::variant 働く curvature それは テクノロジーの隠れた側について興味がありますか? 詳細はJosé Crespo博士のページを参照 The Optimizer's Midlife Crisis - Why C++23 Is Pure Gold オプティミザーの中年の危機 - なぜC++23は純金なのか You experience it all the time, with frustration, when: Spotify looping the same 20 songs. Instagram pushing rage-bait. A Tesla missing a fire truck (hopefull not ). A model going NaN after 72 hours on $50k of GPUs. ChatGPT continues drawing human hands with six fingers. 同じ20曲をロープする時、あなたは絶え間なくそれを経験します。 そして、その理由は次の通りです: 異なる表面、同じ問題の下に、1820年代の数学を使用して、2025年にアルゴリズムを実行しています。 はい、正しい:近代的なC++(C++23)は、最適化のステップが地形を使用するためのツールを提供し、すべてのルールではなく1サイズに合うルールです。 But you still need the right math tool—and, surprisingly for many, classical calculus is the wrong one for the new breed of truly smarter optimizers. ステップがゼロになるにつれて、単一の点で何が起こるかを尋ねます. それは全体的な形にあなたを盲目にし、状況が変化し続けているときに自動化することは困難です. Real code moves in finite, noisy, floating point steps. なぜか? なぜなら、残念ながら、私たちが学んだ19世紀の計算の枠組みは、 なぜか? なぜなら、残念ながら、私たちが学んだ19世紀の計算の枠組みは、 古い計算法の代替として、毎秒数十億回の最適化アップデートを実現する自動人工知能システムに調整され、手動の監視をはるかに超えています。 別の数学ツールが必要です。 別の数学ツールが必要です。 私たちにとって幸運なことに、このための数学の奇跡 - 曲線数 - 尊敬されるがマイオピックな計算とは異なり、曲線数は、そのすべての次元に投影された全体の形を、それぞれの次元を通して一つずつ切断された一つの点ではなく見ます。 シンプルな例で描く: 古い計算は森の前に木を見、新しい計算は真の無限の小さな数字に基づいて最初に森を見、次に木や木の葉を見ます。 したがって、歴史上何度も繰り返したように、社会的、経済的、技術的ニーズが新しい数学を要求するときに戦術を変える必要がある。 では、C++はどのようにしてそれを可能にするのでしょうか。 ハイプを断ち切って、AIの失敗のほとんどは最適化に終わります - 通常は2つの酸味で: NaN explosion after expensive training: コンピューターには特定の「数字のスロット」がありますが、あなたの値がそれらのスロットにとって大きすぎるか小さすぎる場合、数学は奇妙に変わります(NaN)、そしてランは崩壊します。 Copilot suggesting bugs: コピロットが提案するバグ: 完璧な皮肉 - モデルは間違ったパターンを非常によく学ぶことができ、あなたが修正しようとしている正確な間違いを続けます。 さて、曲線数で遊ぶ方法を見て、下の牛を見てみましょう。 Top figure: the old way (Hessian). Like a CT scan, it slices the cow into parts. 速い視点に役立ちますが、あなたは本当に体全体のトリップをキャプチャすることはありません。 底図:曲線数 切片の代わりに、私たちは次々と形状に牛を包みます K1は広い黄色の封筒を与えます K2は、表面に曲がる赤いハロで緊張します K3は、私たちが実際に気にする牛を抱きしめている緑色の皮膚で封鎖します ステップごとに、粗いスケッチは真の形状になります。 これが我々が待ち望んでいたゲーム変革者である:タイミングの最適化者は、状況が変わるたびに常に手動で調整する必要がある脆弱なハックではなく、ようやく自動最適化者と呼ばれることができます。 これは我々が待ち望んでいたゲーム変革者:最適化者がついに呼ばれる瞬間です。 状況が変わるたびに常に手動で調整する必要がある脆弱なハックではありません。 automatic optimizers そしてここに革命がある:曲線数を数学として、C++23をエンジンとして使用すると、最適化はもはや無限の人間の調整に依存しなくなります。 なぜこれが重要なのか? なぜなら、最適化はAIの細部にすぎないからだ。 : every modern system AI & Machine Learning: 最適化者なしには、トレーニングも学習も知能もありません。 工業とエンジニアリング:物流からエネルギーネットワーク、ロボット技術から航空宇宙に至るまで、すべての自動化システムは制約の下で最適化に至ります。 金融、製造、薬物の発見さえ、すべては最適化のループに依存しており、今日の最適化者は19世紀の数学をベビーシットするためにまだエンジニアの軍隊を必要としているという事実に支えられています。 完全自動化が停滞しているのは、そのためです。真の自動最適化装置がなければ、産業は半自動化され続けます:自ら走っているふりをする機械ですが、実際には依然として常に人間の手の調節に依存しています。 私はあなたが今、これは小さなアップグレードではないことを知っていることを願っています. それは誇張せずに、文明のテクノロジーの限界です。 C++23の曲線数は、最適化自体を自動化されたプロセスに変えています - 見えないヒーローは誰も言及していないが、それなしでは、AIも業界も完全に自動化されると信頼できない。 AIに対する懐疑論の高まり AIに対する懐疑論の高まり C++: Curvature Numbers to the Max を利用できる唯一の言語 地図を下から見て、それ自体が言える。 左側: (SGD、アダム、L-BFGS) 今日のAIの作業馬。 classical optimizers C++23の曲線数(ε*) 違いはかなりマインドブロウ: 古い最適化者は固定ステップサイズを使用しているため、目の前に進むように進みます。 1980年代に戻り、 「曲線数」は、このアイデアをさらに推し進めます:推測する代わりに、あなたは正確な由来(ダブル/ジェット番号を通じて)とマシンに適した地形意識のステップを使用します。 で、 そして、 , あなたは、これらの最適化器を、コンパイル時間のすぐ下に、迅速かつ安全な方法で書くことができます。 バージライ・ボルワイン法 コンセプト MDSPAN 予想 バージライ・ボルワイン法 そしてそれはそこで止まらない:メモリの効率性、騒音の強さ、二次元の情報、並行性、理論的保証 - 曲線のアプローチはボード全体で勝利します。 他の言語はどうですか?他の言語はどうですか? 懐疑論者の声は予測可能である: 「確かに、C++は過去に重要だったが、Python、Rust、またはJuliaのような現代言語に置き換えられる準備ができている古い同僚ではないか?」 下のチャートをご覧ください。 Enter or click to view image in full size (画像を完全に表示する) データ自体が答える。 Python (黄色): CuPy または Numba のような GPU アクセラレータでさえ、Python はすべてのループに通訳を圧倒します. Throughput collapses, latency spikes, memory efficiency tanks. It is a productivity tool for prototypes, not the foundation for civilization-scale optimizers. Python はプロトタイプの生産性ツールであり、文明規模の最適化の基盤ではありません。 Rust (red): 安全性と同期性に優れていますが、GPUコンピューティングエコシステムではまだ若く、CUDA/ROCm/SYCLとの直接統合のための成熟したスタックはありません。 C++23 (グリーン): Monadic オペレーション (std::expected, std::variant) は GPU カーネルと直接合併します。 C++ 23 は、新しい計算のルールがコンテナ自体に組み込まれている「math container」を構築することを可能にします。 テンプレートはコンパイルタイムで曲線アルジェベラをコードします. Latency, precision, throughput, scaling, energy efficiency — across every axis, C++23 is round ahead. テンプレートは、コンパイルタイムで曲線アルジェベラをコードします。 これはノスタルギーではない、古い仕事の馬に縛られることではない、パフォーマンスの現実のことだ、そしてパフォーマンスの現実においては、C++23は競争力だけではなく、 . miles ahead 所有権への呼びかけ C++ は、世界がより安全で、より単純で、より遅いツールに移行する一方で、静かに死ぬべきだったが、歴史は直線に進んでいない――そしてここに我々がいる――C++23 は、私たちの文明が持っている真の自動化のための最も鋭い武器を持っている。 レッスンはシンプル: これらなしでは、AIは劇場となり、自動化は現実となり、今では初めて、最適化を自動化するフレームワーク(C++23に合併した曲線数)を保有しています。 optimizers are not side details. They are the hidden engines of everything that adapts, learns, and runs at scale. そこで、ここが挑戦です。 ビッグテクノロジーが「AI as a service」であなたを祝福するのを待ってはいけません。Python wrappers or Rust bindings to catch up. Don't wait for the next hype cycle to tell you what matters. Python wrappers or Rust bindings to catch up. 自分でツールを拾い上げ、カーネルを書き、曲線番号をテストし、パイプラインを構築し、完全な自動化が既にここにあり、 Take ownership. Open the compiler. The future is yours to build.