LASSL Tech Blog

transformers에 모델 기여하기

커뮤니티가 활발하고 리뷰가 활발한, 그리고 인기있는 저장소에 기여해보는 경험은 협업에대한 시야를 넓혀주고, 연차높은 개발자들과 커뮤니케이션 해볼 수 있는 좋은 기회입니다. 큰 규모의 프로젝트 저장소에 기여한다는 것이 쉬운일은 아니겠지만, 많은 부분이 자동화되어있고 사람의 개입이 최소한으로 들어가는 흐름속에서 코드 기여를 할 수 있도록 잘 세팅되어 있습니다. 이런 best practice 프로세스를 기여자 입장에서 경험해보면, 본인의 프로젝트(회사 프로젝트나 개인 프로젝트 등)를 키워갈때나 협업이 필요한 환경에서 작업할 때 규모가 커져가는 프로젝트 속에서 어디로 가야하는지 방향을 잘 설정할 수 있을 것입니다. 이번... Read more

Word2Vec에서 BERT까지의 NLP의 역사

본 글은 word2vec의 등장부터 BERT까지 자연어처리가 발전해온 역사를 짚어보는 글입니다. 1. NNLM to Word2Vec 2013년, 처음 word2vec 알고리즘이 나왔을 때, 엄청난 센세이션을 일으켰습니다. 벌써 8년 전이지만 BERT가 나왔을 때 만큼이나 임팩트를 줬던 것 같습니다. Figure 1. distributed representation by word2vec 이전에도 단어를 one-hot encoding이 아닌 distributed representation으로 표현하려는 시도는 있었지만 효율적이지 못한 방법으로 대규모 코퍼스에 대해 학습을 진행하기 어려웠습니다. wo... Read more

lightning-transformers로 살펴본 Hydra 어플리케이션 구성

이번 편에서는 간단한 예제로 살펴본 Hydra를 이용한 어플리케이션 구성 내용에 이어 lightning-transformers을 사례를 보면서 정리해보겠습니다. conf/ ┣ backbone/ # Configs defining the backbone of the model/pre-trained model if any ┣ dataset/ # Configs defining datasets ┣ optimizer/ # Configs for optimizers ┣ scheduler/ # Configs for schedulers ┣ task/ # Configs defining the task, and any task sp... Read more

간단한 예제로 살펴본 Hydra를 이용한 어플리케이션 구성

Hydra: 페이스북에서 머신러닝 실험 등 복잡한 어플리케이션을 구성하기 위해 사용하는 오픈소스 프레임워크(https://github.com/facebookresearch/hydra) 입니다. 이 글에서는 Hydra의 철학과 간단한 사용법에 대해 알아봅니다. Introduction 하나의 완성된 모형을 만들기 위해서는 데이터셋이나 학습 파라미터 값을 변경하여 적어도 수십번의 실험을 하게 됩니다. 이 때 사용된 arguments와 결과값들을 사람이 엑셀 혹은 메모장으로 관리 할 수도 있습니다. 그러나 arguments가 복잡할 수록 이를 구조화하거나 관리하기 힘들기 때문에 별도의 config 파일을... Read more

Causal Language Modeling with lightning-transformers

https://lightning-transformers.readthedocs.io/en/latest/tasks/nlp/language_modeling.html 를 예시로 동작 방식을 조금 상세하게 argument의 전달을 상세히 쓴 글입니다. Introduction lightning-transformers를 활용하여, Causal Language Modeling을 구현하는 방법은 LANGUAGE MODELING에 간략히 소개되어있고, 본 포스트에서는 위의 링크에서 간략히 소개된 내용들이 lightning-transformers 라이브러리 내부에서 어떤 코드에 해당하는 지를 분석하였습니다. Datase... Read more