Skip to content

[BUG] xlm-roberta-large 모델 run시 struct.error 발생 관련 #35

@olenmg

Description

@olenmg

xlm-roberta-large 등 큰 모델 돌리면 공통적으로 발생하는 문제입니다.

🐞 버그 제보

  • 현재 베이스라인 기준 xlm-roberta-large 모델으로 돌리면 struct.error: 'i' format requires -2147483648 <= number <= 2147483647 에러 발생합니다.
  • 위 에러 해결하면 현재 README.md의 예시 strategy로 돌렸을때 기준 OSError: [Errno 12] Cannot allocate memory가 추가적으로 뜹니다.

👣 버그 발견 과정

  • 돌려보다가 발견했습니다.. :(

🤔 Bug shooting

struct error

  • 일단 첫번째 에러는 이 글이랑 연관됩니다.
  • 요약하면 Python 자체 버그로 최신 버전에서는 이슈 리포팅이 되어 수정이 되었으나, 저희 베이스라인 및 conda 기본 세팅이 Python==3.6.6혹은 Python==3.7.7이라 해당 버그가 수정되지 않은 버전입니다.
    • 해결방법은 위 글에서 말하는대로 직접 코드를 추가/수정하거나 Python==3.8 설치하면 됩니다.
    • 저는 귀찮아서 그냥 새로 가상환경파서 3.8 설치했는데 세팅이 생각보다 오래 걸려서.. 비추천드립니다.
    • 근데 글을 제대로 안읽어봐서 직접 코드 수정하는게 더 오래 걸릴지도 모릅니다ㅋㅋ
    • 3.8로 가상환경 새로 설치하실경우 일단 mecab에러없게 설치 먼저 하시고, wandb 등 필요한 모듈 추가적으로 설치하고 conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch로 pytorch 설치하시면 됩니다. (저희 서버 cuda 버전 10.1에 맞는 설치 명령어입니다)

OSError

  • 두번째 에러는 원인은 잘 모르겠고 ST00.json에서 dataprocessing_num_workers를 1로 주면 해결됩니다. 저건 GPU나 디스크 문제가 아니고 RAM 용량 문제인 것 같은데 아무튼 이러면 해결되는 것 같네요

  • (추가) xlm-roberta-large는 checkpoint 하나당 6.3GB의 디스크용량을 잡아먹으니 돌릴 때 디스크 용량도 주의해주세요! 제 기준 epoch 3.0에 예상시간 1시간~2시간 뜹니다. 왔다갔다거리네요


📸 스크린샷 첨부

  1. 첫번째 에러
    image (1)

  2. 두번째 에러
    image


🌏 환경 세팅

  • 부캠 서버

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions