본문 바로가기
728x90
300x250

코딩48

RLHF 인간 피드백 강화학습 코드분석 (chatllama, stackllama) 정의 사람의 피드백을 통해 파인튜닝함으로써 LM을 사용자 의도에 맞게 조정하는 방법이다. InstructGPT, ChatGPT 등에 사용되었다. 사람이 직접 평가한 결과, 1.3B의 파라미터를 가진 InstructGPT 모델이 GPT3-175B 모델보다 선호도가 높았다 퍼블릭 NLP 데이터 셋에서 성능 저하를 최소화하면서 진실성이 개선되고, 독성 출력 생성이 줄어들었지만 편향은 줄어들지 않았다 InstructGPT는 단순한 실수를 하지만, 사람의 피드백을 통한 파인튜닝이 언어 모델을 사람의 의도에 맞게 조정하는 데 있어 유망한 방향임을 보여주었다. 절차 아래 그림은 RLHF의 절차를 보여준다. 지도 파인튜닝, 보상 모델 학습, 근사 정책 최적화를 통한 강화 학습 순으로 진행된다. Step 1) 데모 데이.. 2023. 10. 24.
AutoGPTQ로 양자화 직접 해보기 오늘은 AutoGPTQ로 한글 라마13b 모델을 양자화해볼려고 한다. 오늘도 koalpaca 데이터셋을 사용하려고 한다. 가볍게 데이터셋 프롬프트 형식만 맞춰서 만들어주고... ds = load_dataset("beomi/KoAlpaca-v1.1a", split="train") ds_list = [] for i in range(len(ds)): ds_list.append(f"### User:\n{ds[i]['instruction']}\n\n### Assistant:\n{ds[i]['output']}") pickle.dump(ds_list, open("./ds.pkl", 'wb'), protocol=4) AutoGPTQ를 통해서 양자화 하기 위한 코드르 준비한다. 뭐 별거 없다. 다 만들어주는 패키지ㄷㄷㄷ.. 2023. 10. 23.
exllamav2로 exl2형식으로 양자화하기 https://github.com/turboderp/exllamav2/blob/master/doc/convert.md #데이터셋 만들기 parquet형식을 만들어야된다. # 한글모델 양자화를 위해 코알파카셋을 사용한다. from datasets import load_dataset ds = load_dataset("beomi/KoAlpaca-v1.1a", split="train") ds_list = [] for i in range(len(ds)): ds_list.append(f"### User:\n{ds[i]['instruction']}\n\n### Assistant:\n{ds[i]['output']}") df = pd.DataFrame({'instruction':ds_list}) df.to_parquet.. 2023. 10. 20.
LLaVA-1.5 이미지 텍스트 멀티모달 LLaVA-1.5는 이미지 분석이 가능한 멀티모달의 오픈소스로서 11개 벤치마크에서 소타를 달성했다. https://llava-vl.github.io/ 원문에서 중요한 아키텍쳐 부분 발췌 ``` 주요 목표는 사전 훈련된 언어 모델(Language Model)과 시각 모델(Visual Model)의 능력을 효과적으로 활용하는 것입니다. 네트워크 아키텍처는 Figure 1에서 보여집니다. 우리는 LLaMA를 우리의 LLM fφ(·)로 선택하였으며, 이는 여러 오픈소스 언어 모델 튜닝 연구에서 그 효과가 입증되었습니다. [43, 45, 34]. 입력 이미지 Xv에 대해, 우리는 사전 훈련된 CLIP 시각 인코더 ViT-L/14 [36]를 고려합니다. 이는 시각 특성인 Zv = g(Xv)를 제공합니다. 우리는 .. 2023. 10. 10.
728x90
300x250