본문 바로가기

전체 글73

[논문 리뷰]LongSkywork: A Training Recipe for Efficiently Extending Context Length Continual Pretrain Training 시 Input contexts 구성을 어떻게 하는게 모델 성능 향상에 도움이 될지를 서치하던 중 발견한 논문이다.본 논문은 draft 하게 확인했기 때문에 상세한 내용 확인을 위해서는 직접 Detail check 이 필요하다.목차1. 논문의 목적2. 개요3. Methodology4. 실험 결과 1. 논문의 목적컨텍스트 길이 확장효율적인 훈련 방법 제안일반적인 장문 처리 능력 향상 2. 개요CIP와 SynL 방법을 통해 효율적으로 장문 컨텍스트 학습 데이터를 생성하고, 이를 통해 모델의 장문 처리 능력을 크게 향상LongSkywork는 최대 200,000 토큰의 컨텍스트를 처리할 수 있는 장문 LLM합성 데이터의 사용이 실제 수집된 장문 데이터보다 더 효과.. 2024. 10. 17.
[논문 리뷰]IN-CONTEXT PRETRAINING: LANGUAGE MODELING BEYOND DOCUMENT BOUNDARIES Large Language Model 을 사전학습 하기 위해서는 long input context 가 필요하다.최근 모델들은 대부분 8K 를 사용하는데 8K 만큼의 token 을 가진 Documents 는 적다.그래서 보편적인 방법으로 Document 를 이어붙여 8K 만큼 만들어준 뒤 모델을 학습시키는 방법을 사용한다.본 논문에서는 Document 를 어떻게 이어붙여야 성능 향상의 효과가 있는지를 실험한 내용이다.목차1. 논문 핵심 내용 요약2. 장점 & 단점 정리3. 코드 유무 확인 1. 논문 핵심 내용 요약LLM 학습 시 input contexts 구성할 때 문서의 type 을 고려하여 이어 붙여 모델을 학습하면 성능 향상 효과가 있다고 한다.본 논문에서는 수십억 개의 문서에서 반복 없이 모든 문서.. 2024. 10. 17.
[논문 리뷰]Magpie: Alignment Data Synthesis from Scratch by Prompting Aligned LLMs with Nothing Synthesis datasets 생성을 위한 레퍼런스 체크를 하던 중 Magpie 논문을 확인했다.LLM 의 특징을 활용하여 데이터셋을 생성하는게 흥미로웠다.직접 몇 가지 테스트를 해봤는데 되긴 하더라.다만... Domain specific task 에 대해서는 아쉬움을 느낀다.그래도 기왕 논문을 확인했으니 기록을 남긴다.논문 링크: arxiv 바로가기목차1. 논문 핵심 내용 요약2. 장점 & 단점 정리3. 코드 유무 확인 1. 논문 핵심 내용 요약a. 문제 제기모델을 효과적으로 학습하려면 고품질의 정렬된 데이터 세트가 필수적이다.기존의 데이터 수집 및 annotation 방법은 시간과 비용이 많이 든다.정렬된 고품질의 데이터를 생성하는 솔루션인 Magpie 제안Magpie 는 합성 데이터 생성을 완전.. 2024. 10. 1.
[Study]DB 설계 using PostgreSQL 버버두 플젝할 때 DB 를 통해 데이터를 관리하려고 잠깐 공부한적이 있다.그때 공부한 바를 리마인드할 겸 포스팅한다.당시 하려고 했던건 아래와 같다.Superset 을 통해 대시보드를 만들고 데이터는 PostgreSQL 을 통해 관리한다.DB 를 관리하기 위해 airflow 를 활용한다.목차1. PostgreSQL 이란?2. DB 설계 시 참고 사항3. 버버두 DB 설계4. 버버두 DB 사용 Flow  1. PostgreSQL 이란? PostgreSQL 은 MySQL, ORACLE 등과 같은 오픈 소스 데이터베이스로 속도 및 안정성 측면에서 우수하여 최근 많이 사용하고 있다고 한다. 특징: 다른 DB(ex. MySQL) 와 달리 대-중-소 분류가 있음 (중간에 스키마가 존재)대분류: DB중분류: Sche.. 2024. 9. 26.
[논문 리뷰]Training Language Models to Self-Correct via Reinforcement Learning 하고 있는 프로젝트에 적용할만한 방법론을 찾는 중 해당 논문을 발견했다.결과적으로 적용하기 애매하다는 판단을 내렸지만 흥미로운 논문이었기에 기록한다.본 논문의 핵심 내용은 LLM 을 활용한 self-correction 학습법이다.구글 딥마인드에서 일주일 전 공개한 논문으로 강화학습을 활용한 언어 모델의 self-correction 능력 향상을 위한 연구이다.목차1. 논문 핵심 내용 요약2. 장점 & 단점 정리3. 코드 유무 확인 1. 논문 핵심 내용 요약a. 문제 제기LLM 은 올바른 답변을 할 수 있는 기본 지식이 포함되어 있지만 올바른 답변을 이끌어내지 못할때가 있다. 수학 증명의 경우, 증명할 수 있는 지식이 있지만 올바른 추론을 도출하지 못하곤 한다.이를 해결하기 위해 이전에 수행된 self-co.. 2024. 9. 26.
[Project-버버두] 개발기 #2 : 개발 4월부터 6월까지 가계부 서비스 버버두(Budget Buddy 너두? 나두!)를 개발했다.처음 진행하는 사이드 프로젝트였기에 개발기를 남긴다.개발기는 1. 기획, 2. 개발, 3. 서빙 4. 우여곡절 순으로 포스팅하겠다.본 포스팅은 2. 개발에 해당한다. 목차1. RnR 정의2. 카톡 챗봇 기능 확인3. 기능 개발4. 기능 시연 1. RnR 정의 개발을 수행하는 인원은 총 2명이었다.NLP 연구원인 나, 안드로이드 개발자(편의상 `안개`라 부르겠다.) 둘이서 진행했다.가장 먼저 정했던건 어떤 프로그램 언어를 사용할지, 각자의 RnR 및 협업 방식은 어떻게 할지였다. 프로그램 언어는 감사하게도 안개님이 배려해주셔서 Python 으로 정했다.각자의 RnR 의 경우, 아래와 같이 나눴다.나: 고객의 Text .. 2024. 9. 23.
[Project-버버두] 개발기 #1 : 기획 4월부터 6월까지 가계부 서비스 버버두(Budget Buddy 너두? 나두!)를 개발했다.처음 진행하는 사이드 프로젝트였기에 개발기를 남긴다.개발기는 1. 기획, 2. 개발, 3. 서빙 4. 우여곡절 순으로 포스팅하겠다.본 포스팅은 1. 기획에 해당한다. 목차1. 사전 조사2. 서비스 철학 정의3. 기능 설계 1. 사전 조사기획을 하며 동시에 존재하는 가계부 서비스를 조사하는 시장조사를 진행했다.기획 초기부터 우리 서비스의 특장점을 정의했기에 동일한 목적으로 개발된 서비스가 있는지 확인하기 위함이었다. 그렇기에 조사의 목적은 각 서비스가 어떤 고객의 무엇을 해결하고자 하였는가? 였다. 제품명다운로드 수별점강점약점편한가계부10M 이상4.8- 직관적 지출 확인- 지출 입력 편이- 예산을 미리 기획하는 기능 .. 2024. 9. 21.
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.
HuggingFace HUB 로 모델 및 데이터셋 관리하기 LLM 에 대한 연구를 하는 사람이라면 누구나 disk 용량 관리에 어려움을 겪었을거라 생각한다.sLLM 이라도 16bf 인 7~8B 모델의 size 가 14~16GB 가 되기 때문이다.모델을 4개만 저장해도 50GB 가 넘는다.데이터셋 또한 Pretrain 용 Corpus 는 GB 단위이기에 모델뿐만 아니라 데이터셋도 관리해줘야 한다.이번 포스팅은 점점 커지는 Size 의 모델과 데이터셋을 HF(HuggingFace) HUB 로 관리하는 방법을 설명하고자 한다.※ sLLM 에 대한 연구를 하는 사람에게 도움이 되는 글임을 유의하길 바란다. 목차1. Model 을 HF HUB 에 저장하고 불러오기2. 서버의 cache 관리하기3. Dataset 을 HF HUB 에 저장하고 불러오기 1. Model 을 H.. 2024. 9. 3.
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.
반응형