paint-brush
효율성을 희생하지 않고 변압기 블록 단순화 ~에 의해@autoencoder
463 판독값
463 판독값

효율성을 희생하지 않고 변압기 블록 단순화

너무 오래; 읽다

이 연구에서는 불필요한 구성요소를 제거하여 변환기 블록을 단순화하여 성능을 유지하면서 훈련 처리량을 15% 더 빠르게 하고 매개변수를 15% 더 줄였습니다.
featured image - 효율성을 희생하지 않고 변압기 블록 단순화
Auto Encoder: How to Ignore the Signal Noise HackerNoon profile picture
0-item

저자:

(1) Bobby He, ETH Zurich 컴퓨터 과학부(서신: [email protected].);

(2) Thomas Hofmann, ETH 취리히 컴퓨터 과학부.

링크 표

초록 및 소개

관련된 일

예선

변압기 블록 단순화

추가 실험 분석

토론, 재현성 설명, 승인 및 참고 자료

선형 레이어에서 축소된 잔여와 제한 업데이트 사이의 이중성

B 블록 레이아웃

C 추가 실험

D 구현 세부 사항

추상적인

Deep Transformer의 간단한 설계 방법은 동일한 빌딩 블록을 구성하는 것입니다. 그러나 표준 변압기 블록은 단순하고 서로 얽혀 있는 주의 및 스킵 연결 및 정규화 레이어가 정밀하게 배열된 MLP 하위 블록과는 거리가 멀습니다. 이러한 복잡성으로 인해 취약한 아키텍처가 발생하여 사소해 보이는 변경으로 인해 훈련 속도가 크게 감소하거나 모델을 훈련할 수 없게 될 수 있습니다. 본 연구에서는 표준 변압기 블록을 어느 정도 단순화할 수 있는지 묻습니다. 신호 전파 이론과 경험적 관찰을 결합하여 건너뛰기 연결, 투영 또는 값 매개변수, 순차 하위 블록 및 정규화 레이어를 포함하여 훈련 속도의 손실 없이 많은 블록 구성 요소를 제거할 수 있는 수정에 동기를 부여합니다. 자동 회귀 디코더 전용 모델과 BERT 인코더 전용 모델에 대한 실험에서 단순화된 변환기는 업데이트당 훈련 속도와 표준 변환기의 성능을 에뮬레이션하는 동시에 훈련 처리량을 15% 더 빠르게 하고 매개변수를 15% 더 적게 사용합니다.

1. 소개

변환기 아키텍처(Vaswani et al., 2017)는 최근 딥 러닝 분야에서 많은 성공을 거둔 원동력이라고 할 수 있습니다. 심층 변환기 아키텍처를 구성하는 간단한 방법은 여러 개의 동일한 변환기 "블록"을 차례로 쌓는 것입니다. 그러나 각 블록은 더 복잡하고 다양한 구성 요소로 구성되어 있으므로 좋은 성능을 얻으려면 특정 배열로 결합해야 합니다. 놀랍게도 기본 변압기 블록은 많은 연구자들의 관심을 끌었음에도 불구하고 처음부터 거의 변하지 않았습니다.


본 연구에서는 표준 변압기 블록을 단순화할 수 있는지 연구합니다. 보다 구체적으로, 건너뛰기 연결, 투영/값 행렬, 순차 하위 블록 및 정규화 레이어를 포함한 여러 블록 구성 요소의 필요성을 조사합니다. 고려되는 각 구성 요소에 대해 훈련 속도(업데이트별 단계 및 런타임 측면 모두)를 잃지 않고 제거할 수 있는지, 그리고 그렇게 하기 위해 변환기 블록에 어떤 아키텍처 수정이 필요한지 묻습니다.


우리는 훈련 속도를 저하시키지 않고 변압기 블록을 단순화하는 문제가 여러 가지 이유로 흥미로운 연구 문제라고 믿습니다. 첫째, 최신 신경망(NN) 아키텍처는 많은 구성 요소로 구성된 복잡한 설계를 갖고 있으며 NN 훈련 역학에서 이러한 다양한 구성 요소가 수행하는 역할이나 서로 상호 작용하는 방식이 명확하지 않습니다. 이는 딥 러닝의 메커니즘을 이해하기 위해 노력하는 이론가들이 실제로 사용되는 현대 아키텍처를 반드시 반영하지 않고 편의성 때문에 단순화된 아키텍처만 고려하는 경우가 많은 딥 러닝의 이론과 실제 사이의 기존 격차를 고려할 때 특히 적절합니다. 실제로 사용되는 NN 아키텍처를 단순화하면 이러한 격차를 해소하는 데 도움이 될 수 있습니다.


관련된 이론적 메모에서 우리의 작업은 신호 전파의 강점과 현재 한계를 모두 강조합니다. 이 이론은 심층 NN 아키텍처에서 실용적인 설계 선택에 동기를 부여하는 능력으로 인해 영향력이 입증된 이론입니다. 신호 전파(Poole et al., 2016; Schoenholz et al., 2017; Hayou et al., 2019)는 초기화 시 NN의 기하학적 정보의 진화를 연구하고 입력 전반에 걸쳐 계층별 표현의 내부 제품을 통해 캡처되며 많은 영감을 얻었습니다. 심층 NN 훈련에서 인상적인 결과를 얻었습니다(Xiao et al., 2018; Brock et al., 2021; Martens et al., 2021; Zaidi et al., 2023). 그러나 현재 이론은 초기화 시 모델만 고려하며 종종 초기 순방향 전달만 고려합니다. 따라서 현재의 신호 전파는 훈련 속도에 대한 건너뛰기 연결의 이점과 같은 심층 NN 훈련 역학의 많은 복잡한 점을 밝힐 수 없습니다. 신호 전파는 수정 동기를 부여하는 데 중요하지만 이론만으로는 단순화된 변압기 블록에 도달하지 못했을 것이며 경험적 통찰력에도 의존했을 것입니다.



마지막으로, 실용적인 측면에서 오늘날 대형 변환기 모델을 훈련하고 배포하는 데 드는 엄청난 비용을 고려할 때 변환기 아키텍처에 대한 훈련 및 추론 파이프라인의 효율성 향상은 상당한 잠재적 절감 효과를 의미합니다. 필수적이지 않은 구성요소를 제거하여 변압기 블록을 단순화하면 매개변수 수가 줄어들고 모델의 처리량이 늘어납니다. 특히 훈련 속도와 다운스트림 작업 성능 측면에서 표준 변환기와 일치하면서 건너뛰기 연결, 값 매개변수, 투영 매개변수 및 순차 하위 블록을 제거하는 것이 가능하다는 것을 보여줍니다. 결과적으로 매개변수 수를 최대 16%까지 줄이고 학습 및 추론 시간 모두에서 처리량 16% 증가를 관찰했습니다.


Transformer 블록을 단순화하기 위한 출발점은 He et al. (2023)은 신호 전파 원리를 존중하면 연결 건너뛰기 또는 정규화 레이어 없이 심층 변환기를 훈련할 수 있지만 매개변수 업데이트당 수렴 속도가 크게 감소함을 보여줍니다. 먼저 값과 투영 매개변수에 대한 업데이트를 규제하거나(섹션 4.1) 실제로 완전히 제거하면(섹션 4.2) 건너뛰기 주의 하위 블록의 성능이 향상되고 보고된 업데이트당 훈련 속도 손실이 복구된다는 것을 보여줍니다. He et al. (2023). 이는 어텐션 하위 블록에서 매개변수와 행렬 곱셈의 절반을 제거합니다. 초에서. 4.3에서는 단순화가 병렬 하위 블록(Wang & Komatsuzaki, 2021)과 수익성 있게 결합되어 업데이트당 훈련 속도를 저하시키지 않고 나머지 모든 건너뛰기 연결과 순차 하위 블록을 제거할 수 있는 동시에 처리량 증가를 더욱 높일 수 있음을 보여줍니다. 우리 구현에서는 16%가 됩니다. 마지막으로 Sec. 그림 5에서는 단순화된 블록이 더 큰 깊이로 확장될 때 개선되고 인코더 전용 및 디코더 전용 아키텍처 모두에서 잘 작동하며 훈련 길이를 확장할 때에도 결과가 유지된다는 것을 보여줍니다. 우리는 Sec.의 한계와 향후 작업에 대한 논의로 결론을 내립니다. 6.


이 문서는 CC 4.0 라이선스에 따라 arxiv에서 볼 수 있습니다.