페럿: 다중 모달 대형 언어 모델
(github.com/apple)- Ferret은 자유 형식의 지시 대상을 입력으로 받고 응답에서 위치를 근거화하는 엔드투엔드 MLLM으로, 세밀도와 위치에 구애받지 않는 참조·근거화를 목표로 함
- 핵심 구성은 Hybrid Region Representation과 Spatial-aware Visual Sampler이며, 이를 통해 MLLM에서 세밀한 open-vocabulary 참조와 근거화를 지원함
- 프로젝트는 약 110만 개 GRIT Dataset, Ferret-Bench, 7B·13B 체크포인트 델타, 학습·평가·데모 실행 절차를 함께 제공함
- 학습은 8×A100 80GB 환경을 기준으로 하며, GPU 수가 적을 때는 전역 배치 크기를 유지하도록
per_device_train_batch_size,gradient_accumulation_steps,num_gpus조합을 조정해야 함 - 데이터와 코드는 연구 목적 전용이며, 데이터셋은 CC BY NC 4.0으로 비상업적 사용만 허용되고 LLaMA, Vicuna, GPT-4 라이선스 조건도 따라야 함
Ferret의 목표와 구성
- Ferret은 “Refer and Ground Anything Anywhere at Any Granularity”를 내세우는 엔드투엔드 MLLM임
- 임의 형식의 참조 입력을 받아들이고, 응답에서 대상을 근거화하는 기능을 목표로 함
- 주요 기여는 세 가지로 정리됨
- Ferret Model: Hybrid Region Representation과 Spatial-aware Visual Sampler를 사용해 세밀한 open-vocabulary 참조와 근거화를 가능하게 함
- GRIT Dataset: 약 110만 개 규모의 대규모·계층적·견고한 ground-and-refer instruction tuning 데이터셋
- Ferret-Bench: 참조·근거화, 의미, 지식, 추론을 함께 요구하는 멀티모달 평가 벤치마크
릴리스와 모델 현황
- 2024년 10월 8일 Ferret-UI가 공개됨
- UI 중심 MLLM으로, referring, grounding, reasoning 작업을 효과적으로 실행할 수 있다고 소개됨
- 2024년 7월 10일 Ferret-v2가 COLM 2024에 채택됨
- 2024년 2월 15일 Ferret이 ICLR 2024 Spotlight로 채택됨
- 2023년 12월 14일 Ferret 체크포인트 7B·13B가 공개됨
- 2023년 10월 30일 FERRET 모델 코드와 Ferret-Bench가 공개됨
설치와 학습 조건
- 설치는 저장소를 클론한 뒤
python=3.10Conda 환경에서 패키지를 설치하는 흐름임pip install -e .pycocotoolsprotobuf==3.20.0
- 학습용 추가 패키지로 ninja와
flash-attn --no-build-isolation설치가 필요함 - FERRET 학습 기준 환경은 8개 A100 GPU, 각 80GB 메모리임
- 더 적은 GPU에서 학습할 때는 전역 배치 크기를 유지해야 함
- 전역 배치 크기 =
per_device_train_batch_size×gradient_accumulation_steps×num_gpus
- 전역 배치 크기 =
- 파인튜닝 하이퍼파라미터는 LLaVA(Vicuna)와 유사한 구성을 사용함
- FERRET-7B: Global Batch Size 128, Learning rate
2e-5, Epochs 3, Max length 2048, Weight decay 0 - FERRET-13B: Global Batch Size 128, Learning rate
2e-5, Epochs 3, Max length 2048, Weight decay 0
- FERRET-7B: Global Batch Size 128, Learning rate
기반 모델과 체크포인트 사용
- 학습 전에 Vicuna v1.3 기반 모델 가중치를 준비해야 함
- LLaVA의 1단계 사전학습 projector 가중치도 필요함
- 7B projector
- 13B projector
- 공개 체크포인트는 사전학습 모델 전체가 아니라 Vicuna와의 delta 형태로 제공됨
- 사용자는 먼저 Vicuna 가중치를 받은 뒤 Ferret의 7B 또는 13B delta를 다운로드하고,
ferret.model.apply_delta스크립트로 Vicuna 가중치에 offset을 적용해야 함 - Apple이 제공한 weight differentials에는 CC-BY-NC 라이선스가 적용되며, LLaMA나 기타 제3자 소프트웨어는 각자의 조건을 따름
평가와 데모 실행
- 평가는 별도
EVAL.md문서에서 세부 절차를 다룸 - 로컬 데모는 Gradio 웹 UI를 사용하며, FERRET 학습 및 체크포인트 로컬 사용이 필요함
- 데모 실행 흐름은 세 단계임
- controller 실행:
ferret.serve.controller - Gradio 웹 서버 실행:
ferret.serve.gradio_web_server - GPU에서 추론을 수행하는 model worker 실행:
ferret.serve.model_worker
- controller 실행:
- model worker는
--model-path로 지정된 단일 모델을 담당함 - 모델 로딩이 끝나고 “Uvicorn running on ...”이 보이면 Gradio 웹 UI를 새로고침해 실행한 모델을 목록에서 확인할 수 있음
사용 제한과 출처
댓글과 토론
Hacker News 의견들
-
벌써 멀티모달로 가는 건가? Google이 이 영역의 접근성에서 이미지 설명을 “회사 로고” 수준보다 낫게 못 만들면 Apple로 돌아갈 생각임
Apple도 버그를 줄이고 VoiceOver가 조금만 건드려도 무너질 것 같은 느낌을 없애야 하긴 하지만, LLM 없이도 이미지 설명은 이미 깔끔하고 명확함
예를 들면 “검은 배경의 초록색 로고”에 가까운데, Google은 앞서 말한 것처럼 “회사 로고”에 가까움. AI가 좋은 고품질 데이터로 학습되기보다 크라우드소싱될 때 생기는 결과 같음- Google의 Lookout 앱은 시각장애인·저시력자를 위한 접근성 앱인데, 이미 약 6개월 전에 멀티모달 LLM으로 업데이트됐음
Flamingo 모델 계열을 사용함: https://deepmind.google/discover/blog/tackling-multiple-task... - 지금 논문이 나온 거라면 Apple은 최소 1~2년 전부터 작업해왔을 가능성이 큼
내년 macOS / iOS 릴리스에 LLM 기능이 들어간다는 소문도 있음
- Google의 Lookout 앱은 시각장애인·저시력자를 위한 접근성 앱인데, 이미 약 6개월 전에 멀티모달 LLM으로 업데이트됐음
-
관련해서 볼 만한 것: “LLM in a flash: Efficient Large Language Model Inference with Limited Memory”
Apple은 이런 LLM을 이용해 온디바이스 추론에서 큰 진전을 준비하는 것처럼 보임
https://arxiv.org/abs/2312.11514 -
논문은 오래됐지만(2023년 10월), 가중치는 새로 나왔음(2023년 12월)
https://lifearchitect.ai/models-table/ -
Apple은 LLM에서는 조용해 보였지만, 화려한 광고 없이 하드웨어+소프트웨어 AI 스택을 꾸준히 발전시켜 왔음
새 iOS 릴리스가 갑자기 OpenAI/Bard 채팅창을 우스꽝스러울 정도로 구식처럼 보이게 만든다면 Microsoft/OpenAI와 Google을 압도할 수도 있다고 봄
AI 사용의 상당 부분이 Apple 하드웨어로 넘어가면 Nvidia에도 위협이 되고, Arm과 TSMC는 수혜를 볼 가능성이 큼- Apple이 ChatGPT식의 큰 챗봇을 만들 것 같지는 않음
같은 기술을 Siri나 키보드 자동완성 같은 제품의 점진적 개선에 “그냥” 쓸 가능성이 높고, 그게 좋은 방향이라고 봄 - Apple은 다른 회사가 AI를 돌리도록 연산 시간을 팔지도 않고, AI 학습용 대규모 맞춤 하드웨어를 팔지도 않음
벤처 투자를 받으려는 것도 아니고, 핵심 사업이 “검색의 진화”로서의 AI에 위협받는 것도 아님
제품 측면에서는 지금까지 M3 Max가 기계학습 모델 실행에 적합하다는 식의 메시지만 들림
실제 소비자 제품이 준비되기 전까지는 재무 미팅에서 형식적으로 언급하면서 애널리스트만 관리하면 충분함 - Apple의 AI 관련 전적과 CoreML을 방치해온 상태를 보면 그런 시나리오는 매우 가능성이 낮아 보임
개발자 신뢰를 다시 얻는 데도 시간이 오래 걸릴 텐데, 그렇게 될 것 같지 않음 - 예를 들 수 있음? 운전 중에 개인 비서를 많이 써서 Android로 옮겼는데, Siri는 정말 형편없었음
- 그렇게 확신할 수 있나? 이 링크조차 다른 사람들의 작업 위에 세워진 것이라, Apple이 생각만큼 많이 기여했는지는 잘 모르겠음
- Apple이 ChatGPT식의 큰 챗봇을 만들 것 같지는 않음
-
“MLLM”이 무슨 뜻인지 정의해줄 수 있나?
- Multimodal Large Language Model, 즉 멀티모달 대형 언어 모델임
- 언어 모델이 작업을 더 작은 언어 모델들에게 위임한 뒤, GPU 시간 비용을 과하게 청구하는 방식으로 동작함
- 그리고 FERRET은 약어인가?
-
Apple이 빠르면 내년에 좋은 온디바이스 비공개 LLM 비서가 들어간 iPhone을 내줬으면 좋겠음
하드웨어는 여기에 잘 맞아 보임
그렇게 나오면 평소 4년쯤 쓰던 교체 주기를 깨고 새 휴대폰을 살 수도 있음. 내게 Siri는 거의 못 쓸 수준임- 소문으로는 Apple이 iOS 18을 AI 중심 릴리스로 준비 중이라고 함
온라인/오프라인 상황에 따라 다른 기능을 제공할지, 아니면 완전히 오프라인만 제공할지 흥미로움
배경을 볼 수 있는 기사 하나: https://archive.is/en3VL - GPT-4 음성은 정말 훌륭함
음성 도구라면 기대하는 바로 그 모습에 가까움. Siri처럼 특정 명령을 큰소리로 말하는 게 아니라, 평범한 사람과 대화하듯 말할 수 있음 - 참고로 자동 수정은 이미 작은 LLM이 뒷받침하고 있음
https://jackcook.com/2023/09/08/predictive-text.html - iOS 17에서 예측 입력에 아주 작은 LLM을 넣었음
최신 iPhone을 쓰고 있지만 실제로 작동하는 걸 보는 경우는 매우 드묾
지금은 내 타이핑 속도를 따라가기엔 너무 느리거나, 유용한 제안을 많이 내기엔 모델이 너무 작은 것 같음 - 아직 아무도 LLM 모델을 길들이지 못했고, Apple도 예외가 아님
지금도 ChatGPT가 매우 끔찍한 말을 하게 만들 수 있고, Apple이 온디바이스로 뭔가를 내놓으면 그것도 나쁜 로봇으로 만들 수 있을 것임
개인적으로 LLM은 아직 대중 대상 프로덕션 용도로 안전하지 않다고 봄
- 소문으로는 Apple이 iOS 18을 AI 중심 릴리스로 준비 중이라고 함
-
“FERRET은 80GB 메모리의 A100 GPU 8개로 학습됐다”라니, Apple도 CUDA 함정을 벗어나진 못했나 봄
Nvidia와 도덕적 적대 관계에 있다가 부분적으로 의존하게 된 게 재미있음- Apple은 지금 AI에서 물을 떠보는 정도라고 느낌
다만 충분히 깊게 뛰어들게 되면 자체 연산 인프라에 돈을 쓸 수도 있음
Nvidia가 지금 GPU 연산의 왕이고, 비슷한 하드웨어를 개발하는 건 작지도 싸지도 않은 일이지만, Apple은 투자하기로 마음먹으면 해낼 수 있는 매우 좋은 위치에 있음
기업 간 갈등이 있더라도 어떤 과정이 더 싸거나 쉬워진다면 회사들은 기꺼이 감수한다고 봄 - Apple Silicon은 좋지만 휴대용 기기에 맞춰 설계된 칩임
Studio와 Mac Pro조차 노트북 칩을 이어 붙인 형태에 가깝고, 무거운 작업에는 무거운 장비를 써야 함
Nvidia와의 관계가 나빠졌다는 건 알지만, AMD/ROCm 생태계를 강화해줬으면 좋겠음
물론 Apple도 이 영역에서 자체적인 무언가를 만들고 있을 가능성이 큼. 현금성 자산이 수십억 달러나 있으니 상당한 연구개발에 쓰고 있을 것 같음 - “의존”은 너무 강한 표현임
결국 이런 딥러닝 모델은 어떤 하드웨어에서도 돌아가고, 약간의 성능 손실만 감수하면 한 종류의 하드웨어를 다른 것으로 쉽게 바꿀 수 있음
기본적으로 범용재에 가까움
- Apple은 지금 AI에서 물을 떠보는 정도라고 느낌
-
상업적으로 사용할 수 있고 iPhone에서 로컬로 돌릴 수 있는 최고의 오픈소스 모델이 뭔지 아는 사람?
- 이걸 할 수 있는 Flutter 플러그인을 만들었고, 그 예제 앱도 만들어뒀음
오픈소스이며 주요 플랫폼에서 네이티브로 실행됨. iPad Mini, Pixel 7, iPhone 12, Surface Pro(Windows 10 & Ubuntu Jellyfish), Mac(Intel & M 아키텍처)에서 돌아가는 영상도 공유했음
완성된 앱은 전혀 아님. Flutter에서 온디바이스 AI를 쓰고 싶어서 llama.cpp 이식부터 시작했고, 나중에는 whisper.cpp, bark.cpp 같은 최신 구현도 이식해볼 생각임
저장소: https://github.com/BrutalCoding/aub.ai
Apple 기기에서는 이걸 쓰면 됨: https://testflight.apple.com/join/XuTpIgyY
앱은 어떤 GGUF 파일과도 호환되지만, ChatML 프롬프트 형식이어야 채팅 UI/말풍선이 이상해지지 않을 것임. 아직 커스터마이즈 가능하게 만들진 않았고, 어디까지나 플러그인의 예제 앱이기 때문임. 그래도 목표한 형태로 다듬기 위해 적극적으로 작업 중임 - Mistral 7B가 꽤 괜찮고, instruct v0.2는 MLC Chat을 통해 내 iPhone에서 돌아감
다만 사용성은 ChatGPT4 앱이 훨씬 좋음. 모델도 더 좋고, 텍스트/비전/음성을 포함한 멀티모달 기능과 UI도 더 낫다
- 이걸 할 수 있는 Flutter 플러그인을 만들었고, 그 예제 앱도 만들어뒀음
-
“데이터와 코드는 연구 목적 사용으로만 의도되고 라이선스가 부여됩니다. 또한 LLaMA, Vicuna, GPT-4의 라이선스 계약을 따르는 사용으로 제한됩니다. 데이터셋은 CC BY NC 4.0이며 비상업적 사용만 허용되고, 이 데이터셋으로 학습한 모델은 연구 목적 외로 사용해서는 안 됩니다”
잠깐, 여기서 GPT-4는 어떻게 들어간 거지?- 아마 어느 단계에서 GPT-4가 생성한 학습 데이터가 쓰였기 때문일 것임. Vicuna 쪽일 수도 있음
- 평가 스택에서 GPT-4로 답변을 채점하니, 그 때문에 들어갔을 수도 있음
- 흥미롭네. Apple이 학습에 GPT-4를 사용했다고 그냥 공개적으로 말한 셈인가봐