>  기사  >  기술 주변기기  >  Princeton Chen Danqi: "큰 모델"을 더 작게 만드는 방법

Princeton Chen Danqi: "큰 모델"을 더 작게 만드는 방법

WBOY
WBOY앞으로
2023-04-08 16:01:031166검색

"대형 모델을 더 작게 만들기"이것은 많은 언어 모델 연구자들의 학문적 추구입니다. 대형 모델의 비싼 환경과 훈련 비용을 고려하여 Chen Danqi는 Qingyuan Academic Annual에서 "Making"이라는 제목으로 연설했습니다. 지능형 소스 회의 회의 "대형 모델 소형"에 대한 초청 강연. 보고서는 메모리 향상을 기반으로 하는 TRIME 알고리즘과 거칠고 세밀한 조인트 프루닝 및 레이어별 증류를 기반으로 하는 CofiPruning 알고리즘에 중점을 두었습니다. 전자는 모델 구조를 변경하지 않고도 언어 모델 복잡성과 검색 속도의 장점을 고려할 수 있는 반면, 후자는 다운스트림 작업의 정확성을 보장하면서 더 빠른 처리 속도를 달성하고 더 작은 모델 구조를 가질 수 있습니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

Chen Danqi 프린스턴 대학교 컴퓨터 공학과 조교수

Chen Danqi는 2012년 칭화 대학교 야오 클래스를 졸업하고 2018년 스탠포드 대학교에서 컴퓨터 공학 박사 학위를 받았습니다. 그는 스탠포드 대학교 과학 교수인 크리스토퍼 매닝(Christopher Manning)에서 언어학과 컴퓨터 공학을 전공했습니다.

1 배경 소개

최근 자연어 처리 분야는 대규모 언어 모델이 급속도로 장악하고 있습니다. GPT 3의 등장 이후 언어 모델의 크기는 기하급수적으로 증가했습니다. 거대 기술 기업은 계속해서 더 큰 언어 모델을 출시하고 있습니다. 최근 Meta AI는 OPT 언어 모델(1,750억 개의 매개변수를 포함하는 대규모 언어 모델)을 출시하고 소스 코드와 모델 매개변수를 대중에게 공개했습니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

연구원들이 대형 언어 모델을 그토록 동경하는 이유는 뛰어난 학습 능력과 성능 때문이지만, 대형 언어 모델의 블랙박스 특성에 대해서는 아직도 사람들이 거의 알지 못합니다. 언어 모델에 질문을 입력하고 언어 모델을 통해 단계별로 추론하면 계산 문제에 대한 답을 도출하는 등 매우 복잡한 추론 문제를 해결할 수 있습니다. 그러나 동시에 대규모 언어 모델에는 위험도 있습니다. 특히 환경적, 경제적 비용이 있습니다. 예를 들어 GPT-3과 같은 대규모 언어 모델의 에너지 소비와 탄소 배출은 엄청납니다. Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법대규모 언어 모델의 훈련 비용이 많이 들고 매개변수 수가 엄청나게 많은 문제에 직면한 Chen Dan 팀은 학문적 연구를 통해 사전 훈련 모델의 계산 양을 줄이고 하위 수준 응용 프로그램에 대한 언어 모델을 보다 효율적으로 만들기를 희망합니다. 이를 위해 팀의 두 가지 작업이 강조됩니다. 하나는 TRIME이라는 언어 모델을 위한 새로운 훈련 방법이고, 다른 하나는 CofiPruning이라는 다운스트림 작업에 적합한 효과적인 모델 가지치기 방법입니다.

2 문서에서 이를 Transformer 인코더에 입력하여 숨겨진 벡터를 얻은 다음 이러한 숨겨진 벡터를 소프트맥스 레이어로 전송합니다. 이 레이어의 출력은 V 단어 임베딩 벡터로 구성된 행렬입니다. 여기서 V는 크기를 나타냅니다. 마지막으로, 출력 벡터는 원본 텍스트를 예측하고 이를 주어진 문서의 표준 답변과 비교하여 그라디언트를 계산하고 그라디언트의 역전파를 구현합니다. 그러나 이러한 훈련 패러다임은 다음과 같은 문제를 가져올 것입니다. (1) 거대한 Transformer 인코더는 높은 훈련 비용을 가져옵니다. (2) 언어 모델의 입력 길이는 고정되어 있으며 Transformer의 계산 양은 다음과 같이 증가합니다. (3) 오늘날의 훈련 패러다임은 텍스트를 고정 길이 벡터 공간에 투영하여 다음 단어를 예측하는 것입니다. 언어 모델의 병목 현상.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

이를 위해 Chen Danqi 팀은 학습에 주로 배치 메모리를 사용하는 TRIME이라는 새로운 학습 패러다임을 제안했으며, 이를 기반으로 동일한 학습 목적 함수를 공유하는 세 가지 언어 모델인 TrimeLM, TrimeLMlong 및 TrimeLMext. TrimeLM은 표준 언어 모델의 대안으로 볼 수 있습니다. TrimeLMlong은 Transformer-XL과 유사하게 장거리 텍스트용으로 설계되었습니다. TrimeLMext는 kNN-LM과 유사하게 대용량 데이터 저장소를 결합합니다. 위에서 언급한 훈련 패러다임에서 TRIME은 먼저 입력 텍스트를 Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법, 로 정의한 다음 입력을 Transformer 인코더 Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법로 전송하여 숨겨진 벡터 Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법을 얻고 소프트맥스 레이어 Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법를 통과한 후 필요한 예측이 얻어졌습니다. 다음 단어 Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법, 전체 학습 패러다임에서 학습 가능한 매개변수는 Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법E입니다. Chen Danqi 팀의 작업은 다음 두 가지 작업에서 영감을 받았습니다. (1) Grave et al.이 2017년에 제안한 연속 캐시 알고리즘. 이 알고리즘은 훈련 프로세스 중에 공통 언어 모델을 훈련합니다Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법. 추론 프로세스 중에 입력 텍스트가 주어지면 Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법 먼저 주어진 텍스트에 이전에 등장한 모든 단어를 열거하고 모든 단어는 마크 위치를 예측해야 하는 다음 단어를 찾은 다음 잠재 변수와 온도 매개변수 간의 유사성을 사용하여 캐시 분포를 계산합니다. 테스트 단계에서 언어 모델 분포와 캐시 분포의 선형 보간법을 사용하면 더 나은 실험 결과를 얻을 수 있습니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

(2) Khandelwal et al.이 2020년에 제안한 k-최근접 이웃 언어 모델(kNN-LM). 이 방법은 연속 캐싱 알고리즘과 유사합니다. kNN-LM은 모두 학습 예제를 기반으로 데이터 저장 영역을 구성합니다. 테스트 단계에서는 데이터 저장 영역의 데이터에 대해 k개의 최근접 이웃 검색을 수행하여 최상의 top-k 데이터를 선택합니다. Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

Princeton Chen Danqi:

위 두 작품은 실제로 테스트 단계에서 캐시 분포와 k-최근접 이웃 분포만 사용했으며 추론 단계에서는 기존 언어 모델을 그대로 사용했습니다. 캐시와 데이터 바인딩을 최적화하지 않습니다.

또한 2019년에 제안된 주의 재발 메커니즘과 결합된 Transformer-XL 및 2020년에 제안된 메모리 기반 모델과 같이 주목할 만한 매우 긴 텍스트에 대한 일부 언어 모델 작업이 있습니다. 메모리 압축의 압축 변환기 , 등.

이전에 소개된 여러 연구를 바탕으로 Chen Danqi 팀은 배치 메모리를 기반으로 하는 언어 모델 훈련 방법을 구축했습니다. 주요 아이디어는 동일한 훈련 배치에 대한 작업 메모리를 구축하는 것입니다. 주어진 텍스트에서 다음 단어를 예측하는 작업에서 TRIME의 아이디어는 대조 학습과 매우 유사합니다. 이는 다음 단어의 확률을 예측하기 위해 소프트맥스 단어 임베딩 행렬을 사용하는 작업을 고려할 뿐만 아니라 또한 이 모듈에서는 훈련 메모리에 나타나고 예측해야 하는 주어진 텍스트와 동일한 단어를 갖는 다른 모든 텍스트로 간주됩니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

따라서 전체 TRIME의 학습 목적 함수는 두 부분으로 구성됩니다.

(1) 출력 단어 임베딩 행렬을 기반으로 한 예측 작업.

(2) 훈련 메모리(training memory)에서 예측할 동일한 단어 텍스트의 유사성을 공유합니다. 여기서 측정해야 하는 벡터 표현은 최종 피드포워드 레이어를 통한 입력과 스케일링된 내적입니다. 벡터 유사성을 측정하는 데 사용됩니다.

알고리즘은 최종 훈련된 네트워크가 가능한 한 정확하게 최종 예측 단어를 달성할 수 있기를 바라며, 동시에 동일한 훈련 배치에서 예측할 동일한 단어를 공유하는 텍스트는 최대한 유사하므로 모든 텍스트 메모리 표현은 훈련 과정 중에 전달됩니다. 역전파를 사용하면 엔드투엔드 신경망 학습이 가능해집니다. 알고리즘의 구현 아이디어는 2020년에 제안된 밀집 검색(dense retrieval)에서 크게 영감을 받았습니다. 밀집 검색은 학습 단계에서 쿼리 및 긍정적으로 관련된 문서를 정렬하고 동일한 배치의 문서를 음성 샘플로 사용하며, 대규모 데이터에서 데이터를 추출합니다. 추론 단계. 저장 영역에서 관련 문서를 검색합니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

TRIME의 추론 단계는 학습 과정과 거의 동일합니다. 유일한 차이점은 로컬 메모리, 장기 메모리 및 외부 메모리를 포함하여 다양한 테스트 메모리를 사용할 수 있다는 것입니다. 로컬 메모리는 현재 세그먼트에 나타나고 어텐션 메커니즘에 의해 벡터화된 모든 단어를 의미합니다. 장기 메모리는 입력 길이 제한으로 인해 직접 얻을 수 없지만 텍스트와 동일한 문서에서 유래한 텍스트 표현을 나타냅니다. 처리된 외부 메모리란 모든 훈련 샘플이나 추가 말뭉치를 저장하는 대용량 데이터 저장 영역을 의미합니다. Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

Princeton Chen Danqi:

훈련 단계와 테스트 단계 사이의 불일치를 최소화하려면 훈련 메모리를 더 잘 구축하기 위해 특정 데이터 처리 전략을 채택해야 합니다. 로컬 메모리는 동일한 데이터 조각에 있는 이전 토큰을 참조하며 사용하기에 매우 저렴합니다. 무작위 샘플링 일괄 처리를 사용하면 훈련 단계와 테스트 단계에서 동시에 로컬 메모리를 직접 활용할 수 있으며, 이로 인해 로컬 메모리를 기반으로 하는 TrimeLM 모델의 기본 버전이 생성됩니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

장기 기억은 동일한 문서의 이전 조각에 있는 태그를 참조하며 동일한 문서의 이전 조각에 의존해야 합니다. 이를 위해 동일한 문서의 연속 세그먼트(연속 세그먼트)가 동일한 훈련 배치에 배치되어 집단 장기 기억의 TrimeLMlong 모델이 생성됩니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

검색을 위해서는 외부 메모리를 대용량 데이터 저장소와 결합해야 합니다. 이를 위해 BM25를 사용하여 훈련 데이터의 유사한 세그먼트를 동일한 훈련 배치에 넣을 수 있으며, 그 결과 외부 메모리와 결합된 TrimeLMext 모델이 생성됩니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

요약하자면, 전통적인 언어 모델은 훈련 단계에서 메모리를 사용하지 않고 연속 캐싱 방법은 테스트 단계에서 로컬 메모리나 장기 메모리만 사용합니다. 테스트 단계의 메모리 TRIME 알고리즘의 세 가지 언어 모델의 경우 메모리 향상은 교육 및 테스트 단계 모두에서 로컬 메모리를 사용합니다. 동일한 배치 훈련은 테스트 단계에서 로컬 메모리와 장기 메모리를 결합합니다. TrimeLMext는 훈련 단계에서 훈련을 위해 유사한 문서를 동일한 배치에 넣고 테스트 단계에서 로컬 메모리, 장기 메모리 및 외부 메모리를 결합합니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

실험 단계에서 WikiText-103 데이터 세트의 모델 매개변수 247M과 슬라이스 길이 3072를 테스트할 때 TRIME 알고리즘을 기반으로 하는 세 가지 버전의 언어 모델이 기존 버전보다 더 나은 혼란을 얻을 수 있습니다. Transformer Perplexity 효과 중 실제 거리를 기반으로 한 TrimeLMext 모델이 가장 좋은 실험 결과를 얻을 수 있습니다. 동시에 TrimeLM 및 TrimeLMlong은 기존 Transformer에 가까운 검색 속도를 유지하면서 복잡성과 검색 속도라는 이점을 누릴 수 있습니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

WikiText-103 데이터 세트에서 모델 매개변수 150M과 슬라이스 길이 150을 테스트할 때 TrimeLMlong이 훈련 단계에서 동일한 문서의 연속 세그먼트를 동일한 훈련 배치에 넣기 때문에, 테스트 단계에서 결합됩니다. 로컬 메모리와 장기 메모리를 사용하므로 슬라이스 길이는 150에 불과하지만 테스트 단계에서 사용할 수 있는 실제 데이터는 15,000에 도달할 수 있으며 실험 결과는 다른 기준 모델보다 훨씬 좋습니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

문자 수준의 언어 모델 구축을 위해 TRIME 알고리즘을 기반으로 한 언어 모델은 enwik8 데이터 세트에서도 가장 좋은 실험 결과를 얻었습니다. 동시에 기계 번역의 적용 작업에서도 TrimeMT_ext도 마찬가지였습니다. 모델의 기본 실험 결과보다 더 나은 결과를 얻었습니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

요약하자면 TRIME 알고리즘을 기반으로 하는 언어 모델은 세 가지 메모리 구성 방법을 채택하여 동일한 배치에서 관련 데이터를 최대한 활용하여 많은 계산을 도입하지 않고 메모리를 도입합니다. . 비용이 들지 않으며 모델의 전체 구조를 변경하지 않고도 다른 기본 모델보다 더 나은 실험 결과를 얻을 수 있습니다.

Chen Danqi는 검색 기반 언어 모델도 강조했습니다. 실제로 TrimeLMext는 k-최근접 이웃 언어 모델의 더 나은 버전으로 간주될 수 있지만 추론 과정에서 이 두 알고리즘은 다른 기본 모델보다 빠릅니다. .거의 10배에서 60배 정도 느려지는데, 이는 분명히 받아들일 수 없는 일입니다. Chen Danqi는 검색 기반 언어 모델의 가능한 향후 개발 방향 중 하나인 가장 가까운 이웃 검색에 대한 계산 비용을 줄이기 위해 더 작은 검색 인코더와 더 큰 데이터 저장 영역을 사용할 수 있는지 여부를 지적했습니다.

기존 언어 모델과 비교하여 검색 기반 언어 모델은 상당한 이점을 가지고 있습니다. 예를 들어 검색 기반 언어 모델은 더 잘 업데이트되고 유지 관리될 수 있지만 기존 언어 모델은 이전 지식을 사용하여 학습할 수 없습니다. 지식과 동시에 검색에 기반한 언어 모델은 개인 정보 보호에 민감한 분야에서도 더 잘 활용될 수 있습니다. 검색 기반 언어 모델을 더 잘 활용하는 방법에 대해 Chen Danqi 교사는 미세 조정, 프롬프트 또는 상황 내 학습이 솔루션을 지원하는 데 사용될 수 있다고 믿습니다. Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

Princeton Chen Danqi:

논문 주소: https://arxiv.org/abs/2204.00408

모델 압축 기술은 대규모 언어 모델에 널리 사용되므로 소규모 모델을 다운스트림 애플리케이션에 더 빠르게 적용할 수 있습니다. 전통적인 주류 모델 압축 방법은 증류 및 가지치기입니다. 증류를 위해서는 고정된 학생 모델을 미리 정의해야 하는 경우가 많습니다. 이 학생 모델은 일반적으로 무작위로 초기화된 다음 지식 증류를 달성하기 위해 교사 모델에서 학생 모델로 지식이 전달됩니다.

예를 들어 원래 버전의 BERT부터 일반 증류 후, 즉 라벨이 지정되지 않은 대량의 말뭉치를 학습한 후 TinyBERT4의 기본 버전을 얻을 수 있습니다. TinyBERT4의 기본 버전은 다음과 같습니다. 또한 작업 중심 증류 방법을 사용하여 미세 조정된 TinyBERT4를 얻으면 최종 모델은 약간의 정확도를 희생하면서 원래 BERT 모델보다 더 작고 빠를 수 있습니다. 그러나 증류를 기반으로 하는 이 방법에는 특정 결함도 있습니다. 예를 들어, 다양한 다운스트림 작업의 경우 모델 아키텍처가 동시에 수정되는 경우가 많으므로 계산 비용이 너무 많이 드는 레이블이 없는 데이터를 사용하여 처음부터 학습해야 합니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

프루닝을 위해서는 교사 모델에서 시작하여 원본 모델에서 관련 없는 부분을 지속적으로 제거해야 하는 경우가 많습니다. 2019년에 제안된 비구조적 가지치기(Unstructured pruning)는 더 작은 모델을 얻을 수 있지만 실행 속도의 향상이 작은 반면, 구조적 가지치기(Structured pruning)는 2021년과 같이 피드포워드 레이어와 같은 매개변수 그룹을 제거하여 실제 응용에서 속도 향상을 달성합니다. 제안된 블록 가지치기는 2~3배의 속도 향상을 달성할 수 있습니다. 속도 향상.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

전통적인 증류 및 가지치기 방법의 한계를 겨냥하여 Chen Danqi 팀은 CofiPruning이라는 알고리즘을 제안했습니다. 증류 목적 함수는 가지치기되지 않은 모델의 지식을 가지치기된 모델로 전달하므로 기존 증류 방법에 비해 90% 이상의 정확도를 유지하면서 궁극적으로 10배 이상의 속도 증가를 달성할 수 있습니다.

CofiPruning의 제안은 두 가지 중요한 기본 작업을 기반으로 합니다.

(1) 전체 레이어를 프루닝하면 속도가 향상될 수 있지만 관련 연구에서는 신경망 레이어의 약 50%를 프루닝할 수 있다고 지적합니다. 거친 가지치기는 정확성에 더 큰 영향을 미칩니다.

(2)는 더 나은 유연성을 얻기 위해 머리와 같은 더 작은 단위를 잘라내는 것이지만 이 방법은 구현 시 최적화 문제가 더 어렵고 속도 증가에 큰 영향을 미치지 않습니다.

이러한 이유로 Chen Danqi 팀은 거친 단위와 세밀한 단위를 동시에 가지치기하여 두 세분성을 모두 활용할 수 있기를 희망합니다. 또한 원본 모델에서 정리된 모델로의 데이터 전송 문제를 해결하기 위해 CofiPruning은 계층별 정렬 방법을 채택하여 정리 과정에서 지식을 전달합니다. 최종 목적 함수에는 증류 손실 및 희소성 기반이 포함됩니다. 지연.긴 하루 손실.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

실험 단계에서 문장 분류 작업을 위한 GLUE 데이터세트와 질문 답변 작업을 위한 SQuAD1.1 데이터세트에서 CofiPruning이 모든 증류보다 성능이 뛰어나고 Pruned Baseline 방법이 더 나은 성능을 발휘하는 것을 확인할 수 있습니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

TinyBERT의 경우 범용 증류를 사용하지 않으면 실험 효과가 크게 감소하지만, 범용 증류를 사용하면 실험 효과는 향상되지만 학습 시간이 매우 많이 소요됩니다. CofiPruning 알고리즘은 기본 모델과 거의 동일한 효과를 얻을 수 있을 뿐만 아니라 실행 시간과 계산 비용을 크게 개선하고 더 적은 계산 비용으로 더 빠른 처리 속도를 달성할 수 있습니다. 실험에 따르면 거친 단위의 경우 첫 번째 및 마지막 피드포워드 레이어가 최대한 유지되는 반면, 세밀한 단위의 경우 상위 신경의 머리 및 중간 차원이 정리될 가능성이 더 높습니다. 네트워크가 정리될 가능성이 더 높습니다.

Princeton Chen Danqi: 큰 모델을 더 작게 만드는 방법

요약하자면, CofiPruning은 매우 간단하고 효과적인 모델 압축 알고리즘입니다. 거친 단위와 세밀한 단위를 함께 가지치기하고 층별 증류의 목적 함수를 결합하여 이를 수행할 수 있습니다. 연결 구조 가지치기 및 지식 증류는 두 알고리즘을 모두 활용하므로 처리 속도가 빨라지고 모델 구조가 작아집니다. 모델 압축의 향후 추세에 대해 Chen Danqi는 GPT-3와 같은 대규모 언어 모델을 정리할 수 있는지, 업스트림 작업을 정리할 수 있는지에 대해서도 중점을 두었습니다. 이는 향후에 집중할 수 있는 연구 아이디어입니다.

3 요약 및 전망

대규모 언어 모델은 이제 매우 만족스러운 실용적인 응용 가치를 달성했습니다. 그러나 값비싼 환경적, 경제적 비용, 개인 정보 보호 및 공정성 문제, 실시간 업데이트의 어려움으로 인해 대규모 언어 모델이 개발되었습니다. 언어 모델에는 아직 부족한 점이 많습니다. Chen Danqi는 미래의 언어 모델이 대규모 지식 기반으로 사용될 수 있다고 믿습니다. 동시에 검색 기반 언어 모델 또는 희소 언어 모델을 사용하여 규모를 크게 줄여야 할 수도 있습니다. 밀도가 높은 검색 및 모델 압축 작업을 대체하는 데에도 집중해야 합니다.

위 내용은 Princeton Chen Danqi: "큰 모델"을 더 작게 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제