TL;DR
Meta에서 Llama 3.2를 출시했습니다. 드디어 이미지 처리가 가능한 비전 모델이 포함되었고, Gemma나 Phi 수준의 경량 모델에 비견할 1B 및 3B 모델도 출시되었습니다. 특히, Llama 기반 앱 개발 및 배포를 간편하게 하는 Llama Stack의 출시도 눈에 띕니다. 이번 포스트에서는 먼저 Meta 공식 블로그 Llama 3.2 소개 포스트를 간단히 요약해 살펴보겠습니다.
원문 링크: https://ai.meta.com/blog/llama-3-2-connect-2024-vision-edge-mobile-devices
Llama 3.2: Revolutionizing edge AI and vision with open, customizable models
Llama 3.2: 개방형 맞춤 모델을 통한 엣지 AI 및 비전의 혁신
주요 정보
- Llama 3.2는 소형 및 중형 사이즈 비전 LLMs(11B, 90B)과 경량 텍스트 전용 모델(1B, 3B)을 포함하며, 이 경량 모델들은 엣지 및 모바일 디바이스에서 작동 가능.
- Llama 3.2의 1B 및 3B 모델은 128K 토큰 길이의 컨텍스트를 지원하며, 요약, 명령 수행(instruction following), 재작성(rewriting)과 같은 엣지 기기에서 실행되는 작업에 최적화됨. Qualcomm, MediaTek 하드웨어 및 Arm 프로세서에 적용 가능.
- Llama 3.2의 11B, 90B 비전(vision) 모델은 기존 텍스트 모델도 대체할 수 있으며, 이미지 이해 작업에서 Claude 3 Haiku와 같은 폐쇄형 모델보다 우수한 성능을 보임. torchtune을 이용해 미세 조정 가능하며, torchchat을 통해 로컬에서 배포 가능.
- 첫 번째 공식 Llama Stack 배포판을 공유. 단일 노드, 온프레미스, 클라우드, 엣지 디바이스에서 개발자들이 Llama 모델을 쉽게 배포할 수 있게 하며, RAG와의 통합 애플리케이션도 지원.
- AWS, Databricks, Dell Technologies 등과 협력하여 기업 고객을 위한 Llama Stack 배포판을 구축 중. PyTorch ExecuTorch로 엣지 배포 및 Ollama로 단일 노드 배포 가능.
- Llama 3.2 모델은 llama.com과 Hugging Face에서 다운로드 가능하며, 다양한 파트너 플랫폼에서 즉시 개발 가능.
Llama 3.2 Huggingface 모델 페이지 리스트:
https://huggingface.co/meta-llama/Llama-3.2-1B
https://huggingface.co/meta-llama/Llama-3.2-3B
https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct
https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct
https://huggingface.co/meta-llama/Llama-3.2-11B-Vision
https://huggingface.co/meta-llama/Llama-3.2-90B-Vision
https://huggingface.co/meta-llama/Llama-3.2-11B-Vision-Instruct
https://huggingface.co/meta-llama/Llama-3.2-90B-Vision-Instruct
소개
- Llama 3.1 모델들의 성공적인 출시 후, Llama 3.2 모델을 공개함. Llama 3.2는 소형 및 중형 비전 LLMs(11B, 90B)과 엣지 및 모바일 기기에서 사용 가능한 경량 텍스트 전용 모델(1B, 3B)을 포함함.
- Llama 405B 모델은 강력하지만 높은 컴퓨팅 자원과 전문성이 필요함. 이를 해결하기 위해 컴퓨팅 자원이 부족한 개발자도 Llama 3.2를 사용할 수 있도록 함.
- Llama는 1년 반 만에 10배의 성장을 이루며 개방성과 비용 효율성을 유지하고 있으며, 폐쇄형 모델과 경쟁하여 일부 분야에서는 우위를 점함.
- Arm, MediaTek, Qualcomm과 협력해 다양한 기기에서 사용 가능하며, Llama Stack도 커뮤니티에 제공.
Llama 3.2 둘러보기
- Llama 3.2의 두 대형 모델(11B, 90B)은 이미지 추론 작업을 지원함. 문서 수준의 이해(차트 및 그래프 포함), 이미지 캡션(caption) 생성, 자연어 설명에 따라 이미지에서 물체를 탐지하는 작업 등에서 뛰어난 성능을 보임.
- 사용 예: 소규모 사업체의 월별 판매 그래프를 분석해 가장 좋은 실적을 기록한 달을 파악하거나, 지도에서 특정 구간의 경사 변화를 예측하는 질문에 답할 수 있음.
- 11B와 90B 모델은 이미지와 언어 사이의 간극을 메우며, 이미지에서 세부 정보를 추출하고 상황을 이해해 짧은 설명(캡션)을 작성할 수 있음.
- 경량 모델(1B, 3B)은 다국어 텍스트 생성과 도구 호출 기능이 뛰어남. 데이터가 기기를 벗어나지 않는 환경에서 맞춤형 온디바이스 애플리케이션을 개발할 수 있으며, 프라이버시를 보장함.
- 예: 최근 받은 메시지 10개를 요약하고, 주요 작업 항목을 추출하며, 도구 호출 기능을 통해 후속 회의 초대장을 직접 보낼 수 있음.
- 로컬에서 모델을 실행하면 두 가지 주요 이점이 있음.
- 모든 처리가 로컬에서 이루어지기 때문에 명령과 응답이 즉각적으로 처리됨.
- 데이터(메시지, 캘린더 정보 등)를 클라우드로 전송하지 않으므로 프라이버시를 더욱 강화할 수 있음. 로컬 처리로 인해 기기 내에서 처리할 쿼리와 클라우드에서 처리할 쿼리를 명확히 구분할 수 있음.
모델 평가
- Llama 3.2 비전 모델은 이미지 인식과 시각적 이해 작업에서 Claude 3 Haiku 및 GPT4o-mini와 같은 주요 모델들과 경쟁할 만한 성능을 보임.
- 3B 모델은 Gemma 2 2.6B 및 Phi 3.5-mini 모델을 능가하며, 명령 수행, 요약, 프롬프트 재작성, 도구 사용과 같은 작업에서 뛰어난 성능을 발휘함. 1B 모델은 Gemma와 유사한 성능을 보임.
- 150개 이상의 벤치마크 데이터셋을 기반으로 다양한 언어에서 성능을 평가함. 비전 모델은 이미지 이해 및 시각적 추론에 대한 벤치마크 데이터를 사용해 평가됨.
비전 모델
- Llama 3.2에서 처음으로 비전 작업을 지원하는 11B와 90B 모델은 이미지 추론을 위해 새로운 아키텍처를 도입함.
- 이미지 입력을 지원하기 위해, 사전 학습된 이미지 인코더를 언어 모델에 통합하는 어댑터 가중치를 학습시킴. 이 어댑터는 크로스-어텐션(cross-attention) 레이어로 구성되어 이미지 인코더의 표현을 언어 모델에 전달함. 텍스트-이미지 쌍 데이터를 사용해 이미지와 언어 표현을 정렬함.
- 어댑터 학습 중 이미지 인코더의 파라미터는 업데이트되지만, 언어 모델의 파라미터는 변경하지 않음. 이를 통해 텍스트 전용 기능은 그대로 유지하며, 텍스트 작업만 가능한 Llama 3.1 모델을 대체하여 사용할 수 있게 함.
- 학습 파이프라인은 Llama 3.1 텍스트 모델에서 시작됨. 먼저 이미지 어댑터와 인코더를 추가하고, 대규모 노이즈가 포함된 이미지-텍스트 쌍 데이터로 사전 학습함. 이후 중간 규모의 고품질 도메인 데이터 및 지식 기반 이미지-텍스트 쌍 데이터를 사용해 훈련함.
- 사후 훈련에서는 텍스트 모델과 유사한 방식으로 여러 차례의 정렬 작업을 수행함. 감독 미세 조정(supervised fine-tuning, SFT), 리젝션 샘플링(rejection sampling, RS), 직접 선호도 최적화(direct preference optimization, DPO) 등을 거침.
- Llama 3.1 모델을 활용해 인공 데이터 생성 및 질문-답변 필터링을 수행하고, 보상 모델(reward model)을 사용해 최적의 답변을 선택해 고품질의 미세 조정 데이터를 확보함.
- 최종적으로 텍스트와 이미지 입력을 함께 처리하고, 깊이 있는 이해와 추론을 할 수 있는 모델이 완성됨. 이를 통해 Llama 모델은 더욱 강력한 에이전트 기능을 갖추게 됨.
경량 모델
- Llama 3.2의 1B와 3B 모델은 Llama 3.1의 강력한 대형 모델을 teacher*로 활용해 성능을 개선한 경량 모델임. 두 가지 방법인 가지치기(pruning)와 지식 증류(distillation)를 사용하여 기기에서 효율적으로 작동하는 첫 경량 Llama 모델을 개발함.
- Pruning(가지치기): 기존 Llama 모델의 크기를 줄이면서 최대한 성능을 유지하도록 설계됨. 1B와 3B 모델의 경우 Llama 3.1 8B 모델을 기반으로 구조화된 가지치기 방식을 사용해 네트워크 일부를 제거하고, 가중치와 그래디언트의 크기를 조정해 더 작은 모델을 만듦. 이로써 원래 네트워크의 성능을 유지하면서 더 효율적인 모델을 생성함.
- Knowledge Distillation(지식 증류): 더 큰 네트워크가 작은 네트워크에 지식을 전달하는 방식으로, 작은 모델이 더 큰 모델에서 지식을 얻어 성능을 향상시킬 수 있음. Llama 3.2의 1B와 3B 모델에서는 Llama 3.1 8B와 70B 모델의 출력을 사전 학습 단계에서 토큰 레벨에서의 목표로 사용함. 가지치기 이후 지식 증류를 통해 성능을 회복함.
*지식 증류 학습 알고리즘은 대형 모델을 teacher, 소형 모델을 student로 지칭함.
Llama Stack 배포
- 7월에 Llama Stack API에 대한 의견 요청을 발표했으며, 이를 통해 Llama 모델을 맞춤화하고 에이전트 애플리케이션을 구축하는 표준화된 인터페이스를 제안함.
- 이후 API 구현을 위해 노력해왔으며, 추론, 도구 사용, RAG(검색 기반 생성)에 대한 API를 개발함. 여러 파트너와 협력해 이들을 API 제공자로 통합하고 있음.
- Llama Stack Distribution을 통해 여러 API 제공자를 하나의 엔드포인트로 패키징하여 개발자에게 일관된 사용 경험을 제공함. 온프레미스, 클라우드, 단일 노드, 온디바이스 등 다양한 환경에서 Llama 모델을 사용할 수 있도록 지원함.
- 이번 출시에는 다음의 요소들이 포함됨:
- Llama CLI: Llama Stack 배포판을 구축, 실행할 수 있는 커맨드 인터페이스
- Python, Node, Kotlin, Swift 등 여러 언어로 제공되는 클라이언트 코드
- Llama Stack Distribution Server 및 Agents API Provider용 도커 컨테이너
- 여러 종류의 배포판:
- Meta 내부 구현 및 Ollama를 통한 단일 노드 Llama Stack 배포판
- AWS, Databricks, Fireworks, Together와 협력한 클라우드 Llama Stack 배포판
- PyTorch ExecuTorch로 iOS에서 실행되는 온디바이스 Llama Stack 배포판
- Dell이 지원하는 온프레미스 Llama Stack 배포판
시스템 수준의 안전
- 개방형 접근 방식은 AI의 혜택을 더 많은 사람들이 누릴 수 있게 하며, 소수에게 권력이 집중되는 것을 막고 기술을 공정하고 안전하게 배포하는 데 기여함. Llama 모델 개발 과정에서도 안전하고 책임 있는 시스템 구축을 지원하고자 함.
- 이번에는 새로운 안전 장치 업데이트가 포함됨:
- Llama Guard 3 11B Vision: Llama 3.2의 이미지 이해 기능을 지원하며, 텍스트+이미지 입력 프롬프트 또는 해당 입력에 대한 텍스트 출력 응답을 필터링하는 역할을 함.
- Llama Guard 3 1B: 1B 및 3B Llama 모델을 제한된 환경(온디바이스)에서 사용하기 위해 비용을 절감하도록 최적화됨. Llama 3.2 1B 모델을 기반으로 하여 가지치기(pruning)와 양자화(quantization)를 통해 크기를 2,858MB에서 438MB로 크게 줄여 배포 효율성을 높임.
- 이러한 솔루션들은 데모나 애플리케이션에 통합되어 있으며, 오픈 소스 커뮤니티에서 즉시 사용할 수 있음.
'🟣 AI & ML' 카테고리의 다른 글
규모 대비 성능을 크게 높인 Ai2의 오픈소스 거대 멀티모달 모델(LMM) Molmo 살펴보기 (3) | 2024.10.01 |
---|---|
Phi-3.5와 PGVector 벡터 DB를 이용한 검색증강생성(RAG) 시스템 구축하기 (2) | 2024.09.26 |
Microsoft의 Phi-3.5 모델 Mac Silicon 환경에서 구동하기 (0) | 2024.09.22 |
Google의 Gemma 2 모델 Mac Silicon 환경에서 구동하기 (3) | 2024.09.22 |
OpenAI, 복잡한 작업의 추론에 특화된 'OpenAI o1' 모델 미리보기 공개 (0) | 2024.09.13 |
댓글