LLM11 [생성형AI][LLM] vLLM: LLM 추론 및 배포 최적화 라이브러리 [생성형AI][LLM] vLLM: LLM 추론 및 배포 최적화 라이브러리 1. vLLM이란? Attention Key와 Value을 효과적으로 관리하는 새로운 Attention 알고리즘인 PagedAttention을 활용하여 높은 처리량을 보여주는 LLM 서비스입니다. Efficient Memory Management for Large Language Model Serving with PagedAttention 논문을 기반으로 합니다. 비슷한 LLM 추론 및 배포 서비스로 HuggingFace의 TGI(Text Generation Inference)가 있습니다. vLLM 블로그와 Github 저장소에서 vLLM에 관한 내용과 코드를 확인할 수 있습니다. 2. 기존 방식의 한계점 LLM 추론 방식의 특징 .. 2024. 3. 12. [생성형AI][LLM] RAG 기반 기술문서 QA Gemma 모델 (Hugging Face) RAG 기반 Gemma 기술문서 QA 챗봇 (RAG, Gemma 7B)¶ 목표: RAG와 Gemma를 활용한 Gemma 기술문서 QA 챗봇을 개발합니다. 1. 환경 설정 및 데이터 로드¶ 1-1. 필수 라이브러리 설치¶ In [ ]: !pip install transformers sentence-transformers langchain openai chromadb bs4 accelerate langchain_community pypdf text_generation 1-2. Hugging Face 토큰 등록¶ In [ ]: import os from google.colab import userdata os.environ['HUGGINGFACEHUB_API_TOKEN'] = userdata.get('HUGG.. 2024. 2. 24. [HuggingFace][Gemma] RuntimeError: shape '[1, 20, 3072]' is invalid for input of size 81920 문제 상황 Hugging Face Gemma 모델 실행 중 다음 에러 발생 text = "Quote: Imagination is more" device = "cuda:0" inputs = tokenizer(text, return_tensors="pt").to(device) outputs = model.generate(**inputs, max_new_tokens=20) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) RuntimeError: shape '[1, 20, 3072]' is invalid for input of size 81920 해결 방법 transformer 4.38.1 버전으로 설치 pip3 install -q -U transf.. 2024. 2. 24. [생성형AI][LLM] Gemma 모델 파인튜닝 (Hugging Face) Gemma 모델 파인튜닝 (Hugging Face)¶ Gemma 7B 모델을 SQuAD 한국어 QA Dataset으로 파인튜닝합니다. Gemma Fine-tuning 공식 예시를 기준으로 작성되었습니다. 1. 환경 설정¶ 라이브러리 다운로드 transformers의 경우 4.38.0 이전 버전에서는 Gemma 관련 버그가 존재하여 4.38.1으로 업데이트 해주셔야 합니다. In [ ]: !pip3 install -q -U bitsandbytes==0.42.0 !pip3 install -q -U peft==0.8.2 !pip3 install -q -U trl==0.7.10 !pip3 install -q -U accelerate==0.27.1 !pip3 install -q -U datasets==2.17.0.. 2024. 2. 24. [생성형AI][RAG] 증상 기반 법정감염병 판별 챗봇 😷 증상 기반 법정감염병 판별 챗봇 (RAG, LLaMA2)¶ 목표: RAG와 LLaMA2를 활용한 법정감염병을 판별하는 챗봇을 개발합니다. LLM의 환각과 해결 방안 LLM의 가장 일반적인 문제는 부정확하거나 환각적인 반응을 보인다는 것입니다. LLM의 가중치에 포함된 일반 지식과 최신 정보 간의 불일치는 RAG를 사용하여 해결될 수 있습니다. RAG(Retrieval-Augmented Generation, 검색 증강 생성) RAG에는 외부 지식 소스의 추가 정보를 제공하여 LLM(대형 언어 모델)의 출력을 향상시키는 작업이 포함됩니다. Langchain RAG 문서 내RAG 프로세스 참고 1. 환경 설정 및 데이터 로드¶ 1-1. 필수 라이브러리 설치¶ In [ ]: !pip install trans.. 2024. 2. 9. 이전 1 2 다음