행동할 시간입니다, 여러분
콜랍을 준비했어요
7주 차, 3일째예요
계속 설정해뒀어요
모델 이름을 체크했고 get get get을 할 시간이네요.
첫 번째로 할 일은 얼굴 안기에 로그인하는 거예요
얼굴 안기 로깅에 로그인한 후에는 여러분이 잘 모르는
새로운 걸 할 거예요 무게와 바이어스 플랫폼에 로그인하는 거죠
지난주에 무게와 편향성을 탐구하려고 이미 설정해 두셨을 수도 있지만 그렇지
않다면 아주 간단해요
물론 공짜고요
무게와 편향 W와 B의 점과 I를 연결하세요
무료 계정을 만들면 지팡이 API 키와 무게, 편향 API 키를 찾을 수
있어요
그리고 이 자물쇠 기호로 가서 구글 Colab에 비밀리에 추가해야 해요
그렇게 하기 싫으시면 여기 있는 공책에 직접 입력하셔도
돼요
하지만 비밀을 사용하는 걸 추천해요
무게와 편향을 설정하면 시작할게요
그런 다음 데이터 세트를 로드하고 데이터 집합이 우리가 기대하는 건지 재빨리 확인할 수 있어요
그럴 거라고 예상하고 기대하죠
훈련 데이터 포인트가 얼마나 많은지 봅시다 400,000개를 찾고 있어요 400,000개의
훈련 데이터 포인트죠 아주 많아요
첫 번째를 보죠
우리가 예상하는 대로 만들어 주세요
이 훈련 데이터 포인트의 텍스트는 우리가 기대하는 프롬프트입니다 그리고 여기 가격이 있죠
모델은 필사적으로 다음 토큰을 예측하고 get을 할
거예요
실제 가격도 나와 있어요
가장 가까운 토큰으로 가는 게 보이죠
우리가 찾는다고 말하는 거죠
가장 가까운 1달러의 비용은 얼마일까요? 가장 가까운 1달러의 토큰은 얼마일까요?
대가가 따르죠
진짜 가격요
테스트 데이터 세트를 보면∙∙∙ 오늘 그걸 사용하진 않을 거예요
하지만 테스트 데이터 세트도 아주 유사하다는 걸 기억하실 거예요
아주 작은 차이죠
이다음에는 가격도 없어요
가격은 달러라고만 쓰여 있어요
그런 걸 잘하도록 모델을 훈련하고 있어요
네
저희가 로그인해서 무게와 바이어스에 로그인하도록 요청하면 무게와 바이어스 프로젝트를
설정해요
이 코드는 사실 이 줄이 있을 필요가 없어요 왜냐하면 얼굴을 안으면 이렇게 되거든요 만약
실행을 시작했는데 이 줄을 실행하지 않았다면요
하지만 가끔 이걸 추가해요 원한다면 매개 변수로 구성된 구성을 통과시킬 수도
있거든요 그럼 무게나 편향에 나타날 추가 특성을 설정할 수 있죠
유용한 정보네요
어쨌든 이걸 실행하든 말든 맘대로 해요
그게 그거죠
네, 이건 아까 봤죠
이 하이퍼 매개 변수를 가지고 4비트 수량화를 위해 비트 및 바이트 구성을 쓸지
8비트 사용할지 결정하는 거죠
물론 50센트짜리로 할게요
계속 내려갈 거예요
이제 토큰라이저와 모델을 로드할 차례예요
토큰마이저를 로드하는 일반적인 코드죠
이것은 상용적인 것이라고 말씀드렸었는데요 트레이너에게 모든 데이터
포인트를 패드하고 싶다고 말합니다 최대 시퀀스 길이를 채우기 위해서요 그리고 문장 끝
토큰들로 모든 것을 패드해야 합니다 글자 집합을 채우기 위해서요 시퀀스에서 토큰의 182개
길이 말이죠
이 토큰으로 오른쪽에 패드하죠
그리고 여기 이 라인이 있는데요 이것은 또 다른 표준 문항으로 패드 토큰 ID를 생성 환경
설정하는 것인데요
이걸 저기에 넣은 이유는 나중에 경고를 막기 위해서예요 이걸 보지 않는다는
경고요 하지만 어쨌든 이걸 받을 것 같아요
그래서 이건 불필요한 경고를 인쇄하는 걸 피하죠
마지막으로 메모리 발자국 프린팅으로 마무리합니다 5가 보이죠 4 비트 버전의 라마는 6GB가
예상됩니다, 3이죠 180억 매개 변수 모델이죠
세부 사항이 하나 더 있어요
데이터 합성기라는 거예요
이런 교묘한 방법이 있어요 훈련을 할 때 가격을 포함한 전체 배열을 통과시키면
모델에서 많은 예시를 볼 수 있고 이런 토큰을 예측하는 능력이 점점
좋아지죠 get it
하지만 비트가 있죠
사실 우린 달러 기호가 나올 때까지 모든 토큰을 예측하는 모델에
관심 없어요
여기 있는 토큰을 예측하는 법을 배우게 하는 거죠
그래서 제품 설명을 얼마나 잘하는지 확인하느라 많은 시간을 들이지 않고
그 가격에 집중할 수 있는 가격을 알아내길 원하죠
그러려면 마스크라는 걸 만들어야 해요
트레이너에게 프롬프트에 대해 배울 필요가 없다고 할 때 컨텍스트를 주기 위해
이걸 고려하길 원하죠
하지만 달러 기호 다음에 나오는 토큰을 예측하는 법을 배우세요
마스크를 세팅하는 건 손이 많이 가고 네, 토큰으로 비트를 만들어야
해요
다행히도 안아주는 얼굴 덕분에 아주 쉬워졌습니다 모든 걸 대신 해주는 작고 실용적인 장치가
있죠
데이터 컬레이터라고 부르는데 오직 완성만을 위한 거죠
LM, 그게 우리예요
이제 완성만 하면 되는 거예요
이 문장요
응답 템플릿이라는 걸 만들어내는 겁니다 아주 거창하게 들리지만 그냥 다음에
뭐가 올지 예측하라는 걸 나타내는 텍스트 덩어리가 무엇인지를 의미하죠
이 경우엔 간단히 가격은 $s 사인이죠
그 다음 일을 예측하게 하고 싶어요
응답 템플릿에 넣고 뭔가를 만드는 거죠 데이터 콜렛터의 완성을
위한 인스턴스요 응답 템플릿에만 전달하는 거죠
토큰라이저라고 알려줘야 해요 그럼 그걸 이용해 트레이너로 가는 마스크된
데이터 최종 세트를 빌드하죠
잠시 후에 보실 수 있어요
이건 아주 간단해요 막후에서 아주 정교한 작업을 하고 있죠 우릴
쉽게 해줘요
좋아요
드디어 마지막 중요한 순간이에요
많은 코드처럼 보이지만 사실 그렇게 많지는 않아요
트레이너를 부를 거예요 두 개의 매개 변수를 통과시켜야 해요
그중 하나는 로라 구성이에요
hyperperameter는 로라 훈련과 관련이 있어요
다른 하나는 감독하에 미세한 조율을 하는 거죠
구성이란 훈련이 어떻게 작동해야 하는지에 대한 일반적인 거죠 제가 한 건 기본적으로 이런 것들을 노트북
상단에 정의한 상수에서 끌어오기 위해 설정했어요 알파나 드롭 아웃 같은
거요 그리고 별로 중요하지 않은 건 사용할 걸 여기 적어뒀어요
이건 중요한 hyperperameter가 아니에요 그냥 특정
값에 설정해야 하는 거죠
로라 매개 변수에 대해 보다시피 알파를 넘깁니다 잘 아는 거죠 다시
정의하진 않을게요 우리가 대상으로 하는 드롭아웃과 대상 모듈이요
그래서 로라 구성과 훈련 매개 변수 SFT 구성에는 실행 이름 같은 게 있어요
몇 개의 편성에서 작업하죠?
아주 중요한 16살요
제 경우에는 T4 박스에 있다면 그럴 수도 있겠네요
그러데이션이 쌓이는 게 문제네요
그리고 우리가 사용하기로 한 코사인 스케줄러의 학습률 같은 것도요
그리고 여기 아래쪽에 허브에 푸시하는 걸 원한다고 돼 있어요
저장할 때마다 즉, 배치 단계 5000개마다 이 모델을 허브에 푸시해야
합니다 그래야 허브에 일련의 저장량을 얻을 수 있죠
각각의 지점에서 모델을 볼 수 있어요
그리고 이 이름을 부여하고 개인의 압류로 하고 싶다고 했어요 좋은 결과를
얻을 때까지 아직 공개하지 않게요
이게 마지막 선이에요
특수 훈련 교관이라는 걸 만들었어요
간단한 것만 몇 개 통과하죠
첫째, 기본 모델을 알아야 해요
섬세하게 조정해야 하는 기본 모델은 llama 3이죠 1번요
2번, 훈련 데이터는요?
그걸 전달해요
로라의 조건은요?
아시다시피 알파, r, 드롭아웃 토큰라이저도 있고 방금 설정한 훈련 매개
변수도 있어요
마지막으로 콜레이터를 통과시킵니다 교활한 객체죠 가격의 $ 기호를 찾아서
알려주는 거예요
그 전은 예측하지 마세요
다음을 걱정하세요
이건 트레이너를 설정하는 거고요
다음 영상에서는 이 선 하나로 미세 튜닝 트레인을 작동시킬 거예요 이 선이 시작이죠
멋진 순간이 될 거예요
그럼 지체 없이 그걸 하러 가죠