Huggingface Transformers에서 제공하는 기본 Trainer로 대량의 코퍼스를 돌리다보면, Timeout 이슈가 발생한다. 이 이슈는 Transformers만의 고유한 이슈는 아니고, Distributed Data Parallel (DDP)로 학습을 진
사전학습된 언어모델은 특정한 수의 Vocab이라고 하는 Token의 리스트를 가집니다. 토크나이저에 따라 다르겠지만, 언어모델을 훈련시키기 위한 데이터가 Vocab에 없다고 하더라도 subword로 분할하여 새로운 단어를 이해할 수 있습니다.그런데 만약, 새로운 도메인
필자의 짧은 생각으로는 LLaMA와 같은 영어 기반의 모델들은 아무리 한국어를 투입해도, 한국어 특화모델보다 한국어를 잘할 수 없다고 생각하였다. 그러나 최근 한국어 LLM의 성능을 평가하는 리더보드인 Ko-LLM Leaderboard (https://hugg
LLaMA-2 모델을 다운받을때 416 같은 HTTP error 메시지로 인해 다운이 제한되는 경우가 있다. 깃 이슈페이지에도 이러한 장애를 겪는 사람들이 많은 듯 하다.해결책은 간단한데, download.sh 에서 TARGET_FOLDER 경로만 변경해주면 된다.아래
S3에 빠르게 파일을 올리고 싶은 경우에는 s5cmd 를 활용하면 된다. s5cmd는 아래 github repo에서 설명을 찾아볼 수 있다.https://github.com/peak/s5cmd사용법은 생각보다 간단하다.먼저, s5cmd 바이너리 파일을 다운받아
Huggingface Transformers를 사용하여 모델을 저장하면 bin 파일로 모델이 저장된다.하지만 최근 많은 모델들이 Safetensor를 사용하여 모델을 저장하고 있는데, 특히 모델의 weight를 sharding하여 저장한다.방법은 간단한데, safete
먼저, Huggingface에서 모델을 불러옵니다.다음으로, safetensors를 활용하여 불러온 모델을 safetensors로 저장합니다.그럼 모델이 원하는 위치에 safetensors 형태로 저장되게 됩니다.https://huggingface.co/doc
Mecab 설치시 공식사이트(https://konlpy-ko.readthedocs.io/ko/v0.4.3/)에 있는 링크를 사용하면 정상 설치가 되지 않는 경우가 많다. 이럴때는 수동 설치하는 방법이 있는데, 아래 블로그에서 해당 방법을 참고하면 된다.http
VSCODE를 업데이트했을때, 기존에 잘되던 기능이 잘 작동하지 않는 경우가 있다. 이때는 구버전으로 새로 VSCODE를 설치하면 된다.아래 링크에서 원하는 버전을 선택하고 다운 받으면 된다.https://code.visualstudio.com/updates/
구글 크롬은 ubuntu에 cli로 설치하기 위해서는 아래 절차를 따르면 된다.먼저, 설치한 Chrome의 버전을 확인해보자다음으로 아래 링크에서 해당 버전에 맞는 Chromedriver를 설치하면 된다.https://chromedriver.chromium.o
Huggingface에서 Model을 로컬에 다운받으려면, 세 가지 방법이 있다.1\. 직접 Huggingface 페이지에서 다운로드2\. Python 코드로 다운로드3\. CLI를 활용한 다운로드이 중에서 가장 간편하고 쉬운 방법은 CLI에서 명령어를 입력하는 것이다
잘 작동하던 Training Code가 작동하지 않았는데, 아래와 같은 에러메시지를 확인했다.환경 설정 문제라고 생각했으나, 본 이슈는 fabricmanager가 작동하지 않고 있는 것이 문제였다.먼저 아래 코드로 fabricmanager가 작동하는지 확인한다.만약 결
순수하게 pydantic만 사용할 경우, exception 메시지가 pydantic에서 정의한대로만 출력되기 때문에 커스텀이 어렵다.@root_validator를 사용하면, request를 통해 전달된 값들을 추가적으로 검증할 수 있게 된다.그리고 pre=True를 인
익숙하지 않은 문법이라 정리를 위해 기록합니다.파이썬에서 abstract class는 하위 method의 목록만 가진 class이다. 이 class는 상속받는 class에서 method 구현을 강제하기 위해 사용된다.아래처럼 ABCMeta를 import해서 원하는 ab
이전 글에 있는 정도의 환경설정만 하더라도 GPU를 충분히 활용할 수 있을 것이다. 그러나 필자의 경우에는 주로 Docker 환경에서 작업하는 것을 선호하는 편이다. 그래서 이번 편에는 Docker와 Nvidia-Docker을 설치하는 법을 다루고자 한다.Docker
이전 포스트에 이어서 추가로 설치해야 할 것은 cuDNN과 Fabric Manager이다.cuDNN은 엔비디아 CUDA 딥 뉴럴 네트워크 라이브러리로 GPU 가속화를 지원해주는 라이브러리이다.cuDNN은 CLI로 바로 설치하기는 어렵고, Nvidia의 홈페이지에서 다운
딥러닝 개발을 하면서 가장 많이 고통(?)받는 것은 아마 적절한 환경 세팅일 것이다.필자의 경우는 Deepspeed를 사용할때 이러한 현상을 가장 많이 겪었는데 대부분의 경우에는 라이브러리 버전과 의존성 문제이거나, 설치된 환경에서의 문제가 가장 컸다. 특히, CUDA
Flash Attention을 설치할 때 환경에 따라 빌드가 되지 않는 경우가 있다.필자의 경우에도 마찬가지였는데, 해결법은 단순했다.CUDA 버전에 맞게 Pytorch 버전을 최신으로 맞추면 되는 문제였다.업로드중..
SingleGPU를 사용할때와 달리, MultiGPU를 사용하기 위해서는 생각보다 신경써야 할 것이 많다. 특히, DeepSpeed를 사용하기 시작하면 더 많은 에러들을 관찰할 수 있다.특히, 개인연구자들이 MultiGPU와 DeepSpeed를 동시에 활용하는 상황은