이제 4비트 퀀타이즈를 살펴볼 겁니다 정밀도를 끝까지 낮추는 놀라운
효과죠
비트와 바이트를 이용한 퀀트 구성 이전과 아주 유사하죠
하지만 이번엔 4 비트 =으로 로드하라고 했죠
맞아요
다른 설정도 있어요
이번엔 더블 퀀트 사용이란 게 있는데 이것도 살짝 수수께끼죠
모든 무게를 수량화해서 통과하게 하는 거예요 그리고 다시
한번 통과하죠
그렇게 함으로써 메모리를 10에서 20퍼센트 더 줄일 수 있어요
비트를 더 짜내는 거예요
그리고 이건 실험적으로 입증된 건데 신경망의 힘에 아주 미세한 차이를 만들어냈어요
거의 공짜나 다름없죠
둘 다 해당하는 상황이죠
그래서 더블 퀀트를 참으로 사용하라고 권장했죠
계산 dtype은 계산에 사용되는 데이터 타입에 관한 거죠
일반적으로 32 비트 플로트로 작업할 수 있어요
Bfloat16 데이터 유형의 플로트 이진법 16을 사용하면 훈련
속도가 빨라집니다 훈련의 질을 조금만 희생해도요
확실히 제가 이걸 시도했을 땐 더 빨리 실행되는 걸 봤어요 최적화 속도에서
실제적인 변화는 감지할 수 없었죠
그러니 이건 확실히 추천해요
하지만 이것도 하이퍼 매개 변수라 실험할 수 있어요
이건 4 비트 퀀트 유형이에요
4 비트 숫자로 정밀도를 낮출 때 4 비트 숫자를 어떻게 해석해야
할까요?
4bit00부터 1111까지라고 하면 0부터 15까지 정수라고 생각할
수도 있죠
그것도 한 방법이죠
부동점 숫자에 맞춰 지도를 만드는 게 일반적이죠
이 nf4 접근법은 정규 배포된 뭔가에 매핑해요
이건 아주 흔한 설정이에요
제가 쓴 거예요
다른 걸 해 봤는데 별로였어요
일반적으로 권장하는 게 이거죠
하이퍼 매개 변수라서 시행착오를 겪어도 사용 가능해요
그걸 염두에 두고 퀀트 구성을 만드는데 4비트 퀀트화를 위한 아주 표준적인 퀀트 구성이죠
기본 모델을 생성합니다 메모리 공간을 프린트할 거예요
놀랍게도 현재는 5마리로 줄었죠 6GB요
제 리소스에서 이미 보셨을 수도 있지만 기본 모델을 기억하시면
실제 크기는 32GB였죠 정말 많이 줄었어요
이 정도면 GPU 메모리에 저렴한 T4 박스에 쉽게 들어갈 거예요
기본 모델을 보면 아키텍처가 있어요
그 멍청한 농담은 다시 안 할 거예요
물론 더 우람했던 80억 라마 모델의 구조와 동일하죠
이 깊숙한 곳에서는 무게추의 정확도가 낮아요
4비트예요
네
다음 비디오에선 이 시점에서 세션을 다시 시작하지 마세요
이번 세션은 이대로 유지해야 합니다 다음 비디오에선 미세 조정 모델의 예제를 불러오겠습니다
로라가 적응한 것이 이 구조에 어떻게 적용되는지 보죠
거기서 봐요