이 기사에서는 의도적으로 시간 복잡도에 대해서만 이야기하고 있습니다.
공간 복잡성에 대해서는 다음 위치에서 볼 수 있는 1비트 변환기에 대한 내 기사를 참조하세요.
Generative AI 기술에 관한 한 우리는 미래를 향해 경주하고 있으며 대규모 언어 모델 뒤에 있는 알고리즘도 예외는 아닙니다. 이 기사에서는 최근 생성 AI 분야에서 가장 흥미로운 세 가지 발전을 다루고 이에 대해 자세히 설명하겠습니다. 그 중 하나는 대규모 언어 모델 알고리즘을 실행하기 위한 최적의 시간 복잡도를 달성했습니다. 즉, 최근 개발은 가능한 가장 최적의 가장 빠른 LLM 변환기 알고리즘이 되었습니다. 현재 모델에서는 상수 시간 최적화를 제외하고 점근적 시간 복잡도에 관한 한 그보다 더 빠르게 진행하는 것은 불가능합니다. 수천억 개의 매개변수를 다루기 때문에 상수의 속도 향상이 상당히 클 수 있습니다! 이것은 흥미진진한 여행이 될 것이기 때문에 여러분도 저만큼 신나기를 바랍니다!
모두가 중요한 2017년에 대해 잘 알고 있습니다. 주의를 기울이는 것만으로도 종이가 필요하지만, 새로 온 사람들이 우리가 말하는 내용을 더 명확하게 이해할 수 있도록 요약하겠습니다.
연구논문 링크는 다음과 같습니다.
논문 소개에서:
순환 신경망, 특히 장단기 기억 및 게이트 순환 신경망은 언어 모델링 및 기계 번역과 같은 시퀀스 모델링 및 변환 문제에 대한 최첨단 접근 방식으로 확고히 자리 잡았습니다.
그 이후로 순환 언어 모델과 인코더-디코더 아키텍처의 경계를 넓히기 위한 수많은 노력이 계속되었습니다.
순환 모델은 일반적으로 입력 및 출력 시퀀스의 기호 위치를 따라 계산을 고려합니다.
계산 시간의 단계에 따라 위치를 정렬하면 이전 숨겨진 상태 ℎ𝑡−1 및 위치 𝑡에 대한 입력의 함수로 일련의 숨겨진 상태 ℎ𝑡가 생성됩니다.
이러한 본질적인 순차적 특성으로 인해 훈련 예제 내에서 병렬화가 불가능하며, 이는 메모리 제약으로 인해 예제 간 일괄 처리가 제한되므로 시퀀스 길이가 길어질수록 중요해집니다.
최근 연구에서는 인수분해 트릭과 조건부 계산을 통해 계산 효율성이 크게 향상되었으며 후자의 경우 모델 성능도 향상되었습니다.
그러나 순차 계산의 근본적인 제약은 여전히 남아 있습니다.
어텐션 메커니즘은 다양한 작업에서 강력한 시퀀스 모델링 및 변환 모델의 필수적인 부분이 되었으며, 입력 또는 출력 시퀀스의 거리에 관계없이 종속성을 모델링할 수 있습니다.
그러나 몇몇 경우를 제외하고는 이러한 주의 메커니즘이 순환 네트워크와 함께 사용됩니다.
이 연구에서 우리는 반복을 피하고 대신 주의 메커니즘에 전적으로 의존하여 입력과 출력 사이의 전역 종속성을 그리는 모델 아키텍처인 Transformer를 제안합니다.
Transformer는 훨씬 더 많은 병렬화를 허용하며 8개의 P100 GPU에서 단 12시간 동안 교육을 받은 후 번역 품질에서 새로운 최첨단 기술에 도달할 수 있습니다.
그리고 우리가 알고 있듯이 GPT-1, GPT-2, GPT-3 및 GPT 3.5 변환기는 곧 생성 AI에 영원히 혁명을 일으켰습니다.
갑자기 기계가 인간처럼 보이는 영어를 말할 수 있게 되었습니다.
이는 향후 2년 동안 기사와 연구 뉴스 게시판을 장악한 고전적인 다이어그램이었습니다.
그런 다음 GPT-4가 나왔고 삶은 다시는 예전과 같지 않을 것입니다.
우리는 전환점을 넘었습니다.
그러나 이러한 변압기는 비용이 많이 들고 훈련 속도가 느리며 운영 비용이 매우 높기 때문에 배포가 어려웠습니다.
Transformer 알고리즘의 시간 복잡도는 2차, 즉 O(n*n)입니다. 여기서 n은 입력 매개변수의 수입니다 .
𝐿 레이어가 있는 표준 변환기 모델의 경우 추론 알고리즘의 시간 복잡도는 𝑂( L*n*n*d )입니다 . 여기서 L은 레이어 수, n은 입력 토큰 수, d는 변환기의 깊이입니다 .
한동안은 이것이 최첨단 기술인 것 같았습니다.
양자화는 이르면 2021년 초에 다른 논문에서 소개되었으며, 이는 차세대 최첨단 메커니즘으로 보였습니다( Prelude 섹션 참조).
그러나 곧 우리는 또 다른 경쟁자를 갖게 될 것이었습니다.
관련 연구 논문은 다음과 같습니다.
Mamba: 선택적 상태 공간을 사용한 선형-시간 시퀀스 모델링
연구 논문 초록에서:
현재 딥 러닝 분야의 흥미로운 애플리케이션 대부분을 지원하는 기초 모델은 거의 보편적으로 Transformer 아키텍처와 핵심 주의 모듈을 기반으로 합니다.
선형 주의, 게이트 컨벌루션 및 반복 모델, 구조화된 상태 공간 모델(SSM)과 같은 많은 하위 시간 아키텍처는 긴 시퀀스에 대한 Transformer의 계산 비효율성을 해결하기 위해 개발되었지만 다음과 같은 중요한 양식에 대한 관심만큼 성능을 발휘하지 못했습니다. 언어로.
우리는 이러한 모델의 주요 약점이 내용 기반 추론을 수행하고 몇 가지 개선을 수행할 수 없다는 점을 확인했습니다.
첫째, SSM 매개변수를 입력의 함수로 두면 이산 양식의 약점을 해결하여 모델이 현재 토큰에 따라 시퀀스 길이 차원을 따라 정보를 선택적으로 전파하거나 잊을 수 있습니다.
둘째, 이러한 변경으로 인해 효율적인 컨볼루션을 사용할 수 없더라도 우리는 반복 모드에서 하드웨어 인식 병렬 알고리즘을 설계합니다.
우리는 이러한 선택적 SSM을 주의나 MLP 블록(Mamba) 없이 단순화된 엔드투엔드 신경망 아키텍처에 통합합니다.
Mamba는 빠른 추론(Transformers보다 5배 더 높은 처리량)과 시퀀스 길이의 선형 확장을 제공하며 실제 데이터에서 최대 백만 길이의 시퀀스까지 성능이 향상됩니다.
일반 시퀀스 모델 백본인 Mamba는 언어, 오디오, 유전체학과 같은 여러 양식에 걸쳐 최첨단 성능을 달성합니다.
언어 모델링에서 Mamba-3B 모델은 동일한 크기의 Transformer보다 성능이 뛰어나며 사전 훈련 및 다운스트림 평가 모두에서 두 배 크기의 Transformer와 일치합니다.
Su갑자기
갑자기 우리 마을에 새로운 경쟁자가 생겼습니다!
Mamba-transformer 알고리즘의 주요 장점은 다음과 같습니다.
하이브리드 아키텍처 :
Mamba는 Transformer와 Mamba 레이어를 결합하여 관리 가능한 메모리 공간을 유지하면서 향상된 성능과 더 높은 처리량을 제공합니다.
해결 과제 :
메모리 및 컴퓨팅 효율성 : Mamba는 특히 긴 컨텍스트에 대한 Transformers의 높은 메모리 및 컴퓨팅 요구 사항을 해결했습니다.
요약 상태 : Transformers와 달리 Mamba는 단일 요약 상태를 제공하여 더 빠른 추론을 가능하게 합니다.
아키텍처 세부정보 :
성능 :
Mamba는 Mixtral-8x7B 및 Llama-2 70B와 같은 기존 모델과 비슷한 성능을 발휘하는 동시에 최대 256K 토큰의 컨텍스트 길이를 지원합니다.
효율성 : Mamba의 처리량은 긴 컨텍스트에 대해 Mixtral-8x7B의 3배였으며 대규모 컨텍스트에서도 단일 GPU에 적합했습니다.
Mamba 아키텍처는 Transformer와 SSM 접근 방식의 장점을 결합하여 대규모 언어 모델의 중요한 발전을 나타냅니다.
그러나 테스트가 계속되면서 Mamba 알고리즘이 모든 사용 사례에 적합한 경쟁자가 아니라는 사실이 밝혀졌습니다.
특히, Mamba 알고리즘은 IMDB 데이터 세트와 함께 제공되었을 때 비참하게 실패했습니다.
그러나 아키텍처는 여전히 최첨단이었고 비전 사용 사례에 매우 유용한 것으로 나타났습니다.
여기에서 Python의 구현을 볼 수 있습니다.
그리고 이것은 또한 제공된 이론과 함께 Mamba 알고리즘에 대한 훌륭한 설명입니다.
PyPI의 표준 Mamba 구현은 다음과 같습니다.
Mamba 알고리즘은 전성기를 맞이했으며 여전히 매우 활발한 연구 분야입니다. 곧 후계자가 나왔지만 우리는 마지막을 위해 최선을 다할 것입니다.
우리는 다음 경쟁자인 xLSTM 알고리즘으로 넘어갈 것입니다.
여기에서 연구 논문을 참조할 수 있습니다.
연구 논문 초록에서:
1990년대에는 LSTM(Long Short-Term Memory)의 핵심 아이디어로 지속적인 오류 캐러셀(Constant Error Carousel)과 게이팅(Gating)이 도입되었습니다.
그 이후로 LSTM은 시간의 시험을 견디고 수많은 딥 러닝 성공 사례에 기여했으며, 특히 최초의 LLM(대형 언어 모델)을 구성했습니다.
그러나 병렬화 가능한 self-attention을 핵심으로 하는 Transformer 기술의 출현은 규모 면에서 LSTM을 능가하는 새로운 시대의 시작을 알렸습니다.
이제 간단한 질문을 제기합니다. 최신 LLM의 최신 기술을 활용하면서 LSTM의 알려진 한계를 완화하여 LSTM을 수십억 개의 매개변수로 확장할 때 언어 모델링에서 얼마나 멀리 도달할 수 있습니까?
먼저 적절한 정규화 및 안정화 기술을 사용하여 지수 게이팅을 소개합니다.
둘째, LSTM 메모리 구조를 수정하여 다음을 얻습니다.
(i) 스칼라 메모리, 스칼라 업데이트 및 새로운 메모리 믹싱을 갖춘 sLSTM,
(ii) 행렬 메모리 및 공분산 업데이트 규칙으로 완전히 병렬화 가능한 mLSTM.
이러한 LSTM 확장을 잔여 블록 백본에 통합하면 xLSTM 아키텍처에 잔여적으로 쌓이는 xLSTM 블록이 생성됩니다.
지수 게이팅 및 수정된 메모리 구조는 xLSTM 기능을 향상시켜 성능과 확장성 측면에서 최첨단 Transformer 및 State Space Model과 비교할 때 유리한 성능을 발휘합니다.
LSTM(장단기 기억) 알고리즘은 당시 매우 유용했으며 상당한 성공을 거두었습니다.
xLSTM은 동일한 모델을 사용했지만 완전히 다른 아키텍처를 사용했습니다.
이는 연구 논문의 다이어그램에 요약된 주요 혁신이었습니다.
xLSTM의 주요 장점은 다음과 같습니다.
긴 시퀀스 처리 :
xLSTM은 정보 흐름을 제어하는 게이팅 메커니즘을 통해 긴 시퀀스를 처리하도록 특별히 설계되었습니다. 이로 인해 기존 LSTM에 비해 순차 데이터의 장기적인 종속성을 캡처하는 데 더 효과적이었습니다.
계산 효율성 :
xLSTM은 특정 작업, 특히 작은 데이터 세트를 처리하거나 시퀀스 길이가 지나치게 크지 않은 경우 계산적으로 더 효율적일 수 있습니다.
반면에 Transformer는 시퀀스 길이에 따라 2차적으로 확장되는 self-attention 메커니즘으로 인해 상당한 계산 리소스가 필요했습니다.
메모리 사용량 :
xLSTM은 일반적으로 Transformer보다 적은 메모리를 필요로 합니다.
Transformers의 self-attention 메커니즘은 특히 긴 시퀀스의 경우 메모리 집약적일 수 있는 대규모 Attention 매트릭스를 저장해야 했습니다.
훈련 안정성 :
xLSTM은 반복적 특성과 그래디언트 소멸 문제를 완화하는 데 도움이 되는 게이팅 메커니즘으로 인해 훈련 중에 더 안정적일 수 있습니다.
Transformer는 강력하기는 하지만 훈련하기가 더 어려울 수 있으며 하이퍼파라미터와 정규화 기술을 주의 깊게 조정해야 할 수도 있습니다.
단순성과 해석성 :
xLSTM 모델은 Transformer에 비해 이해하고 해석하기가 더 간단할 수 있습니다.
LSTM의 반복적 특성으로 인해 네트워크를 통한 정보 흐름을 더 쉽게 추적할 수 있는 반면 Transformer의 주의 메커니즘은 더 추상적이고 해석하기 어려울 수 있습니다.
소규모 데이터 세트의 성능 :
xLSTM은 소규모 데이터 세트나 레이블이 지정된 데이터가 제한적인 경우 더 나은 성능을 발휘할 수 있습니다.
Transformer는 일반적으로 잠재력을 최대한 발휘하기 위해 많은 양의 데이터가 필요하므로 데이터 가용성이 제한된 시나리오에서는 xLSTM이 더 나은 선택입니다.
.
순차적 데이터 :
시계열이나 특정 유형의 자연어 처리 작업과 같은 특정 유형의 순차 데이터의 경우 xLSTM은 시퀀스 처리를 위한 고유한 설계로 인해 더 나은 성능을 제공했을 수 있습니다.
그러나 Transformers에는 더 나은 병렬화 기능, 대규모 데이터 세트에 대한 뛰어난 성능, 많은 NLP 작업에서 최첨단 결과와 같은 고유한 장점이 있다는 점을 기억하는 것이 중요했습니다.
xLSTM과 Transformer 사이의 선택은 현재 작업의 특정 요구 사항과 제약 조건을 기반으로 이루어져야 합니다.
여기에서 PyTorch의 xLSTM 구현을 볼 수 있습니다.
여기에서 xLSTM에 대한 자세한 설명을 볼 수 있습니다.
다음은 현재 상태를 잘 요약한 것입니다.
그러나 LLM 알고리즘의 최적 시간 복잡도(Optimal Time Complexity)라는 성배를 맞은 Mamba의 후속 제품이 있었습니다.
연구 논문은 여기에서 찾을 수 있습니다:
연구 논문 초록에서:
우리는 새로운 하이브리드 Transformer-Mamba 전문가 혼합(MoE) 아키텍처를 기반으로 하는 새로운 기본 대규모 언어 모델인 Jamba를 제시합니다.
특히 Jamba는 Transformer 및 Mamba 레이어 블록을 인터리브하여 두 모델 제품군의 이점을 모두 활용합니다.
활성 매개변수 사용을 관리 가능하게 유지하면서 모델 용량을 늘리기 위해 일부 레이어에 MoE가 추가되었습니다.
이 유연한 아키텍처를 통해 리소스 및 목표별 구성이 가능합니다.
우리가 구현한 특정 구성에서는 단일 80GB GPU에 맞는 강력한 모델이 탄생했습니다.
대규모로 구축된 Jamba는 바닐라 Transformers에 비해 높은 처리량과 작은 메모리 공간을 제공하는 동시에 표준 언어 모델 벤치마크 및 장기 컨텍스트 평가에서 최첨단 성능을 제공합니다.
놀랍게도 이 모델은 최대 256K 토큰 컨텍스트 길이에 대해 강력한 결과를 제공합니다.
Transformer와 Mamba 레이어를 결합하는 방법, 전문가를 혼합하는 방법 등 다양한 아키텍처 결정을 연구하고 그 중 일부가 대규모 모델링에 중요하다는 것을 보여줍니다.
또한 Jamba의 교육 및 평가를 통해 밝혀진 이러한 아키텍처의 몇 가지 흥미로운 속성을 설명하고, 이 새로운 아키텍처에 대한 추가 탐색을 장려하기 위해 다양한 절제 실행에서 체크포인트를 릴리스할 계획입니다.
우리는 Jamba 구현의 가중치를 허용 라이센스에 따라 공개적으로 제공합니다.
구현은 다음 HuggingFace 저장소에서 사용할 수 있습니다.
모델: https://huggingface.co/ai21labs/Jamba-v0.1
다른 모델과의 비교 :
다양한 벤치마크에서 평가된 Jamba는 Mistral-8x7B , Llama-2 70B 및 Mixtral-8x7B 와 같은 다른 최첨단 모델과 비슷한 성능을 보여줍니다.
특히 Jamba는 공개적으로 사용 가능한 모델 중에서 가장 긴 최대 256K 토큰 의 컨텍스트 길이를 지원합니다.
Hellaswag , Arc Challenge 및 PIQA 와 같은 작업에서 Jamba는 Llama 2 , Mixtral 8x7B 및 Gemma 와 같은 모델보다 성능이 뛰어납니다 .
요약하면 Jamba의 하이브리드 아키텍처는 Transformers와 Mamba 레이어의 장점을 결합하여 인상적인 성능과 확장성을 제공합니다.
기억해야 할 주요 다이어그램은 위의 연구 논문에 제시된 것입니다.
Mamba와 Transformer 모델의 인터리빙은 시간 복잡도를 엄청나게 증가시킵니다. 이는 아래 기사에 훌륭하게 요약되어 있습니다.
저자 : 님리타 코울
날짜 : 2024년 4월 1일
요약 :
Jamba는 AI21이 도입한 최초의 프로덕션급 Mamba 기반 대형 언어 모델입니다.
이는 Transformer와 Mamba 아키텍처의 장점을 결합합니다.
Transformer 기반 모델은 O(n²) 의 훈련 시간 복잡도로 인해 긴 시퀀스로 인해 어려움을 겪습니다.
Mamba 아키텍처는 선형 훈련 시간 복잡도( O(n) )와 일정한 추론 시간( O(1) )을 제공합니다.
Mamba는 SSM(State Space Model) 아키텍처를 기반으로 합니다.
SSM은 상태 변수를 사용하여 미분 또는 차이 방정식을 사용하는 시스템을 설명합니다.
Mamba의 하이브리드 접근 방식은 기존 모델의 한계를 해결하는 것을 목표로 합니다.
여기에서 전체 기사를 읽을 수 있습니다.
Mamba 및 Jamba — 간단히 설명 , 작성자: Nimrita Koul, Medium.com.
여기서 주목해야 할 핵심 사항은 훈련을 위해 알고리즘이 모든 입력 토큰을 한 번 이상 확인해야 하므로 시간 복잡도가 O(n)이라는 것입니다.
또한 모든 LLM 모델에 대해 추론이 수행할 수 있는 가장 빠른 속도는 O(1)입니다. 이는 토큰 길이에 관계없이 일정한 시간입니다(놀라운 성과)!
따라서 지속적인 개선을 통해 여전히 매우 높을 수 있습니다(이 숫자는 수천억에 달함).
Jamba는 변환기 알고리즘에 대한 최적의 시간 복잡도 한계에 도달했습니다!
주어진 시스템 조건에서 새로운 기술이 도입되지 않는 한(양자 컴퓨팅, 누구든지) 우리는 더 빠른 점근 시간 복잡도를 가질 수 없습니다!
매우 의미있는 결과입니다!
A121 연구소의 공식 발표:
Jamba의 Medium에 대한 또 다른 좋은 기사:
현재 사용 가능한 최고의 Jamba 구현 중 하나:
다시 한 번 HuggingFace Hub의 Jamba 모델은 다음과 같습니다.
따라서 Jamba는 기존 시스템에서 변류기 알고리즘을 통해 달성할 수 있는 궁극적인 시간 복잡도를 일정한 수준의 변화에 도달합니다. 반복하다; 상수는 수천억 항의 순서로 되어 있기 때문에 매우 클 수 있습니다! 그러나 이는 여전히 상당한 성과이다. 특히 DPO(직접 선호 최적화) 및 양자화와 결합할 때 이에 대한 연구가 진행될 수 있는 범위에는 제한이 없습니다. 자세한 내용은 에필로그를 참조하세요.
이것에는 아무도 공개적으로 작업하지 않는 것 같은 측면이 있습니다.
Mamba, xLSTM 및 Jamba 모델을 1비트 정밀도로 양자화할 수 있습니까?
물론!
1비트로 양자화되면 Mamba와 Jamba의 성능 향상을 보고 싶습니다! 또는 1.58비트 {-1, 0, 1 }.
자세한 내용은 이 문서를 다시 한 번 참조하세요.
이 기술의 미래는 엄청나게 흥미로울 것입니다!
이 분야에서 일하는 기쁨과 스릴이 항상 당신과 함께 있기를 바랍니다!
건배!
양자화에 관해서는 이 문서를 읽어볼 가치가 있습니다.
연구 논문 - BitNet: 대규모 언어 모델을 위한 1비트 변환기 확장 :
개요 : 대규모 언어 모델의 크기가 증가함에 따라 배포에 어려움이 발생하고 높은 에너지 소비로 인해 환경에 미치는 영향에 대한 우려가 높아졌습니다. 이 작업에서는 대규모 언어 모델을 위해 설계된 확장 가능하고 안정적인 1비트 Transformer 아키텍처인 BitNet을 소개합니다. 구체적으로, 처음부터 1비트 가중치를 훈련하기 위해 nn.Linear
계층의 드롭인 대체품으로 BitLinear를 도입합니다. 언어 모델링에 대한 실험 결과는 BitNet이 최첨단 8비트 양자화 방법 및 FP16 Transformer 기준에 비해 메모리 공간과 에너지 소비를 크게 줄이면서 경쟁력 있는 성능을 달성한다는 것을 보여줍니다. 또한 BitNet은 완전 정밀도 Transformers와 유사한 확장 법칙을 보여 효율성과 성능 이점을 유지하면서 더 큰 언어 모델로 효과적으로 확장할 수 있는 가능성을 제시합니다.
https://arxiv.org/abs/2310.11453
HuggingFace의 모델은 다음과 같습니다.
이 저장소에는 BitNet b1.58-3B 모델의 양자화된 버전이 포함되어 있습니다.
원본 저장소는 인상적인 검증 결과를 보여주지만 BitNet의 선형 레이어를 에뮬레이션하여 FP16 모델과 유사한 메모리 사용량을 제공합니다.