>기술 주변기기 >일체 포함 >70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

WBOY
WBOY원래의
2024-08-06 01:46:42773검색
70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.
AIxiv 칼럼은 본 사이트에서 학술 및 기술 콘텐츠를 게재하는 칼럼입니다. 지난 몇 년 동안 이 사이트의 AIxiv 칼럼에는 전 세계 주요 대학 및 기업의 최고 연구실을 대상으로 한 2,000개 이상의 보고서가 접수되어 학술 교류 및 보급을 효과적으로 촉진하고 있습니다. 공유하고 싶은 훌륭한 작품이 있다면 자유롭게 기여하거나 보고를 위해 연락주시기 바랍니다. 제출 이메일: liyazhou@jiqizhixin.com, zhaoyunfeng@jiqizhixin.com

본 논문의 저자는 모두 Huawei Noah Laboratory 출신이며, 교신 저자는 Wang Yunhe 및 Chen입니다. 싱하오. 최근 몇 년간 관련 팀은 ICML, CVPR, NeurIPS, ICCV, ECCV 등 주요 학회에서 다수의 대표 작품을 발표했으며 효율적인 대형 언어 모델, 시각적 모델 등의 분야에서 풍부한 성과를 거두었습니다. 유명 대학과 과학 연구 기관의 협력이 광범위합니다.

현재 AI 업계와 학계에서 당연한 '교통의 왕'인 대형 모델은 수많은 학자와 기업을 유치하여 연구 및 교육에 자원을 투자했습니다. 규모가 커지면서 시스템 및 엔지니어링 문제는 대규모 모델 훈련에서 피할 수 없는 문제가 되었습니다. 예를 들어, Llama3.1을 54일간 훈련하는 동안 시스템은 466번, 평균 2.78시간마다 한 번씩 충돌했습니다!

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

그렇다면 잦은 보관 체크포인트가 매우 필요합니다. 하지만 체크포인트를 저장하는 것 자체가 큰 프로젝트이기도 합니다.

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

Meta는 빈번한 시스템 오류에 대처하기 위해 스토리지 체크포인트 시간을 단축하고 스토리지 빈도를 높이기 위해 많은 노력을 기울였습니다. 하지만 빈번한 스토리지는 많은 스토리지 리소스 오버헤드를 의미하기도 합니다. 이 문제를 해결하기 위해 훈련 클러스터에는 240PB SSD가 장착되어 있습니다.

Huawei Noah의 ExCP 방식은 스토리지로 인해 발생하는 막대한 오버헤드를 처리하기 위해 모델을 70번 무손실로 압축하여 학습 중 스토리지 오버헤드를 크게 줄일 수 있는 극한 압축 체크포인트 기술을 제안했습니다.

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

코드는 현재 오픈 소스이며 Apache 2.0 프레임워크에서 릴리스되었습니다. 문제의 일부 파트너는 결과를 성공적으로 재현했습니다.

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

  • 글 주소 : https://arxiv.org/abs/2406.11257
  • 창고 주소 : https://github.com/Gaffey/ExCP

방법도 매우 좋은 혁신입니다. 기사에서는 두 가지 중요한 개념을 언급했습니다. 하나는 훈련에서 체크포인트의 잔여 정보를 사용하여 시계열에 대한 정보의 희소성을 통해 더 높은 가지치기 비율을 달성하는 것이고, 다른 하나는 압축을 위해 최적화 프로그램과 가중치를 결합하는 것입니다. 전체적으로 높은 압축률을 달성합니다. ㅋㅋㅋ 는 반복 중 그라디언트 업데이트의 합은 상대적으로 희박하고 포함된 정보가 적습니다. 따라서 이 잔차를 압축하면 더 나은 압축 비율을 얻을 수 있습니다. 반대로 옵티마이저에 저장된 모멘텀은 기울기의 첫 번째와 두 번째 모멘트의 슬라이딩 평균이며, 첫 번째 모멘트의 경우 슬라이딩 평균의 기본 매개변수는 0.9이며, 반복 후 범위는 0.9입니다. 마지막 체크포인트에 저장된 내용과 큰 상관관계가 없기 때문에 옵티마이저는 잔차가 아닌 자신의 값을 직접 압축합니다. 압축될 최종 체크포인트는

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

로 표현됩니다.
2. Weight-optimizer 모멘텀 관절 압축

기존 모델 압축과 관련된 작업은 일반적으로 모델의 추론 성능이나 모델의 최종 저장 체크포인트 크기에만 초점을 맞추며 비용을 지불하지 않습니다. 전체 훈련 과정에서 모델의 저장 공간 오버헤드에 주의를 기울이십시오. 따라서 기존 작업에서는 Adam과 같은 일반적인 옵티마이저가 실제로 가중치 수의 두 배에 해당하는 모멘텀을 저장한다는 점을 무시하고 가중치만 압축합니다. 한편으로 이 작업은 두 가지를 함께 압축하여 전체 압축 비율을 크게 향상시키는 한편, 가중치와 최적화 모멘텀 간의 상관 관계를 사용하여 서로의 압축 비율을 더욱 향상시킵니다.

가중 가지치기: 가지치기의 가중치가 잔존값이므로 옵티마이저 모멘텀의 두 번째 모멘텀은 지난 기간 동안의 가중치 잔존값의 변화 폭을 대략적으로 나타낼 수 있으므로 옵티마이저의 두 번째 모멘텀은 잔존값입니다. 모멘텀은 다양한 층의 가지치기 비율을 결정하는 지표로 사용될 수 있습니다. 가지치기 전략은 다음 공식

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.으로 표시됩니다. 여기서 W와 70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.는 각각 무게와 2차 모멘트를 나타냅니다.


옵티마이저 운동량 가지치기: 운동량 가지치기의 경우 1차 모멘트를 가지치기 수행을 위한 지표로 사용할 수 있습니다. 논문에 수렴에 대한 간략한 증거가 있습니다. 동시에, 포지션의 가중치가 가지치기 되었다면 해당 포지션의 옵티마이저 모멘텀도 동시에 처리되어야 하므로 가지치기 전략은 다음 수식과 같습니다.

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

여기서 70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.는 첫 번째 주문 순간.

3. 전체 압축 과정

전체 압축 과정은 알고리즘 1과 같으며, 가중치 잔차/결합 압축/불균일 양자화/부호화 압축을 계산하는 단계는 순차적으로 진행됩니다. 최종 압축 결과를 얻기 위해 수행되었습니다.

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

완전한 체크포인트 파일을 복구하는 과정은 알고리즘 2와 같습니다. 압축을 푼 후 부동소수점 결과를 먼저 비균일 양자화 후 저장된 코드북과 첨자에서 복구한 후 벤치마크와 비교합니다. (이전 체크포인트의 원래 가중치 또는 복구된 재구성 가중치)를 추가하여 체크포인트의 전체 파일을 얻습니다. 전체 학습 과정에서 체크포인트 파일을 복원하는 과정은 알고리즘 3과 같다. 학습이 완료된 후 각 체크포인트에 저장된 초기화 가중치의 랜덤 시드와 압축 결과만 저장한 후 체크포인트를 복원한다. 완전한 것을 얻기 위한 시퀀스 훈련/테스트 등을 재개하기 위해 하나 이상의 체크포인트를 선택할 수 있는 체크포인트 시퀀스입니다.

실험 결과

이 기사는 대규모 언어 모델을 평가할 뿐만 아니라 ViT-L32와 같은 대규모 시각적 모델에서도 좋은 결과를 얻을 수 있습니다.

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

잔가지치기를 사용하면 가지치기로 인한 손실이 크게 줄어드는 것을 절제 실험에서도 확인할 수 있습니다.

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

이 기사에서는 압축 전후의 대형 언어 모델에 대한 질문 및 답변의 예도 제공합니다. 압축 자체가 모델의 질문 및 답변 능력에 손상을 주지 않음을 알 수 있습니다.

70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.

위 내용은 70배의 궁극의 압축! 대형 모델에 체크포인트가 아무리 많아도 걱정할 필요가 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.