Natural Language Processing/NLG 이모저모9 RAGAS+LangSmith 로 LLM 생성 데이터 평가하기 LLM 을 통해 생성된 답변의 성능을 평가하는건 어려운 Task 이다.현재 평가 방법으로는 성능이 좋은 LLM 모델을 통해 평가하는 방법(LLM-as-a-judge, Pheonix, RAGAS, DeepEval)은 많지만 해당 평가 방법을 프로젝트에 적용시키기는 쉽지 않다.본 포스팅은 프로젝트에 가장 많이 활용되는 RAG Process 의 생성 답변 성능을 RAGAS 로 평가하는 과정과 그 결과에 대해 다루도록 한다.RAGAS 의 성능 근거를 확인하기 위해 LangSmith 를 통해 Log 를 확인한 결과도 다루겠다.※ sLLM 에 대한 연구를 하는 사람에게 도움이 되는 글임을 유의하길 바란다. 목차1. 사용 결과 피드백2. 환경 설정3. 평가할 데이터 Load4. 모델 평가5. 성능 평가 근거 확인 .. 2024. 9. 5. LoRA 학습 코드 예시 LLM 에 대한 연구를 하는 사람이라면 누구나 LoRA 를 들어봤을거라 생각한다.이번 포스팅은 LoRA 및 qLoRA 학습 코드 예시를 step by step 으로 설명하고자 한다.※ sLLM Instruct tuning 에 관심이 깊은 사람에게 도움이 되는 글임을 유의하길 바란다. 목차1. Model define2. LoRA config define3. Train datasets define4. Arguments setting and Train5. 마무리,, 1. Model defineLoRA 또는 qLoRA 학습을 위해서는 Model 과 Tokenizer 를 불러와야 한다.본 예시에서는 beomi 님이 배포하신 Llama-3-Ko 모델을 foundation 으로 사용해보았다.## load module.. 2024. 9. 2. LLM 을 Pretrain 학습하려면,, 많은 기업이 ChatGPT 와 같은 LLM 을 만들어 서비스화 하고자 한다. 이를 위해 LLM 을 학습하여 서비스화하는 프로젝트를 수행할 인력을 불철주야 찾고 있다. (고 들었다..) 이번 포스팅은 LLM 을 학습하는 방법 중 가장 원초적인 방법인 Pretrain 이 왜 어려운지, 왜 많은 기업에서 LLM 을 학습할 인력을 구인하는지 그 이유에 대해 알아보겠다. ※ LLM 학습에 관심이 깊은 사람에게 도움이 되는 글임을 유의하길 바란다. 목차 1. Pretrain for LLM 방법s a. Pretrain LLM 처음부터 만들기 b. 배포된 Pretrain LLM 을 base 로 추가 Pretrain 하기 2. 기업이 말하는 '우리'가 만든 LLM 이란 3. 결론 (LLM 전문가를 구인하는 이유) 1. .. 2024. 1. 25. LLAMA 모델 구조 파악 이전 포스팅에서는 'LLM 을 학습하기 위해 어떻게 학습 데이터를 만들어야 하는지' 에 관해 소개했다. 이번 포스팅은 Backbone 이 되는 LLM 으로 가장 많이 활용되는 LLAMA 모델의 구조에 대해 알아보도록 하겠다. ※ NLP 전문가 Level 의 연구자에게 도움이 되는 글임을 유의하길 바란다. 목차 Model Architecture a. LlamaModel 구조 i. Embedding Layer ii. Decoder Layer b. CausalLM Layer 참고 문서 1. Model Architecture a. LlamaModel 구조 i. Embedding Layer nn.embeding 하나만 사용한다. Encoder 모델의 Embedding layer 와 다르다. Encoder 모델의 .. 2024. 1. 8. LLM 학습을 위한 데이터 생성에 대하여,, 이전 포스팅에서는 LLM 에 관한 전반적인 내용을 비전문가도 이해할 수 있도록 소개했다. 이번 포스팅은 'LLM 을 학습하기 위해 어떻게 학습 데이터를 만들어야 하는지' 에 관해 알아보도록 하겠다. 이전 포스팅과 달리 전문가 Level 의 연구자에게 도움이 되는 글이라는 점을 유의하길 바란다. 목차 sLLM 이란? Supervised Fine-Tuning 의 중요성 학습 데이터 생성 방법 학습된 모델의 예측 경향성 1. sLLM 이란? sLLM 은 small Large Language Models 의 줄인 말이다. 좀 이상하지 않은가? small Large 라는 표현이... 이상해도 어쩔 수 없다. 그냥 LLM 의 수식어로 small 이 들어갔다고 생각하자. LLM 인데 다소 작은 LLM 이라는 의미다... 2023. 12. 29. ChatGPT Prompt 작성 팁 지난 포스팅에서는 LLM 의 치명적인 이슈인 할루시네이션을 줄이는 방법에 대해 알아봤다. 이번 글은 사용자가 원하는 답변을 얻기 위해 LLM 에 질문하는 방법인 Prompt 팁을 다루고자 한다. 단, 필자의 글은 Prompt 를 어떻게 구성해야 좋은지 경험적인 근거를 바탕으로 작성했음을 유의하길 바란다. 경험적 근거이기 때문에 정량적으로 판단하지 못했다. 지난 포스팅 링크: LLM 의 할루시네이션을 줄이는 방법 ※ 필자가 실제 프로젝트에서 수행한 결과를 바탕으로 Prompt 형식을 추천하였음. 좋은 Prompt 의 근거는 정량적 지표의 기준을 잡기 힘들었기 때문에 경험적 근거에 가까움 Prompt 팁 팁 리스트 Few-Shot Learning 이론은 LLM 의 할루시네이션을 줄이는 방법 에서 In-Con.. 2023. 12. 27. LLM 의 할루시네이션을 줄이는 방법 지난 포스팅에서는 LLM 을 어떻게 만드는지(=학습하는지), LLM 의 단점은 무엇인지(단점: 할루시네이션) 그리고 할루시네이션을 줄이기 위한 학습 방법은 무엇인지 알아봤다. 이번 글은 LLM 의 단점인 할루시네이션을 줄이기 위한 전략을 다룬다. 전략이기 때문에 LLM 학습이 아닌 점을 참고하길 바란다. 지난 포스팅 링크: LLM 학습에 대한 고찰 ※ 글에서 언급하는 단어에 혼동이 있을 수 있습니다. ['인공지능 모델', 'Generation 모델', '모델'] 이라는 표현은 모두 ChatGPT 와 같은 LLM 을 의미합니다. ['Input', 'Input text'] 의 의미는 LLM 에 들어가는 글(=text)을 의미합니다. ['Output', 'Output text'] 의 의미는 LLM 에서 Inp.. 2023. 12. 27. LLM 학습에 대한 고찰 ChatGPT 의 등장 이후 LLM 의 인기가 어마어마하다. 필자의 개인적인 생각으로는 2015년 알파고의 파급력보다 ChatGPT 의 파급력이 더 크다고 생각한다. 많은 Tech 기업에서는 자체 기술력으로 LLM 을 만들고 서비스할 수 있다고 광고하고 있다. 본 포스팅에서는 LLM 을 어떻게 학습할 수 있는지, 학습 방법 별 특징은 무엇인지 설명한다. 필자는 LLM 을 효율적으로 활용하기 위해서는 학습 방법을 이해해야 한다고 생각한다. 인공지능 모델은 학습한대로 예측하는 경향성을 띄기 때문이다. ※ 글에서 언급하는 단어에 혼동이 있을 수 있습니다. ['인공지능 모델', 'Generation 모델', '모델'] 이라는 표현은 모두 ChatGPT 와 같은 LLM 을 의미합니다. ['Input', 'Inpu.. 2023. 12. 26. [소개] 초거대 언어 모델이란? 들어가며.. 최근 여러 대기업에서 자신들이 만든 초거대 언어 모델을 소개하며 홍보하는 걸 자주 접할 수 있다. 물론 해당 분야에 관심이 있는 사람들만 접할 수 있었겠지만 본 포스팅을 읽는 독자들은 접했으리라 믿는다. 대기업들은 왜 초거대 언어 모델을 만드는지, 왜 초거대 언어 모델이 필요한지, 초거대 언어 모델의 장점은 무엇인지 본 포스팅에서 소개하도록 하겠다. 초거대 언어 모델이란? AI라고 부르는 인공지능은 간단히 말하면 일종의 함수(y = f(x))이다. 챗봇을 예로 들면 발화자의 말이 text로 변환되어 함수의 x로 들어가 인공지능이라는 함수 내부에서 여러 계산이 이루어진다. 계산의 결과는 y로 발화자의 말에 대답하는 text가 된다. 그렇다면 왜 여러 대기업에서 파라미터가 5,000 억개, 1조.. 2022. 7. 16. 이전 1 다음 반응형