본문 바로가기
728x90
300x250

분류 전체보기47

AutoGPTQ를 이용한 양자화 하는 방법 양자화 LLM 모델을 양자화 하기 양자화 모델 실행하기 양자화 모델 파인 튜닝하기 양자화 모델의 필요성 양자화 하지 않는 라마2의 경우 필요한 사양 훈련 기준 7B 모델의 경우, "GPU - 1x Nvidia A10G 12gb"를 권장. 13B 모델의 경우, "GPU - 1x Nvidia A100 40gb"을 권장. 70B 모델의 경우, "GPU - 8x Nvidia A100 40gb"을 권장. 훈련시 대략 최소 320GB 양자화 개념요약 양자화 성능의 정확도 손실에 미치지 않는 범위에서 float32에서 4bit,8bit와 같이 저밀도가 낮은 데이터 타입으로 표현해서 효율적 계산을 수행하도록 하는 방법 주로, 입력을 정량화 상수로 스케일링 하여 입력을 정규화 하는 것으로, 학습이 완료된 가중치에 flo.. 2023. 10. 7.
LLM 기반의 서비스 만들 때 LLM 기반의 서비스 만들 때 LLM을 이용한 서비스를 많을때 필요한 과정을 선택할 때, 다음과 같은 요소들을 고려해야 합니다: 복잡성, 비용, 품질 등.] Train from Scratch: 모델을 처음부터 학습시키는 방법 Prompt Engineering: 사용자에게 적절한 질문을 유도하기 위해 프롬프트를 설계 RAG 활용: Retrieval-Augmented Generation(RAG) 기술을 사용하여 외부 정보의 맥락을 가져오고, 이를 기반으로 언어 모델이 답변을 생성 Fine-tuning: 미세 조정 학습을 통해 사전 레이블링된 데이터를 활용하여 모델을 특정 작업에 맞게 조정 데이터 소스: 다양한 데이터와 데이터베이스가 필요합니다. 필요한 경우 플랫폼 내에서 데이터를 변환할 수도 있으며, 데이터.. 2023. 10. 6.
VLLM 소개 # VLLM PagedAttention은 vLLM(very Large Language Model)에서 사용되는 기술로, LLM(언어 모델)의 성능을 향상시키기 위한 것입니다. 이 기술의 주요 내용을 간단하게 설명하면 다음과 같습니다 문제점: 기존 LLM에서 성능이 메모리에 의해 제한되는 문제가 있었습니다. 특히, 자기회귀 디코딩 과정에서 LLM에 입력되는 토큰은 모두 어텐션 키(key)와 값(value) 텐서를 생성하며, 이러한 텐서는 GPU 메모리에 보관되어 다음 토큰을 생성하는 데 사용됩니다. 이러한 키와 값 텐서의 캐시를 KV 캐시라고 합니다. KV 캐시의 문제점 대용량: LLaMA-13B 모델에서 하나의 시퀀스에 대해 최대 1.7GB의 메모리를 사용합니다. 동적 크기: 시퀀스 길이에 따라 크기가 .. 2023. 8. 29.
llama2를 context 8k까지 확장하는 방법 RoPE, exllama class ExllamaHF(PreTrainedModel): def __init__(self, config: ExLlamaConfig): super().__init__(PretrainedConfig()) self.ex_config = config self.ex_model = ExLlama(self.ex_config) self.ex_cache = ExLlamaCache(self.ex_model) self.generation_config = GenerationConfig() self.lora = None ...중략... @classmethod def from_pretrained(cls, pretrained_model_name_or_path: Optional[Union[str, os.PathLike]], *m.. 2023. 8. 24.
728x90
300x250