机器学习不再是可选功能,而是正在成为现代应用的必需基础设施。对于驱动全球 78% 网站的 PHP 开发者来说,这带来了前所未有的挑战:如何在 AI 优先的世界中保持竞争力?
PHP-ORT 为这个问题提供了答案——通过严格的工程设计和性能优化,为 PHP 带来了一流的机器学习推理能力。
软件正以 25 年来前所未见的速度发生变化。机器学习不仅仅是变得重要,而是变得至关重要。每个应用、每个网站、每个数字交互很快都会期望智能功能成为标准配置。
对于数百万构建网络的 PHP 开发者来说,这带来了生存挑战:在 AI 优先的世界中保持相关性,否则面临被淘汰的风险。
风险所在: 这不是技术偏好问题,而是生计问题。抵押贷款、家庭、基于 PHP 专业知识建立的职业生涯。
<?php
// PHP 开发者今天面临的现状
$user_input = $_POST['message'];
// 在 PHP 中无法原生实现:
// $sentiment = analyze_sentiment($user_input);
// $classification = classify_text($user_input);
// $recommendation = get_recommendation($user_profile);
// 开发者只能:
// 1. 调用外部 Python 服务
// 2. 使用缓慢的 REST API
// 3. 学习全新的技术栈
// 4. 或者干脆不使用 ML 功能
当我们提到 78% 这样的数字时,应该提供各种关于服务器如何报告其软件的注意事项...
但专注于实际数字完全错过了重点;
毫无疑问,PHP 是地球上分布最广泛的(服务器端)Web 编程语言。
如果 ML 推理成为 PHP 的一流公民,我们将以前所未有的规模民主化机器学习:
每个 PHP 开发者都能够构建智能应用,但更重要的是,他们能够在这个领域进行创新。
当你能做的事情主要由远程端点决定时,真正的创新遥不可及。当力量在你的指尖时,创新来得更容易...
PHP-ORT 通过严格的工程设计和性能优化,为 PHP 带来了一流的机器学习推理能力。
PHP-ORT 是 PHP 中 AI 的基础设施,使开发者能够以熟悉和轻松的方式构建智能应用。
通过核心 Tensor API、高性能数学库和可选的 ONNX 集成的组合,PHP-ORT 为 PHP 中的直接推理开启了大门,并且可以规模化。
这是为了在即将到来的 AI 优先软件工程世界中为 PHP 找到一席之地...AI 不仅需要在开发者的思维中成为一流公民,在他们使用的语言中也是如此:
这不是要在训练方面取代 Python!
这不是概念验证,而是按照严格标准构建的生产就绪基础设施。
PHP API 层
├── ORT\Tensor - 清洁的、解耦的 API
├── ORT\Math - 功能命名空间
├── ORT\Model - ONNX 模型管理
└── ORT\Runtime - 推理运行时
数学库
├── 前端:调度、排程和标量回退(始终可用)
└── 后端:优化(WASM、NEON、AVX2、SSE4.1、SSE2)
ONNX 集成
├── ORT\Model:加载、元数据和管理
└── ORT\Runtime:推理执行
ORT\Tensor
- 始终可用的不可变 APIORT\Tensor\Persistent
: 跨请求周期存在(可在线程间共享,如 FrankenPHP)ORT\Tensor\Transient
: 请求本地存储ORT\Math\scale
在调用点提供高度的缩放控制ORT\Tensor\Generator
提供灵活生成(懒加载、随机等)<?php
use ORT\Tensor;
use ORT\Math;
// 创建张量
$vector1 = Tensor::create([2, 4, 6, 8]);
$vector2 = Tensor::create([1, 2, 3, 4]);
// 张量运算
$addition = Math\add($vector1, $vector2);
$multiplication = Math\multiply($vector1, $vector2);
$subtraction = Math\subtract($vector1, $vector2);
// 输出结果
echo "向量 1: ";
print_r($vector1->toArray());
echo "向量 2: ";
print_r($vector2->toArray());
echo "加法: ";
print_r($addition->toArray());
// 结果: [3, 6, 9, 12]
echo "元素级乘法: ";
print_r($multiplication->toArray());
// 结果: [2, 8, 18, 32]
// ✨ 所有运算在可用时使用优化的 SIMD!
<?php
// 检查系统能力
echo "后端: " . (ORT\Math\backend() ?: "scalar") . "\n";
echo "核心数: " . ORT\Math\cores() . "\n";
// 输出示例:
// 后端: AVX2
// 核心数: 8
<?php
// 创建大型矩阵进行性能测试
$matrix1 = Tensor::create_random([1000, 1000], 'float32');
$matrix2 = Tensor::create_random([1000, 1000], 'float32');
$start = microtime(true);
$result = Math\multiply($matrix1, $matrix2);
$end = microtime(true);
echo "1000x1000 矩阵乘法用时: " . ($end - $start) * 1000 . "ms\n";
// 在 AVX2 系统上通常 < 0.4ms
基于官方基准测试,PHP-ORT 在各种硬件配置上都表现出色:
操作类型 | 矩阵大小 | 时间 | 吞吐量 |
---|---|---|---|
元素级加法 | 1000x1000 | 0.4ms | ≥1 GFLOPS |
元素级乘法 | 1000x1000 | 0.4ms | ≥1 GFLOPS |
点积运算 | 10000 元素 | 0.02ms | >10 GFLOPS |
不同指令集的性能提升:
所有基准测试都是可重现的,代码可检查,结果基于工程实现而非营销数字。
# 安装可选依赖项
wget https://.../v1.22.0/onnxruntime-linux-x64-1.22.0.tgz -O onnxruntime-linux-x64-1.22.0.tgz
sudo tar -C /usr/local --strip-components=1 -xvzf onnxruntime-linux-x64-1.22.0.tgz
sudo ldconfig
sudo apt-get install pkg-config
# 构建扩展
phpize
./configure --enable-ort
make
sudo make install
# 添加到 php.ini
extension=ort.so
<?php
// 检查安装是否成功
if (extension_loaded('ort')) {
echo "PHP-ORT 扩展已成功加载\n";
echo "可用后端: " . (ORT\Math\backend() ?: "scalar") . "\n";
echo "CPU 核心数: " . ORT\Math\cores() . "\n";
} else {
echo "PHP-ORT 扩展未加载\n";
}
回应: 生态系统需要一个功能中心来围绕它成长。这就是那个中心。没有基础设施就不可能有生态系统。
回应: 使 Python 适合 ML 的不是解释器或是否有有效的 JIT 编译器(它们没有);而是围绕它构建的生态系统和库。
回应: 我们从 NumPy 运行时提取模式。无需猜测,无兼容性问题;严格遵循经过验证的标准。
回应: 既错误又无关紧要:不使用解释器线程,线程在扩展下层用于分发计算。
回应: 每个基准测试都是可重现的。代码可检查。线程池可见。这些是工程结果,不是营销数字。
成功不需要一夜之间改变世界,需要为可持续增长构建基础。
生产就绪的实现,经过严格测试
获得生产部署和真实世界验证
吸引贡献者和框架集成
启用特定领域的库和工具
成为在 PHP 中进行 ML 推理的标准方式
<?php
// 未来:ML 像数据库查询一样常见
$user = User::find($id);
$recommendations = ML::recommend($user);
$sentiment = ML::analyze($comment);
$classification = ML::classify($image);
// 就像这样自然:
$posts = Post::where('published', true)->get();
PHP 的 Web 主导地位提供了独特的分发优势。如果 ML 推理变得像数据库查询一样简单,它将在整个 Web 生态系统中有机传播。
实际影响:
这不是关于革命,而是关于进化。PHP 一直在适应以保持相关性。从简单脚本到企业应用,现在到智能应用。
愿景: 网络的每个角落都能够具备智能行为。PHP 开发者不需要在坚持使用 PHP 和构建未来之间做出选择,他们可以两者兼得。
机器学习推理不再是奢侈品,它正在成为必需的基础设施。这是 PHP 对 AI 革命的回答。
扩展的设计和功能已经为生产做好准备:代码正在大力开发中,发布将会公布。
参考链接: