이제 퀀타이즈 얘길 하죠 q&q 로라
Q는 퀀타이즈된 퀀타이즈죠
로라예요
3주 차에 퀀타이즈를 잠깐 언급했었죠
그럼 기억날지도 모르겠네요
이제 진짜 얘기를 해보죠
문제는 이거예요
우린 작은 모델로 작업하고 있어요 80억 매개 변수 버전의 llama 3이죠 1번요
이 기발한 계획도 로라가 생각해 냈어요 소차원 행렬을 연구하면 메모리를 더 많이
얻을 수 있죠 Get up
그런데 문제는 기본 모델조차도 작은 버전이라도 80억 버전이라도
램 32GB를 쓴다는 거예요
80억 개의 부동 소수점 수죠 각각 32비츠 길이로요
GPU 안을 채울 거예요
T4 박스에 사용할 저렴한 GPU는 메모리가 15GB밖에 안 돼요 기본 모델
자체에도 맞지 않죠
메모리가 바로 바닥날 거예요 그게 문제죠
로라는 우리에게 더 나은 환경을 만들어 주지만 베이스 모델 자체를 메모리에
넣을 수 없으니 충분하지 않아요
80억이면 어떤 세계에선 작은 모형 크기일 수 있지만 그래도 엄청난 수의 매개 변수니까요
그래서 어려운 점이 많아요
그래서 이 놀라운 발견이 이루어졌죠
그게 우리가 작업할 거예요
처음에는 너무 좋아서 믿기 힘들 정도였죠
두 마리 토끼를 다 잡을 수 있는 방법 같네요
그런 셈이죠
그래서 어떤 사람들은 80억 개의 매개 변수가 있다고 했죠
40억 개의 매개 변수 모델처럼 적은 매개 변수를 가지려고 한다면 모델의 힘을
많이 잃게 돼요
그 80억 개의 매개 변수 덕분에 돌릴 노브가 많아요
이 기발한 건축물에 그 점이 있어요
큰 힘을 주죠
좋아요
매개 변수의 수를 줄이지 말죠
그렇게 하는 대신 각 매개 변수의 정밀도를 낮추죠
곱게 갈린 바퀴를 통과하는 게 아니라 몇 가지 설정을 통해
클릭, 클릭, 클릭하게 하는 거죠
그래서 생각한 건데 무게의 정밀도는 줄이고 무게의 개수는 그대로
두기로 했어요
논리적으로 생각할 수 있지만 정보의 양을 줄이고 있어요
정보가 절반만 있어도 무게의 수가 절반인
것과 비슷할 거예요
알고 보니 그렇지 않더군요
어떤 이유에서든 정밀도를 낮추면 신경망의 질이 어느 정도 떨어지지만 생각만큼 떨어지진
않아요. Get it.
아직도 그 힘을 간직하고 있죠
이건 메모리에 같은 수의 매개 변수로 더 큰 모델을 넣게 해주는 훌륭한
트릭이에요
정밀도가 낮으면 메모리 소모가 less예요
놀라울 정도로 잘 작동하죠
여러분이 평소에 가지고 있는 32비트 부동점 수를 취해서 8비트
숫자로 줄여도 여전히 좋은 성능을 낼 수 있어요.
그리고 여기서부터 정말 미친 소리처럼 들리기 시작하죠
4분의 1로 줄일 수 있어요
각 숫자는 네 비트짜리 숫자죠
정수의 관점에서 생각해 보면 각각의 숫자는 0에서
15까지밖에 없어요
그냥 숫자만 따져서요
그 정도로 정확성이 낮죠
클릭은 16개의 설정을 가지고 있어요
그래도 여전히 좋은 연기를 보여줬어요 get it get it
네
비트의 품질이 떨어지긴 했지만 아주 조금이에요
그게 바로 직관이었어요
이렇게 하면 메모리 요구 사항이 급격히 줄고 메모리에서 더 큰 모델에
맞게 되죠
몇 가지 사소한 기술적인 사항을 언급할게요
그 중 하나는 방금 말씀드린 클릭 스위치예요
0부터 15까지의 숫자로 생각해 보세요
일반적으로 4비트는 정수로 해석되지 않지만 4비트는 세분성이
낮은 부동점수로 간주되거든요
예제에서 실제로 그걸 보실 수 있어요
또 하나 지적하고 싶은 건 색깔이 처음 나왔을 때
제가 이해 못 했던 건데요 이건 베이스 모델을 수량화하는 거지 로라 어댑터를
수량화하는 게 아니에요 보다시피 여전히 32 비트 플로트죠
베이스모델의 정밀도를 줄이는 것에 대해 얘기하고 있어요 이 거대하고 훌륭한 베이스모델을
메모리에 넣어야 해요
저게 쿠 로라예요
그게 퀀타이즈예요
잠시 후 실험실에서 보면 더 진짜 같을 거예요
하지만 먼저 다음 비디오에서 중요한 하이퍼파라미터 세 가지를 말씀드릴게요