DL Life(8)
-
Dacon 도배 하자 질의 응답 처리 경진대회 (4)QLoRA + 4bit quantization + LDCC-SOLAR-10.7B(≈9GB vram used) 코드 테스트
(3) 번 코드와 별개로 테스트는 계속 해보는게 좋을 것 같아서 다른 코드를 돌려보았다… 누군가가 나에게 도망친 곳에 낙원은 없다고 했는데 진짜 그 말 대로 이거 저거 안되면 포기하고 돌아다니고 있는데 디버깅을 끈기 있게 해봐야겠다… QLoRA 랑 Quantization 을 적용한 SOLAR 모델 코드가 올라와서 해당 모델에서 내가 다운받았던 yanolja/KoSOLAR-10.7B-v0.3 으로 바꿔서 돌려보고 있다. 잠깐 bitsandbytes 라이브러리 문제가 있긴 했는데 그냥 코드 그대로 사용하니까 돌아가서 돌려보는 중이다. 2시간 정도 걸렸고 Training loss 는 다음과 같았다. Inference 를 하려고 했는데 코드 게시글에 올라온 코드를 참고하라고 원 글에 적혀있어서 사용해보려 했지만..
2024.02.20 -
Dacon 도배 하자 질의 응답 처리 경진대회 (3) Ko-SOLAR 모델 테스트 및 Data Parallel
Ko-SOLAR 모델을 한번 시도해보려고 있는데 생각보다 GPU 가 많이 필요하다. OutOfMemoryError: CUDA out of memory. Tried to allocate 224.00 MiB (GPU 1; 79.35 GiB total capacity; 78.18 GiB already allocated; 165.19 MiB free; 78.20 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF ..
2024.02.20 -
Dacon 도배 하자 질의 응답 처리 경진대회 (2) 임베딩 모델 및 베이스라인 코드
1. Embedding Vector 추출 모델 ? AI 동계 강좌를 듣고 온 사이 몇개의 코드 공유 글이 더 올라와서 해당 코드들을 참고해보려고 한다 import numpy as np from sentence_transformers import SentenceTransformer # SentenceTransformer Version 2.2.2 # Embedding Vector 추출에 활용할 모델(distiluse-base-multilingual-cased-v1) 불러오기 model = SentenceTransformer('distiluse-base-multilingual-cased-v1') Distiluse-base-mulitlingual-cased-v1 모델도 잘 몰라서 찾아보니 (Reference #..
2024.02.19 -
Diffusion (1) Model Background
What is Diffusion Model Data 에 Noise 를 조금씩 더해가거나 noise 로부터 조금씩 복원해가는 과정으로 Data 를 생성하는 모델 위 그림에서 는 실제 데이터, 는 최종 Noise, 중간의 는 Data 에 Noise 가 더해진 상태의 Latent variable Forward Process → 데이터에 노이즈를 더해가는 과정 Reverse(Backward) Process → 반대로 노이즈를 제거하면서 추정해가는 과정 → 이 Reverse Process 를 활용해서 Random noise 로부터 우리가 원하는 image, text, graph 등을 생성하는 모델을 만들어내는 것 작동 원리 일부 공간에 모여 있던 분자들이 Diffusion Process 를 거쳐 전 공간에 일정하..
2024.02.12 -
Dacon 도배 하자 질의 응답 처리 경진대회 (1) 대회 탐색
어떤 대회지? 2월 동안 내 코딩 실력을 조금 늘리고자 어떤 활동을 해야할지 고민하고 있을 때, 이 대회를 발견하게 되었다. 마침 연구실에서 A100 서버도 사용할 수 있겠다. 내 코드 활용 능력도 조금 키워보고자 시작해보게 되었다. 목표? 공유된 코드보다 더 높은 성능의 코드 제출하기 새로운 아이디어 한 가지 이상 적용해서 성능 향상 시켜보기 탐색 과정 원래는 공유된 코드를 바탕으로 공부를 시작하려고 했는데, 설명도 불친절하고 어떤 방식으로 아이디어를 구상해야되는지도 모르겠어서 일단 가장 먼저 한 것은 공유된 코드를 내 환경에서 실행되는지 파악하는 것. Dacon 코드 재구현 두 개의 글을 모두 실행해보았고 아이디어빌드는 그대로 진행이 되어서 생략 좀 더 점수가 높은 No Fine-tune / RAG ..
2024.02.12 -
Long-tail Distribution Learning Survey Review
개념 설명 Dataset 의 Distribution 이 Skewed 되어 있는 (한쪽으로 쏠려있는) 상태 Head Class : 데이터셋에서 dominant sample 수를 가지고 있는 class Tail Class : 데이터셋에서 scarce sample 수를 가지고 있는 class 특히 Class Imbalance 의 Imbalance Ratio 가 극심한 특수한 경우에 LTD 를 갖는다고 표현 대표적으로 불량 감지, 질병 진단, 자율 주행 차 사고 감지, 사이버 보안 등의 분야에서 관찰가능 문제가 되는 이유 모델이 다양한 Task 에서 좋은 성능을 내기 위해서는 각 Class 의 Representation 을 잘 학습해야하는데, 모델이 head-class 에 편향되게 학습하여 tail-class ..
2024.02.08 -
Contrastive Chain of Thought
0. background Chain of Thought 에 대한 간단한 설명 Chain of Thought : LLM 이 질문에 대한 답을 예측할 때, 답을 추론해가는 과정을 생각할 수 있도록 Prompt 를 구성하는 방법 Few-shot 의 경우에는 정답을 풀이하는 과정을 답변과 함께 넣어주어 LLM 이 해당방식으로 문제를 풀이할 수 있도록 만듦 Zero-shot 의 경우에는 정답대신 Let’s Think step by step 과 같이 문제에 대한 정답을 추론해가며 풀 수 있도록 Prompting 을 진행 본 논문에서는 Few-shot Setting 에 집중 1. Introduction 많은 LLM 모델들이 등장한 가운데 Complex reasoning 과 같이 어려운 Task 에 대해서는 성능이 빠..
2023.12.01 -
0 LLM Trends 컨퍼런스 리뷰
현재 어떤 분야들이 활발한지? ICLR -> Unified view 로 많은 연구가 진행 GPT 도 sparse하게 만들어보겠다 : Sparse GPT 1. 더 효율적인 LLM 을 만드는 방법 Low-rank Approximation (LoRA) : 행렬을 간소화하여 계산 효율성 증대 pruning 같은 경우도 많이 진행되고 있음 : 모델의 불필요한 가중치 제거 Prefix/prompt tuning : 모델의 결과물을 수정하기 위한 프롬프트 수정 Qunatization : 가중치 간소화로 모델 크기 축소 (LLM.int8 : 16비트와 유사한 성능 + 속도 향상) Model Distillation : reason generation 을 LLM 에게 하게 함 → LLM 의 지식을 작은 모델에 전이 참고 :..
2023.09.24