Rafael Costa · 2026-01-28

昂贵的 iPhone 16 Pro Max 竟然不会做算术题

摘要

本文讲述了一位开发者在尝试使用 MLX 框架在 iPhone 16 Pro Max 上运行大语言模型时遇到的离奇问题。经过多日调试和交叉验证,他发现同一份代码在 iPhone 15 Pro 和 MacBook Pro 上都能正常运行,唯独在 iPhone 16 Pro Max 上输出完全乱码。通过对比张量数值,他确认是手机的 A18 芯片存在硬件缺陷,神经引擎在计算时会产生数量级错误的数值。这个问题甚至可能影响了 Apple Intelligence 功能的正常使用。

内容框架与概述

作者原本只想开发一个简单的支出追踪应用,需要使用机器学习模型对消费进行分类。他首先尝试了 Apple 的 Apple Intelligence API,但模型始终无法正常下载,在官方论坛上发现大量用户面临同样问题。随后他转向使用 MLX 框架在本地运行开源大语言模型,但输出结果完全是乱码且无法停止生成。

在花费三天时间调试后,作者一度认为是自己能力不足或代码有问题。直到某天清晨,他尝试在旧款 iPhone 15 Pro 上运行相同代码,结果模型正常工作。进一步升级系统到相同版本后问题依然存在,排除了软件版本差异的可能性。

为了找到根本原因,作者在 MLX 框架的 Gemma 模型实现中添加断点和日志,记录每层处理的张量数值。对比测试显示,尽管输入完全相同,但 iPhone 16 Pro Max 在某些层输出的数值与正常设备相差一个数量级。在 MacBook Pro 上验证后确认,问题的根源在于这台 Apple Care 更换的 iPhone 16 Pro Max 硬件存在缺陷。

核心概念及解读

MLX 框架:苹果开源的机器学习框架,允许开发者在其设备上运行本地大语言模型,支持 Metal 加速和神经引擎计算。

张量:多维数组,是机器学习模型中数据的基本表示形式,通过对比张量数值可以定位模型计算异常的具体位置。

神经引擎:苹果 A 系列芯片中专门用于机器学习运算的加速器,本文中存在硬件缺陷导致其计算结果出现严重偏差。

量化模型:经过压缩优化的机器学习模型,参数精度降低以减少内存占用和计算量,适合在移动设备上运行。


原文信息

字段内容
原文My thousand dollar iPhone cant do math
作者Rafael Costa
发表日期2026-01-28

此摘要卡片由 AI 自动生成