본문 바로가기
728x90
300x250

코딩/프로젝트8

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.
nllb200을 이용한 다국어 번역 페이스북에서는 다국어 번역기 모델 nllb를 공개한 적이 있는데 다양한 파라미터와 증류된 모델까지 공개해놨다. https://huggingface.co/facebook/nllb-200-distilled-600M facebook/nllb-200-distilled-600M · Hugging Face NLLB-200 This is the model card of NLLB-200's distilled 600M variant. Here are the metrics for that particular checkpoint. Information about training algorithms, parameters, fairness constraints or other applied approaches, and feat.. 2023. 8. 17.
Transformers를 generator로 만드는 방법 transformers를 쓰면 주로 model.generate()를 쓰게 되는데 이것을 쓰면 모든 토큰이 생성이 끝날때 까지 아무 것도 확인 할 수 없다. streamer 기능을 사용하면 바로바로 생성되는 토큰을 확인 할 수 있고 generator로 만들 수 있는데 이번에는 특히 TextIteratorStreamer를 이용해서 구현할 것이다. 아래 코드는 GPT-2로 간단히 generator로 구현하는 코드이면서 SSE를 통해 서버에 토큰별로 보내는 코드이다. from threading import Thread from transformers import AutoTokenizer, AutoModelForCausalLM, TextIteratorStreamer # transformers model load .. 2023. 8. 16.
728x90
300x250