Daily-Trend-Review

2023/07/24: LongNet

hellcat 2023. 7. 24. 15:33

Microsoft Just Showed us the Future of ChatGPT with LongNet

 

  • Context Length (Sequence Length)
    • Sequence Length와 계산 비용 사이에 2차 관계에 있음
      • 입력 텍스트 시퀀스의 길이를 두배로 늘리면 챗봇을 실행하는데 드는 비용은 4배가 됨
      • 결과적으로 LLM을 구축하는 AI 회사는 입력 시퀀스의 최대 크기를 제한할 수 밖에 없음
    • Sequence length의 중요성
      • 입력이 풍부할수록 결과가 더 좋아짐 →프롬프트에 제공되지 않는 한 질문에 대답할 때 챗봇은 학습 중에 얻은 weitht에 포함된 지식을 신뢰함
      • 하지만 모델은 거의 필터링없이 인터넷 텍스트의 상당 부분을 학습하였음
      • pre-trained 모델에서 사전 학습된 지식에 대해 의존을 중단하고 모델이 큐레이팅된 데이터를 사용하여 응답하도록 강제할 수 있음
      • 실생활에서 LLM이 특히 유용해지는 대부분의 상황은 모델에 실시간으로 정보를 제공해야 함
      • 데이터가 반복적으로 필요할 경우, 해당 지식을 가중치에 포함하도록 모델을 fine-tuning할 수 있이지만 이 데이터는 동적이므로 이동 중에 제공되어야 함
  • 확장된 어텐션 (Dilating Attention)
    • LongNet은 dilated attention으로 동작하는 새로운 transformer 아키텍처
    • 중요한 점은 시퀀스 길이에 quadratic cost가 아닌 dilating attention이 linear cost다는 점임
    • Dilated attention을 사용하였을 때, 시퀀스가 1B tokens일 때조차 런타임이 1초 이내라는 것
  • 벡터의 sparse화 
    • 최근 시퀀스에서 한개의 단어가 말할 수 있는 단어의 개수를 제한한 sparse transformer가 제안됨
    • FLOPS의 수를 줄여 모델의 비용과 latency를 줄이는데 성공하였지만 모델 품질에 부정적인 영향을 미침
    • 그런 LongNet은 perplexity가 줄지 않을 뿐더러 이전 모델 보다 더 작아진다. 이것은 두가지 요소 덕분임
      • Segment length 
        • 표준 어텍션의 모든 단어는 다른 모든 단어와 대화하지만 LongNet에서 단어는 해당 세그먼트의 단어만 "대화"함
      • Dilated rate
        • 단어 간의 통신을 제한하는 sparse transformer와 달리 LongNet은 통신 패턴을 정의함
        • 각 단어는 논문에서 dilated rate로 설명된 특정 패턴(예: 시퀀스의 두 단어마다)에 의해 지시된 다른 단어와 먼저 대화함
        • "만일 커뮤니케이션이라는 단어를 제한하면 단어가 다른 세그먼트로부터 중요한 컨텍스트를 잃어버릴 수 있음"
          • 이것은 사실이며 세그먼트 길이와 dilated rate는 계산 효율성을 위해 전역 attention을 희생함
          • 모델을 쓸모없게 만드는 정보의 '전역적' 손실을 방지하기 위해 LongNet은 두 변수(Segment length와 Dilated rate)를 동적으로 변경
          • 즉, 모든 단어는 아래와 같이 기하학적 패턴에 따라 크기가 다양하고 다른 dialated rate와 다른 세그먼트 내의 단어와 대화함
          • 특정 GPU에 시퀀스의 매 segment를 소화할 수 있어서, 더 효율적인 병렬화와 GPU 사용의 최적화를 허용함 → 또한 학습 비용마저 떨어뜨림

 

Beware Tunnel Vision in AI Retrieval

 

 

How to Chunk Text Data — A Comparative Analysis