Java与下一代编程模型

Java与下一代编程模型

💡 原文英文,约200词,阅读约需1分钟。
📝

内容提要

Oracle Java团队介绍:Java通过外部函数与内存API及jextract,可安全调用JVM外运行时;Project Babylon的代码反射能将AI模型写成Java程序,经分析转换后下沉至推理引擎,利用硬件加速,无需外部模型文件或胶水代码。

🔎

延伸解读

从FFM到Babylon:Java与外部运行时交互的演进

文章指出,Java通过外部函数与内存API(FFM)及jextract工具,已能安全调用JVM外的运行时。这解决了现代软件需与AI模型、查询语言等专用编程模型交互时的上下文切换和胶水代码问题。而Project Babylon的代码反射更进一步,允许将AI模型表达为Java程序,经分析转换后下沉至推理引擎,利用硬件加速,无需外部模型文件。两者代表了从“桥接”到“原生表达”的演进路径。

代码反射如何简化AI模型部署

根据文章,Babylon的代码反射能让开发者用纯Java编写AI模型,Babylon分析这些程序后将其转换为推理引擎可执行的代码,从而利用硬件加速后端。这跳过了外部模型文件和胶水代码,减少了部署复杂性和潜在错误。文章强调,这种方式既保留了Java的表达力,又直接对接硬件加速,为AI模型在JVM生态中的集成提供了新思路。

当前与未来:FFM推理与纯Java AI模型

文章区分了两个阶段:现在可以用基于FFM的方式构建推理,即通过外部函数与内存API调用JVM外的推理引擎;未来则可用代码反射编写纯Java的AI就绪模型。这种分阶段策略让开发者既能立即利用现有FFM能力,又能为Babylon带来的范式转变做准备。文章没有给出具体时间表,但明确了两条技术路线的衔接关系。

❓

Q&A

Java 如何安全地调用 JVM 之外的运行时?

Java 通过外部函数与内存 API(Foreign Function and Memory API)以及 jextract 等工具,能够安全地与 JVM 外部的运行时进行交互。

Project Babylon 的代码反射有什么作用?

Project Babylon 的代码反射允许将 AI 模型表达为 Java 程序,Babylon 可以分析、转换这些程序并下沉到推理引擎,从而利用硬件加速后端,同时无需外部模型文件或胶水代码。

使用 Java 开发 AI 模型时,如何避免外部模型文件和胶水代码?

借助 Project Babylon 的代码反射,可以直接用 Java 编写 AI 模型,Babylon 会分析并转换这些模型,将其下沉到推理引擎,从而跳过外部模型文件和胶水代码。

jextract 工具在 Java 与外部运行时交互中扮演什么角色?

jextract 是用于辅助外部函数与内存 API 的工具,它能帮助开发者更便捷地生成调用外部运行时所需的 Java 代码。

目前如何用 Java 构建基于 FFM 的推理?

目前可以利用外部函数与内存 API(FFM)来构建具有表现力的推理应用,通过 FFM 安全地调用外部推理引擎。

未来如何用纯 Java 编写 AI 就绪的模型?

未来可以通过 Project Babylon 的代码反射,用纯 Java 编写 AI 就绪的模型,这些模型能被 Babylon 分析、转换并下沉到推理引擎,利用硬件加速。

🏷️

标签

➡️

继续阅读