관심있는 주제/LLM(17)
-
LLM) HuggingFace 모델 다운로드부터 gguf 및 quantization 수행 후 vLLM 서빙하는 순서 정리해보기 (테스트 필요)
qwen2.5-72b를 vllm에 올리는 테스트를 해보는 중에, ollama로 올린 것이 vllm으로 올린 것보다 더 빠른 것을 경험했습니다.vllm에 올린 모델은 허깅페이스에 올라온 모델을 기반으로 테스트했습니다.1. Qwen/Qwen2.5-72B-Instruct-AWQ2. Qwen/Qwen2.5-72B-Instruct-GPTQ-Int8 ollama 역시 양자화된 것인데Q4_K_M으로 양자화된 모델(gguf)임을 알 수 있습니다. 개인적으로 서빙을 할 때 당연히 ollama가 vllm 보다 느릴 줄 알았는데, vllm이 더 느린 것을 보고, 공식적으로 지원하지 않는 모델 같은 경우 느릴 수도 있겠다는 생각이 들었습니다.https://docs.vllm.ai/en/latest/models/supported..
2024.11.16 -
LangChain Products 알아보기 (LangChain, LangGraph, LangSmith, LangServe)
LangChain 제품들 요약(LangChain, LangGraph, LangSmith, LangServe) LangChain 제품과 각각의 주요 내용을 정리하면 다음과 같습니다:LangChain: 대형 언어 모델(LLM)을 활용한 애플리케이션 개발 프레임워크입니다.개발: 오픈소스 구성 요소와 LangGraph를 사용하여 상태 유지 에이전트를 구축합니다.생산화: LangSmith를 사용하여 체인을 검사, 모니터링, 평가하고 최적화합니다.배포: LangGraph Cloud를 통해 생산 준비가 된 API 및 Assistant로 변환합니다.LangChain의 구성 요소:langchain-core: 기본 추상화 및 LangChain 표현 언어.langchain-community: 서드파티 통합. (https:/..
2024.08.07 -
LLM) LLAVA 13b로 caption(설명) 또는 table 텍스트 데이터 생성해보기
llava라는 모델이 나와서 이미지 데이터만으로 테이블을 만들거나 caption을 생성한다는 것이 매력적인 것 같아 실험을 해봅니다. 자원이 없다 보니 개인 노트북에서 cpu로 돌리면서 결과를 하나하나 얻다 보니, 매우 오래 기다렸지만, 나름 유의미한 것 같아 공유드립니다. 아시다시피 한국 사람이다보니, 영어의 결과보다는 한국어로 결과를 얻고 싶었고, llava는 아무래도 영어를 주력 언어로 학습하다 보니, 학습을 시켜 아하나?라는 생각이 들었습니다. 하지만 그렇게 자원도 학습할 데이터도 없다 보니, 현재는 불가능하다 생각이 들었습니다. 그리고 번역기 성능이 좋다면, 오픈된 도메인 환경에서는 크게 문제 되지 않을 수도 있다는 생각이 들어서 deep_translator를 사용하여 번역하여 한국어로 결과를 ..
2024.07.30 -
Layout LM(=Language Model) 알아보기 - TODO
LLM이 나오게 되면서 말을 엄청 잘하는 모델이 일상인 시대가 되었습니다.여기서 좀 더 우리가 원하는 대로 만들기 위해서는 기존에 Pre training Model을 학습하거나 문맥 정보를 제공하여,우리가 원하는 답을 생성하도록 할 수 있습니다. 이때 학습할 자료나 문맥을 제공할 때 우리는 문서를 잘 읽어서 제대로 전달해야지 LLM 성능을 그대로 활용할 수 있다.하지만 실제로 문서를 보면 읽기 쉬운 문서만 있는 것이 아니라 복잡한 구조를 가지거나 그림을 해석해야 하는 등 다양한 작업들이 필요하다는 것을 알게 됩니다. 이번 글에서는 문서를 잘 이해하는 주제로 나온 논문인 Layout LM 들에 대해서 알아보고자 합니다. Layout LM 이란?LayoutLM은 스캔된 문서 이미지의 텍스트와 레이아웃 정보..
2024.07.23 -
논문 정리) Searching for Best Practices in Retrieval-Augmented Generation
SNS에서 요약된 내용과 이미지를 보고, 잘 정리가 되어있을 것 같아 정리해 보기로 하였습니다.이 논문을 통해 현재 최신 RAG는 어떻게 하는 지 알아보고자 합니다.논문 요약 RAG의 효과성: 최신 정보를 통합하고, 오류를 줄이며, 특히 전문 분야에서 답변의 질을 높이는 데 효과적입니다.현재 문제점: 많은 RAG 접근법이 복잡한 구현과 긴 응답 시간 문제를 가지고 있습니다.연구 목적: 다양한 RAG 방법과 조합을 조사하여 성능과 효율성을 균형 있게 유지하는 최적의 RAG 방식을 찾는 것입니다.멀티모달 검색: 시각적 입력에 대한 질문 답변 능력을 크게 향상시키고, “검색을 통한 생성” 전략을 통해 멀티모달 콘텐츠 생성을 가속화할 수 있습니다.도입부RAG란?RAG는 컴퓨터가 질문에 답할 때, 최신 정보를 찾..
2024.07.05 -
LangGraph) LangGraph에 대한 개념과 간단한 예시 만들어보기
LangGraph 가 나온 이유LLM을 통해서 FLOW를 만들다 보면, 이전 LLM 결과에 대해서 다음 작업으로 넘길 때, LLM이 생성되는 결과에 의해 실패하는 경험들을 다들 해보셨을 것입니다.개인적으로 분기 처리나 후처리 로직을 담는데, Output Parser에서 제어하려 했지만, 이러면 전반적인 구조나 결과를 보기가 쉽지 않았습니다. LangGraph는 LangChain 생태계 내에서 이러한 문제를 직접 해결하기 위해 설계된 강력한 라이브러리입니다. 이 라이브러리는 여러 LLM 에이전트(또는 체인)를 구조화된 방식으로 정의, 조정 및 실행할 수 있는 프레임워크를 제공합니다. LangGraph란 무엇인가요?LangGraph는 LLM을 사용하여 상태를 유지하고 여러 에이전트를 포함한 애플리케이션을 쉽..
2024.06.29 -
Advanced RAG - 질문 유형 및 다양한 질문 유형을 위한 방법론(Ranker)
다양한 사용자 질의 유형RAG 애플리케이션에서 사용자 질의는 개별 의도에 따라 다양하게 달라집니다. Microsoft는 다양한 사용자 질의 카테고리를 식별하였고 해당 내용은 다음과 같습니다. 질의 유형 (Query Type)설명 (Explanation)예시 (Example)개념 탐색 질의 (Concept Seeking Queries)여러 문장이 필요한 추상적인 질문 (Abstract questions that require multiple sentences to answer)시맨틱 검색을 사용하여 결과를 순위 매기는 이유는 무엇인가요? (Why should I use semantic search to rank results?)정확한 스니펫 검색 (Exact Snippet Search)원본 문장에서 정확히..
2024.06.22 -
LLM) HuggingFace 에 사용하는 Tokenizer 의 결과 비교하는 Streamlit APP
최근 인공지능 분야에서 언어 모델의 발전은 눈부십니다. 이러한 모델들은 텍스트를 처리하기 위해 고유한 방식으로 단어를 토큰화하는 토크나이저를 사용합니다. 본 글에서는 Python의 인기 라이브러리인 Streamlit을 사용하여 여러 LLM 토크나이저를 비교하는 웹 애플리케이션을 만들어서 배포했습니다.이 앱은 Hugging Face의 transformers 라이브러리를 통해 다양한 토크나이저를 로드하고, 사용자가 입력한 텍스트에 대해 토큰화를 수행합니다. 사용자는 웹 인터페이스를 통해 원하는 토크나이저를 선택하고, 토크나이저의 세부 정보 및 토큰화된 결과를 비교할 수 있습니다. Streamlit 앱 (링크)- 아래에 임베디된 앱이 보이지 않으면 위의 링크를 클릭해서 활성화 부탁드립니다 :)Toggle St..
2024.06.01 -
LLM) Quantization 방법론 알아보기 (GPTQ | QAT | AWQ | GGUF | GGML | PTQ)
양자화 기술은 모델을 압축하여 빠르고 효율적으로 만드는 기술입니다. 모델의 가중치와 활성화 값을 줄여 메모리를 절약하고 연산 속도를 높입니다. 이 글은 여러 양자화 기술을 단계별로 설명하고, 코드를 제공하여 사용자가 직접 모델 압축을 수행할 수 있도록 합니다. 이를 통해 머신 러닝 모델을 최적화하고 더 효율적으로 활용할 수 있습니다. 크게 요즘 많이 나오는 방법론은 다음과 같습니다QuantizationGPTQGGUF/GGMLQATAWQPTQ (Post-training Quantization) - 훈련 후 양자화GPTQGGUF/GGML QLORA’s 4 bits QAT (Quantization-Aware Training) - 훈련하면서 양자화 TensorflowPytorchHuggingface AWQQA..
2024.04.29 -
LLM) Chat Vector 논문 내용 및 실험해보기
논문 내용 정리 CP : Continual Pre-trainingPLM : Pre-trained Language Model 해당 논문은 우연히 LLAMA3에 CHAT VECTOR 논문 방식으로 튜닝한 모델이 있다고 해서 찾아보게 되었습니다.https://huggingface.co/beomi/Llama-3-Open-Ko-8B-Instruct-preview beomi/Llama-3-Open-Ko-8B-Instruct-preview · Hugging FaceLlama-3-Open-Ko-8B-Instruct-preview Update @ 2024.04.24: Release Llama-3-Open-Ko-8B model & Llama-3-Open-Ko-8B-Instruct-preview Model Details L..
2024.04.26 -
LLM) 모델에서 사용하는 GPU 계산하는 방법
LLM에서 GPU를 얼마나 사용하는지 궁금할 때가 있다. LLM 학습할 때는 크게 1.모델 2. 옵티마이저 3. 그래디언트 4. 활성함수의 합으로 이루어져 있다고 하고 LLM 평가할 때는 1. 모델 만을 보통 고려한다. 그 다음에 고려하는 부분은 모델에서 precision을 얼마나 할 지에 따라서 GPU 양의 차이가 크다. 밑에 영상처럼 파라미터를 줄이기 위해서 Quantization 하는 경우도 많다. 사이트 공유 이때 어떻게 계산하는지 알려주는 사이트를 찾아서 공유한다. 모델을 선택하고, 입력과 출력 등 설정을 하게 되면 각각 gpu를 얼마나 쓰는 지 알려주는 앱이다. HTML 삽입 미리보기할 수 없는 소스 참고 https://huggingface.co/blog/hf-bitsandbytes-integ..
2024.04.15 -
LLM) Training 방법중 ORPO(Monolithic Preference Optimization without Reference Model) 알아보기
LLM 학습 방법을 찾는 중에, SFT, DPO, RLHF는 알고 있었는데, ORPO라는 것을 찾게 되었고, 잠깐 봤을 때, 방법론이 효율적인 것 같아서 정리해보고자 한다. 최근에 LLM 모델에서 좀 더 사람의 선호에 맞게 학습하는 방법들이 등장하고 있습니다. 기존에 RLHF, DPO, IPO, KTO 같은 방식이 생기고 있고, 기존에 RLHF방식보다는 저렴하게 할 수 있게 있습니다. DPO, IPO 역시 기존에 RLHF 방식보다는 저렴하지만, 결국 이것도 2개의 모델이 필요합니다. 1개의 모델은 Supervised Fine-Tuning(SFT) 단계를 위한 모델 즉, 우리가 원하는 TASK에 대답을 할 수 있도록 훈련하는 것 다른 모델은 SFT 모델을 참고하여 사람이 좀 더 선호하는 모델을 만드는 것이..
2024.04.14