1 điểm bởi GN⁺ 5 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Core AI là framework mới để chạy, tối ưu hóa và triển khai mô hình AI bên trong ứng dụng trên Apple silicon
  • Có thể tận dụng CPU, GPU và Neural Engine, đồng thời tích hợp suy luận .aimodel vào ứng dụng bằng Swift API
  • Cung cấp chuỗi công cụ để chuyển đổi mô hình PyTorch sang mô hình Core AI, cũng như nén, gỡ lỗi và tiền biên dịch
  • Các mô hình lớn cần specialization trước khi chạy, nên việc thiết kế luồng tải xuống, cache và chạy lần đầu rất quan trọng
  • Cũng giới thiệu quy trình tối ưu hóa on-device cho thị giác, ngôn ngữ và cache trạng thái qua các ví dụ SAM 3, Qwen và Transformer

Vai trò của Core AI

  • Core AI là bộ công nghệ mới dành cho thực thi AI on-device trên toàn bộ nền tảng Apple
    • Hỗ trợ iOS 27.0+ Beta, iPadOS 27.0+ Beta, macOS 27.0+ Beta, tvOS 27.0+ Beta, visionOS 27.0+ Beta, watchOS 27.0+ Beta
    • Cung cấp kiến trúc chạy suy luận AI hiệu năng cao trong ứng dụng mà không cần gửi dữ liệu người dùng ra ngoài thiết bị
  • Core AI không chỉ là API thực thi đơn thuần mà bao gồm cả quy trình từ chuẩn bị mô hình đến tích hợp ứng dụng
    • Cung cấp tối ưu hóa mô hình, chuyển đổi PyTorch, tạo .aimodel, gỡ lỗi, profiling trong Xcode và tiền biên dịch
    • Các mô hình không phải mạng nơ-ron như decision tree hoặc tabular feature engineering thì thuộc phạm vi sử dụng Core ML

Quy trình phát triển: từ PyTorch đến ứng dụng Swift

  • Core AI kết nối workflow PyTorch hiện có với luồng triển khai trên Apple silicon
    • Dùng torch.export để chuyển mô hình PyTorch thành exported program
    • Dùng TorchConverter của Core AI PyTorch Extensions để tạo .aimodel
    • Áp dụng nén và tối ưu hóa phù hợp với Apple silicon bằng Core AI Optimization
  • Trong ứng dụng Swift, có thể tải mô hình và chạy suy luận bằng API mới của Core AI Framework
    • AIModel dùng để tải tệp .aimodel và kiểm tra các hàm suy luận
    • InferenceFunction là một đồ thị tính toán đơn có thể thực thi
    • NDArray là kiểu chứa dữ liệu đầu vào/đầu ra đa chiều
    • Cấu trúc hoạt động là đưa đầu vào NDArray qua lệnh gọi run và nhận kết quả suy luận
  • Có thể kiểm tra trực tiếp tệp .aimodel trong Xcode
    • Xem kích thước mô hình, phân bố phép toán, metadata và function signature
    • Các chiều shape động được hiển thị bằng ?

Tối ưu hiệu năng: state, cache, memory layout

  • Với cấu trúc như mô hình Transformer, nơi chuỗi đầu vào ngày càng dài, thời gian suy luận có thể tăng dần
    • Trong ví dụ Snake, khi chạy cả hai con Snake bằng mô hình AI, trò chơi chậm dần theo thời gian
    • Trong Core AI Instruments có thể thấy khoảng thời gian suy luận ngày càng dài hơn
  • Core AI cho phép triển khai các cấu trúc như key/value cache bằng state
    • State vừa là đầu vào của mô hình, vừa được đọc và cập nhật tại chỗ trong quá trình suy luận
    • Key/value của các bước trước được lưu trong cache thay vì tính lại
    • Nhờ vậy không cần đưa toàn bộ lịch sử trò chơi vào đầu vào mỗi lần
  • Ở phía Swift, có thể truyền collection mutable view qua đối số states của InferenceFunction.run
    • Mô hình sau khi cập nhật vẫn duy trì tốc độ ổn định theo thời gian
    • Trong Instruments, độ trễ suy luận cũng tăng chậm hơn rất nhiều
  • Core AI cũng cung cấp các tính năng kiểm soát bộ nhớ để giảm overhead của vòng lặp suy luận
    • Có thể kiểm tra memory layout tối ưu của NDArray và cấp phát theo đúng cấu trúc đó
    • Có thể cấp phát trước giá trị đầu ra để tránh tạo output mới trong lúc suy luận
    • Có thể pipeline nhiều hàm suy luận bằng các giá trị bất đồng bộ

Triển khai mô hình: tải xuống, specialization, tiền biên dịch

  • Mô hình Core AI là biểu diễn nguồn có thể chạy trên mọi thiết bị Apple, nhưng trước khi thực thi thực tế cần specialization theo từng thiết bị
    • Khi tải mô hình, hệ thống sẽ kiểm tra xem đã có kết quả specialization trong cache hay chưa
    • Nếu chưa có, nó sẽ tạo execution artifact phù hợp với thiết bị và phiên bản OS đó
  • Với mô hình lớn, specialization có thể mất thời gian nên cần tránh đặt nó vào giữa luồng tương tác người dùng
    • Trong ví dụ SAM 3, ở lần chạy đầu tiên spinner hiển thị rất lâu do model load và sự kiện specialization lớn
    • Tài liệu gợi ý luồng chỉ tải mô hình bằng Background Assets khi người dùng thực sự thử tính năng từ màn hình giới thiệu
  • Có thể dùng lệnh coreai-build để thực hiện trước một phần biên dịch trên máy phát triển
    • Tạo compiled model nhắm tới kiến trúc thiết bị cụ thể
    • Dù trên thiết bị người dùng vẫn cần specialization, phần việc còn lại sẽ ít hơn nên thời gian chuẩn bị ngắn hơn
  • Có thể điều khiển cache mô hình theo cách lập trình bằng AIModelCache
    • Xóa các mục không cần thiết
    • Điều khiển chính sách giữ lại mục
    • Chia sẻ cache giữa nhiều ứng dụng trong cùng app group

Tối ưu hóa mô hình và gỡ lỗi

  • Core AI Optimization cung cấp các tính năng nén và lượng tử hóa mô hình
    • Hỗ trợ nén trọng số INT4, INT8, FP4, FP8
    • Cung cấp API lượng tử hóa dùng dữ liệu calibration hoặc quantization aware training
  • Trong ví dụ SAM 3, baseline asset 32-bit ban đầu lớn hơn 3GB, và sau khi nén 4-bit còn khoảng 430MB
    • Khi áp dụng nén quá mạnh lên mọi tầng, một bông hoa bị che khuất không còn được phát hiện
    • Chỉ nhìn đầu ra thì rất khó xác định tầng nào gây vấn đề
  • Core AI Debugger so sánh các giá trị nội bộ giữa mô hình đã chuyển đổi và mô hình PyTorch gốc
    • Trực quan hóa cấu trúc mô hình dưới dạng đồ thị
    • Kiểm tra giá trị tensor trung gian
    • Lần vết đến từng dòng cụ thể trong mã nguồn Python
    • Đánh dấu các phép toán có sai khác lớn theo tiêu chí PSNR
  • Trong so sánh SAM 3, phần lớn sync point có PSNR thấp xuất hiện trong detector decoder
    • Khối detector chỉ chiếm 4% tổng số tham số nên lợi ích nén không lớn
    • Khi loại detector khỏi đối tượng lượng tử hóa, mọi bông hoa lại được phát hiện và chất lượng baseline được khôi phục

Core AI Models và API cấp cao

  • Kho Core AI Models cung cấp các mô hình phổ biến và export recipe có thể chuyển đổi, tối ưu hóa cho ứng dụng
    • Có thể tìm các mô hình dòng SAM 3 và Qwen rồi chuyển sang mô hình Core AI
    • Gói Swift trừu tượng hóa bước tiền xử lý và hậu xử lý theo từng mô hình
  • Các mô hình segmentation như SAM 3 có thể được dùng qua CoreAIImageSegmenter
    • Phân đoạn đối tượng bằng text prompt
    • Có thể trích xuất mask qua Swift API mà không phải tự xử lý trực tiếp raw tensor shape
  • Các mô hình ngôn ngữ như Qwen có thể được tải bằng CoreAILanguageModel
    • Trừu tượng hóa asset loading, engine creation và tokenizer setup
    • Có thể kết nối để dùng cùng FoundationModels của LanguageModelSession
    • Có thể dùng phản hồi streaming và đầu ra có cấu trúc dựa trên @Generable

Điểm mà nhà phát triển nên chú ý

  • Core AI có phạm vi rộng hơn một “API chạy mô hình trong ứng dụng”, mà là cả một hệ thống triển khai AI on-device
    • Quy trình chuyển mô hình PyTorch sang .aimodel cho Apple silicon
    • API để chạy mô hình an toàn và hiệu quả trong ứng dụng Swift
    • Chẩn đoán hiệu năng và độ chính xác bằng Xcode, Instruments và Debugger
  • Trong thiết kế ứng dụng, quy trình chuẩn bị có ảnh hưởng lớn đến trải nghiệm người dùng hơn chính bản thân mô hình
    • Cần quyết định nên bundle mô hình trong ứng dụng hay tải bằng Background Assets
    • Cần thiết kế cách hiển thị việc tải xuống và specialization trong lần chạy đầu tiên
    • Chính sách cache và chiến lược tiền biên dịch liên quan trực tiếp đến khả năng dùng mô hình lớn
  • Core AI đưa ra quy trình phát triển để xử lý on-device các mô hình thị giác, mô hình ngôn ngữ và mô hình dựa trên Transformer trên nền tảng Apple
    • Với ví dụ SAM 3, tài liệu trình bày quy trình nén, tách và gỡ lỗi cho mô hình segmentation
    • Với ví dụ Qwen, tài liệu trình bày cách kết nối mô hình ngôn ngữ tùy biến với Foundation Models API
    • Với ví dụ Snake Transformer, tài liệu trình bày tối ưu hóa key/value cache dựa trên state

Liên kết tham khảo

1 bình luận

 
Ý kiến trên Hacker News
  • Mình còn mong chờ hơn bản cập nhật Foundation Models on-device sắp ra mắt: https://developer.apple.com/documentation/updates/foundation...
    Hiện vẫn chưa có nhiều thông tin
    Nhưng mình có thể hơi thiên vị vì đang duy trì https://github.com/Arthur-Ficial/apfel

    • Không biết bạn đã thấy công cụ fm được thêm vào chưa. Nó đã được nhắc đến trong Platforms State of the Union
      Khi chạy thì cho ra kết quả như thế này: https://gist.github.com/robgough/7893602895e7580117475076198...
    • Đồng ý. Ý tưởng đưa một mô hình on-device có thể dùng trên toàn hệ thống, toàn nền tảng như một phần cốt lõi của API hệ điều hành là cực kỳ hấp dẫn
      Bình thường mình thích kiểu phần mềm được tách thành nhiều mảnh hơn, nhưng với Apple thì có khá nhiều tính năng mặc định mình thấy ưng
      Điều mình đặc biệt thích là phần mềm có thể biết rằng “nền tảng này có sẵn mô hình này” và tận dụng nó cho nhiều tác vụ AI tạo sinh nhỏ, rồi ngày càng lớn hơn
    • Apfel trông khá hữu ích. Mình đã thử nghiệm Apple Foundation Models gần một năm nay và thấy khá phù hợp cho các ứng dụng nhúng
      Mình cũng đang đào sâu hơn vào các công cụ lập trình kiểu agent chạy cục bộ, bắt đầu với little-coder --model ollama/gemma4:12b-it-qat
      Mình còn làm một cuốn sách nhỏ miễn phí giúp tiết kiệm vài phút cấu hình: https://leanpub.com/read/local-coding-agents
      Mình khá bực với sự thổi phồng quanh tăng trưởng AI xoay quanh hyperscaler, đặc biệt là chi phí môi trường và chi phí xã hội của các trung tâm dữ liệu, nên mình ủng hộ mọi nỗ lực thúc đẩy AI cục bộ và riêng tư
    • Khá bất ngờ là Apple dường như không chọn ý tưởng thêm endpoint tương thích OpenAPI cho Core AI, dù chỉ như một công cụ kiểm thử
      Giờ đã có hỗ trợ MCP, mình cũng muốn nghe thêm về chiến lược container hóa/seatbelt
      Mình vẫn chưa thấy thông tin nào về cách Darwin được dùng bên trong hệ thống container của Apple
      Apfel là một dự án rất hay, và đó là lý do duy nhất khiến mình muốn nâng cấp lên Tahoe
  • Các video WWDC 2026 Core AI
    Meet Core AI - https://developer.apple.com/videos/play/wwdc2026/324/
    Dive into Core AI model authoring and optimization - https://developer.apple.com/videos/play/wwdc2026/325/
    Integrate on-device AI models into your app using Core AI - https://developer.apple.com/videos/play/wwdc2026/326/

  • Cái này có vẻ là một cách mới để chuyển đổi mô hình PyTorch sang định dạng chạy được trên CPU, GPU và Apple Neural Engine (ANE) [0]
    Mình tò mò không biết nó có thay thế hoàn toàn API hiện tại là Core ML hay không [1]
    [0]: https://apple.github.io/coreai-optimization/
    [1]: https://developer.apple.com/documentation/coreml/

    • Đúng vậy. Theo tài liệu Core AI, nếu ứng dụng dùng các kiểu mô hình ngoài mạng nơ-ron, ví dụ như cây quyết định hoặc kỹ thuật đặc trưng dạng bảng, thì nên dùng Core ML
    • Khá thú vị, nhưng ví dụ mình muốn biết hiệu năng của nó sẽ ra sao so với cách hiện có như nạp một mô hình đã tối ưu cho Metal vào thứ như llama.cpp để chạy
      unsloth là một ví dụ hay về kiểu làm việc này theo dạng “kèm pin sẵn”
    • Có vẻ họ đang muốn thay thế Core ML, nhưng hiện tại mối quan hệ giữa Core AI, Core ML, MLX và coremltools lại càng khó hiểu hơn
      Apple cần giải thích rõ hơn ưu nhược điểm của từng cái và mức độ tương đương về tính năng đến đâu
    • Vì nó yêu cầu OS 27 trở lên nên Core ML vẫn hữu ích vì tính tương thích ngược
  • Họ nói sẽ cung cấp miễn phí quyền truy cập vào các mô hình cấp máy chủ cho các ứng dụng có dưới 2 triệu lượt tải, đồng thời giữ nguyên các đảm bảo về quyền riêng tư
    Hy vọng theo thời gian điều này sẽ được mở rộng cho mọi ứng dụng. Chắc sẽ có ràng buộc phần cứng/chi phí, nhưng có lẽ các nhà phát triển lớn hơn có thể trả phí
    https://developer.apple.com/private-cloud-compute/

    • Từ phần nhắc đến Apple Intelligence Extensions, có vẻ trong thời gian tới họ sẽ không mở rộng mạnh theo hướng này mà thay vào đó sẽ cho phép nhà phát triển tích hợp với các nhà cung cấp khác mà người dùng đã có tài khoản
  • Tương lai của AI rõ ràng là cục bộ, và gần đây còn được mô tả là “token vô hạn”
    M1 MacBook Pro cũng làm được điều đó, RTX 3090 cũng vậy
    Không cần trả hàng trăm đô mỗi tháng, và người khác cũng thế

    • Vào thập niên 1980, người ta cũng từng cho rằng tương lai của điện toán rõ ràng là cục bộ. Đó là máy tính gia đình, PC, Mac, máy chủ văn phòng (Novell, rồi sau đó là Windows NT có chia sẻ đĩa)
      Sau 40 năm, chúng ta lại quay về hạ tầng tập trung gần giống các thiết bị đầu cuối thông minh thời hiện đại
      Tương lai của AI rốt cuộc cũng sẽ đi theo hướng đó. Có lẽ nó sẽ dao động qua lại giữa cục bộ và tập trung
      Tuy vậy, nếu người ta có thể kiếm tiền bằng cách bán thứ chạy cục bộ, thì tập trung hóa dường như vẫn tạo ra quyền lực lớn hơn và nhiều tiền hơn
    • Nếu “token vô hạn” bị giới hạn ở 10 token/giây thì một tháng cũng là 26 triệu token
    • Tiền thật sự nằm ở việc viết mã xung quanh mô hình để biến nó thành công cụ hiệu quả cho các tác vụ chuyên biệt
      Người dùng phổ thông muốn mô hình đa dụng, nên ứng dụng chat AI vẫn sẽ tiếp tục tồn tại
      Phần lớn chương trình có thể hưởng lợi từ AI chuyên biệt chạy cục bộ, và số lượng chương trình nhiều hơn số lượng người dùng rất nhiều
  • Có vẻ Apple cũng đang làm ở phía activation. Theo những gì tôi biết thì là w4a8, w4a16
    Nếu họ thật sự làm được, và đó là một giả định rất lớn, thì xét đến độ phủ thị trường của Apple, điều này có thể ảnh hưởng đáng kể đến cách các mô hình dưới 100 tỷ tham số được huấn luyện và phân phối
    Trường hợp sử dụng chính sẽ là on-device, và phần lớn khả năng là trên macOS hơn là iOS

  • Tôi vẫn chưa thấy điều này được nhấn mạnh ở đâu, nhưng suy luận phân tán giữa các máy Mac là thứ rất thú vị. Bao gồm JACCL trên Thunderbolt 5, mlx_lm.server tương thích OpenAI, và khả năng chạy kiểu agent trên Mac
    Apple đang tách MLX (nhập trực tiếp trọng số) khỏi Foundation Models / Core AI

  • Đó là lý do các công ty AI đang vội vàng IPO
    Đến khoảng cuối năm sau, phần lớn AI sẽ được chạy trực tiếp trên thiết bị
    Họ không có hào lũy bảo vệ, đã chạm tới giới hạn mở rộng, phần lớn thứ trông như phép màu đều có thể được chưng cất xuống mô hình nhỏ hơn, và chính họ cũng biết điều đó

    • Các mô hình Qwen cỡ 30B thực sự đã đủ dùng nếu bạn có một cỗ máy với băng thông bộ nhớ đủ để chạy ở mức 30–90 token/giây
      Việc Qwen ngừng phát hành mô hình cỡ 120B là một tín hiệu rất đáng chú ý
      Trong 10 năm tới, thậm chí có thể chỉ trong 3 năm tới, sẽ có ai đó tung ra một mô hình 256B cấp Opus 4.5 có thể chạy cục bộ
      Hiện tại các kỹ sư của chúng tôi đang tốn khoảng 800 đô mỗi tháng cho token Opus, và với mức đó thì thời gian hoàn vốn cho LLM cục bộ chỉ khoảng 10 tháng
    • Tôi không chắc chúng ta đã thực sự chạm tới giới hạn mở rộng hay chưa
      Đáng tiếc là mô hình càng lớn vẫn có vẻ càng tốt
    • Trong mảng lập trình, tôi nghĩ sẽ xuất hiện kiểu bán trước các mô hình 35B, 70B, 150B với giá vài trăm đến vài nghìn đô, rồi cung cấp các bản cập nhật hằng tháng hoặc cách tháng đã được huấn luyện với tài liệu lập trình và kho mã mới trong vòng một năm
    • Hoan hô, sự thống trị kiểu bóp cổ của họ đã bị phá vỡ. Cách mạng muôn năm!
    • Tôi chỉ muốn một mô hình cực nhỏ chạy trên thiết bị. Ví dụ, chỉ cần nó biết rằng trong tự động hoàn thành tôi muốn viết “I'll be right back” chứ không phải “I'll be right Brian” là đủ
      Đó hiện là yêu cầu AI số một của tôi. Làm ơn đi, Apple
  • Tôi tự hỏi Linux có thứ như thế này không
    Ví dụ, nếu là nhà phát triển ứng dụng, liệu có thể giả định rằng khi kernel ở một phiên bản nào đó trở lên thì sẽ có thứ như GNU Core AI hay không?

    • Trên các nền tảng không phải Apple, thường bạn phải để tâm tới số lượng framework AI bằng số hãng silicon cần hỗ trợ cộng thêm ít nhất 2
      Có vẻ giờ Apple cũng rơi vào tình trạng đó giữa Core ML, MLX và Core AI
      Tôi chưa thấy dấu hiệu nào cho thấy vấn đề phân mảnh framework sẽ sớm biến mất
      NVIDIA muốn mọi người làm cả huấn luyện lẫn suy luận bằng CUDA, và dường như muốn phủ nhận việc NPU là hữu ích
      Mỗi hãng làm NPU lại có kiến trúc riêng và framework riêng phù hợp với các giới hạn kế thừa từ phần cứng được thiết kế trước thời LLM. Phần lớn còn có thêm một framework khác nhắm vào GPU
      Các hãng hệ điều hành cũng thường có một hoặc hai framework riêng mà họ muốn người ta dùng thay vì framework theo từng phần cứng
    • Xét về thực tế, llama.cpp đang đóng vai trò đó. Bạn có thể liên kết để dùng trực tiếp hoặc dùng API qua mạng
    • Không có. Nhưng Red Hat và IBM đang làm kiểu đó cho bản phân phối của họ
    • Có onnxruntime, llama.cpp, cụ thể hơn là ggml, và iree.dev cũng đang thử làm điều đó
  • Tôi tò mò liệu điều này có nghĩa là có thể chạy bất cứ thứ gì mình muốn trên ANE không
    Lần cuối tôi thử thì nó có vẻ chỉ dùng được cho các tính năng first-party của Apple như Face ID

    • Nếu chuyển mô hình sang Core ML thì thực ra đã làm được điều đó từ trước rồi
      Thứ hoàn toàn không dùng được ANE là MLX
    • Người ta đã làm vậy bằng Core ML suốt nhiều năm nay rồi