정량화, 가지치기, 증류 등 이러한 대형 모델 속어는 정확히 무엇을 말합니까?

WBOY
풀어 주다: 2024-04-26 09:28:18
앞으로
717명이 탐색했습니다.

정량화, 가지치기, 증류 등 대규모 언어 모델에 자주 주의를 기울이면 이러한 단어를 확실히 볼 수 있습니다. 이 단어만 보면 무엇을 하는지 이해하기 어렵지만 이 단어는 특히 중요합니다. 이 단계에서 대규모 언어 모델을 개발하는 데 도움이 됩니다. 이 기사는 당신이 그것들을 알고 그 원리를 이해하는 데 도움이 될 것입니다.

모델 압축

양자화, 가지치기, 증류는 실제로 일반적인 신경망 모델 압축 기술이며 대규모 언어 모델에만 국한되지 않습니다.

모델 압축의 중요성

압축 후 모델 파일이 작아지고, 사용되는 하드 디스크 공간도 작아지며, 메모리에 로드하거나 표시할 때 사용되는 캐시 공간도 작아지고, 모델의 실행도 작아질 수 있으며 일부 속도도 향상될 수 있습니다. ㅋㅋㅋ

압축이란 무엇인가요?

모델의 매개변수가 압축된 것인가요?

현재 머신러닝이 신경망 모델을 사용한다는 말을 들어보셨을 것입니다. 신경망 모델은 인간 두뇌의 신경망을 시뮬레이션합니다.

여기에 간단한 다이어그램을 그렸으니 한 번 살펴보세요.

Pictures

정량화, 가지치기, 증류 등 이러한 대형 모델 속어는 정확히 무엇을 말합니까?단순화를 위해 A1, A2, A3의 세 가지 뉴런만 설명합니다. 각 뉴런은 다른 뉴런으로부터 신호를 받고 다른 뉴런으로 신호를 전달합니다.

A3은 A1과 A2로부터 I_A1과 I_A2 신호를 수신하지만 A1과 A2로부터 A3이 수신한 신호의 강도는 다릅니다(이 강도를 "무게"라고 함). 여기서 강도는 W_13이고 W_23, A3은 수신된 신호 데이터를 각각 처리합니다.

먼저 신호의 가중 합산, 즉 I_A1*W_13+I_A2*W_23을 수행합니다.

  • 그런 다음 A3의 자체 매개변수 B_3("바이어스"라고 함)을 추가합니다.
  • 마지막으로 이 데이터는 특정 형태로 변환되고, 변환된 신호는 다음 뉴런으로 전달됩니다.
  • 이 신호 데이터를 처리하는 과정에서 사용되는 가중치(W_13, W_23)와 오프셋(B_3)은 모델의 매개변수입니다. 물론 모델에는 다른 매개변수도 있지만 일반적으로 가중치와 오프셋은 다음과 같습니다. 모두 80/20 원칙을 사용하여 나누면 대부분의 매개변수가 80% 이상이어야 합니다.

대규모 언어 모델을 사용하여 텍스트를 생성하는 경우 이러한 매개변수는 이미 사전 훈련되어 있으므로 수정할 수 없습니다. 이는 수학에서 알 수 없는 xyz만 전달하고 출력 결과를 얻을 수 있는 것과 같습니다. .

모델 압축은 모델의 이러한 매개 변수를 압축하는 것입니다. 주요 고려 사항은 가중치와 편향입니다. 사용되는 구체적인 방법은 이 기사의 초점입니다.

Quantization

Quantization은 모델 매개변수의 수치 정확도를 낮추기 위한 것입니다. 예를 들어 초기에 학습된 가중치는 32비트 부동 소수점 숫자이지만 실제로 사용하면 손실이 거의 없는 것으로 나타났습니다. 16비트로 표현되지만 모델 파일의 크기는 절반으로 줄어들고, 비디오 메모리 사용량도 절반으로 줄어들며, 프로세서와 메모리 사이의 통신 대역폭 요구 사항도 줄어들어 비용이 절감되고 이점이 높아집니다.

레시피를 따르는 것과 같습니다. 각 재료의 무게를 결정해야 합니다. 0.01그램까지 정확한 전자저울을 사용할 수 있는데, 각 재료의 무게를 매우 정확하게 알 수 있어 좋습니다. 하지만 단지 포트럭 식사를 할 뿐이고 실제로 그렇게 높은 정확도가 필요하지 않다면 최소 1그램의 저울로 간단하고 저렴한 저울을 사용할 수 있는데, 이는 정확하지는 않지만 맛있는 식사를 만들기에는 충분합니다. 저녁.

Pictures

정량화, 가지치기, 증류 등 이러한 대형 모델 속어는 정확히 무엇을 말합니까?양자화의 또 다른 이점은 계산 속도가 더 빠르다는 것입니다. 최신 프로세서에는 일반적으로 정밀도가 낮은 벡터 계산 장치가 많이 포함되어 있습니다. 모델은 이러한 하드웨어 기능을 최대한 활용하여 더 많은 병렬 작업을 수행할 수 있으며 일반적으로 정밀도가 낮은 작업이 고정밀 작업보다 빠릅니다. 단일 곱셈과 덧셈의 소비는 시간이 더 짧습니다. 이러한 이점을 통해 모델은 고성능 GPU가 없는 일반 사무실이나 가정용 컴퓨터, 휴대폰 및 기타 모바일 단말기와 같은 낮은 구성의 컴퓨터에서도 실행할 수 있습니다.

이 아이디어에 따라 사람들은 크기가 더 작고 컴퓨팅 리소스를 덜 사용하는 8비트, 4비트, 2비트 모델을 계속해서 압축합니다. 그러나 가중치의 정확도가 감소함에 따라 서로 다른 가중치의 값이 더 가까워지거나 심지어 동일해지며, 이로 인해 모델 출력의 정확성과 정밀도가 감소하고 모델의 성능도 다양한 정도로 저하됩니다.

양자화 기술에는 동적 양자화, 정적 양자화, 대칭 양자화, 비대칭 양자화 등과 같은 다양한 전략과 기술적 세부 사항이 있습니다. 대규모 언어 모델의 경우 일반적으로 모델 훈련이 완료된 후 정적 양자화 전략이 사용됩니다. 매개변수는 한 번 정량화되며, 모델 실행 시 더 이상 정량적 계산이 필요하지 않아 배포 및 배포가 쉽습니다.

Pruning

Pruning은 모델에서 중요하지 않거나 거의 사용되지 않는 가중치를 제거하는 작업입니다. 이러한 가중치의 값은 일반적으로 0에 가깝습니다. 일부 모델의 경우 가지치기를 통해 압축률이 높아져 모델이 더 작고 효율적으로 만들어질 수 있습니다. 이는 리소스가 제한된 장치에 모델을 배포하거나 메모리와 저장 공간이 제한된 경우에 특히 유용합니다.

가지치기는 모델의 해석 가능성도 향상시킵니다. 불필요한 구성요소를 제거함으로써 프루닝은 모델의 기본 구조를 더욱 투명하고 분석하기 쉽게 만듭니다. 이는 신경망과 같은 복잡한 모델의 의사결정 과정을 이해하는 데 중요합니다.

가지치기에는 가중치 매개변수 가지치기뿐만 아니라 다음 그림과 같이 특정 뉴런 노드 가지치기도 포함됩니다.

정량화, 가지치기, 증류 등 이러한 대형 모델 속어는 정확히 무엇을 말합니까?Picture

가지치기는 모든 모델에 적합하지 않으며 일부 희소한 경우에는 적합하지 않습니다. 모델(대부분의 매개변수는 0이거나 0에 가까움), 가지치기는 상대적으로 적은 수의 매개변수를 갖는 일부 작은 모델의 경우 효과가 없을 수 있으며, 가지치기는 일부 고정밀 작업이나 응용 프로그램에 대해 모델 성능이 크게 저하될 수 있습니다. 의학적 진단과 같이 생사가 걸린 모델을 잘라내는 데는 적합하지 않습니다.

실제로 가지치기 기술을 적용할 때에는 일반적으로 모델 실행 속도의 향상과 가지치기가 모델 성능에 미치는 부정적인 영향을 종합적으로 고려하고 모델의 각 매개변수에 점수를 매기는 등 몇 가지 전략을 채택해야 합니다. 매개변수를 평가합니다. 모델 성능에 얼마나 기여합니까? 점수가 높은 항목은 잘라서는 안 되는 중요한 매개변수이고, 점수가 낮은 항목은 그다지 중요하지 않아 잘라낼 수 있는 항목입니다. 이 점수는 매개변수의 크기(절대값이 클수록 더 중요함)를 확인하는 등 다양한 방법을 통해 계산하거나 좀 더 복잡한 통계 분석 방법을 통해 결정할 수 있습니다.

Distillation

Distillation은 대형 모델에서 학습한 확률 분포를 소형 모델에 직접 복사하는 것입니다. 복사된 모델을 교사 모델이라고 하며 일반적으로 매개변수 수가 많고 성능이 뛰어난 우수한 모델입니다. 새 모델은 일반적으로 매개변수가 상대적으로 적은 작은 모델입니다.

증류 중에 교사 모델은 입력을 기반으로 여러 가능한 출력의 확률 분포를 생성한 다음 학생 모델은 이 입력 및 출력의 확률 분포를 학습합니다. 광범위한 훈련을 거친 후 학생 모델은 교사 모델의 행동을 모방하거나 교사 모델의 지식을 배울 수 있습니다.

예를 들어, 이미지 분류 작업에서 사진이 주어지면 교사 모델은 다음과 유사한 확률 분포를 출력할 수 있습니다.

  • Cat: 0.7
  • Dog: 0.4
  • Car : 0.1

이 그림과 출력 확률 분포 정보를 모방 학습을 위한 학생 모델에 제출합니다.

정량화, 가지치기, 증류 등 이러한 대형 모델 속어는 정확히 무엇을 말합니까?Pictures

증류는 교사 모델의 지식을 더 작고 단순한 학생 모델로 압축하기 때문에 새 모델은 일부 정보를 잃을 수도 있습니다. 또한 학생 모델은 교사 모델에 너무 많이 의존할 수 있습니다. 모델의 일반화 능력이 저하됩니다.

학생 모델의 학습 효과를 더 좋게 만들기 위해 몇 가지 방법과 전략을 사용할 수 있습니다.

온도 매개변수 소개: 매우 빠르게 가르치는 교사가 있고 정보 밀도가 매우 높다고 가정하면 학생들이 따라가기가 조금 어려울 수 있습니다. 이때 교사가 속도를 늦추고 정보를 단순화하면 학생들이 이해하기 더 쉬울 것입니다. 모델 증류에서 온도 매개변수는 학생 모델(소형 모델)이 교사 모델(대형 모델)의 지식을 더 잘 이해하고 학습할 수 있도록 '강의 속도 조정'과 유사한 역할을 합니다. 전문적으로 말하자면, 모델 출력을 보다 매끄러운 확률 분포로 만들어 학생 모델이 교사 모델의 출력 세부 사항을 더 쉽게 캡처하고 학습할 수 있도록 하는 것입니다.

교사 모델과 학생 모델의 구조 조정: 학생이 전문가로부터 무언가를 배우기가 어려울 수 있습니다. 전문가 사이의 지식 격차가 너무 커서 직접 학습이 이해되지 않을 수 있기 때문입니다. 전문가의 말을 이해하고 학생들이 이해할 수 있는 언어로 번역할 수 있는 교사를 중간에 추가하세요. 중간에 추가된 교사는 일부 중간 계층 또는 보조 신경망일 수 있으며, 교사는 교사 모델의 출력과 더 잘 일치할 수 있도록 학생 모델을 일부 조정할 수 있습니다.

위에서 세 가지 주요 모델 압축 기술을 소개했습니다. 사실 여기에는 아직 세부적인 내용이 많이 있지만, 하위 순위 분해와 같은 다른 모델 압축 기술도 거의 이해하기 충분합니다. 및 매개변수 공유, 희소 연결 등 관심 있는 학생들은 더 많은 관련 콘텐츠를 확인할 수 있습니다.

또한 모델을 압축한 후에는 성능이 크게 저하될 수 있습니다. 이때 특히 의료 진단, 재정적 위험과 같이 높은 모델 정확도가 필요한 작업의 경우 모델을 미세 조정할 수 있습니다. 제어, 자동 주행 등의 미세 조정을 통해 모델의 성능을 어느 정도 복원하고 특정 측면에서 정확도와 정밀도를 안정화할 수 있습니다.

모델 미세 조정에 관해 최근 AutoDL에서 Text Generation WebUI 이미지를 공유했습니다. Text Generation WebUI는 Gradio를 사용하여 작성된 웹 프로그램으로, 대규모 언어 모델의 추론 및 미세 조정을 쉽게 수행할 수 있으며 이를 지원합니다. Transformers, llama.cpp(GGUF), GPTQ, AWQ, EXL2 및 기타 다양한 형식의 모델을 포함한 다양한 유형의 대형 언어 모델 최신 이미지에는 최근 Meta에서 오픈소스로 공개된 Llama3 대형 모델이 내장되어 있습니다. . 관심 있는 학생 시도해 보고 사용 방법을 확인하세요. 10분 안에 대규모 언어 모델을 미세 조정하는 방법 알아보기

정량화, 가지치기, 증류 등 이러한 대형 모델 속어는 정확히 무엇을 말합니까?Pictures

참고 기사:

https:/ /www.php.cn/link/d7852cd2408d9d3205dc75b59 a6ce22e

https://www.php.cn/link/f204aab71691a8e18c3f6f00872db63b

https://www.php.cn/link/b31f0c758bb498b5d56b5fea80 f313a7 ㅋㅋㅋ 7c59f92

https://www. php.cn/link/8fc81fd7630f52aca6381ff6df0f6cec

위 내용은 정량화, 가지치기, 증류 등 이러한 대형 모델 속어는 정확히 무엇을 말합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿