> 기술 주변기기 > 일체 포함 > 최대 4백만 개의 토큰 컨텍스트와 22배 더 빠른 추론을 갖춘 StreamingLLM은 인기를 얻었으며 GitHub에서 별 2,500개를 받았습니다.

최대 4백만 개의 토큰 컨텍스트와 22배 더 빠른 추론을 갖춘 StreamingLLM은 인기를 얻었으며 GitHub에서 별 2,500개를 받았습니다.

WBOY
풀어 주다: 2023-10-05 20:09:12
앞으로
1014명이 탐색했습니다.

대화형 AI 봇과 상호작용해 본 적이 있다면 매우 실망스러운 순간을 기억하실 것입니다. 예를 들어, 전날 대화에서 언급한 중요한 사항은 AI에 의해 완전히 잊어버렸습니다...

대부분의 LLM은 시험을 위해 벼락치기 공부를 하는 학생들처럼 제한된 맥락만 기억할 수 있기 때문입니다. 조사를 통해 "진실이 드러날 것"이다.

AI 비서가 채팅에서 몇 주, 몇 달 전의 대화를 상황에 맞게 참조할 수 있거나 AI 비서에게 수천 페이지에 달하는 보고서를 요약해달라고 요청할 수 있다면 부러워하지 않을까요?

LLM이 더 잘 기억하고 더 많은 내용을 기억할 수 있도록 연구자들은 열심히 노력해 왔습니다. 최근 MIT, Meta AI, Carnegie Mellon University의 연구진은 언어 모델이 끝없는 텍스트를 원활하게 처리할 수 있도록 하는 "StreamingLLM"이라는 방법을 제안했습니다

最多400万token上下文、推理提速22倍,StreamingLLM火了,已获GitHub 2.5K星

  • 논문 주소: https://arxiv.org /pdf/2309.17453.pdf
  • 프로젝트 주소: https://github.com/mit-han-lab/streaming-llm

StreamingLLM은 모델 고유의 "주의 집중 싱크"를 식별하고 저장하는 방식으로 작동합니다. ” (주의가 가라앉음) 추론을 위해 초기 토큰을 고정합니다. 최신 토큰의 롤링 캐싱과 결합된 StreamingLLM은 정확성을 저하시키지 않고 추론 속도를 22배 향상시킵니다. 단 며칠 만에 이 프로젝트는 GitHub 플랫폼에서 2500개의 별을 얻었습니다.

最多400万token上下文、推理提速22倍,StreamingLLM火了,已获GitHub 2.5K星

특히 StreamingLLM은 이전 게임의 점수를 정확하게 기억할 수 있는 언어 모델입니다. 긴 계약이나 토론의 내용. AI 어시스턴트의 메모리를 업그레이드하는 것처럼 더 많은 작업 부하를 완벽하게 처리할 수 있습니다

最多400万token上下文、推理提速22倍,StreamingLLM火了,已获GitHub 2.5K星

다음으로 기술적인 세부 사항을 살펴보겠습니다.

방법 혁신

일반적으로 LLM은 사전 훈련 중 주의 집중 기간으로 제한됩니다. 이 창 크기를 확장하고 훈련 및 추론 효율성을 향상시키기 위한 많은 이전 작업이 있었지만 LLM의 허용 가능한 시퀀스 길이는 여전히 제한되어 있어 지속적인 배포에 적합하지 않습니다.

본 논문에서 연구자는 LLM 스트리밍 응용 프로그램의 개념을 처음 소개하고 "효율성과 성능을 희생하지 않고 무한히 긴 입력으로 LLM을 배포할 수 있는가?"라는 질문을 제기했습니다.

LLM을 무한히 긴 입력에 적용할 때 입력 스트림을 사용하면 두 가지 주요 과제에 직면하게 됩니다.

1 디코딩 단계에서 변환기 기반 LLM은 그림 1에 표시된 것처럼 모든 이전 토큰의 키 및 값 상태(KV)를 캐시합니다. a) 이로 인해 과도한 메모리 사용이 발생하고 디코딩 대기 시간이 증가할 수 있습니다.

2. 기존 모델에는 길이 추정 기능이 제한되어 있습니다. 즉, 시퀀스 길이가 사전 훈련 중에 설정된 주의 창을 초과하는 경우에도 마찬가지입니다. 장시간 사용하면 성능이 저하됩니다.

最多400万token上下文、推理提速22倍,StreamingLLM火了,已获GitHub 2.5K星

직관적인 방법은 Window Attention(그림 1b)이라고 합니다. 이 방법은 가장 최근 토큰의 KV 상태에 대해 고정 크기 슬라이딩 창만 유지할 수 있지만 이는 안정적인 메모리 사용 및 디코딩을 보장합니다. 캐시가 채워진 후 속도가 빨라지지만 시퀀스 길이가 캐시 크기를 초과하거나 첫 번째 토큰의 KV를 제거하면 모델이 충돌합니다. 또 다른 방법은 슬라이딩 윈도우를 다시 계산하는 것입니다(그림 1c 참조). 이 방법은 생성된 각 토큰에 대해 가장 최근 토큰의 KV 상태를 재구성합니다. 성능은 강력하지만 윈도우 내에서 2차 주의를 계산해야 합니다. 결과가 상당히 느려지므로 실제 스트리밍 애플리케이션에는 적합하지 않습니다.

창 주의 실패를 연구하는 과정에서 연구원들은 흥미로운 현상을 발견했습니다. 그림 2에 따르면 이러한 태그가 언어 모델링 작업과 관련되어 있는지 여부에 관계없이 많은 수의 주의 점수가 초기 태그에 할당됩니다.

最多400万token上下文、推理提速22倍,StreamingLLM火了,已获GitHub 2.5K星

연구원들은 이러한 토큰을 "주의력 풀"이라고 부릅니다. 의미론적 의미는 부족하지만 많은 관심 점수를 차지합니다. 연구원들은 이 현상을 Softmax(모든 컨텍스트 토큰의 어텐션 점수 합이 1이 되도록 요구함)에 기인한다고 생각합니다. 현재 쿼리가 이전의 많은 토큰과 강하게 일치하지 않더라도 모델은 여전히 ​​이러한 불필요한 어텐션을 전송해야 합니다. . 값은 합이 1이 되도록 어딘가에 할당됩니다. 초기 토큰이 "풀"이 되는 이유는 직관적입니다. 자동 회귀 언어 모델링의 특성으로 인해 초기 토큰은 거의 모든 후속 토큰에 표시되므로 어텐션 풀로 훈련하기가 더 쉽습니다.

위의 통찰력을 바탕으로 연구원은 StreamingLLM을 제안했습니다. 이는 제한된 주의 창으로 훈련된 주의 모델이 미세 조정 없이 무한히 긴 텍스트를 처리할 수 있도록 하는 간단하고 효율적인 프레임워크입니다.

StreamingLLM은 주의 풀의 주의 가치가 높다는 사실을 활용합니다. 실제로 이러한 주의 풀을 유지하면 다음을 수행할 수 있습니다. 주의 점수 분포를 정규 분포에 가깝게 만듭니다. 따라서 StreamingLLM은 관심 풀 토큰의 KV 값(초기 토큰 4개만 있으면 충분함)과 슬라이딩 윈도우의 KV 값만 유지하면 관심 계산을 고정하고 모델 성능을 안정화할 수 있습니다.

Llama-2-[7,13,70] B, MPT-[7,30] B, Falcon-[7,40] B 및 Pythia [2.9,6.9,12] B를 포함한 StreamingLLM 사용 모델 400만 개 이상의 토큰을 안정적으로 시뮬레이션할 수 있습니다.

슬라이딩 창을 다시 계산하는 것과 비교했을 때 StreamingLLM은 성능에 영향을 주지 않고 22.2배 더 빠릅니다.

Evaluation

그림 3과 같이 20K 범위에 대한 실험에서 레이블이 지정된 텍스트의 경우 StreamingLLM의 당혹감은 다음과 같습니다. 슬라이딩 윈도우를 다시 계산하는 Oracle 기준선과 유사합니다. 동시에, 입력 길이가 사전 훈련 기간을 초과하면 Dense attention이 실패하고, 입력 길이가 캐시 크기를 초과하면 window attention이 정체되어 초기 태그가 제거됩니다

最多400万token上下文、推理提速22倍,StreamingLLM火了,已获GitHub 2.5K星

그림 5 추가 StreamingLLM의 신뢰성이 입증되었으며 다양한 모델 계열 및 크기를 포괄하는 400만 개 이상의 토큰을 포함하여 특이한 크기의 텍스트를 처리할 수 있습니다. 이러한 모델에는 Llama-2-[7,13,70] B, Falcon-[7,40] B, Pythia-[2.8,6.9,12] B 및 MPT-[7,30] B

最多400万token上下文、推理提速22倍,StreamingLLM火了,已获GitHub 2.5K星

이 포함됩니다. 이후 연구원들은 "어텐션 풀"이라는 가설을 확인하고 언어 모델이 사전 훈련될 수 있으며 스트리밍 배포 중에 하나의 어텐션 풀 토큰만 필요하다는 것을 증명했습니다. 특히 모든 훈련 샘플 시작 시 지정된 주의 풀로 학습 가능한 추가 토큰을 추가할 것을 제안합니다. 연구원들은 1억 6천만 개의 매개변수로 언어 모델을 처음부터 사전 훈련함으로써 우리의 방법이 모델의 성능을 유지할 수 있음을 입증했습니다. 이는 동일한 수준의 성능을 달성하기 위해 여러 초기 토큰을 주의 풀로 다시 도입해야 하는 현재 언어 모델과 뚜렷한 대조를 이룹니다.

마지막으로 연구원들은 StreamingLLM의 디코딩 지연 시간과 메모리 사용량을 재계산 슬라이딩 윈도우와 비교하고 단일 NVIDIA A6000 GPU에서 Llama-2-7B 및 Llama-2-13B 모델을 사용하여 테스트했습니다. 그림 10의 결과에 따르면 캐시 크기가 증가함에 따라 StreamingLLM의 디코딩 속도는 선형적으로 증가하는 반면 디코딩 지연은 2차적으로 증가합니다. 실험에 따르면 StreamingLLM은 각 토큰의 속도가 최대 22.2배까지 증가하여 인상적인 속도 향상을 달성하는 것으로 입증되었습니다.

위 내용은 최대 4백만 개의 토큰 컨텍스트와 22배 더 빠른 추론을 갖춘 StreamingLLM은 인기를 얻었으며 GitHub에서 별 2,500개를 받았습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿