본문 바로가기

분류 전체보기37

SwiGLU Activation Function 설명 안녕하세요, 오늘은 SwiGLU Activation Function에 대해 리뷰해볼까 합니다. 얼마 전에 Meta에서 발표한 LLAMA 2나 비전에서 최근 좋은 성능을 보여준 EVA-02를 포함한 많은 논문에서 SwiGLU를 채택하고 있습니다. 딥러닝을 공부하다보면 활성화 함수는 다소 사소하게 여겨질 수 있지만 실제로는 그렇지 않고, 심하게는 모델 학습이 정상적으로 되느냐 마느냐를 결정지을 수 있는 중요한 요소입니다. 논문: GLU Variants Improve Transformer SwiGLU 배경 SwiGLU는 Swish + GLU, 두개의 Activation Functions를 섞어 만든 함수입니다. 왜 이런 함수를 설계했는지 하나씩 살펴보고 합쳐서 이해하면 좋겠습니다. Swish Activatio.. 2023. 7. 21.
[블로그 소개] 조연 블로그 소개 잡설 안녕하세요, 오늘은 짤막하게 제 블로그를 소개해드리려 합니다. 저는 컴퓨터 비전을 주제로 석사를 마치고 대기업 연구소에 있다가 현재는 스타트업에서 근무하고 있습니다. 아마 연구소에 있었다면 지금보다는 하나의 주제에 집중해서 연구할 수 있었겠지만 스타트업에 있다 보니 그게 여간 어려운 환경이 아니라는 것을 많이 느끼고 있습니다. 한편, 요즘 AI 분야는 급격한 변화를 겪는 새로운 장으로 이동한 것 같습니다. 알파고 이후 잠잠했던 대중에의 AI가 ChatGPT와 DALL-E와 같은 생성형 모델로 다시금 빛을 발하며 많은 이목이 집중되고 있음을 느낍니다. 그 증거로 회사에 들어오는 문의 중 상당 수가 "이런게 가능한가?" 싶은 수준으로 변했으며 AI를 한다하는 상장기업의 주가가 뚜렷한 근본도 없이 상승하.. 2023. 7. 6.
Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture (I-JEPA) 논문 리뷰 안녕하세요, 오늘은 I-JEPA라는 Self-Supervised Learning 기법을 소개합니다. 이 방법은 휘황찬란한 Augmentation 기법에 구애받지 않으면서 이미지의 픽셀을 들여다보는 것이 아닌 기존 보다 의미론적 관점에서 조금 더 직관적인 이미지 이해를 위한 설계를 통해 훌륭한 결과를 달성했다고 합니다. 이번 설명은 결론부터 먼저 말씀드리는 방법으로 진행해보겠습니다. 논문: https://arxiv.org/pdf/2301.08243.pdf Github: https://github.com/facebookresearch/ijepa/tree/main I-JEPA 정리 이 논문은 기존 Self-supervised Learning 방법들이 픽셀 수준에서 학습했던 것과는 달리, 모델이 좀 더 고차원적.. 2023. 6. 19.
[PyTorch] TorchScript: Tracing vs. Scripting 안녕하세요, PyTorch로 학습한 모델을 배포하는 일은 굉장히 흔한 일인데요, 오늘은 TorchScript에서 활용하는 Tracing과 Scripting를 각각 설명하고 차이점을 비교하려고 합니다. 참고로 이 내용에는 여기 블로그가 많은 참고가 됐습니다. 그리고 TorchScript and PyTorch JIT | Deep Dive를 보시면 도움이 되실겁니다 시작에 앞서 두 방법은 모두 nn.Module을 전제로 합니다. PyTorch에서 nn.Module을 상속 받지 않은 모델은 존재하지 않는다고 봐도 무방합니다. 용어 설명 Export: Eager-mode Python code를 그래프로 변환하는 과정 (Eager-mode는 즉시 실행한다는 의미로, 컴파일을 하지 않는 파이썬의 기본 성질입니다) T.. 2023. 6. 4.
[논문 리뷰] Scaling Speech Technology to 1,000+ Languages 안녕하세요, 오늘은 따끈하게 나온 Meta의 논문 - Scaling Speech Technology to 1,000+ Languages를 리뷰해볼까 합니다. 프로젝트 이름은 Massively Multilingual Speech (MMS)라고 합니다. 이걸 모델 이름으로 불러도 될지... 아무튼 1,100개 이상의 언어에 대해 음성 전사(Speech-to-text (STT), Transcription)와 음성 생성(Text-to-speech), 그리고 언어 파파악(Identification)을 수행할 수 있는 엄청난 모델을 개발했다고 합니다. (참고로 제가 이 분야에 대해 자세하게는 몰라 블로그의 내용을 위주로 다뤘습니다) 참고 자료: Paper, Blog, Github Introduction 이 세상에는.. 2023. 5. 24.
Mixed Precision - BF16의 특징과 장단점 안녕하세요, 오늘은 딥러닝에서 최근 활용되고 있는 BF16(bfloat16, Brain floating point)에 대해서 설명하도록 하겠습니다. 그리고 언제 뭘 쓰면 좋을지 비교해보고 PyTorch에서는 이걸 어떻게 쓰면 되는지 간단하게 소개하겠습니다. BF16이란? 이미 Mixed Precision을 아시는 분들 (굳이 몰라도 컴퓨터 과학을 배웠다면 모두가 아실)은 FP16에 대해 알고 계실 것 같습니다. FP16은 기존 32-bit로 표현하던 숫자들을 16-bit로 변환해서 데이터의 사이즈를 줄이는 방법입니다. 해당 내용은 포스팅1 또는 포스팅2 (둘 다 제가 쓴 글입니다)에 잘 설명되어 있으니 참고하시면 되겠습니다. 성공적으로 잘 줄였는데 또 뭐가 필요할까요? 문제는 역시 줄어든 bit수 만큼 .. 2023. 5. 23.