
Python 3.10 환경에서 $ pip install kss 명령어로 설치할 때는 잘 됐었는데, Python 3.12 환경에서 시도하니 아래와 같은 에러가 발생했다.pyyaml을 설치하는 과정에서 에러가 발생하는 것으로 보인다. 구글링을 통해 Windows 환경에서 pyenv를 통해 다른 버전의 Python을 설치해 해결하는 방법 (링크)을 찾았으나, 내가 처한 상황에서는 활용할 수 없는 방법이었다. 다른 해결 방법을 찾던 중, kss 깃헙 레포에 정확히 이 문제에 대한 Issue (링크)가 올라와있는 것을 발견할 수 있었다!위 글을 참고하면, 이 문제가 발생하는 원인은 kss는 pyyaml==6.0과 의존성이 있으나, Python 3.12 환경에서 pyyaml==6.0이 정상적으로 빌드되지 않기 때..

최근 Large Language Model (LLM)이 다양한 태스크에서 뛰어난 성능을 보임에 따라, LLM을 원하는 태스크에 맞게 fine-tuning하여 사용하려는 니즈가 많다.그런데 LLM은 이름에 나와 있듯이 굉장히 많은 파라미터 (10B은 기본..)를 가지고 있기 때문에, full fine-tuning을 하려면 많은 메모리와 시간이 든다.그래서 사전학습된 LLM의 모든 파라미터를 튜닝하지 않고, 수행하고자 하는 특정 태스크를 위한 소량의 파라미터만을 추가적으로 학습하여 adaptation하는 lightweight fine-tuning이 주목받고 있다.그 중에서 최근 가장 많이 사용되는 LoRA (Low-Rank Adaptation)에 대해 알아보려고 한다. 글 작성에 도움을 받은 참고 링크들이다..
SQL 실행되는 순서 : FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY CREATE 절 사용자 생성 CREATE USER 사용자명 IDENTIFIED BY 비밀번호; 테이블 생성 CREATE TABLE 테이블명( 컬럼명 타입 제약조건, # 제약조건(생략 가능): NOT NULL / NULL / UNIQUE(=중복X) PRIMARY KEY (컬럼명), # 생략 가능, NOT NULL & UNIQUE 조건을 포함함 FOREIGN KEY (컬럼명) REFERENCES 관계테이블명(관계테이블 컬럼명), # 관계테이블 컬럼은 관계테이블의 PRIMARY KEY여야함 ); ALTER 절 테이블 수정 ALTER TABLE 테이블명 RENAME 새테이블명; ALTER TA..

Meta에서 23년 7월 19일에 공개한 이후, 수많은 LLM들의 foundation model로 사용되고 있는 LLaMA 2에 대해 정리하려고 한다. LLaMA 2 논문 과 daewoo kim님의 블로그 를 참조하여 작성하였음을 밝힌다. 해당 블로그에 정리가 잘 되어 있어 도움을 많이 받았다. (노션에 가볍게 정리하다가 꽤 길어져서 블로그에 옮기는 중. 티스토리에서 그림이 자꾸 깨진다ㅠ) LLaMA 2 (23년 7월 공개)는 LLaMA 1 (23년 2월 공개)를 발전시킨 모델 self-supervised learning으로 학습 사전학습 데이터 40% 증가 (1.4T tokens → 2T tokens) Context length 2배 증가 (2K → 4K) Grouped-query attention 사..
KL-Divergence (KLD)는 쉽게 말해, 정답(ground-truth) 분포와 예측(prediction) 분포가 얼마나 유사한지/다른지를 측정하는 방법이다. KLD의 값이 낮을수록 두 분포가 유사함을 의미한다. P(x)를 실제 분포, Q(x)를 예측 분포라고 할 때, KLD loss는 다음 수식으로 나타낼 수 있다. KLD=∑xP(x)logP(x)Q(x)=∑xP(x)logP(x)−∑xP(x)logQ(x) 추가적으로, 우항에서 ∑xP(x)logP(x)는 −Entropy 이고, $- \..
나의 상황은 다음과 같다. Docker 환경에서 dockerrun−itIMAGENAME명령어를통해container를만들어실행했다.그리고해당서버의GPU2대를활용해모델추론을하려고했는데이에러가발생했다.에러메시지를보면GPU가인식되지않고있는상황인데,추론코드에는문제가없었다.문제의원인은container를만들때부터였다.단순하게 docker run -it {IMAGE_NAME} 명령어로 container를 만들었었는데, 이렇게 되면 서버에 있는 gpu가 할당되지 않는다. 그래서 container 내에서 gpu를 인식하지 못한 것이다. 이 문제를 해결하려면, container를 만들 때 할당할 GPU 번호를 명시해줘야 한다. --gpus 파..

1. 사용할 docker image 선택 dockerhub로부터 사용할 docker image를 검색한다. 2. docker container 생성 및 실행하기 생성과 실행을 각각 따로 하는 명령어도 있지만, 한번에 하려면 docker run 명령어를 사용하면 된다. 아래 명령어들 중 원하는 것을 사용한다. container 이름을 랜덤하게 지정해 만들기 dockerrun−itIMAGENAMEcontainer이름을지정해서만들기 docker run -it --name {CONTAINER_NAME} {IMAGE_NAME} --name 파라미터를 통해서 생성할 container의 이름을 지정할 수 있다. container 이름 지정 & GPU 할당해서 만들기 $ docker run -..