1 điểm bởi GN⁺ 2026-02-02 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trên iPhone 16 Pro Max, khi chạy MLX LLM thì xuất ra giá trị số sai, trong khi cùng đoạn mã đó hoạt động bình thường trên iPhone 15 Pro và MacBook Pro
  • Giá trị tensor lệch hơn một chữ số, và hiện tượng kết quả bị méo vẫn xuất hiện dù đầu vào giống hệt nhau
  • Nguyên nhân của vấn đề được cho là lỗi phần cứng trong Neural Engine hoặc ngăn xếp tính toán ML dựa trên Metal
  • Tính năng Apple Intelligence cũng cho thấy sự bất ổn tương tự, như lỗi tải xuống thất bại, làm dấy lên khả năng có liên quan
  • Tác giả nhấn mạnh qua trường hợp này rằng khi debug cũng cần tính đến cả vấn đề phần cứng vật lý

Phát hiện lỗi khi chạy MLX LLM

  • Trên iPhone 16 Pro Max, khi chạy LLM dựa trên MLX thì tạo ra đầu ra vô nghĩa (gibberish)
    • Cùng đoạn mã đó hoạt động bình thường trên iPhone 15 Pro và MacBook Pro
    • Mức sử dụng CPU tăng vọt lên 100%, token “stop” không được tạo ra nên trạng thái xuất vô hạn tiếp diễn
  • Dù dùng cùng một mô hình và prompt, giá trị đầu ra của tensor lại tăng bất thường
    • Trên iPhone 15 Pro: [53.875, 62.5625, -187.75, ...]
    • Trên iPhone 16 Pro Max: [191.5, 23.625, 173.75, ..., 1298, -147.25, -162.5]
    • Giá trị đầu vào giống hệt nhau, nhưng ở bước tính toán trung gian các con số bị méo mạnh một cách đột ngột

Vấn đề với tính năng Apple Intelligence

  • Tác giả đã cố triển khai tính năng phân loại chi tiêu bằng API Apple Intelligence, nhưng phần hỗ trợ mô hình không tải xuống được
    • Dù thay đổi cài đặt nhiều lần, tính năng vẫn không được kích hoạt
    • Trên diễn đàn cộng đồng Apple cũng có nhiều người dùng báo cáo gặp đúng vấn đề này (12 trang thảo luận)
  • Vì vậy tác giả từ bỏ việc tiếp cận qua Apple Intelligence và chuyển sang hướng dùng MLX

Quá trình debug và lần theo nguyên nhân

  • Tác giả đặt breakpoint vào phần triển khai mô hình Gemma của MLX để theo dõi giá trị tensor ở từng lớp
    • Giá trị đầu vào giống nhau trên hai thiết bị, nhưng trên iPhone 16 Pro Max thì từ giai đoạn trung gian trở đi các con số bắt đầu tăng bất thường
    • Trên Mac cũng xác nhận kết quả bình thường giống với iPhone 15 Pro
  • Qua đó, tác giả tin chắc rằng đây là vấn đề phần cứng chứ không phải mã nguồn hay mô hình

Khả năng lỗi phần cứng

  • Có khả năng lỗi tính toán xảy ra trên Neural Engine của chip A18 trên iPhone 16 Pro Max hoặc trên đường dẫn tính toán ML dựa trên Metal
    • MLX biên dịch các phép toán tensor thông qua Metal, nên lỗi trong ngăn xếp này có thể dẫn đến kết quả bị méo
  • Cũng có nhắc đến khả năng vấn đề này có cùng nguyên nhân với lỗi Apple Intelligence, nhưng chưa có bằng chứng rõ ràng

Kết luận và bài học

  • Chiếc iPhone 16 Pro Max gặp sự cố được xác nhận là một thiết bị bị lỗi phần cứng
    • Sau đó đổi sang iPhone 17 Pro Max thì mọi chức năng đều hoạt động bình thường
  • Tác giả nhấn mạnh từ trải nghiệm này rằng khi debug cần tính đến không chỉ phần mềm mà cả vấn đề phần cứng vật lý
  • Ba bài học rút ra:
    • Lỗi khi chạy LLM không phải lúc nào cũng là vấn đề của mã
    • Tầm quan trọng của việc thử nghiệm đối chiếu trong cùng môi trường
    • Ngay cả phần cứng đắt tiền cũng không nhất thiết bảo đảm độ chính xác của tính toán ML

1 bình luận

 
GN⁺ 2026-02-02
Ý kiến Hacker News
  • Bỏ qua chuyện phương pháp luận đi, thì bắt LLM làm phép cộng vốn đã không phải ý hay
    Nó cũng buồn cười chẳng khác gì hỏi “mặt trăng cộng mặt trời là gì?”
    Nhưng hiện tượng lần này lại là chuyện khác. API tính toán số học của Apple đang cho ra kết quả không nhất quán trên một số thiết bị. Đây là vấn đề Apple cần chú ý
    • Hơi lạc đề một chút, nhưng trong đầu tôi lập tức nghĩ đến “sáng”.
      Vì ghép mặt trời(日) và mặt trăng(月) lại thành 明 (liên kết wiki)
      Cũng có thể trả lời kiểu “trăng tròn”, nhưng có lẽ không có một đáp án xác định tuyệt đối nào
    • “Mặt trăng cộng mặt trời?” Cái đó rõ ràng là nhật thực (eclipse)
  • Giá mà họ cũng thử trên một chiếc iPhone 16 Pro Max khác thì tốt hơn. Như vậy đã có thể kiểm tra xem đây có phải lỗi riêng của thiết bị đó hay không
    • Đúng vậy. Theo cách Apple Support thường khuyến nghị thì đáng ra nên đặt lại hệ điều hành rồi cài lại từ đầu
      Tất nhiên phải sao lưu trước, và nếu được thì nên dùng gói iCloud+. Với kiểu lỗi này thì đó là cách xử lý đơn giản nhất
    • Theo cập nhật mới nhất ở cuối trang, trên iPhone 17 Pro Max thì mọi thứ đều hoạt động bình thường
      Tức là chiếc iPhone 16 Pro Max đó có vẻ đã bị lỗi phần cứng
  • Tối ưu hóa số học ở mức thấp thường rất khó tái hiện
    Ví dụ như cũng đã được nhắc đến trong tài liệu của Intel
    Dù vậy, việc LLM hoàn toàn không hoạt động trên iPhone 16 vẫn khá đáng ngạc nhiên. Bình thường LLM khá chịu đựng tốt với lượng tử hóa (quantization)
    • Việc “tích lũy số dấu phẩy động không tuân theo tính giao hoán” là kiến thức cơ bản
      Ban đầu tôi cũng định bỏ qua vấn đề này vì lý do đó,
      nhưng thật lạ là trên mọi thiết bị Apple khác đều cho cùng một kết quả, còn chính LLM của Apple lại chỉ thất bại trên thiết bị này
      Điều này có vẻ không phải là vấn đề nền tảng mà là một lỗi hỏng ngoài dự kiến. Apple không nên xuất xưởng thiết bị trong tình trạng như vậy
  • Thành thật mà nói, khi bấm vào bài này, tôi tưởng nó sẽ nói về chuyện máy tính đồ thị đời cũ còn tốt hơn smartphone
    Hiện giờ khi cần làm toán trên điện thoại, tôi dùng trình giả lập HP Prime
    • Tôi thích PCalc. Nó chạy trên mọi nền tảng Apple từ thời Mac Classic (liên kết)
      Một máy tính khác tôi cũng hay dùng là free42 hoặc plus42 (liên kết)
      Còn với công cụ CAS thì MathStudio là tốt nhất (mathstud.io)
      Nó chạy được cả trong trình duyệt, nhưng cũng có app di động. Cảm giác như một Wolfram Alpha tự host
    • Cá nhân tôi dùng iHP48. Đó là phiên bản có cài metakernal của chiếc HP 48GX mà tôi dùng thời đại học
      Nó vẫn trực quan và nhanh
    • Tôi rất vui khi biết có thể xóa app máy tính mặc định trên iPhone và thay bằng NumWorks
      Tôi đã đặt để có thể mở ngay bằng nút ở Control Center
      Điều làm tôi khó chịu là dù màn hình lớn thế này mà vẫn không thể cuộn xem lại lịch sử phép tính trước đó
      Tôi không muốn tiếp tục nhìn giao diện như bản sao của máy tính 4 chức năng từ thập niên 1990 nữa
    • Trên Android tôi dùng trình giả lập TI 83+. Nó hữu ích khi không thể mang theo máy tính thật
    • Khi cần tính toán nghiêm túc thì rốt cuộc tôi vẫn lấy máy tính TI-84 vật lý ra dùng. Vì đã quá quen tay rồi
  • Bài viết khá thú vị, nhưng lập luận ở phần cuối rằng “MLX dùng Neural Engine” thì không đúng
    MLX cũng có thể chạy trên CPU, Apple GPU(Metal), và NVIDIA GPU(CUDA) (liên kết)
  • Nếu đăng đoạn mã có thể tái hiện lỗi thì sẽ giúp ích không chỉ cho Apple mà cả những người khác nữa
  • Thế nên có phải vì vậy mà gợi ý văn bản trên iPhone của tôi lại tệ đến thế không
    • Hóa ra không chỉ mình tôi. Khoảng 6 tháng gần đây việc gõ phím thực sự rất khủng khiếp
      Tôi đã thử đổi đủ kiểu thiết lập, nhưng gợi ý văn bản vẫn ngẫu nhiên bị đứng hoặc hoạt động sai
    • Tệ đến mức giờ tôi gần như nghĩ là họ cố tình làm vậy
      Hoặc biết đâu đó là kiểu tối ưu hóa để ép người dùng chuyển sang nhập bằng giọng nói
  • Bài viết hay. Chỉ là tôi muốn có ít nhất một test case tối thiểu để cho thấy kết quả phép toán thực sự sai
  • Tôi hỏi “2+2 là bao nhiêu?” thì iPhone trả lời kiểu kỳ quặc như “Applied.....*_dAK[...]”
    Dù sao thì cũng may là ít nhất nó không trả lời là “7”
    • Có lẽ Trurl và Klapaucius đang phụ trách phần hỏi đáp chăng
  • Có thể những app khác dùng Neural Engine cũng đã gặp hiện tượng bất thường tương tự
    Nếu thử kiểm tra một vài app trên App Store thì có lẽ đã cho ra kết quả thú vị