Connect with us

인공지능

Mamba: 시퀀스 모델링의 재정의 및 트랜스포머 아키텍처의 성능 개선

mm
Mamba AI model

이 Mamba에 관한 기사에서, 우리는 이 혁신적인 상태 공간 모델(SSM)이 시퀀스 모델링을 어떻게 혁신하는지 탐구할 것입니다. Albert Gu와 Tri Dao에 의해 개발된 Mamba는 언어 처리, 유전체학, 오디오 분석 등 다양한 분야에서 복잡한 시퀀스를 처리하는 효율성으로 отлич합니다. 선형 시간 시퀀스 모델링 및 선택적 상태 공간을 통해 다양한 모달리티에서 예외적인 성능을 제공합니다.

우리는 Mamba가 전통적인 트랜스포머에서 특히 긴 시퀀스에서 발생하는 계산 과제를 어떻게 극복하는지深入적으로 살펴보겠습니다. 상태 공간 모델에서 선택적 접근법을 통해 더 빠른 추론과 시퀀스 길이와 함께 선형적으로 확장하여 처리량을 크게 향상시킵니다.

Mamba의 독특한 점은 빠른 처리 능력, 선택적 SSM 레이어, 및 FlashAttention에서 영감을 받은 하드웨어 친화적 설계에 있습니다. 이러한 기능들은 Mamba가 기존의 많은 모델, 특히 트랜스포머 접근 방식에 기반한 모델을 능가할 수 있게 해주며, 기계 학습에서 주목할 만한 발전을 나타냅니다.

트랜스포머 vs Mamba

트랜스포머, 예를 들어 GPT-4,는 자연어 처리에서 벤치마크를 설정했습니다. 그러나 긴 시퀀스에서 효율성이 떨어집니다. 여기서 Mamba가 앞서갑니다. 긴 시퀀스를 더 효율적으로 처리하는 능력과 전체 과정을 단순화하는 고유한 아키텍처를 통해입니다.

트랜스포머는 데이터 시퀀스를 처리하는 데 능숙합니다. 예를 들어, 언어 모델의 경우 텍스트를 처리합니다. 이전 모델이 데이터를 순차적으로 처리하는 반면, 트랜스포머는 전체 시퀀스를 동시에 처리하여 데이터 내의 복잡한 관계를 포착할 수 있습니다.

그들은 주의 메커니즘을 사용합니다. 이는 모델이 예측을 할 때 시퀀스의 다른 부분에 집중할 수 있도록 합니다.

이 주의는 입력 데이터에서 파생된 쿼리, 키 및 값의 세 가지 집합의 가중치를 사용하여 계산됩니다. 시퀀스의 각 요소는 다른 모든 요소와 비교되어 각 요소가 시퀀스의 다음 요소를 예측할 때 받을 주의의 중요성을 나타내는 가중치를 제공합니다.

트랜스포머는 두 가지 주요 블록을 유지합니다. 입력 데이터를 처리하는 인코더와 출력을 생성하는 디코더입니다. 인코더는 두 개의 서브레이어를 포함하는 여러 레이어로 구성됩니다. 하나는 다중 헤드 셀프 주의 메커니즘이고 다른 하나는 간단한 위치별 완전 연결 피드 포워드 네트워크입니다. 서브레이어에서 정규화 및 잔차 연결을 사용하여 깊은 네트워크를 훈련하는 데 도움이 됩니다.

디코더도 두 개의 서브레이어를 포함하는 레이어가 있지만 인코더와 달리 디코더의 출력에 대한 다중 헤드 주의를 수행하는 세 번째 서브레이어가 추가됩니다. 디코더의 순차적 특성은 특정 위치에 대한 예측이 이전 위치만 고려할 수 있도록 하여 자율 회귀 특성을 유지합니다.

트랜스포머와 대조적으로, Mamba 모델은 다른 접근 방식을 취합니다. 트랜스포머가 긴 시퀀스의 문제를 더 복잡한 주의 메커니즘을 사용하여 해결하는 반면, Mamba는 선택적 상태 공간을 사용하여 더 계산적으로 효율적인 접근 방식을 제공합니다.

Mamba의 고유한 점은 빠른 처리 능력, 선택적 SSM 레이어 및 FlashAttention에서 영감을 받은 하드웨어 친화적 설계에 있습니다. 이러한 기능들은 Mamba가 기존의 많은 모델, 특히 트랜스포머 접근 방식에 기반한 모델을 능가할 수 있게 해주며, 기계 학습에서 주목할 만한 발전을 나타냅니다.

Mamba

Mamba의真正한 독특한 점은 전통적인 주의 및 MLP 블록에서 벗어난 것입니다. 이러한 단순화는 모델을 더 가볍고 빠르게 만들며, 시퀀스 길이와 함께 선형적으로 확장하는 능력을 제공합니다. 이는 이전 모델들이 달성하지 못한 업적입니다.

Mamba의 주요 기능은 다음과 같습니다:

  1. 선택적 SSM: 이것은 Mamba가 관련 없는 정보를 필터링하고 관련 데이터에 집중할 수 있도록 허용하여 시퀀스를 처리하는 능력을 향상시킵니다. 이러한 선택성은 효율적인 콘텐츠 기반 추론에 필수적입니다.
  2. 하드웨어 인식 알고리즘: Mamba는 특히 GPU에 최적화된 병렬 알고리즘을 사용합니다. 이러한 설계는 전통적인 모델보다 더 빠른 계산과 메모리 요구를 줄입니다.
  3. 단순화된 아키텍처: 선택적 SSM과 주의 및 MLP 블록을 제거함으로써, Mamba는 더 단순하고 균일한 구조를 제공합니다. 이는 확장성과 성능을 향상시킵니다.

Mamba는 언어, 오디오 및 유전체학을 포함한 다양한 영역에서 우수한 성능을 보여주었습니다. 예를 들어, 언어 모델링에서 Mamba는 더 큰 트랜스포머 모델의 성능과 일치하거나凌합니다.

Mamba의 코드와 사전 훈련된 모델은 GitHub에서 공개적으로 사용할 수 있습니다.

Standard Copying tasks are simple for linear models. Selective Copying and Induction Heads require dynamic, content-aware memory for LLMs.

Standard Copying tasks are simple for linear models. Selective Copying and Induction Heads require dynamic, content-aware memory for LLMs.

구조화된 상태 공간(S4) 모델은 최근 시퀀스 모델의 유망한 클래스로 등장했습니다. 이는 RNN, CNN 및 고전적인 상태 공간 모델의 특징을 결합합니다. S4 모델은 연속 시스템, 특히 일维 함수 또는 시퀀스를 암시적 잠재 상태를 통해 매핑하는 시스템에서 영감을 받습니다. 깊은 학습의 contexto에서, 이것은 시퀀스 모델을 설계하는 새로운 방법론을 제공하며, 효율적이고 매우 적응 가능한 모델을 제공합니다.

S4 모델의 동적

SSM (S4) 이것은 기본적인 구조화된 상태 공간 모델입니다. 시퀀스 x를 입력으로 받아 출력 y를 생성하며, 학습된 매개변수 A, B, C 및 지연 매개변수 Δ를 사용합니다. 변환에는 매개변수를离散화하는 것(연속 함수를离散 함수로 변환)과 시간 불변 SSM 연산을 적용하는 것이 포함됩니다.

离散화의 중요성

离散화는 연속 매개변수를 고정된 수식으로离散 매개변수로 변환하는 핵심 프로세스입니다. 이는 S4 모델이 연속 시간 시스템과 연결을 유지할 수 있도록 합니다. 이것은 해상도 불변성과 같은 추가 속성을 모델에 부여하며, 모델 안정성과 성능을 향상시키는 적절한 정규화를 보장합니다.离散화는 또한 RNN에서 정보 흐름을 관리하는 데 중요한 역할을 하는 게이팅 메커니즘과 유사합니다.

선형 시간 불변성 (LTI)

S4 모델의 핵심 특징은 선형 시간 불변성입니다. 이것은 모델의 동적이 시간에 따라 일관성을 유지함을 의미하며, 모든 시간 단계에서 매개변수가 고정됩니다. LTI는 반복과 합성의 기초이며, 시퀀스 모델을 구축하는 데 사용할 수 있는 단순하지만 강력한 프레임워크를 제공합니다.

기본적인 제한을 극복

S4 프레임워크는 전통적으로 LTI 특성으로 제한되었습니다. 이는 적응적인 동적을 모델링하는 데 어려움을 겪었습니다. 최근 연구는 이러한 제한을 극복하기 위해 시간에 따라 변하는 매개변수를 도입하는 접근 방식을 제시합니다. 이것은 S4 모델이 더 다양한 시퀀스와 작업을 처리할 수 있도록 허용하여 그들의 적용 가능성을 크게 확장합니다.

상태 공간 모델이라는 용어는 일반적으로 잠재 상태와 재귀 프로세스를 포함하는 모든 것을 설명하는 데 사용되며, 다양한 분야에서 다양한 개념을 설명하는 데 사용되었습니다. 깊은 학습의 contexto에서, 구조화된 SSM 또는 S4 모델은 효율적인 계산을 유지하면서 복잡한 시퀀스를 모델링할 수 있는 특정 모델 클래스를 나타냅니다.

S4 모델은 종단간 신경망 아키텍처에 통합될 수 있으며, 독립적인 시퀀스 변환으로 작동할 수 있습니다.它们는 CNN의 합성층과 유사하여, 다양한 신경망 아키텍처에서 시퀀스 모델링의 백본을 제공합니다.

SSM vs SSM + Selection

SSM vs SSM + Selection

시퀀스 모델링에서 선택성의 동기

Structured SSMs

Structured SSMs

이 논문은 시퀀스 모델링의 기본적인 측면이 컨텍스트를 관리 가능한 상태로 압축하는 것이라는 것을 주장합니다. 입력을 선택적으로 집중하거나 필터링할 수 있는 모델은 더 효율적이고 강력한 시퀀스 모델을 제공합니다. 이러한 선택성은 언어 모델링을 포함한 복잡한 작업에서 정보가 시퀀스 차원으로 흐르는 것을 적응적으로 제어하는 데 필수적입니다.

선택적 SSM은 기존의 SSM에 매개변수가 입력에 따라 달라질 수 있도록 허용함으로써, 이전의 시간 불변 모델에서는 달성할 수 없는 적응성을 도입합니다. 이것은 시간에 따라 변하는 SSM을 생성하며, 효율적인 계산을 위해 더 이상 합성을 사용할 수 없으며, 선형 반복 메커니즘을 사용하는 것으로, 전통적인 모델과는 상당히 다릅니다.

SSM + Selection (S6) 이 변형에는 선택 메커니즘이 추가되어 매개변수 BC 및 지연 매개변수 Δ가 입력에 따라 달라집니다. 이것은 모델이 입력 시퀀스 x의 특정 부분에 집중할 수 있도록 허용합니다. 매개변수는 선택을 고려하여离散화되며, SSM 연산은 시간에 따라 변하는 방식으로 스캔 연산을 사용하여 동적으로 처리됩니다.

Mamba의 성능 하이라이트

Mamba is best-in-class on every single evaluation result

Mamba is best-in-class on every single evaluation result

Mamba는 추론 속도와 정확성 모두에서 우수한 성능을 보여줍니다. 그 설계는 더 긴 컨텍스트를 더 잘 활용할 수 있으며, 이는 DNA 및 오디오 모델링에서 입증되며, 긴 범위의 의존성을 요구하는 복잡한 작업에서 이전 모델을 능가합니다. 또한 여러 작업에 대한 제로샷 평가에서 그 유연성을 보여줌으로써, 효율성과 확장성 측면에서 이러한 모델에 대한 새로운 표준을 설정합니다.

Mamba 시작하기

Mamba를 활용하려는 사람들을 위해, 기술 요구 사항은 Linux OS, NVIDIA GPU, PyTorch 1.12+, 및 CUDA 11.6+를 포함합니다. 설치에는 Mamba 저장소에서 필요한 패키지를 설치하는 데 필요한 pip 명령어가 포함됩니다. PyTorch 버전과 관련된 호환성 문제가 발생하는 경우, pip에서 –no-build-isolation 플래그를 사용하면 도움이 될 수 있습니다. 이러한 모델은 Pile 및 SlimPajama 데이터셋과 같은 광범위한 데이터셋에서 훈련되었으며, 다양한 컴퓨팅 요구 사항과 성능 벤치마크를 충족하도록 설계되었습니다.

Mamba는 선택적 SSM 레이어에서부터 Mamba 블록 및 완전한 언어 모델 구조까지 다양한 인터페이스를 제공합니다. Mamba 블록은 아키텍처의 주요 모듈이며, 인과적 Conv1d 레이어를 사용하며, 쉽게 신경망 설계에 통합될 수 있습니다. 제공된 Python 예제는 Mamba 모델을 인스턴스화하고 데이터를 처리하는 것을 보여줌으로써, 시스템의 단순성과 유연성을 강조합니다.

사전 훈련된 Mamba 모델은 Hugging Face에서 사용할 수 있으며, 130M에서 2.8B 파라미터까지 다양한 크기로 제공됩니다. 이러한 모델은 광범위한 Pile 데이터셋과 SlimPajama 데이터셋에서 훈련되었으며, GPT-3의 차원 표준을 따릅니다. 사용자는 이러한 모델에서 높은 처리량과 정확도를 기대할 수 있으며, Mamba를 다양한 응용 분야, 특히 언어 모델링을 포함한 다양한 응용 분야에서 경쟁력 있는 선택으로 만듭니다.

Mamba의 영향

Mamba는 시퀀스 모델링에서 큰 발전을 나타내며, 정보 밀도가 높은 데이터를 처리하는 데 트랜스포머 아키텍처에 대한 강력한 대안을 제공합니다. 그 설계는 현대 하드웨어의 요구 사항과 일치하며, 메모리 사용과 병렬 처리 능력을 최적화합니다. Mamba의 코드베이스와 사전 훈련된 모델의 공개적 가용성은 AI 및 깊은 학습 분야의 연구자와 개발자에게 강력하고 접근하기 쉬운 도구를 제공합니다.

지난 5년 동안私は Machine Learning과 Deep Learning의 매력적인 세계에 몰두해 왔습니다.私の情熱と専門知識は、AI/ML에 중점을 둔 50개 이상의 다양한 소프트웨어 엔지니어링 프로젝트에 기여했습니다.私の継続的な 호기심은 또한 자연어 처리 분야로私の 관심을 끌었고, 더 깊이 탐구하고 싶은 분야입니다.