Apple Intelligence: Apple의 On-Device 및 Server에서의 Foundation Model 소개
PyTorchKR

Apple(애플)은 어제(2024/06/10)있었던 WWDC(세계 개발자 회의, World-Wide Developers Conferece)에서 Apple Intelligence(줄여서 AI)라고 불리는 이름의 개인형 지능 시스템(Personal Intellgence System)을 소개했습니다. Apple은 이 AI(Apple Intelligence) 시스템이 곧 발표될 iOS 18, iPadOS 18, macOS Sequoia 등에 통합될 것이라고 발표하였습니다. AI라는 약자로 불리는 이 시스템은 텍스트 작성, 알림 요약, 이미지 생성 등의 작업을 수행하는 여러 생성 모델들로 구성되어 있습니다.
Apple Intelligence(AI)는 애플의 하드웨어 및 소프트웨어 생태계와 깊게 통합될 예정으로, 인공지능을 활용하여 사용자의 Apple 생태계 사용 경험을 극대화할 수 있을 것으로 기대하고 있습니다. Apple이 발표한 이 시스템의 핵심 요소는 두 가지 주요 언어 모델입니다.
-
첫 번째는 애플의 하드웨어에서 직접 실행되는 온-디바이스(On-Device) 언어 모델로, 3B 규모의 매개변수를 가지고 있어 장치 자체에서 실행될 수 있습니다.
-
두 번째는 더 큰 서버 기반 언어 모델로, 애플 실리콘 서버에서 실행되며, 복잡한 작업을 처리할 수 있습니다. 이러한 모델은 애플의 기기에서 사용자의 일상 활동을 지원하며, 자연스러운 인터페이스를 제공합니다.
Apple이 공개한 이 두 가지 모델 외에도 모델 최적화를 위한 1) Group Query Attention 및 2) Low-Bit Palettization 기법, 그리고 3) Talaria라는 모델 성능 모니터링 및 최적화 도구를 공개했습니다. Apple의 ML Research Blog에 소개된 내용을 중심으로 이 2가지 모델과 3가지 기법들에 대해서 대략적으로 살펴보겠습니다.
특히, 작은 모델임에도 특정한 작업들에 맞춰 미리 미세조정된 Low-Rank Weights Adapter들을 매번 바꿔 적용하며 파운데이션 모델의 기능을 효율적으로 확장할 수 있는 것이 주요한 특징입니다.
Apple의 책임있는 AI 개발: Responsible AI Development
Apple은 AI 기반 도구를 개발할 때, 다음 네 가지 중요한 원칙을 따르고 있습니다:
첫째, 사용자에게 권한을 부여할 것(Empower users with intelligent tools): 이는 AI가 사용자의 요구를 충족시키고, 사용자가 원하는 방식으로 동작하도록 설계된다는 것을 의미합니다.
둘째, 사용자를 대변할 것(Represent our users): 이는 AI가 사용자의 개인정보를 보호하고, 사용자의 이익을 우선시하는 방식으로 동작해야 한다는 것을 의미합니다.
셋째, 신중하게 설계할 것(Design with care): Apple은 AI 시스템을 개발할 때 잠재적 위험을 최소화하고, 안전하고 신뢰할 수 있는 도구를 제공하기 위해 노력합니다.
넷째, 프라이버시를 보호할 것(Protect privacy): 사용자의 개인정보를 보호하기 위해 강력한 보안 조치를 취하며, AI 시스템이 사용자 데이터를 안전하게 처리하도록 합니다. 이러한 원칙은 AI 도구와 모델의 개발 과정 전반에 걸쳐 적용됩니다.
이러한 원칙들을 통해 Apple은 책임있는 AI (Responsible AI) 개발을 통해 사용자에게 더 나은 경험을 제공하고, 신뢰할 수 있는 기술을 제공하기 위해 지속적으로 노력하고 있습니다.
파운데이션 모델 개발
사전 학습 단계: Pre-Training
Apple의 파운데이션 모델(Foundation Model)은 효율적이고 확장 가능하도록 설계되었습니다. 이를 위해 Apple은 JAX와 XLA를 기반으로 하는 오픈소스 프로젝트인 AXLearn 프레임워크를 사용합니다. 이 프레임워크는 모델 학습 과정을 최적화하고, 높은 성능을 유지하면서도 확장성을 제공합니다. AXLearn 프레임워크는 다양한 모델 아키텍처를 지원하며, 사용자 요구에 맞게 모델을 조정할 수 있는 유연성을 제공합니다.
Apple의 모델은 공공 데이터와 사용자가 제공한 데이터를 활용하여 훈련됩니다. 그러나 중요한 점은 Apple이 사용자의 개인정보를 포함하지 않는다는 것입니다. 이는 사용자의 프라이버시를 보호하기 위한 중요한 조치로, Apple의 AI 모델이 안전하고 신뢰할 수 있도록 합니다. 또한, Web 콘텐츠 제작자들로 하여금 Apple의 문서 수집 봇인 AppleBot에 대한 접근 제한 옵션(Opt-out Option)을 제공하고 있습니다.
또한, 공공공 데이터를 사용할 때에도 개인 식별 정보를 제거하는 필터를 포함하여, 저품질의 콘텐츠를 걸러내기 위한 욕설 및 저품질 콘텐츠 필터도 함께 적용하고 있습니다. 이 외에도 데이터 추출, 중복 제거 및 고품질 문서의 식별을 위한 모델 기반 분류 작업을 수행하여 모델 학습에 사용하고 있습니다.
사후 학습 단계: Post-Training
데이터 품질이 모델 성공에 필수적이라는 것을 알기 때문에 학습 파이프라인에서 사람이 주석을 단 데이터와 합성 데이터를 모두 통합하는 하이브리드 데이터 전략을 활용하고 철저한 데이터 큐레이션 및 필터링 절차를 수행합니다. 학습 이후에는 (1) 학습자 위원회(Teacher Committee)를 통한 거부 샘플링(reject sampleing) 미세 조정 알고리즘과 (2) MDPO(Mirror Descent Policy Optimization) 및 Leave-One-Out Advantage Estimator라는 두 가지 새로운 RLHF 알고리즘을 개발했습니다. 이 두 가지 알고리즘을 통해 모델의 Insturction-following 품질이 크게 향상되는 것을 확인했습니다.
최적화: Optimization
이상의 과정을 통해 생성형 모델의 성능을 향상시키는 것 외에, 속도와 효율성을 위해 On-Device 및 Private Cloud에서 모델 최적화를 진행했습니다. 이 과정은 첫번째 토큰과 확장된 토큰 추론 성능 모두에 대한 최적화를 포함하고 있습니다.
-
그룹화된 쿼리 어텐션(Grouped Query Attention) 기법: 먼저, On-Device와 Private Cloud Server에서 실행되는 모델 모두 그룹화된 쿼리 어텐션(Grouped Query Attention)을 사용하고 있습니다. 이는 메모리 요구 사항과 추론에 필요한 연산 비용을 줄일 수 있는 방법으로, 입력 및 출력 시의 임베딩 테이블을 사용하여 매핑하는 방식으로 동작합니다. On-Device 모델에서는 49K 규모의 단어집(Vocab)을, Private Cloud 모델에서는 100K 규모의 단어집(Voab)을 사용합니다.
-
낮은 비트로의 팔렛트화(Low-Bit Palletization) 기법: Apple의 하드웨어 내에서 직접 추론하는 경우(On-Device), 필요한 메모리나 전력, 성능 요구 사항을 최소화하기 위해 모델 파라매터를 2Bit와 4Bit의 혼합 구성 방식(전체 모델 파라매터 기준 평균 3.5Bit)을 적용한 LoRA Adapter Framework를 사용합니다. 이러한 방식을 통해 압축(양자화)하지 않은 모델과 동일한 정확도를 달성하였습니다.
-
모델 성능 모니터링 및 최적화 도구 Talaria: 모델의 성능 및 전력 소모량을 모니터링하고, 각 작업에서의 어떠한 비트 설정을 선택하는게 나을지를 가이드합니다. 또한, 활성화 양자화(Activation Quantization) 및 임베딩 양자화(Embedding Quantization)을 사용하는 것은 물론, 모델에 효율적인 KV(Key-Value) 캐시 업데이트를 활용하는 방식으로 최적화를 진행합니다.
이러한 3가지 최적화 기법을 통해 iPhone 15 Pro 단말기에서 토큰당 첫 토큰 생성까지의 지연시간(time-to-first-token latency)를 약 0.6ms로 줄일 수 있었으며, 이후 초당 30토큰을 생성하는 성능을 보였습니다.
작업별 모델 적응을 위한 어댑터 제공: Model Adaptation
위와 같이 학습 및 최적화된 모델은 사용자의 일상에 맞춰 미세조정(파인튜닝, Finetuning)됩니다. 사전 학습된 모델의 다양한 레이어에 특정 작업별로 작은 신경망 모듈인 어댑터를 사용하여 해당 작업에 맞춰 미세조정하는 방식으로 동작하며, 이를 통해 사전 학습된 모델의 크기와 학습한 지식을 유지하면서 특정 작업에 맞춰 더 전문화된 작업을 지원할 수 있습니다.
-
어댑터의 동작 방식: 어댑터는 공통적으로 사용하는 파운데이션 모델(Foundation Model)에 적용되는 작은 모델 가중치들의 집합입니다. 이는 동적으로 로드 및 교체할 수 있어, 특정 작업에 맞춰 전문화된 모델로의 즉시 변환이 가능하게 합니다. Apple Intelligence(AI)는 다양한 작업들에 맞춰 미세조정을 한 여러 어댑터들을 포함하고 있습니다. 특히, On-Device 모델의 경우 각 Rank-16 어댑터의 매개변수는 약 수십MB 가량의 크기로, 동적으로 불러올 수 있으며, 메모리에서 캐시 및 교체할 수 있어, 이를 통해 기본 모델의 크기를 유지하면서도 기능을 확장할 수 있습니다.
-
어댑터 학습 인프라: 새로운 작업에도 빠르게 어댑터를 학습하고 적용할 수 있도록, 파운데이션 모델 또는 학습 데이터가 업데이트될 때마다 신속하게 어댑터들을 다시 학습하고, 테스트하고, 배포할 수 있는 효율적인 인프라를 구축하였습니다.
모델 성능 및 평가: Performance and Evaluation
Apple의 성능 평가는 사람이 직접 평가하는 인간 평가(Human Evaluation)을 중점적으로 하고 있습니다. 이는 Apple의 하드웨어와 소프트웨어를 사용하는 사용자의 실질적인 사용자 경험(UX)과 높은 상관관계를 갖기 때문입니다. 앞에서 설명한, 기본 모델 + 몇 가지 어댑터를 적용한 상태에서 성능 평가를 수행하였습니다.
요약 작업에 대한 만족도 벤치마크: Human Satisfaction Score on Summarization Feature Benchmark
이메일(Email)과 알림(Notification)의 요약에 대한 요구 사항이 미묘하지만 중요한 방식으로 다르다는 점을 고려하여 별도의 어댑터를 생성하여 적용하였습니다. 각 사용사례별로 신중하게 샘플링된 750건의 답변들을 사용하였습니다. 실제 환경에서 사용자들이 겪을 수 있는 다양한 사례들을 고려하여 데이터셋들을 선정하였으며, 어댑터를 사용한 모델이 비교 대상 모델보다 더 나은 요약을 생성하는 것으로 나타났습니다.
또한, 요약 시 발생할 수 있는 중요한 뉘앙스나 기타 세부 사항이 누락되지 않는지를 평가하는 공격 사례(adversarial example)들에 대해서도 99% 이상에서 민감한 콘텐츠를 증폭시키지 않는 것으로 나타났습니다. 기본 모델에 각 요약 작업을 위한 어댑터를 적용한 경우, 유사한 크기의 Phi-3 모델 대비 나은 성능을 보이는 것을 확인할 수 있습니다.
On-Device 및 Server 기반 모델들에 대한 성능 비교
또한, 하드웨어에서 직접 구동되는 On-Device 모델 및 Private Cloud에서 구동되는 Server 기반 모델들의 일반적인 기능들도 함께 평가하였습니다. 다양한 난이도의 브레인스토밍(brainstorming), 분류(classification), 닫힌 질문 답변(closed question answering), 코딩(coding), 추출(extraction), 수학적 추론(mathematical reasoning), 열린 질문 답변(open question answering), 재작성(rewriting), 요약(summarization), 쓰기(writing) 등의 영역에서의 다양한 프롬프트들을 다루고 있습니다.
On-Device 모델에 대해서는 Phi-3-mini, Gemma-2B, Mistral-7B, Gemma-7B과 같은 상대적으로 소규모의 모델들(SLM, sLLM, Small Language Model)과 비교하였으며, Server 모델에 대해서는 DBRX-Instruct, GPT-3.5-Turbo, Mixtral-8x22B, GPT-4-Turbo와 같은 대규모 및 상용 모델들과 비교하였습니다.
이 벤치마크에서 약 3억 개의 파라미터를 사용하는 On-Device 모델은 비슷한 규모의 Gemma-2B나 Phi-3-mini는 물론, 더 큰 규모의 Mistral-7B, Gemma-7B와 같은 대형 모델보다 성능이 뛰어납니다. Server 모델 또한 DBRX-Instruct, Mixtral-8x22B, GPT-3.5-Turbo와 비교했을 때 매우 효율적이면서도 유리합니다.
답변 유해성에 대한 사람의 평가: Human Evaluation of Output Harmfulness
유해한 콘텐츠, 민감한 주제 및 사실 여부에 대한 모델 성능을 테스트하기 위해 다양한 적대적 프롬프트 세트를 사용합니다. 이 평가 세트에서 인간 채점자가 평가한 각 모델의 위반율을 측정하며, 수치가 낮을수록 바람직합니다. On-Device 모델과 Server 모델 모두 적대적인 프롬프트에 직면했을 때 더 나은 성능을 보이며, 비교 대상인 오픈소스 및 상용 모델보다 위반율이 낮습니다.
안전 프롬프트에 대한 사람의 선호도 평가: Human Preference Evaluation on Safety Prompts
안전 프롬프트에 대한 Apple의 파운데이션 모델 및 비교 모델들을 평가했을 때 인간의 선호도를 평가해봤을 때, On-Device와 Server 모델 모두 사람들이 직접 채점했을 때 더 안전하고 도움이 되는 답변이라고 선택한 비율이 높았습니다.
IFEval 벤치마크 평가: IFEval Benchmarks
위의 평가들 외에, IFEval(Instruction-Following Evaluation) 벤치마크를 사용하여 다른 모델들과의 성능 평가를 수행하였습니다. 전반적으로 비슷한 규모의 오픈소스 및 상용 모델 대비 세부 지침(Insturction-Following)을 더 잘 수행하는 것으로 나타났습니다.
글쓰기 벤치마크 평가: Writing Benchmarks
앞에서 살펴봤던, 요약 작업에 대한 아답터를 참조하지 않은 상태에서의 요약 및 작문 능력을 평가하였습니다. 이는 개별 어댑터를 사용하지 않은 파운데이션 모델의 자체적인 성능 비교 결과입니다. (높을수록 더 좋은 성능입니다.)
결론: Conclusion
지금까지 WWDC24에서 공개한 Apple Intelligence의 On-Device 및 Server 모델의 주요한 특징 및 전반적인 성능에 대해서 살펴보았습니다. 3B 규모의 On-Device 모델은 다양한 작업별 어댑터를 통해 더 나은 성능을 보일 수 있는 가능성을 제공하였으며, Server 모델 또한 오픈소스 및 상용 모델들 대비 더 나은 성능을 보였습니다.
원문 블로그
더 읽어보기
WWDC24 더보기
AXLearn 프레임워크
https://github.com/apple/axlearn
모델 성능 모니터링 및 최적화 도구 Talaria 소개 글 및 논문
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~