SwiftUI프로그래밍

WWDC24 개발자 대상 발표 내용 요약 정리

조금 전에 끝난 WWDC24 개발자 대상 발표 내용을 간단하게 요약해본다.



크레이그 페더리기가 오전 키노트 발표 전에 무대에 나와 오늘 오전 발표에선 키워드만 찍고 달린다는 식으로 이야기했는데, 개발자 발표 듣고 나니 그게 무슨 의미인지 대충 알 것 같다.



온 디바이스 AI 구현
– 파운데이션 모델을 적절히 작은 것을 만든 다음 여덟가지 태스크를 우선 선정하여 태스크 각각만 잘 처리하도록 파인튜닝
– 온디바이스 모델 크기는 3B.
– 파인튜닝된 모델은 자신이 잘하도록 특화된 것을 제외하면 잘 못하는 모델이 됨
– 해보니까 단일 모델에 여러가지 스타일이나 언어 태스크 주는건 이 사이즈에선 힘들더라 함.
– 파운데이션 모델은 16비트로 구웠음. 이후 4비트 양자화
– LoRA 레이어에 2비트 4비트 믹싱으로 평균 3.5비트 양자화;
– 아답터 레이어로 어떤 모델 파인튜닝 아답터를 로드하고 사용할지 동적으로 결정함
– 언어 모델, 이미지 생성 모델 두 종류 모두 마찬가지로 모델 팜 만들고 라우팅하는 방식임. (MoE 아님. 메모리 용량 때문인거 같은데, 스토리지 대역폭이 미친 아이폰이나 맥에서나 가능한 모델 로드 속도 덕을 보는듯) → 모델 통짜 여러개가 아니라, 베이스 모델 + LoRA 라 아답터는 파인튜닝 랭크만 스위치. 파인튜닝 당 수십메가.



클라우드 AI 구현
– 온 디바이스로 안되는 태스크는 클라우드로 오프로드.
– 클라우드는 완전 애플 자체 개발 및 운영. 애플실리콘 기반 (이게 그 ACDC인듯)
– 애플 실리콘의 secure enclave를 적극 활용
– 운영체제는 (아마도 macOS의 트리밍 버전인) 전용 클라우드 OS
– 클라우드 OS 위에 클라우드 익스텐션을 얹고, 그 위에 ML 스택을 풀로 올림
– 개인 정보 유출을 원천 차단하기 위해 저장용+임시 작업용 스토리지가 물리적으로 없음 + 운영체제에 리모트 쉘을 아예 안 넣었음.
– 실행 모니터 기능 탑재
– 디바이스에서 클라우드로 워크로드가 올라가고 답변을 받는 모든 과정을 암호화. 애플도 못 봄. 누가 그 일을 하는지도 모름.
– 온 디바이스측 하드웨어 구현한 구성 요소와, 클라우드측 하드웨어를 구성하는 구성 요소가 (둘 다 애플 실리콘이라) 본질적으로 동일함. 애플 실리콘 서버의 secure enclave에는 비대칭 키에 대한 무결성 증명이 추가로 들어감. (그런데 이거 맥에도 있을텐데)
– 외부 보안 검증 및 바운티 프로그램 운영을 위해 클라우드 소프트웨어 풀스택을 VM 형태로 공개 예정

시리 통합
– 앱에 아무것도 안해도 시리가 기본 통합됨
– 시리가 메뉴랑 텍스트를 인식하고 읽고, 앱에 액션할 수 있음
– 시스템 내의 개인 관련 정보를 앱 엔티티라는 형태로 사전 변환해서 로컬 디바이스에 저장 (RAG를 알아서 만들어서 들고 있다는 이야기)
– 개발자는 앱 데이터에 억세스 정도를 지정 가능



CreateML
– 내 앱 데이터를 넣고 온 디바이스 훈련/파인튜닝 가능
– 몇가지 오픈 모델을 바로 iOS에서 사용할 수 있도록 제공함
   * Whisper
   * Stable diffusion
   * Mistral
   * Llama
   * Falcon
   * CLIP
   * Qwen
   * OpenELM
– 로컬 모델 자동 업데이트 제공
– (OpenAI ChatGPT 통합 정도로 보건대 이후 클라우드 LLM 용 인터페이스도 제공할 듯.)


CoreML
– CoreML 이 이제 CPU, GPU, NPU 등 필요에 따라 모든 가속기를 다 동원하도록 본격적으로 매니징
– 메탈 쉐이더 유닛을 이제 ML 가속에 알아서 씀 (메탈 퍼포먼스 쉐이더를 수동으로 부를 필요가 없는듯?)
– 허깅페이스에서 미스트랄 7B 갖고와서 통합하는 예제 시연
– 시연에서 보면 토큰생성 속도가 미쳤다. 기존 대비 4배… 인퍼런스만 보면 고오급 GPU급임.
– 모델 훈련 가속을 애플 실리콘에서 본격 지원
– 지원 프레임워크
    * PyTorch
    * TensorFlow
    * JAX
    * MLX

ML SDK: SDK로 다양한 기본 기능을 제공. 아래는 목록 대충 번역 (빠진 것 있을 수 있음)
– 객체 감지
– 언어 번역
– 이미지 유사성 분석
– 언어 감지
– 바코드 감지
– 사람 행동 감지
– 매트 효과
– 지평선 감지
– 사람과 장소 식별
– 텍스트 유사성 분석
– 이미지 분류
– 동물 인식
– 신체 자세 감지
– 얼굴 캡처 순위 지정
– 객체 추적
– 가장자리 감지
– 실시간 얼굴 추적
– 시각 효과 적용
– 객체 궤적 추적
– 두드러진 관심 영역
– 하이라이팅
– 유사한 이미지 정렬
– 사람 분할
– 음성 인식
– 손 자세 감지
– 텍스트 인식
– 전화번호 추출



Xcode 16
– 스위프트 어시스트: Xcode 코딩을 ML 모델이 어시스트함. 애플 버전 코파일럿.
– 해당 기능은 온디바이스로도, 클라우드로도 지원하는 듯. 클라우드의 경우 Apple Intelligence용 클라우드를 같이 써서 완전 독립형이고 훈련에 절대 데이터 쓰지 않음 강조.
– 시연은 뭐 거의 두 글자 치고 탭하니 짠하고 앱이 나옴.
– 이것은 코딩인가 주석 적기인가
– 구체적인 수정사항을 줘서 여러가지 작업을 할 수 있음. 인상적인 프롬프트 예는 ‘이 함수 asynchronous 하게 만들어줘’ …
– 퀵 액션 구현을 자연어로 할 수 있게 됨; (애플스크립트 안짜도 되는 세상…)



Swift
– 10주년: 그 전에 사용하던 C, C++, Obj-C를 스위프트로 통합하면서 여러 문젯점을 해결해 왔음
– 스위프트 6: 이제 이 안전한 언어로 C++를 대체할 때가 되었다
– 스위프트 언어 개발을 오픈 개발로 진행할 파운데이션
– 패키지 공유 및 설치를 위한 스위프트 패키지 인덱스 (PyPi 같은 곳) 공개
– Ubuntu, CentOS, Amazon Linux, RedHat, Debian, Fedora 를 지원
– VSCode나 다른 에디터에서 자동 완성 등에 쓸 수 있도록 language server 공개 (language server라고, 마이크로소프트가 만든 규격이 있다.)
– 테스트용 도구인 Swift Test 공개
– (Rust가 최근 C++ 대체 분야는 잡고 있을텐데, 스위프트는 어떻게 접근할 것인가?)



SwiftData
– SwiftData: 클래스를 기술하면 그 타입의 데이터를 저장 및 조작할 수 있게 해 줌. (2023년에 공개)
– 데이터를 기술하면 그게 어디에 있는지 어떻게 되는지 고민은 전부 애플이 해 줄 거야 컨셉
– Swift, SwiftUI랑 결합하면 매우 강력한 데이터 드리븐 앱을 바로 만들 수 있음
– 이제 타겟 스토리지를 커스텀 스토리지로 지정할 수 있음. SQLite 뿐 아니라 심지어 JSON 타겟도 가능



SwiftUI
– 데스크탑, 태블릿, 모바일까지 단일 코드로 커버
– 위젯: iOS 위젯을 macOS에서 쓰는 게 지원되었었는데, 이번 버전부터는 아예 두 위젯을 통합하고 그걸 WatchOS용 앱으로도 쓰거나 만들 수 있음 (위젯으로 WatchOS까지 포함하여 모든 OS를 커버)
– 인상적인 점: 키노트에서 메세지 텍스트에 재미있는 효과 주는거 데모했는데, 그거 구현하려고 OS의 텍스트 렌더 UI 컴포넌트를 갈아치웠다고 함. 운영체제를 들고있는 회사는 이런 것을 이렇게 할 수 있구나.



Game Porting Toolkit (GPTK)
– Whisky 및 CrossOver 케이스에 대해 자랑하고 넘어감.
– GPTK 2에서 윈도우 게임 호환성 대폭 향상. 여러가지 있는데 이제 AVX2를 지원한다고 함 (드디어 그랑블루 판타지 리링크 돌아가겠구나)
– GPTK 는 맥 전용이었는데, 이거 기반으로 많은 게임 개발사들이 맥용 게임을 편하게 포팅할 수 있었음. 몇몇 예 설명
– GPTK2는 맥 뿐 아니라 아이패드, 아이폰으로의 포팅을 함께 지원
    * (윈도우 게임을 원활히 돌릴 수 있는 모바일 기기의 가능성이 희한하게 애플에서 나올 수도 있겠다 싶음)



VisionOS는 잘 모르는 분야라 생략

개인적인 소감
– 게이트웨이 기업이 얼마나 무서운 힘이 있는지 새삼 실감함. 여기 관점에선 OpenAI도 그냥 모델 공급사;
– 발표 듣는 중에 실시간으로 머릿속에서 스타트업 몇 개 망했다.
– M4 울트라 맥 스튜디오 얼른 내놔요

#WWDC24

출처: 신정규 페이스북

error: Content is protected !!