Skip to main content
Views 110

생성형 AI 도구를 활용하여 작성 및 편집된 노트입니다.

Swift Transformers 1.0: Apple 개발자를 위한 인공지능의 미래를 열다

AI와 인공지능은 이미 우리의 일상 속 깊이 파고들었습니다. 이제는 iPhone, Mac과 같은 Apple 기기에서도 로컬 대형 언어 모델(LLM)이 더 쉽게 활용되는 시대입니다. 그런 혁신의 중심에 바로 Swift Transformers가 있습니다. 이번 1.0 버전 업데이트와 향후 계획을 쉽고 재미있게 알려드릴게요!

Swift Transformers란 무엇인가?

Swift Transformers는 Apple 기기(Linux도 지원되지만 주로 Apple Silicon 플랫폼에서 최적화됨)에서 로컬 LLM을 앱에 손쉽게 통합할 수 있게 만든 Swift 라이브러리입니다. 기존에 Core ML이나 MLX만으로는 부족했던 부분까지 매끄럽게 채워주죠.

예를 들어, 자연어 처리를 위한 복잡한 입출력 구성, 효율적인 모델 다운로드와 캐싱 등을 담당하는 토크나이저(Tokenizers)와 허브(Hub)라는 두가지 핵심 모듈을 제공합니다.

이 라이브러리가 도입되면 개발자들은 별도의 추가 도구나 복잡한 환경설정 없이도 자신만의 AI 앱을 만들 수 있습니다.

커뮤니티에서 이 라이브러리를 어떻게 활용하고 있을까?

Swift Transformers의 Tokenizers와 Hub는 이미 많은 유명 프로젝트에 도입되어 있습니다.

  • mlx-swift-examples: Apple이 만든 다양한 MLX 기반 모델 샘플이 이 라이브러리로 구동됩니다. LLM(언어 모델), VLM(비전-언어 모델), 심지어 이미지 생성 모델까지 다양하게 지원하죠.

  • WhisperKit: argmax에서 개발한 오픈 소스 음성 인식 프레임워크로, 특히 Apple Silicon에서 초고속 작동을 자랑합니다. 여기에 Swift Transformers의 허브와 토크나이저가 핵심 역할을 합니다.

  • FastVLM & SmolVLM2: 실제 앱과 데모에서 LLM, VLM 등 다양한 모델을 쉽고 빠르게 구현하고 있습니다.

Swift 앱에서 SmolVLM2가 비디오 속 행동을 설명하는 모습 이미지 출처: huggingface

1.0 업데이트에서 달라진 점은?

드디어 1.0! 이제 Swift Transformers는 패키지 안정성, API 및 호환성 측면에서 크게 발전했습니다.

  • Tokenizers와 Hub의 독립 모듈화: 필요할 때 원하는 모듈만 선택해 적용할 수 있습니다.

  • Swift Jinja 통합: 대화형 템플릿 처리 속도와 효율성을 획기적으로 높인 Swift Jinja가 더 빠르고 강력하게 업데이트.

  • 의존성 간소화: 불필요한 예제 CLI와 argument-parser 의존성 삭제로 프로젝트 충돌 위험이 줄었습니다.

  • 최신 Core ML API 지원: Apple의 기여로 KV 캐싱 등 고급 기능이 자연스럽게 반영되어 수천 줄의 커스텀 코드를 대체합니다.

  • API 표면적 축소: 필요한 기능만 남기고 간결하게 설계, 인지적 부담을 줄였죠.

  • 강화된 테스트와 문서 주석: 검증된 안정성과 개발자 친화적 경험까지 챙겼습니다.

  • Swift 6 완벽 지원: 최신 언어 스펙도 걱정 없이 적용할 수 있습니다.

실제 사용 예시: Swift 코드로 살펴보기

아래 예제는 Swift Transformers의 토크나이저를 이용해, LLM에게 도구 호출 입력을 자동으로 포매팅하는 방법을 보여줍니다.

import Tokenizers
let tokenizer = try await AutoTokenizer.from(pretrained: "mlx-community/Qwen2.5-7B-Instruct-4bit")
let weatherTool = [
  "type": "function",
  "function": [
    "name": "get_current_weather",
    "description": "Get the current weather in a given location",
    "parameters": [
      "type": "object",
      "properties": ["location": ["type": "string", "description": "City and state"]],
      "required": ["location"]
    ]
  ]
]
let tokens = try tokenizer.applyChatTemplate(
  messages: [["role": "user", "content": "What's the weather in Paris?"]],
  tools: [weatherTool]
)

간단하게 Swift 코드 몇 줄로 자연어 입력을 모델에 맞는 형식으로 손쉽게 변화시켜줍니다.

앞으로의 Swift Transformers, 그리고 AI의 미래

1.0 이후의 Swift Transformers는 MLX(Apple의 머신러닝 프레임워크)와 agentic(에이전트 기반의 실행 환경) 사용 사례에 집중할 예정입니다. 즉, Apple 생태계에서 LLM, VLM, 에이지트가 좀 더 ‘현실 세계’ 작업에 직접 연결되게 될 겁니다. 앞으로는 시스템 리소스, 오프라인 지원, 더욱뛰어난 프리·포스트프로세싱까지 개발자 경험 중심으로 발전한다는 사실!

커뮤니티의 참여와 피드백은 언제나 환영! 앞으로도 AI와 Swift의 시너지를 직접 체험하며 아이디어를 나눌 수 있도록 계속 지원할 예정입니다.

핵심 정리와 실전 팁

  • Swift Transformers 1.0은 Apple 플랫폼용 로컬 LLM과 AI 앱 개발에 적합한 강력한 도구.

  • 토크나이저와 허브 덕분에 복잡한 AI 준비 과정을 거의 자동화.

  • 커뮤니티 기반의 발전으로 안정성, 호환성까지 충분히 검증됨.

  • 앞으로 발견될 ‘에이전트 시대’에도, 빠르고 쉬운 AI 앱 개발의 길을 열어줄 예정.

Swift와 인공지능이 만나는 지금 이 시점에서, AI 앱 개발에 도전하고 싶다면 Swift Transformers가 최고의 출발점이 되어줄 것입니다!

참고문헌

[1] Swift Transformers Reaches 1.0 — and Looks to the Future - Hugging Face

이미지 출처

이 노트는 요약·비평·학습 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.