다시 구글 콜랩에 왔네요
여기 온 지 좀 됐는데 잘 돌아왔어요
이번 주에는 여기서 시간을 보낼 거예요 정말 멋질 거예요
최고의 한 주가 될 거예요
제가 계속 그렇게 말하지만 이번엔 정말 절정일 거예요
지금보다 더 나은 건 8주 차에 나올 다음 주 영상뿐이에요
빨리 보여드리고 싶네요
하지만 7주 차에 집중하세요
살펴볼 게 많아요
그럼 먼저 하죠
이번 주에는 콜랍을 7일간 준비했어요
설치부터 시작하죠
저희가 설치하는 것 중 하나는 여러분이 처음 보시는 새로운 패키지예요
얼굴을 끌어안는 Pft라는 라이브러리인데 매개 변수 효율적인 미세 조정의 약자죠 매개 변수 효율
미세 조정 로라를 포함한 라이브러리의 이름이에요
이 라이브러리 안에 있어요
네
입에 착 붙네요
그게 다예요
T4 박스에 올라왔습니다 GPU 박스에서 가장 낮은 것으로 15기가바이트의 GPU 램이 있죠
보시다시피 대부분 이미 셀 몇 개를 사용하고 있죠
어쨌든 우리는 Pip 설치를 해요
수입품도 많이 만들고 상수도 설정했어요
기본 모델인 llama 3으로 작업할 거예요 180억 달러요
미세 튜닝 모델도 설정하고 있어요
아직 세부 조정은 안 했어요
네
미래에서 온 거예요
이걸 가져와서 미세한 조율 모델이 어떤지 보여 드릴게요
로라 행렬이 목표물 모듈에 적용되는 걸 보면요
여기 3개의 하이퍼 매개 변수가 있어요 이제 당신이 전문가니까 32로 설정할게요
8로 시작해서 16으로 가고 32로 가라고 한 거 기억하죠?
32,000달러까지 올렸어요
그렇게 된 거예요
전 지금 32마일로 가고 있어요
알파는 경험에서 나온 거예요
64에 있네요
목표 모듈도요
이건 우리가 대상으로 하는 레이어 이름 4개예요
그 이유는 곧 알게 될 거예요
이게 가장 흔한 라마 모델이에요
다른 모델은 계층 이름이 다를 수도 있지만 네, 여러분이 대상으로 할
이 리스트에서 대상으로 할 계층 이름을 부여하죠 대상 모드에요
네
다음은 여러분이 이미 몇 번 했던 기본 기능이에요 페이스 포옹에 로그인하기 위해서요
포옹 얼굴 계정이 없으면 이런 문구가 뜨겠지만 지금쯤은
당연히 있겠죠
로그인하면 무료고 토큰을 받아요 그리고 Colab에 있는
이 구역으로 가서 키를 입력하고 토큰을 입력하면 돼요 전에도 해 봤잖아요
그렇게 하면 이 셀을 실행할 수 있어요 얼굴 안기로 로그인되죠
대안은 그냥 토큰을 입력하는 거죠
공책 접근에 문제가 있다면요
좋아요, 지체 없이 기본 모델에서 읽겠습니다 양자화 없이요
허튼짓하지 말고요
전체 라마를 읽어볼게요 180억 기본 모델이죠 라마 시리즈
중 가장 작아요
장치 맵은 자동이란 뜻입니다 이 박스와 같은 GPU를 사용하라는 거죠
지금 실행하진 않겠습니다 방금 실행했는데 5분 정도 걸렸거든요
GPU에 다 넣을 수 없다는 경고가 떴어요
그래서 일부는 CPU로 갔죠
오른쪽 리소스를 보시면 GPU 15기가 중 11기가가
차 있는 걸 보실 수 있습니다 거의 13기가 램도 차 있고요
여기 스파이크가 있는 이유는 두 가지 다 해당합니다 한 번 하고 다시 시작했거든요
이걸 실행하면 제일 위에 있는 것만 보일 거예요
네
이제 이 기본 모델이 얼마나 많은 메모리를 사용하는지 프린트할게요
다시 말하지만 훈련하려면 훨씬 더 많이 해야 해요
이건 기본 모델이 얼마나 많은 메모리를 사용하는지 보여줍니다 메모리 공간은
32GB 북쪽 32GB 메모리가 사용되고 있어요
아까 했던 말 기억하시죠?
80억 매개 변수에 대한 32 비트 플로트죠
네
정말 큰 변화죠
어디 한번 볼까요?
기본 모델 자체를 프린트해서 살펴볼 수 있어요
지금 보시는 건 어떻게 생겼는지에 대한 건데요 아주 간략하지만 잠시 멈춰보죠
다시 말씀드리지만 이론만 따지는 수업이 아니므로 제가 길게 설명하지
않고 있는 그대로 말씀드릴게요
이 신경망 구조를 보면 명확히 알 수 있는 건 내장
레이어로 구성돼 있다는 겁니다 텍스트를 취해 변환해
신경망 내 벡터에 내장하는 거죠
이건 아주∙∙∙ 아까 얘기했던 인코딩 LMS 같은 거죠
첫 번째 레이어는 토큰을 벡터로 넣는 거예요
사실, 가능한 기념품이 얼마나 많은지 그게 차원이에요
이건 내부 벡터의 입체성이에요
라마 디코더라는 층이 32개 있어요
32세트요
32개 모두 이런 모양이에요
Get it을 하죠
이 부분을 살펴보면 주의력 레이어 세트로 구성된 걸 볼 수 있어요 q, proj,
k proj, v, o proj라고 하죠
이건 대상 모듈에서 우리가 대상으로 하는 층입니다 여러분이 주로 하는 거죠
다른 방법도 있지만 이게 가장 일반적인 방법이에요
어떤 층은 4천여 개의 차원이 들락날락해요
이것과 이것, 어떤 건 4천 개, 1천 개예요
그래서 입체감이 좀 달라요
로라 A와 로라 B를 볼 때 어느 정도 관련이 있죠
너무 깊이 들어가진 않겠지만 여러분이 실험하고 읽어보세요 더 많은 정보가 필요하다면요
get it get it
다중 인터셉트론 레이어도 있는데 예를 들어 위는 차원의 개수를 폭발적으로
늘리고 아래는 차원의 개수를 줄이는 거죠
그리고 활성화 함수가 뒤따르죠
이런 것에 익숙한 분들을 위해서요
라마에 사용되는 활성화 함수는 셀루예요 피토크 문서화에서 보실 수 있죠
그걸 보면 그게 무엇이고 왜 사용되는지 더 알 수 있죠
그 뒤에 레이어 보통 레이어가 있어요
그리고 맨 끝에는 LM 헤드라는 직선 층이 있어요
특정 목표를 노리기도 하죠
대상 모듈에 추가되기도 하죠
전에 말씀드렸듯이 뭔가를 생성하고자 하는 경우 결과를 생성하는
걸 배우길 원하는 경우 그건 일종의 다른 포맷을 갖죠
JSON의 특정 구조를 원할 수도 있고 완전히 다른 걸 원할 수도 있죠 다른
언어를 사용하길 원하거나 아주 독특한 방식으로 구조를 원하거나요
그럼 이것도 대상 모듈에 대상으로 할 수 있죠
그러면 건축물이 어떤 느낌인지 알 수 있죠
잠시 후 로라 어댑터를 보면 제가 왜 이 얘기를 계속하는지 알게 될
거예요
좋아요
32GB를 썼어요
다음으로 할 일은 이 세션을 다시 시작하는 겁니다 런타임으로 가서요 세션을 다시 시작해 메모리를
지우고 계속 진행해야죠
캐시를 비우라는 명령이 있었지만 그렇게 적극적이지 않았어요
너무 많이 소비해서 아직도 너무 오래 붙어 있어요
이제 유일한 방법은 세션을 다시 시작하는 거예요
그렇게 할 거예요
다음 비디오에서 다시 시작하면 다시 여기로 돌아오죠