• 애플의 OS와 앱의 기반이 되는 수많은 혁신적인 기능들의 기반은 고도의 머신러닝과 AI 모델들이다.
    • 공간 컴퓨팅에서의 제스처 인식
    • 인물 사진 모드
    • ECG와 심박수 모니터링
  • 이 모든 모델들은 온 디바이스로 돌아간다.
    • 덕분에 반응성이 매우 높고 강화된 보안으로 사용자 데이터를 보호할 수 있다.
  • 온 디바이스 머신 러닝은 강력한 애플 실리콘 덕분이다.
    • 통합 메모리와 CPU, GPU, Neural Engine의 ML 가속기 덕분에 효율적이고 지연이 적은 추론이 가능하다.
  • 어떻게 애플만이 제공할 수 있는 강력한 하드웨어와 효율적인 소프트웨어의 결합을 사용해서 마법같은 경험을 제공할 수 있을까?
  • Apple Intelligence
    • Writing Tool 같이 Apple Intelligence 기반의 많은 기능들이 앱에서 사용 가능하다.
      • 톤과 명확성을 위한 재작성, 실수 교정, 핵심 요약 등
      • 텍스트는 Apple Intelligence의 새로운 언어 기능을 통해서 처리되고 시스템 텍스트와 웹뷰에 자연스럽게 통합된다.
      • Get started with Writing Tools 비디오 참조
    • Image Playground
      • 쉽게 이미지 생성 기능을 추가할 수 있다.
      • 모델을 직접 훈련시킬 필요도, 안전장치를 넣을 필요도 없다.
      • 몇줄의 코드만으로 잘 만들어진 UI를 제공해서 이미지를 받을 수 있따.
      • 모델이 로컬에서 돌기 떄문에 비용 걱정 없이 만들 수 있다.
    • Siri 개선
      • 더 자연스럽고, 맥락을 잘 이해하고 더 개인적이다.
      • Bring your app to Siri 참조
  • ML-Powered APIs
    • Vision
      • Swift6 지원과 함께 새로운 Swift API 추가
      • 자세 인식 할 때 손 모양도 인식하도록 추가
      • 심미도 평가 기능 추가
      • Discover Swift Enhancement in the Vision framework 참조
    • Natural Language
      • WWDC23 Explore Natural Language multilingual models 참조
    • Speech
      • WWDC23 Customize on-device speech recognition 참조
    • Sound Analysis
      • WWDC21 discover built-in sound classification in SoundAnalysis 참조
    • Language Translation 프레임워크 추가
      • 앱에서 바로 언어간 번역 기능을 추가할 수 있다.
      • 프로그래밍적으로 띄울 수 있는 UI 제공
      • 원하는 UI로 쓸 수 있는 유연한 API 제공
      • 배치 요청 기능도 제공
      • Meet the Translation API 참조
    • Create ML 앱
      • 애플 프레임워크에서 사용하는 모델들을 커스텀 할 수 있게 해준다.
      • CreateML 과 CreateML components 프레임워크를 통해서 모든 플랫폼을 위한 모델을 훈련할 수 있게 해준다.
      • 올해 개선 사항
        • Object tracking 템플릿 추가
          • VisionOS에서 공간 경험을 견인하는 역할
        • 훈련 전 데이터 어노테이션을 찾고 확인하기 더 쉬워졌다.
        • 시계열 분류 및 예측 모델 통합 기능 제공
      • What’s new in CreateML 참조
  • Running models on device
    • 자체적으로 파인 튜닝하고 최적화한 diffusion모델이나 오픈소스로 다운로드한 LLM을 디바이스에서 돌려보고 싶다면?
    • 개발자 워크플로
      • Train: 모델 아키텍처를 정의하고 올바른 훈련 데이터를 제공해서 훈련시킨다
        • 애플 실리콘과 Mac의 통합 메모리 아키텍처를 통해서 고성능 모델을 설계하고 훈련시킬 수 있다.
          • PyTorch, TensorFlow, JAX, MLX 모두 Metal을 통해서 Apple GPU를 사용한 효율적인 훈련을 수행한다.
        • Train your machine learning and AI models on Apple GPUs 참조
      • Prepare: 모델을 CoreML 포맷으로 변환
        • 이때 모델 표현과 매개변수를 최적화해서 정확도를 유지하면서 성능을 끌어올린다.
        • CoreMLTools 사용해서 모델을 변환한다.
          • 이때 model optimization toolkit의 수많은 압축 기법을 사용해서 애플 하드웨어에 최적화한다.
        • CoreMLTools 개선사항(8.0)
          • 새로운 압축 기번
          • 모델 안에 상태를 가진 transformer를 넣는 기능
          • 다중기능 모델
          • Bring your machine learning and AI models to Apple silicon 참조
      • Integrate: 모델을 불러오고 실행하는 코드를 작성한다.
        • Core ML 프레임워크를 사용한다.
        • 최신 생성형 AI 모델을 위한 새로운 기능 추가
        • Deploy machine learning and AI models on-device with Core ML 참조
        • 더 세부적으로 컨트롤하고 싶은 시나리오가 있을 수 있다.
          • 그래픽 워크로드에서는 Metal기반 MPS Graph를 통해서 GPU활용을 높인다.
          • CPU에서의 실시간 신호 처리를 위해서는 Accelerate의 BNNS Graph를 통해서 엄격한 지연과 메모리 관리를 해준다.
          • 이 두 기술이 CoreML의 근간이지만, 직접 접근도 가능하다.
        • MPS Graph
          • Metal Performance Shader 기반
          • CoreML 모델을 불러오거나 프로그래밍적으로 빌드, 컴파일, 실행할 수 있게 해준다.(Metal 기반)
          • Accelerate machine learning with Metal 참조
        • BNNS Graph
          • Accelerate 프레임워크의 신규 API
          • 머신러닝 모델을 CPU에서 최적으로 돌리기 위한 것
          • 기존 BNNS 커널 기반 API보다 나은 성능을 보여준다.
          • 실시간성이 중요한 경우에 좋다.
            • 오디오 처리 등
          • Support real-time ML inference on the CPU 참조
  • Research
    • 수백장의 AI 모델과 온 디바이스 최적화 논문 발표
    • 추가적인 탐구를 위해서 샘플 코드, 데이터 셋, MLX 등의 리서치 도구를 오픈소스로 만들었다.
      • MLX: 애플의 머신러닝 연구자들이 다른 연구자들을 위해 만든 것
        • 애플 실리콘에서 새로운 아이디어를 살펴보기 위해서 익숙하고 폭넓은 API 제공
        • 통합 메모리 모델 기반으로 CPU와 GPU사이에 효율적인 연산을 가능하게 함
        • Python, C++, Swift 지원
      • CoreNet: 연구자와 엔지니어를 위한 신경망 툴킷
      • OpenELM: CoreNet의 일부로 발표된 언어 모델군