본문 바로가기

전체 글

(24)
논문_REACT (Reasoning and Acting) QA나 Fever task(fact extraction and verification)에서 우수한 성능을 내기 위한 prompt 공법에 관한 논문.QA task를 수행하기 위해 단순히 GPT와 같은 LLM을 사용할때 단순히 질문만 던지는 것이 아니라 Reasoning, Acting을 거듭 거쳐 answer를 줄 것을 요구함으로서 더 높은 성능을 얻을 수 있다고 주장예시 propmpt는 아래와 같음instruction = """Solve a question answering task with interleaving Thought, Action, Observation steps. Thought can reason about the current situation, and Action can be three ..
LLM tokenizer조사 Tokenizer의 종류Byte Pair Encoding (BPE):서브워드 토크나이저 (한 단어를 더 작은 단위로 나누는 토크나이저)중 하나. 압축 알고리즘에서 파생된 토크나이저로, 연속적으로 가장 많이 등장한 글자의 쌍을 찾아서 하나의 글자로 병합하는 방식을 수행하는 방법. 예시로 어떤 텍스트에서 아래와 같이 {단어:빈도수}와 같이 모든 단어의 횟수를 세어 딕셔너리를 만들었다고 가정하자.low : 5, lower : 2, newest : 6, widest : 3 그후 처음에는 글자(byte)로 구성된 vocabulary로 초기화를 한다.# vocabulary l, o, w, e, r, n, s, t, i, d 단어에서 앞뒤로 붙어나오는 byte pair의 갯수를 세어본다. 예를들면, low에서 (l,..
논문 초록읽기 (딥러닝,LLM관련) 논문(Eric Michael Smith, Melissa Hall, Melanie Kambadur, Eleonora Presani, and Adina Williams. “i’m sorry to hear that”: Finding new biases in language models with a holistic descriptor dataset. In Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing, pages 9180–9211, 2022.): 모델의 편향성을 측정할 수 있는 데이터 셋인 HOLISTICBIAS를 소개. 13개의 demographic축에 걸친 600여개의 descriptor (설명자,특..
Rotary Position Embedding리뷰 attention is all you need(Vaswani,2017)에서 나오는 가장 기본적인 standard transformer에서 제안한 attention score는 아래와 같다.여기서 query와 key앞에 positional embedding 정보를 담는 U는 모델에 따라서 sinusoid (sin, cos등을 통해 non trainable한 형태로 고정) 혹은 trainable parameter가 될 수 있음. 위의 식에서 Ex, U는 논문에 따라서 X, p등으로 표시되기도 함 위의 standard transformer의 attention을 decompose한 마지막의 4가지 term중에서 일부 텀을 대체하거나 없애는 식으로 positional embedding의 방법론이 발전함. RoFo..
LoRA(LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGEMODELS ) 논문읽기 LoRA는 LLM 모델을 학습시키는데 요즘 거의 빼놓지 않고 등장하는 finetuning 기법이다. LLM모델을 full finetuning시키자니 메모리나 특히 시간적 압박 등이 많으니 뭔가 더 효율적으로 학습시킬 수 없을까 하는 컨셉으로 나온 듯하다. 기존의 full finetuning에 비해서 아주 적은 비율의 파라미터만 학습시키는 정도로도 full로 학습시키는것과 비등(일부에서는 더 나은 결과를 보인다고 함)하니 LoRA를 도입하지 않을 이유가 없다. 기존에도 transformers 라이브러리에서 계속 도입하고 있었으나, 더 자세히 배경과 원리를 알기위해 논문을 읽어보았다. full finetuning시 학습시간, 메모리, 스토리지 사용량 등에서 한계점이 있어서 이에 대응하여 등장한 개념으로 19..
[딥러닝 논문읽기] Domain Generalization via Shuffled Style Assembly for Face Anti-Spoofing (얼굴위조방지 관련 모델) 방법 및 개괄 구조 Domain Generalization via Shuffled Style Assembly (이하 SSAN모델)은 two stream으로 style information과 content information을 추출한다. content정보는 live/spoof에 관련없이 사람의 얼굴사진에서 공통적인 feature에 관련한 부분이기 때문에 성능 향상을 위하여 좀 더 local한 feature인 style을 도입한다. style 중 도메인 관련한 style은 최대한 억제시키고, live를 가릴 수 있는 style을 더 끌어올려 content 정보에 합산하려는 목적을 가진 논문이다. 여기서 content와 style은 AdaIN을 통해 어떻게 assemble될지 결정되는데 AdaIN은 아래 수..
[pytorch] loss에서 loss.item() 으로 값을 받는 이유 def _train_batch_data(self, imgs, labels): self.optimizer.zero_grad() labels = labels.to(self.conf.device) embeddings, feature_map = self.model.forward(imgs[0].to(self.conf.device)) loss_cls = self.cls_criterion(embeddings, labels) loss_fea = self.ft_criterion(feature_map, imgs[1].to(self.conf.device)) loss = 0.5*loss_cls + 0.5*loss_fea acc = self._get_accuracy(embeddings, labels)[0] loss.backwa..
python 코드 메모리 사용량, 시간 계산 (memory profiler) 패키지 설치는 아래와 같이 Linux cmd창에 입력 pip install memory_profiler 분석하고 싶은 python 코드 안에 들어가서 실행 부분을 감싸고 위에 @profile 추가. from memory_profiler import profile @profile def run(): ###함수나 클래스 등 실행할 코드 혹은 분석하고 싶은 부분을 감쌈### if __name__ == '__main__': run() 그 후 다시 Linux cmd창에 아래와 같이 입력. (process.py 부분에 위와 같이 데코레이터를 넣은 파이썬 파일 넣기) python -m memory_profiler process.py 위와 같이 line by line별로 메모리 사용량과 증가량이 나타난다. 메모리 사용..