Transformer 기반 대형 언어 모델(LLM)은 상황별 학습(ICL)을 수행하는 강력한 능력을 입증했으며 많은 자연어 처리(NLP) 작업을 위한 거의 유일한 선택이 되었습니다. Transformer의 self-attention 메커니즘을 사용하면 훈련을 고도로 병렬화하여 긴 시퀀스를 분산 방식으로 처리할 수 있습니다. LLM 훈련에 사용되는 시퀀스의 길이를 컨텍스트 창이라고 합니다.
Transformer의 컨텍스트 창은 예제가 제공될 수 있는 공간의 양을 직접 결정하므로 ICL 기능이 제한됩니다. 모델의 컨텍스트 창이 제한되면 ICL을 수행할 강력한 예제를 모델에 제공할 공간이 줄어듭니다. 또한 모델의 컨텍스트 창이 특히 짧을 경우 요약과 같은 다른 작업도 심각하게 방해를 받습니다. 언어 자체의 특성상 효과적인 모델링을 위해서는 토큰의 위치가 중요하며, self-attention은 병렬성으로 인해 위치 정보를 직접적으로 인코딩하지 않습니다. Transformer 아키텍처는 이 문제를 해결하기 위해 위치 인코딩을 도입합니다. 원래 Transformer 아키텍처는 절대 정현파 위치 인코딩을 사용했으며 나중에 학습 가능한 절대 위치 인코딩으로 개선되었습니다. 그 이후로 상대 위치 인코딩 방식은 Transformer 성능을 더욱 향상시켰습니다. 현재 가장 널리 사용되는 상대 위치 인코딩은 T5 Relative Bias, RoPE, XPos 및 ALiBi입니다. 위치 인코딩에는 반복되는 제한이 있습니다. 즉, 훈련 중에 표시되는 컨텍스트 창으로 일반화할 수 없다는 것입니다. ALiBi와 같은 일부 방법은 일부 제한된 일반화를 수행할 수 있지만 사전 훈련된 길이보다 훨씬 긴 시퀀스로 일반화한 방법은 아직 없습니다. 이러한 한계를 극복하려는 연구 결과가 나왔습니다. 예를 들어, 일부 연구에서는 위치 보간(PI)을 통해 RoPE를 약간 수정하고 소량의 데이터를 미세 조정하여 컨텍스트 길이를 연장하는 것을 제안합니다. 두 달 전 Nous Research의 Bowen Peng은 Reddit에서 고주파수 손실을 통합하여 "NTK 인식 보간"을 달성하는 솔루션을 공유했습니다. 여기서 NTK는 Neural Tangent Kernel을 나타냅니다. NTK 인식 확장 RoPE는 미세 조정 없이 복잡성에 최소한의 영향을 미치면서 LLaMA 모델의 컨텍스트 창(8k 이상)을 크게 확장할 수 있다고 주장합니다. 최근 그와 다른 세 명의 공동 작업자가 관련 논문을 발표했습니다!
- Paper: https://arxiv.org/abs/2309.00071
- Model: https://github.com/jquesnelle/yarn
이 문서에서 그들은 다양한 측면에 초점을 맞춘 NTK 인식 보간에 대한 두 가지 개선 사항:
- 미세 조정 없이 사전 훈련된 모델에 사용할 수 있는 동적 NTK 보간 방법입니다.
- 부분 NTK 보간 방법으로 모델은 소량의 긴 컨텍스트 데이터로 미세 조정될 때 최고의 성능을 얻을 수 있습니다.
연구원은 이 논문이 탄생하기 전에 이미 일부 오픈 소스 모델에 대해 NTK 인식 보간 및 동적 NTK 보간을 사용하는 연구원이 있었다고 말했습니다. 예로는 Code Llama(NTK 인식 보간 사용) 및 Qwen 7B(동적 NTK 보간 사용)가 있습니다. 본 논문에서 연구진은 NTK 인식 보간, 동적 NTK 보간, 부분 NTK 보간에 대한 기존 연구 결과를 바탕으로 회전 활용도를 효율적으로 확장할 수 있는 방법인 YaRN(Yet another RoPE extensioN method)을 제안했습니다. RoPE(Rotary Position Embeddings) 모델의 컨텍스트 창 방법은 LLaMA, GPT-NeoX 및 PaLM 시리즈 모델에 사용할 수 있습니다. 연구에 따르면 YaRN은 미세 조정을 위해 원래 모델의 사전 훈련 데이터 크기의 약 0.1%에 해당하는 대표 샘플만 사용하여 현재 최고의 컨텍스트 창 확장 성능을 달성할 수 있는 것으로 나타났습니다. RoPE(Rotary Position Embeddings)는 "RoFormer: Enhanced Transformer with Rotary Position Embedding" 논문에서 처음 소개되었으며 YaRN의 기반이기도 합니다.간단히 말하면 RoPE는 다음과 같이 작성할 수 있습니다. 고정 컨텍스트 길이로 사전 훈련된 LLM의 경우 위치 보간(PI)을 사용하여 컨텍스트 길이를 확장하면 다음과 같이 표현할 수 있습니다. PI가 모든 RoPE 차원을 동일하게 확장한다는 것을 알 수 있습니다. 연구원들은 PI 논문에 설명된 이론적 보간 범위가 RoPE와 LLM 내부 임베딩 간의 복잡한 역학을 예측하는 데 불충분하다는 것을 발견했습니다. 연구자들이 발견하고 해결한 PI의 주요 문제점을 아래에 기술하여 독자들이 YaRN에서 다양한 새로운 방법을 해결하게 된 배경과 원인, 이유를 이해할 수 있도록 하겠다. RoPE를 정보 인코딩의 관점으로만 본다면 NTK(Neural Tangent Kernel) 이론에 따라 입력 차원이 다음과 같다면 낮고 해당 임베딩에 고주파수 구성 요소가 부족하면 심층 신경망이 고주파수 정보를 학습하기 어렵습니다. RoPE에 보간법을 삽입할 때 고주파수 정보가 손실되는 문제를 해결하기 위해 Bowen Peng은 위 Reddit 게시물에서 NTK 인식 보간법을 제안했습니다. 이 접근 방식은 RoPE의 각 차원을 동일하게 확장하지 않고 고주파수를 줄이고 저주파수를 더 많이 확장하여 여러 차원에 걸쳐 보간 압력을 분산시킵니다. 테스트에서 연구원들은 미세 조정 없이 모델의 컨텍스트 크기를 확장하는 데 있어 이 접근 방식이 PI보다 성능이 우수하다는 사실을 발견했습니다. 그러나 이 접근 방식에는 중요한 단점이 있습니다. 단순한 보간 방식이 아니기 때문에 일부 차원이 일부 "외부" 값으로 추정되므로 NTK 인식 보간을 사용한 미세 조정은 PI만큼 효과적이지 않습니다. 게다가 "외부" 값이 존재하기 때문에 이론적 확장 계수는 실제 컨텍스트 확장 정도를 정확하게 설명할 수 없습니다. 실제로 주어진 컨텍스트 길이 확장의 경우 확장 값 s는 예상 확장 값보다 약간 높게 설정되어야 합니다. RoPE 임베딩의 경우 흥미로운 관찰이 있습니다. 컨텍스트 크기 L이 주어지면 파장 λ가 사전보다 긴 차원 d가 존재합니다. - 훈련 중에 나타나는 가장 큰 컨텍스트 길이(λ > L)는 특정 차원의 임베딩이 회전된 도메인에 고르지 않게 분포될 수 있음을 나타냅니다. PI 및 NTK 인식 보간은 모든 RoPE 숨겨진 차원을 동일하게 처리합니다(마치 네트워크에 동일한 효과가 있는 것처럼). 그러나 연구자들은 실험을 통해 인터넷이 일부 차원을 다른 차원과 다르게 취급한다는 사실을 발견했습니다. 앞서 언급한 바와 같이, 맥락 길이 L이 주어지면 일부 차원은 L보다 크거나 같은 파장 λ를 갖습니다. 숨겨진 차원의 파장이 L보다 크거나 같을 때 모든 위치 쌍은 특정 거리를 인코딩하므로 연구원들은 파장이 더 짧을 때 절대 위치 정보가 유지되고 네트워크는 상대적인 거리만 얻을 수 있다고 가정합니다. 위치 정보. 확장 스케일 s 또는 기본 변경 값 b'를 사용하여 모든 RoPE 차원을 확장하면 더 작은 양만큼 회전한 두 벡터의 내적이 더 커지기 때문에 모든 토큰이 서로 가까워집니다. 이 확장은 내부 임베딩 간의 작은 로컬 관계를 이해하는 LLM의 능력을 심각하게 손상시킬 수 있습니다. 연구자들은 이러한 압축으로 인해 모델이 근처 토큰의 위치 순서에 대해 혼란을 겪게 되어 모델의 능력이 손상될 것이라는 가설을 세웠습니다. 이 문제를 해결하기 위해 연구원들이 관찰한 현상을 기반으로 그들은 더 높은 주파수 차원을 전혀 보간하지 않기로 결정했습니다. 그들은 또한 모든 차원 d에 대해 r β의 차원이 전혀 보간되지 않는다고 제안했습니다(항상 외삽됨). 이 섹션에 설명된 기술을 사용하여 부분 NTK 보간이라는 방법이 탄생했습니다. 이 향상된 방법은 이전 PI 및 NTK 인식 보간 방법보다 성능이 뛰어나며 조정되지 않은 모델과 미세 조정된 모델 모두에서 작동합니다. 이 방법은 회전 영역이 불균등하게 분포된 치수 외삽을 방지하므로 이전 방법의 모든 미세 조정 문제를 피할 수 있습니다. RoPE 보간 방법을 사용하여 미세 조정 없이 컨텍스트 크기를 스케일링할 때 모델은 Degree s가 커지는 대신 긴 컨텍스트 크기에 따라 천천히 저하될 것으로 예상됩니다. 필요한 값을 초과하면 전체 컨텍스트 크기에 걸쳐 완전히 성능이 저하됩니다.동적 NTK 방식에서는 확장자 s가 동적으로 계산됩니다. 추론 프로세스 중에 컨텍스트 크기가 초과되면 확장 정도 s가 동적으로 변경되어 학습 컨텍스트 제한 L에 도달할 때 갑자기 충돌하는 대신 모든 모델이 천천히 저하될 수 있습니다. 장거리에 대한 평균 최소 코사인 유사도 증가 - YaRN 앞서 설명한 로컬 거리 문제가 해결되더라도 외삽을 피하기 위해서는 임계값 α 거리에서 더 큰 보간을 수행해야 합니다. . 직관적으로 이것은 문제가 되지 않는 것 같습니다. 왜냐하면 전역 거리는 토큰 위치를 구별하기 위해 높은 정확도를 요구하지 않기 때문입니다(즉, 네트워크는 토큰이 시퀀스의 시작, 중간 또는 끝에 있는지 대략적으로 알면 됩니다). 그러나 연구자들은 토큰 수가 증가함에 따라 평균 최소 거리가 가까워지기 때문에 어텐션 소프트맥스 분포가 더 뾰족해지게 된다는 것을 발견했습니다(즉, 어텐션 소프트맥스의 평균 엔트로피를 줄입니다). 즉, 보간을 통해 장거리 감쇠의 영향이 감소함에 따라 네트워크는 더 많은 토큰에 "더 많은 관심을 기울입니다". 이러한 분포 변화는 LLM 결과의 품질 저하로 이어질 수 있으며 이는 이전 질문과 관련이 없는 또 다른 문제입니다. RoPE 임베딩을 더 긴 컨텍스트 크기로 보간할 때 어텐션 소프트맥스 분포의 엔트로피가 감소하므로 우리는 이 엔트로피 감소를 되돌리는 것을 목표로 합니다(즉, 어텐션 로짓의 "온도" 증가). 이는 소프트맥스를 적용하기 전 중간 어텐션 행렬에 온도 t > 1을 곱하면 가능하지만 RoPE 임베딩은 회전 행렬로 인코딩되기 때문에 간단히 RoPE 임베딩의 길이를 상수 인자 √t만큼 확장하는 것이 가능합니다. . 이 "길이 확장" 기술을 사용하면 어텐션 코드를 수정하지 않고도 연구를 수행할 수 있으므로 기존 교육 및 추론 파이프라인과의 통합이 크게 단순화되고 시간 복잡도는 O(1)에 불과합니다. 이 RoPE 보간 방식은 RoPE 차원 전체에 걸쳐 불균등하게 보간되므로 팽창 정도 s와 관련하여 필요한 온도 스케일 t에 대한 분석 솔루션을 계산하기가 어렵습니다. 다행히 연구원들은 실험을 통해 복잡성을 최소화함으로써 모든 LLaMA 모델이 거의 동일한 피팅 곡선을 따른다는 것을 발견했습니다. 연구원들은 LLaMA 7B, 13B, 33B 및 65B에서 이 공식을 발견했습니다. 그들은 이 공식이 LLaMA 2 모델(7B, 13B 및 70B)에도 미묘한 차이가 있지만 잘 작동한다는 것을 발견했습니다. 이는 이러한 엔트로피 증가 속성이 일반적이며 다양한 모델 및 교육 데이터에 일반화된다는 것을 의미합니다. 이 최종 수정으로 YaRN 방법이 탄생했습니다. 새로운 방법은 추론 코드를 수정할 필요 없이 미세 조정된 시나리오와 조정되지 않은 시나리오 모두에서 이전의 모든 방법보다 성능이 뛰어납니다. 처음에 RoPE 임베딩을 생성하는 데 사용된 알고리즘만 수정하면 됩니다. YaRN은 매우 간단하여 Flash Attention 2와의 호환성을 포함하여 모든 추론 및 교육 라이브러리에서 쉽게 구현할 수 있습니다. 실험에서는 YaRN이 LLM의 컨텍스트 창을 성공적으로 확장할 수 있음을 보여줍니다. 또한 그들은 400단계만 훈련한 후에 이 결과를 달성했는데, 이는 모델의 원래 사전 훈련 코퍼스의 약 0.1%이며 이전 작업에 비해 크게 감소한 수치입니다. 이는 새로운 방법이 계산적으로 매우 효율적이며 추가 추론 비용이 없음을 보여줍니다. 결과 모델을 평가하기 위해 연구원들은 긴 문서의 복잡성을 계산하고 기존 벤치마크에서 점수를 매겼으며 새로운 방법이 다른 모든 컨텍스트 창 확장 방법보다 성능이 뛰어나다는 것을 발견했습니다. 먼저 연구원들은 컨텍스트 창이 증가했을 때 모델의 성능을 평가했습니다. 표 1은 실험 결과를 요약한 것이다. 표 2는 검열되지 않은 50개의 GovReport 문서(최소 16,000개 토큰 길이)에 대한 최종 당혹감을 보여줍니다. 컨텍스트 확장을 사용할 때 모델 성능 저하를 테스트하기 위해 연구원들은 Hugging Face Open LLM 리더보드 제품군을 사용하여 모델을 평가하고 이를 LLaMA 2 기준 모델 및 공개적으로 사용 가능한 PI 및 NTK 인식 모델과 비교했습니다. 비교 점수가 있습니다. 표 3은 실험 결과를 요약한 것입니다. 위 내용은 대형 모델이 프롬프트에서 더 많은 예를 학습하도록 하려면 이 방법을 사용하면 더 많은 문자를 입력할 수 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!