→ 데이터, 시간, 저장 공간, 에너지 등의 자원 소비↑
이러한 한계를 극복하고 리소스가 제한된 환경에서도 연구 성과에 접근 가능하도록 하기 위해, 더 적은 자원으로 유사한 결과를 얻는 효율적인 방법(efficient methods)에 대한 연구가 활발해지고 있습니다.
: 효율성은 시스템에 투입되는 자원과 그 출력 간의 관계로 특징지어지고 더 효율적인 시스템은 더 적은 자원으로 동일한 출력을 생성합니다.
순서: 데이터 효율성 (2) → 모델 설계 (3) → 사전 학습 (4) → 미세 조정 (5) → 추론 및 압축 (6) → 하드웨어 활용 (7) → 효율성 평가 (8) → 모델 선택 (9)
데이터 효율성: 더 적은 훈련 인스턴스를 사용||사용 가능한 인스턴스를 더 잘 활용함 → 향상
: 데이터 품질을 향상시켜 사전 학습 및 미세 조정 중 훈련 비용 감소
: 사전 학습 데이터에서 중복을 제거하면 훈련 효율성이 증가 → 컴퓨팅 비용↓
(예: OPT에서 MinhashLSH 사용)
: 미세 조정에서도 작은 데이터셋으로 전체 데이터셋과 비슷한 성능 얻을 수 있음. (예: SNLI 데이터의 만 사용).
: 데이터 수집 단계에서 가장 유용한 인스턴스만 주석을 달아 훈련 인스턴스의 수를 줄이는 것을 목표로 함.
: 모델 불확실성 (가장 불확실한 인스턴스에 레이블링) , 인스턴스 대표성 (다양성 극대화) , 이 둘 포함한 평가
: 모델 기반 샘플링이 다른 아키텍처 모델 성능에 미치는 영향 불분명 , '어려운' 인스턴스 선택 시 주석 비용 증가 , 선택 편향 및 이상치 선호 위험.
: 목표 성능 달성에 필요한 훈련 단계 수를 줄이는 데이터 순서를 찾는 것을 목표로 함.
: 현재 모델 상태에 기반하여 속도를 조절하는 자기 주도 학습(self-paced learning) (예: MT에서 모델 및 데이터 불확실성 사용)
: 난이도 진행 속도를 신중하게 선택해야 함 , 자기 주도 학습은 높은 훈련 비용 발생.
효율적인 모델 설계는 아키텍처 변경과 훈련 가속화를 위한 새로운 모듈 추가를 포함.
: 트랜스포머의 자기-어텐션 메커니즘은 시퀀스 길이에 대해 2차(Quadratic) 의존성을 가지므로, 이를 줄이는 방법을 연구함.
*2차 의존성 - 한 변수의 변화가 다른 변수에 제곱에 비례하여 영향을 미치는 관계
: 순환(recurrence)을 통한 세그먼트 연결 (Transformer-XL) , 압축된 장기 메모리 학습 (Compressive Transformers) , 고정된 어텐션 패턴 (Longformer, Big Bird) , 저랭크 근사(low-rank approximations)를 통한 선형 시간 어텐션 (Performer)
: S4 및 Mega와 같은 상태 공간 표현(state space representations) 기반 모델은 셀프-어텐션의 2차 병목 현상을 완화하고 긴 시퀀스에서 트랜스포머 기반 방법을 능가합니다.
자기-어텐션 - 자기 자신을 취한다
어텐션 메커니즘 - 딥 러닝 모델이 입력 데이터에서 가장 관련성이 높은 부분에 우선순위를 부여(또는 주의)하도록 지시하는 머신 러닝 기법
: 계산을 전체 모델 대신 작은 서브네트워크로 라우팅하는 전문가 혼합(Mixture-of-Experts, MoE) 개념을 활용합니다.
예: Switch Transformer.
장점: 여러 NLP 태스크에서 강력한 성능을 달성하면서 전체 자원 소비를 줄입니다 (예: GLaM은 GPT-3 에너지 소비의 ∼ 1/3 , DeepSpeed-MoE는 훈련 비용 5배 감소).
도전 과제: 훈련 불안정성, 아키텍처별 구현 필요.
: 파라미터 수를 줄여 계산 비용과 메모리 사용량을 감소함
: 모델 레이어 간에 가중치를 공유함 (ALBERT, Universal Transformers)
: Perceiver는 입력을 작은 잠재 벡터로 매핑하여 자기-어텐션의 계산 비용을 최소화함
: 파라미터 모델을 검색 메커니즘과 결합하여 텍스트를 생성하는 준파라미터 모델
: 모델 크기를 데이터베이스 항목 수와 교환하며 , 추론 시 데이터베이스에서 토큰/구문/문장을 검색하여 모델이 활용함
예: RETRO는 25배 큰 모델과 비슷한 성능을 달성하며 , 도메인별 미세 조정의 필요성을 줄임
: 검색 시간이 데이터 저장소 규모에 따라 증가할 수 있음.
사전 학습 절차를 개선하면 하이퍼파라미터 튜닝 비용을 크게 줄이고 미세 조정의 데이터 효율성을 높일 수 있습니다.
: Chinchilla의 연구에 따르면, 사용 가능한 데이터의 양을 고려하여 모델 크기를 줄이는 것이 성능 향상 및 계산 비용 감소
: 트랜스포머 대신 상태 공간 표현 및 MoE가 사전 학습의 일부 과제를 극복할 잠재력 있음.
미세 조정은 사전 학습된 모델을 새로운 다운스트림 작업에 맞게 조정하는 과정
: 전체 모델 미세 조정보다 훨씬 적은 수의 파라미터만 업데이트하거나 추가
: 사전 학습된 모델에 새로운 학습 가능한 밀집 레이어를 삽입하고, 기존 파라미터는 고정.
단점 - 파라미터 증가로 인해 추론 시간이 늘어날 수 있음.
: 학습된 벡터를 연결(Prefix-tuning, Prompt-tuning)하거나 곱하거나 더하여 활성화를 직접 수정
: 새로운 파라미터를 추가하지 않고 희소 업데이트 (Diff Pruning) 또는 저랭크 업데이트 (LoRA)를 수행
: 단일 모델을 여러 다운스트림 작업 데이터로 미세 조정하여 다양한 작업을 수행할 수 있도록 함.
: 모델이 미세 조정 없이 새로운 작업에서 작동하는 것을 의미하며, 모델 크기에 따라 경쟁력이 생김.
: 작업을 언어 모델에 대한 텍스트 지침으로 구성하는 것을 말하며, 미세 조정의 필요성을 없앨 수 있음.
: PEFT 방법을 결합하거나, 작업별 어댑터를 사용하여 프롬프트 생성을 피하는 등의 접근 방식이 효율적인 새로운 지식 도입을 위한 유망한 방향.
추론 효율성은 시간 효율성(지연 시간)을 위해 프로세스를 가속화하거나 메모리 요구 사항을 줄이기 위해 모델을 압축함으로써 향상될 수 있습니다.
: 계산을 줄이고 메모리 용량 요구 사항을 낮추기 위해 신경망에서 불필요한 가중치를 제거합니다.
: 대규모(교사) 모델의 지도 신호를 사용하여 더 작은(학생) 모델을 훈련시키는 과정입니다.
예: TinyBERT, MobileBERT.
: 고정밀 데이터 유형을 저정밀 데이터 유형으로 매핑하여 메모리 소비와 훈련/추론 비용을 줄입니다.
→ 8bit, 3진법,2진 표현까지 연구
: 구성 요소별로 다른 정밀도 민감도를 고려하여 적용합니다.
: 입력에 필요한 부분에만 선택적으로 계산을 수행하여 효율성을 개선합니다. (예: early-exit, MoE)
: 추론 최적화는 사용 사례에 따라 요구 사항이 다르므로, 단일 최적화 솔루션은 없습니다.
주로 GPU 메모리 소비를 줄이는 데 중점을 둡니다.
: ASIC 또는 FPGA를 사용하여 양자화 및 가지치기와 같은 효율적인 작업을 위한 전용 유닛을 구축합니다.
: 하드웨어, 소프트웨어, 알고리즘을 함께 최적화하여 효율성 향상을 실현합니다. (예: 컴파일러 개선, 하드웨어 인식 MoE)
: 엄격한 컴퓨팅 및 메모리 제약이 있는 엣지 디바이스를 위한 솔루션입니다. (예: SqueezeBERT, GhostBERT, ProFormer)
효율성을 평가하려면 최소화하려는 계산 측면을 설정해야 합니다.
: 작업 성능과 자원 소비 간의 절충점을 특성화하는 데 사용되며, 주어진 문제와 측정 공간에서 파레토 최적 곡선에 기여하는 모델은 가치가 있습니다.
: 하드웨어가 수행하는 작업 측면에서 잘 정의된 것처럼 보이지만, 하드웨어별 변동성, 비-부동 소수점 작업 미고려, 낮은 하드웨어 활용률 등으로 불확실성이 있습니다.
: 전기 계량기 또는 MLCO2와 같은 소프트웨어 도구를 사용하여 측정할 수 있으며, 냉각 및 네트워킹과 같은 외부 에너지 비용은 포함하지 않습니다.
: 전력 소비와 한계 에너지 생성의 탄소 집약도를 사용하여 계산됩니다.
: 사전 학습 및 미세 조정 단계의 효율성을 분리하여 특성화하는 것이 중요합니다.
: MoE는 파라미터 수를 늘리지만 FLOPs는 줄이는 등, 비용 지표들이 서로 상충될 수 있습니다.
: 효율성 개선은 공정성(fairness)과 견고성(robustness)과 같은 다른 요구 사항과 상충될 수 있습니다. (예: 압축 기술이 기존 편향을 증폭시킬 수 있음)
성능이 좋은 모델 변형을 효율적으로 선택하는 연구를 다룹니다.
: 최적의 하이퍼파라미터 설정을 찾기 위한 시도 횟수를 최소화하기 위해 다른 데이터셋이나 작업의 지식을 전이합니다.
: 대부분의 발전은 특정 계산 예산 및 하드웨어 패러다임을 목표로 하는 모델 설계에서 이루어졌습니다.
: 엔드-투-엔드 작업 성능과 자원 소비 간의 절충점을 더 잘 이해하고 모델링하는 것, 그리고 하드웨어 선택과 소프트웨어 구현 간의 의존성을 해결하는 것이 포함됩니다.
: NLP의 효율성은 여러 정의를 가지며 단일 메트릭으로 측정될 수 없습니다.
: 사용 가능한 데이터의 더 나은 활용, 대규모 모델의 사전 학습 및 미세 조정 비용 절감, 알고리즘-소프트웨어-하드웨어 간 상호 작용의 중요성 우선순위 지정 등이 유망한 연구 방향으로 제시됩니다.