- 애플의 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의 일부로 발표된 언어 모델군