콜랍에 돌아왔어요 콜랍 공책 대회 7주 차 5일째예요 T4 박스에 탔는데
저렴한 싸구려 박스죠
훈련이 아니라 추론하는 거니까 그것만 하면 돼요
아니면 훈련이 다른 탭에서 진행되거나요
말씀드리는 순간 설치 몇 개로 시작해서 늘 하던 대로 가져오기로 했어요
여기 있는 상수에 대해 말씀드릴게요
기본 모델은 라마 3이고요 프로젝트 이름은 포옹하는 얼굴 사용자 프리저예요
여기서 선택해 put in을 해요
여러분의 이름을 입력하고 모델에 대한 추론과 테스트를 실행해 주세요 여러분이
잘 조율해서 Hub에 업로드한 모델이죠
하지만 인내심을 잃으셨거나 제 테스트 결과가 궁금하신 거라면 제 이름은
그대로 두셔도 돼요 이 모델은 공개될 테니까요
이 모델에 맞서 달릴 수 있어요
그리고 실행 이름을 선택했어요
이게 실행명이에요
39가 뭔지 아실 겁니다 제가 과거에 여러 개국 시대에 사용한 포옹의
연계명이죠
이 수정본은 제가 어떤 체크포인트를 선택할지 지정하는 곳이죠
너무 과해지기 전에 골라야 해요
이 영화는 여전히 좋은 결과가 나오고 있었어요
그리고 이게 제 미세 튜닝 모델의 이름이 되죠
당연히 포옹하는 얼굴 이름이죠
미안해요
이걸 만들어야겠어요
안 그러면 제 이름을 하드 코딩해야 해요
하지만 전 두 가지 버전을 만들 거예요
하나는 여러분이 입력한 포옹 얼굴 유저예요
다른 건 주석 처리로 이 라인을 주석 처리 해제하라고 하죠 제 모델을 사용한다면요
물론 모델을 사용한다면 실행명과 개정도 바꿔야 합니다 여러분이 사용하는
것에 맞추기 위해서요
for reision = 0을 입력하지 않는 것부터 시작하세요
수정 = 0일 수도 있고요 수정 을 사용하지 않는다면 말이죠
그리고 데이터 세트에서는 여러분이 정성껏 정리해서 업로드한 데이터 세트를 다시 로드합니다
허깅페이스 허브에 말이죠
아니면 제 걸 쓰셔도 돼요
음, 그런데 만약 이것의 저비용 버전을 선택하고 가전제품 전용
가전제품 모델을 훈련시켰다면 당연히 여러분이 구축한 라이트
데이터 세트와 가전제품 모델을 채워야 합니다 그럼 비슷한 결과가 나오죠
비트라는 퀀트는 진실이에요
수량화하는 거죠 기억하실지 모르겠지만 색색의 선을 출력하는 좋은
방법들이에요
네
얼굴 포옹에 로그인해요
이제 익숙해졌잖아요
훈련이 아니니까 무게나 편향에 로그인할 필요 없어요
그런 다음 데이터 세트를 로드하죠
그리고 지금 이 시점에서 첫 번째 훈련 데이터 세트를 보면 더는 사용하지 않을
거예요
하지만 가격이 들어 있어요
이렇게 생겼어요
물론 테스트 데이터 세트를 사용할 겁니다 이렇게 생겼죠
텍스트에는 가격이 없어요
가격은 모델에 없는 답안에만 달려 있어요
이 문장만 있어요
비트 박스를 만들 때 다시 한번 확인해 주세요 비트 박스를 만들 때
가격표를 실수로 넘기면 실수가 되겠죠?
하지만 우린 아니죠
좋아요, 그럼 먼저 토큰라이저와 미세 튜닝 모델을 로드할게요
먼저 올바른 양자화를 선택해요
예전과 같은 방식이죠
이것도 예전과 똑같아요
여기만 살짝 달라요
토큰이저도 설치했어요
매개 변수를 설정하기 위해 상용 문서를 넣었어요.
올바른 퀀트 구성을 사용하기 전처럼 베이스 모델을 로드하죠
또 한 줄짜리 대사가 나왔네요
이건 새로운 거예요
이제 왼쪽 모델이라는 걸 로드하고 있어요
매개 변수 효율 미세 조정의 약자란 걸 기억하세요
로라를 암호화한 상자 이름이에요
왼쪽 모델은 안아주는 얼굴 모델이고 베이스 모델을 나타내요
밑부분에는 어댑터가 달려 있어요
이걸 로딩할 거예요
Frompretled이라고 부르는군요
그리고 위에서 설정한 미세 튜닝 모델 이름을 베이스 모델로 넘길 수 있어요
원하시면 복습도 가능해요
수정값이 0이 아니면 넘기는 거죠
안 그러면 전달할 필요가 없죠
미세 튜닝 모델에 로드될 거예요
마지막에 메모리 발자국을 프린트할 거예요
메모리 발자국이 5개였던 거 기억하시죠? 전에는 6GB였는데 지금은 5GB예요 7시요
5700MB인 이유는 로라 어댑터가 100이나 109MB 더 있기 때문이죠
로라 A와 로라 B가 있어요
미세 튜닝 모델로 한 번 더 프린트할게요
기억하실지 모르겠지만 주중에 이걸 했어요
둘째 날, 제가 미래를 보고 있다고 했죠 이걸 사용하고 있었거든요
이 모형은 우리가 봤던 거예요
이렇게 보이죠
이걸 기억하시면 신경망의 다양한 층이 보입니다
여기 장력 층을 보면 드롭아웃 층이 있어요 Get up
자퇴 확률 10%에 대해 잘 아시죠?
로라 A와 로라 B도 있어요
로라 A와 로라 B는 각 층을 나타내는 거예요 우리의 목표
모듈이죠
그리고 여기 끝에 LM헤드도 주목해 주세요. 방금 이야기
했듯이 완전히 연결된 마지막 레이어에서 로지트와 가능한 보캡 토큰 보캡 항목의
숫자를 출력합니다. 그리고 소프트맥스로 가서 다음 토큰의 가능성을
예측하죠.
좋아요
준비됐어요?
그래서 추론을 실행할 거예요
한 번 더 빠르게 설명하고 싶은데요 GPT 40이 76 라마 3으로 바뀌었다는
메모리를요 기본 모델 1개요
이 미숙련 모델은 396달러였어요
정말 실망스럽네요
여기 이 사람은 제 오류로 127점을 받았어요 라마가 사람을 이길 수 있는지
보고 싶어요
오픈 소스 모델로서 명심해야 할 점은 여러분이 여기서 터무니없는 걸 기대하실까
봐 말씀드리는데 가격이 많이 변동될 수 있는데 모델은 그에 대해 아무것도 몰라요
제품 가격이 급락했는지도 알 수 없습니다. 엄청난 가격으로 판매되고 있으니까요.
제품 가격에는 자연적으로 큰 차이가 있어요 제가 직접 만들어
보려 했을 때 알게 된 사실이죠
이건 아주 어려운 과제예요
별로 어렵지 않다고 생각할 수도 있어요
정말 힘들어요
직접 해 보면 알 거예요
네
그 점을 명심하고 계속하죠
가격 추출 함수는 아시다시피 문자열이 있죠 가격 이즈 달러를 찾아요
그 다음에 나오는 숫자를 한 번 더 찾아보죠 스스로 만족하도록 가격을
추출해 문자열을 만들어보죠.
가격은 달러입니다 아주 멋진 달러죠 8, 9, 99, 그쯤 돼요 제가 말하고 싶은 대로 가격을 말하죠
I'm get you're know
이게 추출가예요
그리고 이건 모델 예측 함수입니다 전에 사용했던 함수로
입력을 받죠
그건 관심 마스크를 쓴 거죠
혹시 제가 말씀드린 그거 피하시는 거예요?
입력 프롬프트를 예측하기 위해 필요한 것은 아니라는 것을 확실히 하기 위해 경고를
던지죠
미세 조정 모델에서 발생하는 출력은 입력값을 전달하죠
주의 마스크를 통과시킵니다. 새로운 토큰 세 개만 있으면 됩니다. 왜냐하면 다음 토큰은 우리가 정말
중요하게 생각하는 것이기 때문이죠.
하지만 만약 끔찍한 실수를 저지르면 그걸 포착하기 위해 몇
가지 더 입력할 거예요 그리고 답변을 하나만 받아내죠 그 답변 하나만 받아내서
가격을 추출해요
비트만 있으면 이 예측 함수보다 좀 더 잘할 수 있어요
큰 차이는 없어요
하지만 이 모델에 대한 컨트롤이 아주 많기 때문에 다음 토큰을 다루는
방법에 대해 좀 더 현명한 비트를 할 수 있어요
그래서 이 함수를 작성했어요
향상된 모델 예측 함수죠
향상된 모델 예측 결과 네
비트가 좀 더 복잡해요
그러니까 간단히 설명할게요 하지만 그렇게 중요한 건 아니에요
가장 가능성이 높은 다음 토큰이 아니라 가장 가능성이 높은
세 개의 토큰을 취하는 거죠
이 세 가지의 확률은 어떻게 나왔나요?
실제 숫자를 나타내죠
가령, 비트 상자가 100달러쯤 되고 99$보다는 조금 적고 101$쯤
될 거라고 했죠
근데 100이 제일 높았어요
그런 다음 그 세 숫자 사이에 가중된 평균을 얻어요
비트가 뭘 예측하려 하는지 좀 더 정확하게 알아낼 수 있는 방법이죠
그리고 항상 숫자가 전부인 건 아니지만 예측할 수 있게 해주죠
제가 사용한 기술이에요
분류 문제로서 퇴행 문제를 치료하고 있다는 사실을 해결하는
거죠
이걸 아는 게 그리 중요하진 않지만 위의 함수를 사용한다고 크게
달라지진 않아요
비트가 약간 달라요
신경망의 마지막 계층에 관심이 있다면 한 번 살펴보는
게 좋을 것 같습니다. 왜냐하면 미세하게 조정한 모델이 입력을 통과하면
출력을 얻고 이것들은 로그잇으로 간주됩니다. 토큰라이저의 가능한 어휘 엔트리에 걸쳐 있는
벡터죠.
그런 다음 소프트맥스를 호출해 확률로 전환하죠
그리고 상위 3인에 들죠
그리고 이 검프라는 게 상위 3위의 평균을 가늠하는 거예요
가격도 중대하고 가격도 중대해요
그게 반환되죠
모델 예측과 아주 유사하죠
좀 더 정확한 답을 제공할 뿐이죠 최고의 예측이 아니라 상위 3개 예측에
근거해서요
그리고 우리 반 테스터도 있어요
이건 우리가 전에 사용했던 테스터 클래스와 정확히 같아요
제가 전에 언급했던 것을 짚고 넘어가야 할 것 같아요 이게 전체의
핵심이에요
통과한 함수를 취하고 호출할 때 통과하는 건 데이터 포인트와 관련된 텍스트예요
가격은 당연히 안 알려줘요
문자만 알고 있어서 가격은 전혀 몰라요
네, 물론이죠
그런 다음 테스트를 호출하죠 개선된 함수를 사용해서요 테스트를
통과합니다 드라마 같죠 다음 비디오에서 결과를 알려드리죠 get
it get it
거기서 봐요