HOC/HVM/Bend現況簡述: 大約一年前,我們推出了Bend1。 - 首個在 GPU 上執行閉包和快速物件分配器的語言 - 接近理想的加速效果,最高可達 10000+ 個核心 - 基於 HVM2,一種用於互動網路的嚴格運行時 問題: 解讀成本仍然很高。 - 完全 RTX 4090 可以擊敗單核心 OCaml / JavaScript / 等。 - 存在很大的實際限制(int24、不支援 I/O、不支援打包) 儘管使用了 Python 語法,但仍然很難使用。 事實證明,大多數開發者都不具備遞迴思維。 - 與惰性求值不相容(不是β最優的!!) 我對上述問題感到失望。同時,我對將最優評估應用於程式合成問題越來越樂觀,而程式合成是符號人工智慧的基石——一個失敗的想法,但我強烈地感覺到「我可以解決它」。 我做了一個決定:放棄 HVM2(💀),回歸 HVM1 的根基。 HVM1 基於我的“交互演算”,並採用了 β 最適性。我對其進行了大量的潤色和改進,最終得到了 HVM3,一個用 Haskell 編寫的原型。之後,我利用它來理解和研究最優評估器上的程式合成。這非常艱難,耗費了我大約一年的時間,但結果是積極的,我們的系統現在在效率和功能方面都超越了所有已發表的替代方案。 現在,我們將所有這些成果鞏固起來,透過用純 C 語言實現執行時間/編譯器,使其能夠在我們簡陋的 Mac Mini 叢集上盡可能高效地運行(🥹),並透過 API 將其提供給全世界。 我原計劃在十月發布,但目前仍存在一些挑戰,耗時比預期更長。例如,使用 SupGen 尋找精益證明需要非常謹慎地處理疊加態,而用 C 語言實現這一點實際上難如登天——不過,項目進展順利,我們已經完成了大量工作,我仍然預計今年或 2026 年第一季度發布 Bend2 / HVM4。 Bend2 將具備: - 並行 CPU 運作時,支援惰性/最優模式(!!!) - 終於支援 16/32/64 位元整數、無單位整數和浮點數了 - 透過輕量級 C 互通(例如 Zig!)實現任意 I/O - 由於時間有限,目前還沒有 CUDA,不過這完全可以實現。 - 最重要的是:SupGen 集成 SupGen 是一項全新的技術,也是 Bend2 的核心創新。它並非傳統意義上的 AI,而是一種能夠根據範例和規範生成程式碼的全新技術。我認為許多人(尤其是深度學習領域的專家)都會對我們僅憑符號搜尋就能取得如此成就感到措手不及,而我最期待的,莫過於看到大家的反應。
還有一點忘了提: - Bend2 可以匯出為 JavaScript/Haskell 格式,因此您可以直接使用它來編寫普通應用程序,而無需等待 Bend 生態系統的支援。 遺憾的是,Bend2 將違背一個承諾:「如果可以並行運行,它就會並行運行」。這是因為這個承諾顯然與惰性求值不相容(要嘛等待表達式是否可見,要嘛並行計算它-二者不可兼得)。我仍然希望未來能以 HVM2 的直接更新形式提供完整的嚴格模式,但時間緊迫,這並非我們目前的重點。不過,好的一面是,我相信我們可以在 GPU 上運行惰性模式。實際上,我認為這將比完全嚴格並行要好得多。 我們的WeFunder眾籌活動仍在進行中,但我不會再積極跟進,活動結束後就會關閉。