LoRA 붙이기

아무것도 배우지 않은 표를 붙이면 모델이 흐트러지지 않을까요?

순서

얼리고, 붙이고, 훈련합니다

원래 모델의 숫자를 모두 잠근 다음, 4편에서 센 73곳에 작은 표 A와 B를 붙입니다. 5편에서 새로 단 출력 층도 잠급니다. 이 층이 배울 몫은 그 옆에 붙인 A와 B가 맡습니다.

시작 값

A는 작은 무작위 값, B는 전부 0

새로 만든 표에는 처음 값을 정해 넣어야 합니다. A에는 작은 무작위 값을, B에는 전부 0을 넣습니다.

B를 0으로 두는 까닭은 다음 장에서 봅니다. A까지 0이면 어느 쪽으로 고칠지 계산되지 않아 훈련이 시작되지 않으므로, A는 무작위 값으로 둡니다. 그림의 숫자는 예시 값입니다.

곱하면

0을 곱했으니 전부 0입니다

3편에서 본 대로 A의 숫자와 B의 숫자를 곱해 칸을 채웁니다. B가 전부 0이니 고칠 양의 표도 전부 0입니다.

A의 숫자는 앞 장과 같은 예시 값입니다.

그래서

원래 결과에 0을 더합니다

샛길에서 나오는 값이 전부 0이라, 더해도 원래 층의 결과와 같습니다. 붙인 직후의 모델은 붙이기 전과 같은 답을 냅니다.

그림의 숫자는 예시 값입니다.

확인

붙이기 전과 정확도가 같습니다

세 세트 모두 소수점 아래까지 같습니다. 작은 표를 붙여도 모델은 흐트러지지 않았습니다.

붙이기 전의 값은 앞 편에서 잰 훈련 전 정확도입니다.

훈련이 시작되면

B가 0에서 벗어나며 샛길이 열립니다

훈련 걸음마다 A와 B의 값이 조금씩 고쳐집니다. 고칠 양의 표가 0에서 자라고, 모델의 답이 스팸을 가려내는 쪽으로 옮겨 갑니다.

움직임을 보이려고 그린 예시입니다. 칸이 밝을수록 값이 큽니다.

다음 편

준비가 끝났습니다. 이제 훈련합니다

7편2%만 훈련한 결과 15강 목록