AI 모델 성능에 메모리 I/O 효율성이 중요한 이유

~에 의해 Batching5m2025/02/25
Read on Terminal Reader

너무 오래; 읽다

분기된 주의는 지연 시간과 메모리 I/O 비용을 줄여 AI 효율성을 개선하고 코드 생성, 챗봇, 긴 컨텍스트 처리와 같은 애플리케이션을 향상시킵니다.
featured image - AI 모델 성능에 메모리 I/O 효율성이 중요한 이유
Batching HackerNoon profile picture
0-item

저자:

(1) AWS AI 연구소의 벤 아티와라트쿤;

(2) Sujan Kumar Gonugondla, AWS AI 연구소;

(3) Sanjay Krishna Gouda, AWS AI 연구소

(4) Haifeng Qian, AWS AI 연구소;

(5) Sanjay Krishna Gouda, AWS AI 연구소;

(6) AWS AI 연구소의 딩한티안;

(7) Qing Sun, AWS AI 연구소;

(8) AWS AI 연구소의 Jun Wang;

(9) Jiacheng Guo, AWS AI 연구소;

(10 Liangfu Chen, AWS AI 연구소;

(11) Parminder Bhatia, GE HealthCare(AWS에서 수행한 작업)

(12) Ramesh Nallapati, Amazon AGI(AWS에서 수행한 작업);

(13) 수딥타 센굽타, AWS AI 연구소;

(14) Bing Xiang, Goldman Sachs(AWS에서 수행한 작업).

링크 표

초록 및 1 서론

2. 관련 작업

3. 배경

3.1. 표기법 및 3.2. 언어 모델 추론

3.3. 다중 쿼리, 다중 헤드 및 일반화된 다중 쿼리 주의

4. 맥락 인식 분기된 주의 및 4.1. 동기

4.2. 공식화 및 4.3. 메모리 IO 복잡도

5. 실험

5.1. 멀티 헤드, 멀티 쿼리, 멀티 그룹 어텐션의 기능 비교

5.2. 기능 동등 모델의 대기 시간

5.3. 응용 프로그램

6. 결론 및 참고문헌


A. 자주 묻는 질문

나. 관련 작업

C. 설정

D. 다중 그룹 주의 가족

E. 문맥 인식 분기적 주의

F. 응용 프로그램: 추가 결과

G. 추측 디코딩 및 고속 디코딩 기술과의 호환성

나. 관련 작업

B.1. 단일 컨텍스트 배치 샘플링의 응용 프로그램

우리가 달성한 관찰된 지연 감소는 많은 애플리케이션에 큰 영향을 미칠 수 있습니다. 이러한 애플리케이션 중 일부는 다음과 같습니다.


• 코드 생성: 소프트웨어 개발에서 AI 지원 코드 생성은 대기 시간이 단축되어 큰 이점을 얻을 수 있으며, 특히 주어진 컨텍스트에 대한 여러 코드 스니펫이나 제안을 생성할 때 그렇습니다. 이를 통해 AI 기반 통합 개발 환경(IDE)이나 코드 완성 도구를 사용하는 개발자에게 보다 반응성이 뛰어나고 효율적인 사용자 경험을 제공할 수 있습니다(Nijkamp 등, 2023; 2022; Chen 등, 2021; Le 등, 2022; Fried 등, 2022; Li 등, 2022; Allal 등, 2023; Li 등, 2023; Ahmad 등, 2021).


• 기계 번역: 하나의 입력에 대해 여러 번역이 필요한 상황(예: 다양한 정도의 공식성을 갖춘 번역을 생성하거나 다양한 방언에 대한 번역을 생성하는 경우)에서 맥락 인식형 분기형 주의는 더 효율적인 계산을 제공할 수 있으며, 그 결과 더 빠르고 확장 가능한 기계 번역 서비스가 제공됩니다(Costajussà et al., 2022; Farhad et al., 2021; Tran et al., 2021; Yee et al., 2019).


• 챗봇과 대화형 AI: 대화형 에이전트는 종종 사용자 입력에 대한 다양한 해석을 처리하거나 여러 제안을 제공하기 위해 여러 응답을 생성해야 합니다. 제안된 방법이 제공하는 단축된 지연 시간은 챗봇의 반응성을 크게 개선하여 사용자와 보다 자연스럽고 유동적인 대화를 할 수 있습니다(Google, 2023).


• 창의적 콘텐츠 생성: 시, 스토리 또는 광고 생성과 같은 응용 프로그램에서는 주어진 프롬프트에 대해 여러 변형을 생성하는 기능이 매우 중요합니다. 제안된 방법은 다양한 콘텐츠를 보다 효율적으로 생성할 수 있으므로 실시간 또는 대규모 응용 프로그램에 더욱 적합합니다(Lin 및 Riedl, 2021; Mirowski et al., 2023; Team, 2023; Yuan et al., 2022).


• 데이터 증강: 머신 러닝을 위한 데이터 증강의 맥락에서 주어진 입력에 대한 여러 대체 사례를 생성하면 모델 견고성과 일반화를 개선하는 데 도움이 될 수 있습니다. 컨텍스트 인식 분기된 주의가 제공하는 지연 시간이 단축되어 증강된 데이터를 생성하는 프로세스가 더 빨라져 훈련 중에 계산 리소스를 보다 효율적으로 사용할 수 있습니다.


• 일반적인 대규모 평가: 앞서 언급한 사용 사례 외에도 LLM 및 기타 개방형 생성 모델이 독성(Dathathri 등, 2019; Gehman 등, 2020; Nadeem 등, 2020), 세대에서 취약한 코드 감지(Pearce 등, 2022), 성능 개선 코드 편집 생성(Madaan 등, 2023), 프로그래밍 언어 변환(Roziere 등, 2020) 및 기타 여러 용도로 탐색되는 틈새 사용 사례가 많이 있습니다. 이러한 모든 시나리오에서 각 프롬프트당 여러 세대가 모델에 대한 더 깊은 이해를 위해 수집되며, 이러한 경우 분기된 주의는 생성 프로세스를 크게 가속화할 수 있습니다.


결론적으로, 제안된 컨텍스트 인식 분기적 주의 방법은 메모리 I/O 비용을 크게 줄이고 다양한 애플리케이션에서 대기 시간을 개선하여 효율성과 확장성을 높일 수 있습니다. 이 방법은 새로운 사용 사례를 가능하게 하고 수많은 AI 기반 시스템에서 사용자 경험을 향상시켜 실제 배포에 더 실용적으로 만들 수 있는 잠재력이 있습니다.

B.2. 긴 컨텍스트 지원에는 IO 효율적인 주의가 필요합니다.

언어 모델이 범용적이고 매우 유능해짐에 따라 더 긴 컨텍스트 시퀀스를 처리할 수 있는 언어 모델에 대한 수요가 크게 증가했습니다. 최근에는 훨씬 더 긴 컨텍스트 시퀀스를 처리할 수 있는 모델에 대한 초점이 계속되고 있습니다(Bulatov et al., 2023; OpenAI, 2023; Team, 2023). 현재 GPT-4(OpenAI, 2023)는 32k 토큰의 컨텍스트 길이를 지원하고 MPT-7B(Team, 2023)는 이를 64k로 확장하는 반면 Anthropic의 Claude[3]는 최대 100k 입력 길이를 지원합니다. 가장 최근에 Bulatov et al은 변환기에 대한 1M 토큰 입력 컨텍스트 길이를 제안했습니다. 이러한 모델은 컨텍스트 이해 및 생성 기능의 경계를 넓혀 보다 포괄적인 담화 이해와 컨텍스트에 따라 정보를 제공하는 응답을 가능하게 합니다.


이러한 추세는 Retrieval-Augmented Generation(RAG)과 같은 애플리케이션에서 포괄적인 담화 이해에 대한 필요성과 많은 복잡한 프롬프팅 방법에 의해 주도됩니다. RAG(Guu et al., 2020; Izacard et al., 2022; Menick et al., 2022; Zhen et al., 2022)와 같은 애플리케이션은 외부 코퍼스에서 광범위한 구절이나 문서를 검색하여 응답을 생성하기 위한 풍부하고 근거 있는 맥락을 제공합니다. 또한 Toolformer(Schick et al., 2023) 및 WebGPT(Nakano et al., 2021)와 같은 모델은 API 및 검색 엔진과 같은 외부 도구를 활용하여 맥락을 확장하고 생성을 향상시킵니다.


긴 컨텍스트는 바닐라 자기 주의의 경우 메모리와 시간 복잡도가 시퀀스 길이에 대해 2차이기 때문에 변압기 패밀리 모델에 비해 비례적으로 비쌉니다. 긴 컨텍스트 시퀀스를 효과적으로 처리하려면 메모리 I/O를 최적화하고 계산 오버헤드를 줄이는 것이 중요합니다. 현재 이 과제를 해결하기 위한 주요 접근 방식은 주의 계산을 덜 비싸게 만드는 것입니다. Beltagy 등(2020)은 다양한 주의 패턴을 사용하여 자기 주의의 희소화를 제안했습니다. Wang 등(2020)은 자기 주의의 저랭크 근사를 탐구합니다. 계산 경계 개선 외에도 메모리 효율적인 주의 메커니즘과 메모리 I/O를 줄이는 기술의 발전은 언어 모델에서 긴 컨텍스트 시퀀스를 처리하는 것을 용이하게 하여 이 분야를 계속 발전시킬 것입니다. FlashAttention(Dao 등, 2022)은 근사 없이 자기 주의의 속도를 높이고 메모리 공간을 줄이기 위해 제안되었습니다. 행렬 곱셈 및 소프트맥스 연산을 위한 융합 커널을 활용하여 학습 중에 메모리 IO를 크게 줄입니다.


이 논문은 CC BY 4.0 DEED 라이선스에 따라 arxiv에서 볼 수 있습니다 .


[3] https://www.anthropic.com/index/100k-context-windows

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks