본문 바로가기
728x90
300x250

코딩/LLM23

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