Arctic, Snowflake가 공개한 10B+128x4B의 Dense-MoE 구조의 개방형 LLM

:pytorch:PyTorchKR:kr:

그간 잠잠(?)하던 새로운 기술 기업이 LLM 경쟁에 뛰어들었습니다. 바로 Snowflake인데요, (Databricks의 최근 행보에 자극을 받았는지) 새로운 형태의 Dense + MoE Hybrid 구조의 OpenLLM을 공개했습니다. 즉, 기존의 Llama와 같은 일반적인 Transformer를 쌓은 구조(Dense)와 여러 모듈(Expert)들 중 일부를 선택적으로 사용하는 MoE(Mixture-of-Experts)를 합친 하이브리드(Hybrid) 구조입니다. 그림으로 보시면 조금 더 이해가 쉬우실 것 같습니다. :smiley:

Snowflake는 이러한 Dense + MoE 구조를 통해 학습 효율성을 높였으며, 궁극적으로 Enterprise Intelligent 시장에서 더 낮은 비용으로 더 나은 성능을 보일 수 있다고 합니다. 함께 살펴보시죠. :wink:


Arctic, Snowflake가 공개한 10B+128x4B의 Dense-MoE 구조의 개방형 LLM

소개

클라우드 기반의 데이터 웨어하우스(Warehouse) 서비스를 제공하는 Snowflake에서 새롭게 대규모 언어 모델을 공개하였습니다. 'Snowflake Arctic'이라는 이름의 이 모델은 기업용 AI 구현을 위한 모델로, 비용 대비 학습 효율성이 좋으며, 개방성을 갖추고 있다고 합니다. 이를 통해 기업용 환경에서의 다양한 요구 사항들에 부합할 수 있을 것으로 기대합니다.

Snowflake Arctic은 기업 환경(Enterprise)에서의 사용을 목적으로 한 대규모 언어 모델(LLM)로, SQL 생성이나 코드 생성, 복잡한 지시사항의 이해 같은 기업 과제들에 뛰어난 성능을 보입니다. 또한, Snowflake는 이 모델의 코드와 가중치를 Apache 2.0 License로 공개하여 누구나 접근할 수 있게 하였습니다.


엔터프라이즈 인텔리전스 - 코딩(HumanEval+ 및 MBPP+), SQL 생성(Spider), 지시 수행(IFEval)의 성능 평균과 학습 비용 비교

Arctic은 학습과 추론 측면에서 모두 높은 효율성을 가지는 진정한 개방형 LLM입니다. 각각의 특징들을 상세히 살펴보겠습니다.

주요 특징

Dense + MoE 구조의 하이브리드 아키텍처

기존의 MoE 구조는 연산 비용의 증가 없이도 모델 성능의 향상을 보여주고 있습니다. 하지만, Snowflake의 AI Research팀은 MoE 모델 내의 전문가 수와 전체 매개변수의 크기, 그리고 이러한 전문가들을 조합할 수 있는 방법에 따라 모델의 품질 향상이 가능하다는 것을 발견했습니다.


일반적인 LLM과 MoE LLM의 구조와 Arctic의 모델 구조의 비교

Arctic은 총 480B 규모의, 세분화된 전문가 128개를 모델에 포함하였으며, 이들 중 상위 2개의 전문가들만을 선택하여 동작합니다. 이 과정에서 단지 17B 규모의 매개변수들만 활성화되며, 이는 다른 MoE 구조의 대규모 언어 모델들과 비교하였을 때 탁월한 자원 효율성과 성능을 보입니다.

일반적인 MoE 구조에서 전문가 모듈을 증가시키는 경우 통신 오버헤드로 인해 전체적인 효율성이 떨어지는 문제가 발생할 수 있습니다. 하지만 Arctic 모델은 연산과 통신을 겹쳐서 처리함으로써 이러한 문제를 해결하고 있습니다. 즉, Dense Transformer와 Residual MoE 컴포넌트를 결합하여 효율적으로 동작할 수 있도록 합니다.

매우 낮은 학습 비용으로 최고 수준의 엔터프라이즈 인텔리전스 제공 / Top-tier enterprise intelligence at incredibly low training cost


Arctic 모델과 Llama-2 70B, DBRX 및 Mixtral 8x22B의 모델 아키텍처 및 상대적 학습 연산량 비교 - 학습 연산량은 활성 파라미터와 학습 시 사용한 토큰(token) 양을 곱한 값에 비례

Snowflake Arctic은 고도의 지능성을 갖춘 동시에 훈련 비용을 크게 절감하였습니다. 이 모델은 Amazon EC2 P5 인스턴스를 활용하여, 시장 내 유사한 모델들에 비해 훈련 비용이 약 1/8만 소요되는 비용 효율성을 실현했습니다. 이러한 경제적인 접근 방식은 기업들이 대규모 데이터와 복잡한 워크로드를 처리할 수 있게 하면서도 비용 부담을 크게 낮춥니다. Arctic 모델은 SQL 코드 생성, 명령어 수행 등 여러 산업 벤치마크에서 뛰어난 성능을 보여주며, 이는 기업 환경에서의 복잡한 문제 해결 능력을 입증합니다. 이와 같은 고성능은 Snowflake가 기업 데이터의 가치를 극대화할 수 있는 기회를 제공합니다.

학습 효율성 / Training efficiency

앞에서 설명한 Arctic의 모델 구조를 통해 효율적인 학습 시스템을 구현하고 있습니다. 또한, Arctic의 학습 과정은 엔터프라이즈 중심의 스킬을 강조하여 설계되었습니다. 일반적인 메트릭스를 위한 모델 훈련과는 다르게, 코드 생성이나 SQL 같은 엔터프라이즈 메트릭스를 우수하게 수행하기 위해 특화된 데이터 커리큘럼을 채택하고 있습니다.


엔터프라이즈 인텔리전스에 중점을 둔 Arctic의 3단계 학습을 위한 동적 데이터 구성

모델 학습은 세 단계로 나누어 진행되며, 각 단계는 서로 다른 데이터 구성을 사용합니다. 처음 단계에서는 1T 토큰을 사용하여 일반적인 기술을 학습하고, 이후 두 단계에서는 각각 1.5T 및 1T 토큰을 사용하여 엔터프라이즈 중심 기술을 집중적으로 학습합니다. 이러한 점진적 학습 과정은 보다 복잡한 메트릭스를 효과적으로 학습할 수 있는 기반을 마련해 줍니다.

추론 효율성 / Inference efficiency


엔터프라이즈 인텔리전스 - 코딩(HumanEval+ 및 MBPP+), SQL 생성(Spider), 지시 수행(IFEval)의 성능 평균과 추론 시의 활성화된 파라매터 크기 비교

Snowflake Arctic은 추론 효율성에서도 탁월한 성능을 자랑합니다. 모델은 특정 태스크 수행 시 필요한 파라미터만을 활성화함으로써 전체적인 연산 요구를 줄이고, 빠르고 효율적인 추론을 가능하게 합니다. 이는 특히 대규모 데이터를 다루는 기업 환경에서 중요한 장점으로 작용합니다. 예를 들어, SQL 생성, 코드 향상 및 일반 언어 이해 능력에서 Arctic은 주요 벤치마크 테스트에서 선두를 차지했습니다. 이러한 추론 효율성은 Snowflake의 데이터 클라우드 내에서 모델을 더 빠르고 효율적으로 배포할 수 있도록 도와줍니다.

진정한 개방 모델 / Truly Open

Snowflake의 Arctic 모델은 '진정한 개방성'을 제공합니다. 이 모델은 Apache 2.0 라이선스 하에 공개되어 있으며, 이는 연구자나 개발자들이 모델을 자유롭게 사용하고, 필요에 따라 수정할 수 있다는 것을 의미합니다. Arctic의 공개는 공개 소스 소프트웨어 및 커뮤니티 기반 협력에 대한 Snowflake의 약속을 강조합니다.

성능 비교

Snowflake의 Arctic 모델은 특히 코드 생성(Code Generation), SQL 생성, 그리고 일반 언어 이해(General Language Understanding) 분야에서 높은 성능을 보이며, 이는 곧 기업용 환경에서의 활용에 탁월함을 보입니다.


학술적 벤치마크와 기업용 벤치마크에 대한 Arctic과 다른 모델들의 성능 비교

  1. 코드 생성 (Code Generation): Arctic은 프로그래밍 언어와 관련된 문제를 해결하고 코드를 자동 생성하는 능력을 갖추고 있습니다. 이는 개발자가 반복적인 코딩 작업을 자동화하거나, 새로운 알고리즘을 빠르게 구현하는 데 도움을 줄 수 있습니다.

  2. SQL 생성: Arctic은 SQL 쿼리 생성에 특화되어 있습니다. 이는 데이터베이스 관리와 관련된 작업을 자동화하고, 비즈니스 인텔리전스 및 데이터 분석 작업을 지원하는 데 유용합니다. 모델은 복잡한 SQL 쿼리를 효과적으로 생성하여, 사용자가 데이터를 보다 쉽게 조작하고 분석할 수 있도록 합니다.

  3. 일반 언어 이해 (General Language Understanding): 이 메트릭은 모델이 자연어를 얼마나 잘 이해하고 처리할 수 있는지를 평가합니다. Arctic은 다양한 유형의 언어 이해 태스크에서 높은 성능을 보여줌으로써, 복잡한 언어 기반 문제를 해결할 수 있는 능력을 갖추고 있음을 보여줍니다.

Arctic 모델 사용

Arctic 모델을 사용하는 몇 가지 방법들을 소개합니다:

  1. 직접 다운로드 및 GitHub 통합: Hugging Face에서 Arctic 모델을 직접 다운로드할 수 있습니다. 또한, 모델을 시작하는 데 도움이 되는 추론 및 미세 조정 레시피를 제공하는 GitHub 저장소가 있습니다.

  2. Snowflake Cortex에서의 서버리스 경험: Snowflake 사용자는 파일에 결제 수단이 등록되어 있다면 6월 3일까지 Snowflake Arctic을 무료로 접근할 수 있습니다. 이 제안에는 일일 사용 제한이 포함되어 있으며, 자세한 내용은 여기에서 확인할 수 있습니다.

  3. 플랫폼 간 넓은 이용 가능성: Arctic은 아마존 웹 서비스(AWS), Lamini, Microsoft Azure 등 여러 모델 정원이나 카탈로그를 통해 이용할 수 있으며, NVIDIA API 카탈로그를 포함합니다.

  4. 대화형 데모: Streamlit 커뮤니티 클라우드 또는 Hugging Face Streamlit Spaces에서 Arctic과 상호 작용하는 라이브 데모를 체험할 수 있습니다. 여기에서 API는 Replicate에 의해 제공됩니다.

  5. 커뮤니티 해커톤: Arctic 테마 커뮤니티 해커톤에 참여하여 멘토십과 크레딧을 얻고 자신만의 Arctic 기반 애플리케이션을 구축할 수 있습니다. 자세한 내용은 여기에서 확인할 수 있습니다.

  6. 교육 자료: 비용 효과적인 방법으로 자체 MoE 모델을 구축하는 방법을 더 자세히 알아보려면 Snowflake Arctic Cookbook 시리즈의 첫 번째 판을 Medium에서 확인하세요.

더 읽어보기

Snowflake의 Arctic 공개 공지

GitHub 저장소

Hugging Face 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:heart:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: