본문 바로가기

Emergent abilities 스캐터랩의 김종윤 대표님이 OpenAI의 샘 알트만이 한국에 왔을 때 나눈 round table talk에 참여하여 들은 내용을 정리해 올려주신 것을 보았다. https://tech.scatterlab.co.kr/round-table-talks-with-openai/ 여기서 emergent abilities에 대한 언급이 나와 찾아봤다. Emergent abilities에 대해 정리한 논문 저자들이 ㅎㄷㄷ 하다. 정확하지는 않지만 처음으로 emergent abilities에 대해 정의하고 그에 대해 다룬 논문인 것 같다. 이 논문에서 emergent abilities를 이렇게 정의한다. "An ability is emergent if it is not present in smaller models but..
Towards a Unified View of Parameter-Efficient Transfer Learning 논문 리뷰 논문 링크: https://arxiv.org/abs/2110.04366 코드 링크: https://github.com/jxhe/unify-parameter-efficient-tuning 요약: 여러 parameter-efficient transfer learning 방법들을 분석하고 장점들을 결합하여 가장 좋은 방법을 제시한다. Abstract 최근 Pretrained model의 일부분만 fine-tuning하면서도 좋은 성능을 내는 parameter-efficient transfer learning에 관한 많은 연구들이 진행됐다. 하지만 정확한 원인과, 여러 방법들 간의 관련성은 별로 밝혀진 것이 없다. 이 논문에서는 parameter-efficient transfer learning(이하 PETL)..
Rethinking the Role of Demonstrations:What Makes In-Context LearningWork? 간단 리뷰 EMNLP 2022 논문 링크: https://arxiv.org/pdf/2202.12837.pdf 요약 모델은 프롬프트로 주어지는 ground truth input-label 쌍에 크게 영향을 받지 않고 task를 수행한다. 하지만 input-label 형식은 맞든 틀리든 간에 주어져야 한다. Introduction 우리는 ground truch demonstration이 in-context learning에 꼭 필요하지 않는다는 것을 보인다. 그 대신 label space와 input text가 어떤 형태로든 주어져야 한다. Related work 최근 in-context learning의 불안정성에 대한 연구가 이루어졌다. ([1, 2, 3]). [4]는 in-context learning이 late..
Can language models learn from explanations in context? 간단 리뷰 EMNLP Findings 2022 논문 링크: https://arxiv.org/abs/2204.02329 요약: 답에 대한 이유를 설명하는 explanation을 추가해주면 성능이 좋아진다. 제목에 나와있듯 input에 explanation을 추가했을 때 in context learning 환경에서 효과가 있을지를 실험했다. 여기서 말하는 explanation은 대답이 어떤 이유로 나왔는지를 설명하는 내용의 text이다. Explanation이 추가된 모델의 input은 다음과 같다. 기존 연구들과 차별점이 있다면 저 explanation을 answer 뒤에 넣은 것인데, 그 이유는 실제 테스트를 할 때와 동일한 형태의 input을 만들어주기 위함이라고 한다. 저런 식으로 explanation을 활용했..
Do prompt-based models really understand the meaning of their prompts? 2022 NAACL 논문 링크: https://arxiv.org/abs/2109.01247 요약: Prompt와 target word들이 Language Model의 성능에 어떤 영향을 끼치는지 알아보는 논문이다. Language Model의 Prompt와 Target word들을 바꿔가면서 NLI task의 성능이 zero-shot, few-shot에서 어떻게 변화하는지 실험해봤다. Prompt(Instruction)이 어떤 내용을 갖고 있는가는 생각보다 큰 영향을 미치지 않았고, 오히려 target word들의 형태가 큰 영향을 미쳤다. 실험을 잘 했고, 재밌는 결과들을 보여줬으며 해석이 약간 억지스러운 면이 있긴 하지만 많은 것을 생각해보게 만드는 논문이다. Abstract Task instruct..
AutoPrompt 논문 리뷰 2020 EMNLP 논문 링크: https://arxiv.org/abs/2010.15980 코드 링크: https://github.com/ucinlp/autoprompt 요약: Prompt embedding의 gradient를 이용하여 discrete prompt를 찾는다. Abstract Prompt를 활용하는 시도는 (parameter-efficient finetuning을 하려는 지금의 시도와는 다르게) Pretrained Language Model(이하 PLM)이 학습한 knowledge를 활용하려는 방법을 연구하면서 시작되었다(그게 그거일 수 있지만). 그러한 관점에서 이 논문은 AUTOPROMPT - gradient-guided search를 기반으로 prompt를 찾는 automated me..
Pytorch backward_hook에서 얻을 수 있는 gradient의 의미 Pytorch에는 gradient를 얻을 수 있는 api를 제공한다. nn.Module 타입인 변수에 register_backward_hook(hook_function)을 해주면 된다. 이 때 hook_function은 module, input_gradient, output_gradient를 인자로 받는다. 그런데 이렇게 설명만 보면 input_gradient, output_gradient라는 말이 약간 햇갈린다. input, output이 forward pass를 기준으로 되어 있기 때문이고, 수식으로도 설명이 안 되어 있다. 그래서 도대체 두 개의 gradient가 뭘 의미하는 지 모르겠어서 예제를 통해 살펴보려고 한다. 아래와 같은 코드를 실행하면 module, input_gradient, outp..
Screen과 matplotlib의 호환성 Linux 기반 서버에 접속해서 러닝을 돌릴 때 세션이 끊기는 현상이 발생해서 screen이라는 util을 사용하고 있다. screen은 ssh 접속이 끊겨도 session을 그대로 유지해준다! 그런데 screen을 유지한 상태에서 matplotlib을 사용하니 아래와 같은 현상이 발견됐다. UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. 처음에는 원인을 몰랐는데 screen이 활성화되지 않은 세션에서 matplotlib을 이용하니 잘 됐다. screen이 서버의 x-window를 변경시키는 모양이다...